@scality/core-ui 0.181.0 → 0.183.0
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/barchartv2/Barchart.component.js +2 -2
- package/dist/components/barchartv2/utils.d.ts +3 -0
- package/dist/components/barchartv2/utils.d.ts.map +1 -1
- package/dist/components/barchartv2/utils.js +21 -42
- package/dist/components/buttonv2/CopyButton.component.d.ts +3 -2
- package/dist/components/buttonv2/CopyButton.component.d.ts.map +1 -1
- package/dist/components/buttonv2/CopyButton.component.js +26 -5
- package/dist/components/linetimeseriechart/linetimeseriechart.component.d.ts.map +1 -1
- package/dist/components/linetimeseriechart/linetimeseriechart.component.js +11 -14
- package/dist/components/textarea/TextArea.component.d.ts +5 -0
- package/dist/components/textarea/TextArea.component.d.ts.map +1 -1
- package/dist/components/textarea/TextArea.component.js +35 -4
- package/dist/icons/branding-logo.d.ts.map +1 -1
- package/dist/icons/branding-logo.js +1 -1
- package/dist/icons/branding.d.ts.map +1 -1
- package/dist/icons/branding.js +1 -1
- package/dist/index.css +4 -2
- package/package.json +1 -1
- package/src/lib/components/barchartv2/Barchart.component.tsx +2 -2
- package/src/lib/components/barchartv2/utils.test.ts +26 -26
- package/src/lib/components/barchartv2/utils.ts +28 -35
- package/src/lib/components/buttonv2/CopyButton.component.tsx +28 -4
- package/src/lib/components/linetimeseriechart/linetimeseriechart.component.tsx +11 -16
- package/src/lib/components/textarea/TextArea.component.tsx +73 -3
- package/src/lib/icons/branding-logo.tsx +15 -41
- package/src/lib/icons/branding.tsx +25 -49
- package/src/lib/index.css +4 -2
- package/stories/textarea.stories.tsx +56 -2
|
@@ -507,41 +507,41 @@ describe('applySortingToData', () => {
|
|
|
507
507
|
describe('getRoundReferenceValue', () => {
|
|
508
508
|
it('should return appropriate rounded values with 10% buffer', () => {
|
|
509
509
|
// Small values (< 10)
|
|
510
|
-
expect(getRoundReferenceValue(0.1)).toBe(0.
|
|
511
|
-
expect(getRoundReferenceValue(1)).toBe(
|
|
512
|
-
expect(getRoundReferenceValue(2)).toBe(
|
|
513
|
-
expect(getRoundReferenceValue(3)).toBe(
|
|
510
|
+
expect(getRoundReferenceValue(0.1)).toBe(0.1); // 0.1 → 0.11 → 0.1 (magnitude 0.1, remainder 0.01)
|
|
511
|
+
expect(getRoundReferenceValue(1)).toBe(1); // 1 → 1.1 → 1 (magnitude 1, remainder 0.1)
|
|
512
|
+
expect(getRoundReferenceValue(2)).toBe(2); // 2 → 2.2 → 2 (magnitude 1, remainder 0.2)
|
|
513
|
+
expect(getRoundReferenceValue(3)).toBe(3); // 3 → 3.3 → 3 (magnitude 1, remainder 0.3)
|
|
514
514
|
|
|
515
515
|
// Values 5-10 range
|
|
516
|
-
expect(getRoundReferenceValue(6)).toBe(
|
|
517
|
-
expect(getRoundReferenceValue(9)).toBe(
|
|
516
|
+
expect(getRoundReferenceValue(6)).toBe(6); // 6 → 6.6 → 6 (magnitude 1, remainder 0.6)
|
|
517
|
+
expect(getRoundReferenceValue(9)).toBe(9); // 9 → 9.9 → 9 (magnitude 1, remainder 0.9)
|
|
518
518
|
|
|
519
519
|
// Larger values get 10% buffer applied
|
|
520
|
-
expect(getRoundReferenceValue(15)).toBe(
|
|
521
|
-
expect(getRoundReferenceValue(35)).toBe(
|
|
522
|
-
expect(getRoundReferenceValue(75)).toBe(
|
|
523
|
-
expect(getRoundReferenceValue(150)).toBe(
|
|
524
|
-
expect(getRoundReferenceValue(350)).toBe(
|
|
525
|
-
expect(getRoundReferenceValue(750)).toBe(
|
|
526
|
-
expect(getRoundReferenceValue(1500)).toBe(
|
|
527
|
-
expect(getRoundReferenceValue(3500)).toBe(
|
|
528
|
-
expect(getRoundReferenceValue(7500)).toBe(
|
|
529
|
-
expect(getRoundReferenceValue(15000)).toBe(
|
|
520
|
+
expect(getRoundReferenceValue(15)).toBe(10); // 15 → 16.5, remainder 5, incremented 20 > 16.5, so round down to 10
|
|
521
|
+
expect(getRoundReferenceValue(35)).toBe(30); // 35 → 38.5, remainder 5, incremented 40 > 38.5, so round down to 30
|
|
522
|
+
expect(getRoundReferenceValue(75)).toBe(80); // 75 → 82.5, remainder 5, incremented 80 <= 82.5, so round up to 80
|
|
523
|
+
expect(getRoundReferenceValue(150)).toBe(150); // 150 → 165, remainder 0, so return 150
|
|
524
|
+
expect(getRoundReferenceValue(350)).toBe(350); // 350 → 385, remainder 0, so return 350
|
|
525
|
+
expect(getRoundReferenceValue(750)).toBe(750); // 750 → 825, remainder 0, so return 750
|
|
526
|
+
expect(getRoundReferenceValue(1500)).toBe(1500); // 1500 → 1650, remainder 0, so return 1500
|
|
527
|
+
expect(getRoundReferenceValue(3500)).toBe(3500); // 3500 → 3850, remainder 0, so return 3500
|
|
528
|
+
expect(getRoundReferenceValue(7500)).toBe(7500); // 7500 → 8250, remainder 0, so return 7500
|
|
529
|
+
expect(getRoundReferenceValue(15000)).toBe(15000); // 15000 → 16500, remainder 0, so return 15000
|
|
530
530
|
});
|
|
531
531
|
});
|
|
532
532
|
|
|
533
533
|
describe('getTicks', () => {
|
|
534
534
|
describe('small values (< 10)', () => {
|
|
535
535
|
it('should return 2 ticks for non-symmetrical small values', () => {
|
|
536
|
-
expect(getTicks(1, false)).toEqual([0, 1]);
|
|
537
|
-
expect(getTicks(2, false)).toEqual([0, 2]);
|
|
538
|
-
expect(getTicks(5, false)).toEqual([0, 5]);
|
|
536
|
+
expect(getTicks(1, false)).toEqual([0, 0.5, 1]); // 1 % 2 != 0, defaults to 3 ticks
|
|
537
|
+
expect(getTicks(2, false)).toEqual([0, 1, 2]); // 2 % (3-1) == 0, uses 3 ticks
|
|
538
|
+
expect(getTicks(5, false)).toEqual([0, 2.5, 5]); // 5 % 2 != 0 and 5 % 3 != 0, defaults to 3 ticks
|
|
539
539
|
});
|
|
540
540
|
|
|
541
541
|
it('should return 3 ticks for symmetrical small values', () => {
|
|
542
|
-
expect(getTicks(1, true)).toEqual([-1, 0, 1]);
|
|
543
|
-
expect(getTicks(2, true)).toEqual([-2, 0, 2]);
|
|
544
|
-
expect(getTicks(5, true)).toEqual([-5, 0, 5]);
|
|
542
|
+
expect(getTicks(1, true)).toEqual([-1, -0.5, 0, 0.5, 1]); // 1 % 2 != 0, defaults to 3 ticks, symmetrical adds negatives
|
|
543
|
+
expect(getTicks(2, true)).toEqual([-2, -1, 0, 1, 2]); // 2 % (3-1) == 0, uses 3 ticks, symmetrical adds negatives
|
|
544
|
+
expect(getTicks(5, true)).toEqual([-5, -2.5, 0, 2.5, 5]); // 5 % 2 != 0 and 5 % 3 != 0, defaults to 3 ticks, symmetrical adds negatives
|
|
545
545
|
});
|
|
546
546
|
});
|
|
547
547
|
|
|
@@ -738,8 +738,8 @@ describe('computeUnitLabelAndRoundReferenceValue', () => {
|
|
|
738
738
|
);
|
|
739
739
|
|
|
740
740
|
expect(result.unitLabel).toBe('kB');
|
|
741
|
-
// 1680 / 1000 = 1.68, with buffer: 1.848 → rounds to
|
|
742
|
-
expect(result.roundReferenceValue).toBe(
|
|
741
|
+
// 1680 / 1000 = 1.68, with buffer: 1.848 → rounds to 1 (magnitude 1, remainder 0.848)
|
|
742
|
+
expect(result.roundReferenceValue).toBe(1);
|
|
743
743
|
expect(result.rechartsData).toEqual([
|
|
744
744
|
{
|
|
745
745
|
category: 'category1',
|
|
@@ -772,8 +772,8 @@ describe('computeUnitLabelAndRoundReferenceValue', () => {
|
|
|
772
772
|
);
|
|
773
773
|
|
|
774
774
|
expect(result.unitLabel).toBe('B');
|
|
775
|
-
// 680 with buffer: 748 → rounds to
|
|
776
|
-
expect(result.roundReferenceValue).toBe(
|
|
775
|
+
// 680 with buffer: 748 → rounds to 680 (value >= 10, remainder 0, rounds down)
|
|
776
|
+
expect(result.roundReferenceValue).toBe(680);
|
|
777
777
|
expect(result.rechartsData).toEqual([
|
|
778
778
|
{ category: 'category1', success: 680 },
|
|
779
779
|
]);
|
|
@@ -5,47 +5,39 @@ import { useChartLegend } from '../chartlegend/ChartLegendWrapper';
|
|
|
5
5
|
|
|
6
6
|
export const getRoundReferenceValue = (value: number): number => {
|
|
7
7
|
if (value <= 0) return 1; // Default for zero or negative values
|
|
8
|
+
|
|
9
|
+
// Buffer the value by 10% to avoid being too close to the edge of the chart
|
|
10
|
+
const bufferedValue = value * 1.1;
|
|
11
|
+
|
|
12
|
+
if (value >= 10) {
|
|
13
|
+
const remainder = value % 10;
|
|
14
|
+
const incremented = value + (10 - remainder);
|
|
15
|
+
|
|
16
|
+
// If the remainder is less than 5, round down to the nearest 10
|
|
17
|
+
if (remainder < 5) {
|
|
18
|
+
return value - remainder;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// If incrementing would exceed the buffered max, also round down
|
|
22
|
+
if (incremented > bufferedValue) {
|
|
23
|
+
return value - remainder;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Otherwise, round up to the next 10
|
|
27
|
+
return incremented;
|
|
28
|
+
}
|
|
8
29
|
|
|
9
|
-
// Get the magnitude (10^n where n is the number of digits - 1)
|
|
10
30
|
const magnitude = Math.pow(10, Math.floor(Math.log10(value)));
|
|
11
31
|
|
|
12
|
-
|
|
13
|
-
const bufferedValue = value * 1.1;
|
|
32
|
+
const remainder = bufferedValue % magnitude;
|
|
14
33
|
|
|
15
|
-
|
|
16
|
-
const normalized = bufferedValue / magnitude;
|
|
17
|
-
|
|
18
|
-
// Round to nice numbers based on normalized value
|
|
19
|
-
// skip 1.5, 3, 4, 7.5 as top value for better chart
|
|
20
|
-
// appearance for small values
|
|
21
|
-
let result: number;
|
|
22
|
-
|
|
23
|
-
if (normalized <= 1) result = magnitude;
|
|
24
|
-
else if (value > 10 && normalized <= 1.5) result = 1.5 * magnitude;
|
|
25
|
-
else if (normalized <= 2) result = 2 * magnitude;
|
|
26
|
-
else if (value > 10 && normalized <= 2.5) result = 2.5 * magnitude;
|
|
27
|
-
else if (value > 10 && normalized <= 3) result = 3 * magnitude;
|
|
28
|
-
else if (value > 10 && normalized <= 4) result = 4 * magnitude;
|
|
29
|
-
else if (normalized <= 5) result = 5 * magnitude;
|
|
30
|
-
else if (value > 10 && normalized <= 6) result = 6 * magnitude;
|
|
31
|
-
else if (value > 10 && normalized <= 8) result = 8 * magnitude;
|
|
32
|
-
else if (normalized <= 10) result = 10 * magnitude;
|
|
33
|
-
else result = 10 * magnitude;
|
|
34
|
-
|
|
35
|
-
return result;
|
|
34
|
+
return remainder === 0 ? bufferedValue : bufferedValue - remainder;
|
|
36
35
|
};
|
|
37
36
|
|
|
38
37
|
export const getTicks = (topValue: number, isSymmetrical: boolean) => {
|
|
39
|
-
if (topValue < 10) {
|
|
40
|
-
if (isSymmetrical) {
|
|
41
|
-
return [-topValue, 0, topValue];
|
|
42
|
-
} else {
|
|
43
|
-
return [0, topValue];
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
38
|
const possibleTickNumbers = [4, 3];
|
|
47
39
|
const numberOfTicks =
|
|
48
|
-
possibleTickNumbers.find((number) => topValue % (number - 1) === 0) ||
|
|
40
|
+
possibleTickNumbers.find((number) => topValue % (number - 1) === 0) || 3; // Default to 2 ticks if no match
|
|
49
41
|
const tickInterval = topValue / (numberOfTicks - 1);
|
|
50
42
|
const ticks = Array.from(
|
|
51
43
|
{ length: numberOfTicks },
|
|
@@ -339,7 +331,7 @@ export const computeUnitLabelAndRoundReferenceValue = (
|
|
|
339
331
|
) => {
|
|
340
332
|
if (!unitRange) {
|
|
341
333
|
const roundReferenceValue = getRoundReferenceValue(maxValue);
|
|
342
|
-
return { unitLabel: undefined, roundReferenceValue, rechartsData: data };
|
|
334
|
+
return { unitLabel: undefined, roundReferenceValue, rechartsData: data, topDomain: maxValue * 1.1 };
|
|
343
335
|
}
|
|
344
336
|
|
|
345
337
|
const { valueBase, unitLabel } = getUnitLabel(unitRange, maxValue);
|
|
@@ -354,7 +346,7 @@ export const computeUnitLabelAndRoundReferenceValue = (
|
|
|
354
346
|
});
|
|
355
347
|
return normalizedDataPoint;
|
|
356
348
|
});
|
|
357
|
-
return { unitLabel, roundReferenceValue, rechartsData };
|
|
349
|
+
return { unitLabel, roundReferenceValue, rechartsData, topDomain: topValue * 1.1 };
|
|
358
350
|
};
|
|
359
351
|
|
|
360
352
|
/**
|
|
@@ -534,12 +526,13 @@ export const useChartData = <T extends BarchartBars>(
|
|
|
534
526
|
|
|
535
527
|
const maxValue = getMaxBarValue(filteredData, stacked);
|
|
536
528
|
|
|
537
|
-
const { unitLabel, roundReferenceValue, rechartsData } =
|
|
529
|
+
const { unitLabel, roundReferenceValue, rechartsData, topDomain } =
|
|
538
530
|
computeUnitLabelAndRoundReferenceValue(filteredData, maxValue, unitRange);
|
|
539
531
|
|
|
540
532
|
return {
|
|
541
533
|
rechartsBars: filteredRechartsBars,
|
|
542
534
|
unitLabel,
|
|
535
|
+
topDomain,
|
|
543
536
|
roundReferenceValue,
|
|
544
537
|
rechartsData,
|
|
545
538
|
};
|
|
@@ -14,14 +14,36 @@ export const useClipboard = () => {
|
|
|
14
14
|
return () => clearTimeout(timer);
|
|
15
15
|
}, [copyStatus]);
|
|
16
16
|
|
|
17
|
-
const copyToClipboard = (text) => {
|
|
17
|
+
const copyToClipboard = (text: string, asHtml?: boolean) => {
|
|
18
18
|
if (!navigator || !navigator.clipboard) {
|
|
19
19
|
setCopyStatus(COPY_STATE_UNSUPPORTED);
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
if (asHtml) {
|
|
24
|
+
// Copy as HTML with plain text fallback
|
|
25
|
+
const el = document.createElement('div');
|
|
26
|
+
el.innerHTML = text;
|
|
27
|
+
const plainText = el.innerText;
|
|
28
|
+
|
|
29
|
+
const clipboardItem = new ClipboardItem({
|
|
30
|
+
'text/html': new Blob([text], { type: 'text/html' }),
|
|
31
|
+
'text/plain': new Blob([plainText], { type: 'text/plain' }),
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
navigator.clipboard
|
|
35
|
+
.write([clipboardItem])
|
|
36
|
+
.then(() => {
|
|
37
|
+
setCopyStatus(COPY_STATE_SUCCESS);
|
|
38
|
+
})
|
|
39
|
+
.catch(() => {
|
|
40
|
+
setCopyStatus(COPY_STATE_UNSUPPORTED);
|
|
41
|
+
});
|
|
42
|
+
} else {
|
|
43
|
+
// Copy as plain text only
|
|
44
|
+
navigator.clipboard.writeText(text);
|
|
45
|
+
setCopyStatus(COPY_STATE_SUCCESS);
|
|
46
|
+
}
|
|
25
47
|
};
|
|
26
48
|
|
|
27
49
|
return {
|
|
@@ -33,11 +55,13 @@ export const useClipboard = () => {
|
|
|
33
55
|
export const CopyButton = ({
|
|
34
56
|
label,
|
|
35
57
|
textToCopy,
|
|
58
|
+
copyAsHtml,
|
|
36
59
|
variant,
|
|
37
60
|
...props
|
|
38
61
|
}: {
|
|
39
62
|
label?: string;
|
|
40
63
|
textToCopy: string;
|
|
64
|
+
copyAsHtml?: boolean;
|
|
41
65
|
variant?: 'outline' | 'ghost';
|
|
42
66
|
} & Props) => {
|
|
43
67
|
const { copy, copyStatus } = useClipboard();
|
|
@@ -68,7 +92,7 @@ export const CopyButton = ({
|
|
|
68
92
|
/>
|
|
69
93
|
}
|
|
70
94
|
disabled={copyStatus === COPY_STATE_SUCCESS || props.disabled}
|
|
71
|
-
onClick={() => copy(textToCopy)}
|
|
95
|
+
onClick={() => copy(textToCopy, copyAsHtml)}
|
|
72
96
|
type="button"
|
|
73
97
|
tooltip={
|
|
74
98
|
variant !== 'outline'
|
|
@@ -360,13 +360,7 @@ export function LineTimeSerieChart({
|
|
|
360
360
|
}, [chartData]);
|
|
361
361
|
|
|
362
362
|
// 3. Transform the data base on the valuebase
|
|
363
|
-
const { topValue, unitLabel, rechartsData } = useMemo(() => {
|
|
364
|
-
if (yAxisType === 'percentage')
|
|
365
|
-
return {
|
|
366
|
-
topValue: 100,
|
|
367
|
-
unitLabel: '%',
|
|
368
|
-
rechartsData: chartData,
|
|
369
|
-
};
|
|
363
|
+
const { topValue, unitLabel, rechartsData, topDomain } = useMemo(() => {
|
|
370
364
|
|
|
371
365
|
const values = chartData.flatMap((dataPoint) =>
|
|
372
366
|
Object.entries(dataPoint)
|
|
@@ -383,19 +377,20 @@ export function LineTimeSerieChart({
|
|
|
383
377
|
if (values.length === 0) {
|
|
384
378
|
return {
|
|
385
379
|
topValue: 100, // Default value for empty charts
|
|
386
|
-
unitLabel: '',
|
|
380
|
+
unitLabel: yAxisType === 'percentage' ? '%' : '',
|
|
387
381
|
rechartsData: [],
|
|
382
|
+
topDomain: 100,
|
|
388
383
|
};
|
|
389
384
|
}
|
|
390
385
|
|
|
391
386
|
const top = Math.abs(Math.max(...values));
|
|
392
387
|
const bottom = Math.abs(Math.min(...values));
|
|
393
388
|
const maxValue = Math.max(top, bottom);
|
|
394
|
-
|
|
395
|
-
const { valueBase, unitLabel } = getUnitLabel(unitRange ?? [], maxValue);
|
|
389
|
+
const { valueBase, unitLabel } = yAxisType === 'percentage' ? { valueBase: 1, unitLabel: '%' } : getUnitLabel(unitRange ?? [], maxValue);
|
|
396
390
|
// Use round reference value to add extra padding to the top value
|
|
397
|
-
const
|
|
398
|
-
|
|
391
|
+
const basedValue = maxValue / valueBase
|
|
392
|
+
const topDomain = basedValue * 1.1;
|
|
393
|
+
const topValue = getRoundReferenceValue(basedValue);
|
|
399
394
|
const rechartsData = chartData.map((dataPoint) => {
|
|
400
395
|
const normalizedDataPoint = { ...dataPoint };
|
|
401
396
|
Object.entries(dataPoint).forEach(([key, value]) => {
|
|
@@ -406,7 +401,7 @@ export function LineTimeSerieChart({
|
|
|
406
401
|
return normalizedDataPoint;
|
|
407
402
|
});
|
|
408
403
|
|
|
409
|
-
return { topValue, unitLabel, rechartsData };
|
|
404
|
+
return { topValue, unitLabel, rechartsData, topDomain };
|
|
410
405
|
}, [chartData, yAxisType, unitRange]);
|
|
411
406
|
|
|
412
407
|
// Group series by resource and create color mapping
|
|
@@ -522,10 +517,10 @@ export function LineTimeSerieChart({
|
|
|
522
517
|
}}
|
|
523
518
|
domain={
|
|
524
519
|
yAxisType === 'percentage'
|
|
525
|
-
? [0,
|
|
520
|
+
? [0, topDomain]
|
|
526
521
|
: yAxisType === 'symmetrical'
|
|
527
|
-
? [-
|
|
528
|
-
: [0,
|
|
522
|
+
? [-topDomain, topDomain]
|
|
523
|
+
: [0, topDomain]
|
|
529
524
|
}
|
|
530
525
|
axisLine={{ stroke: theme.border }}
|
|
531
526
|
tick={{
|
|
@@ -3,6 +3,10 @@ import {
|
|
|
3
3
|
forwardRef,
|
|
4
4
|
TextareaHTMLAttributes,
|
|
5
5
|
ForwardedRef,
|
|
6
|
+
useEffect,
|
|
7
|
+
useRef,
|
|
8
|
+
useImperativeHandle,
|
|
9
|
+
useCallback,
|
|
6
10
|
} from 'react';
|
|
7
11
|
import styled, { css } from 'styled-components';
|
|
8
12
|
import { spacing } from '../../spacing';
|
|
@@ -12,6 +16,11 @@ type Props = TextareaHTMLAttributes<HTMLTextAreaElement> & {
|
|
|
12
16
|
variant?: TextAreaVariant;
|
|
13
17
|
width?: CSSProperties['width'];
|
|
14
18
|
height?: CSSProperties['height'];
|
|
19
|
+
/**
|
|
20
|
+
* Automatically adjust height to fit content
|
|
21
|
+
* When enabled, the textarea will grow/shrink to show all content
|
|
22
|
+
*/
|
|
23
|
+
autoGrow?: boolean;
|
|
15
24
|
};
|
|
16
25
|
type RefType = HTMLTextAreaElement | null;
|
|
17
26
|
|
|
@@ -19,6 +28,7 @@ const TextAreaContainer = styled.textarea<{
|
|
|
19
28
|
variant: TextAreaVariant;
|
|
20
29
|
width?: CSSProperties['width'];
|
|
21
30
|
height?: CSSProperties['height'];
|
|
31
|
+
autoGrow?: boolean;
|
|
22
32
|
}>`
|
|
23
33
|
padding: ${spacing.r12} ${spacing.r8};
|
|
24
34
|
border-radius: 4px;
|
|
@@ -46,6 +56,12 @@ const TextAreaContainer = styled.textarea<{
|
|
|
46
56
|
height: ${props.height};
|
|
47
57
|
`}
|
|
48
58
|
|
|
59
|
+
${(props) =>
|
|
60
|
+
props.autoGrow &&
|
|
61
|
+
css`
|
|
62
|
+
overflow: hidden;
|
|
63
|
+
`}
|
|
64
|
+
|
|
49
65
|
&:placeholder-shown {
|
|
50
66
|
font-style: italic;
|
|
51
67
|
}
|
|
@@ -77,9 +93,55 @@ const TextAreaContainer = styled.textarea<{
|
|
|
77
93
|
`;
|
|
78
94
|
|
|
79
95
|
function TextAreaElement(
|
|
80
|
-
{
|
|
96
|
+
{
|
|
97
|
+
rows = 3,
|
|
98
|
+
cols = 20,
|
|
99
|
+
width,
|
|
100
|
+
height,
|
|
101
|
+
variant = 'code',
|
|
102
|
+
autoGrow = false,
|
|
103
|
+
value,
|
|
104
|
+
defaultValue,
|
|
105
|
+
onChange,
|
|
106
|
+
...rest
|
|
107
|
+
}: Props,
|
|
81
108
|
ref: ForwardedRef<RefType>,
|
|
82
109
|
) {
|
|
110
|
+
const internalRef = useRef<HTMLTextAreaElement>(null);
|
|
111
|
+
|
|
112
|
+
// Expose the textarea element to parent components via forwarded ref
|
|
113
|
+
useImperativeHandle(ref, () => internalRef.current as HTMLTextAreaElement);
|
|
114
|
+
|
|
115
|
+
// Adjust height on mount and when value changes (for controlled components)
|
|
116
|
+
const adjustHeight = useCallback(() => {
|
|
117
|
+
const textarea = internalRef.current;
|
|
118
|
+
if (!textarea || !autoGrow) return;
|
|
119
|
+
|
|
120
|
+
// Reset height to auto to get the correct scrollHeight
|
|
121
|
+
textarea.style.height = 'auto';
|
|
122
|
+
|
|
123
|
+
// Set the height to match the content
|
|
124
|
+
const newHeight = textarea.scrollHeight;
|
|
125
|
+
textarea.style.height = `${newHeight}px`;
|
|
126
|
+
}, [autoGrow]);
|
|
127
|
+
|
|
128
|
+
useEffect(() => {
|
|
129
|
+
adjustHeight();
|
|
130
|
+
}, [adjustHeight, value]);
|
|
131
|
+
|
|
132
|
+
// Handle onChange to support both controlled and uncontrolled components
|
|
133
|
+
const handleChange = useCallback(
|
|
134
|
+
(event: React.ChangeEvent<HTMLTextAreaElement>) => {
|
|
135
|
+
if (autoGrow) {
|
|
136
|
+
adjustHeight();
|
|
137
|
+
}
|
|
138
|
+
if (onChange) {
|
|
139
|
+
onChange(event);
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
[autoGrow, adjustHeight, onChange],
|
|
143
|
+
);
|
|
144
|
+
|
|
83
145
|
if (width || height) {
|
|
84
146
|
return (
|
|
85
147
|
<TextAreaContainer
|
|
@@ -87,8 +149,12 @@ function TextAreaElement(
|
|
|
87
149
|
width={width}
|
|
88
150
|
height={height}
|
|
89
151
|
variant={variant}
|
|
152
|
+
autoGrow={autoGrow}
|
|
153
|
+
value={value}
|
|
154
|
+
defaultValue={defaultValue}
|
|
155
|
+
onChange={handleChange}
|
|
90
156
|
{...rest}
|
|
91
|
-
ref={
|
|
157
|
+
ref={internalRef}
|
|
92
158
|
/>
|
|
93
159
|
);
|
|
94
160
|
}
|
|
@@ -99,8 +165,12 @@ function TextAreaElement(
|
|
|
99
165
|
rows={rows}
|
|
100
166
|
cols={cols}
|
|
101
167
|
variant={variant}
|
|
168
|
+
autoGrow={autoGrow}
|
|
169
|
+
value={value}
|
|
170
|
+
defaultValue={defaultValue}
|
|
171
|
+
onChange={handleChange}
|
|
102
172
|
{...rest}
|
|
103
|
-
ref={
|
|
173
|
+
ref={internalRef}
|
|
104
174
|
/>
|
|
105
175
|
);
|
|
106
176
|
}
|
|
@@ -1,47 +1,21 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
|
|
3
3
|
const Logo = () => (
|
|
4
|
-
<svg
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
fill="#ee4642"
|
|
20
|
-
d="M21.16 44.25V37h3.99v7.25l5.16-2.92 2 3.36-5.17 2.92a7.9 7.9 0 0 1-7.88 0L14 44.69l1.99-3.36z"
|
|
21
|
-
/>
|
|
22
|
-
<path
|
|
23
|
-
fill="#2aad8e"
|
|
24
|
-
d="M40.43 13.28L34 16.9l1.99 3.36 6.44-3.62v5.83h3.99v-5.92c0-1.33-.37-2.65-1.09-3.8a8.82 8.82 0 0 0-2.9-2.83L37.17 7l-1.99 3.36z"
|
|
25
|
-
/>
|
|
26
|
-
<path
|
|
27
|
-
fill="#d71d4f"
|
|
28
|
-
d="M4.99 32.84l6.43-3.63 2 3.36-6.44 3.63 5.17 2.91-2 3.36-5.25-2.92a7.6 7.6 0 0 1-2.81-2.82A7.1 7.1 0 0 1 1 32.92V27h3.99z"
|
|
29
|
-
/>
|
|
30
|
-
<path
|
|
31
|
-
fill="#9e2569"
|
|
32
|
-
d="M4.08 16.64l6.43 3.62 2-3.36-6.44-3.62 5.17-2.92-2-3.36-5.25 2.92a8.72 8.72 0 0 0-2.9 2.83A7.16 7.16 0 0 0 0 16.64v5.92h3.99z"
|
|
33
|
-
/>
|
|
34
|
-
<path
|
|
35
|
-
fill="#f79836"
|
|
36
|
-
d="M40.34 36.2L34 32.57l1.99-3.36 6.44 3.63V27h3.99v5.92c0 1.33-.37 2.57-1.09 3.81a8.69 8.69 0 0 1-2.9 2.82l-5.26 2.92-1.99-3.36z"
|
|
37
|
-
/>
|
|
38
|
-
<path fill="#007664" d="M24 15v8.22l7.34-4.06z" />
|
|
39
|
-
<path fill="#9e2569" d="M23.25 15L16 19.16l7.25 4.06z" />
|
|
40
|
-
<path fill="#d71d4f" d="M22.25 25.07L15 21v8.13z" />
|
|
41
|
-
<path fill="#2aad8e" d="M24 24.98l7.25 4.07V21z" />
|
|
42
|
-
<path fill="#ee4642" d="M23.16 26L16 30.07l7.16 4.15z" />
|
|
43
|
-
<path fill="#f79836" d="M24 26v8.22l7.25-4.15z" />
|
|
44
|
-
</svg>
|
|
4
|
+
<svg width="49" height="49" viewBox="0 0 49 49" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
5
|
+
|
|
6
|
+
<path d="M21.0748 4.41441V11.6541H25.0566V4.32613L30.2149 7.23964L32.2058 3.88469L26.9571 0.971171C25.7806 0.264865 24.4232 0 22.9753 0C21.6178 0 20.2604 0.353153 19.0839 1.05946L13.8352 3.97297L15.8261 7.32793L21.0748 4.41441Z" fill="#005357"/>
|
|
7
|
+
<path d="M21.0749 44.5856V37.3459H25.0567V44.5856L30.215 41.6721L32.2059 45.027L27.0476 47.9405C25.8712 48.6469 24.4233 49 23.0658 49C21.7084 49 20.351 48.6469 19.1745 47.9405L13.9258 45.027L15.9167 41.6721L21.0749 44.5856Z" fill="#FD8144"/>
|
|
8
|
+
<path d="M39.8981 12.7133L33.4729 16.3331L35.4638 19.6881L41.889 16.0682V21.8953H45.8708V15.98C45.8708 14.6556 45.5088 13.3313 44.7848 12.1836C44.0609 11.0358 43.0654 10.0646 41.889 9.35834L36.6402 6.44482L34.6493 9.79978L39.8981 12.7133Z" fill="#0AADA6"/>
|
|
9
|
+
<path d="M4.24279 32.8434L10.668 29.2236L12.6589 32.5785L6.23369 36.1983L11.3919 39.1119L9.40103 42.4668L4.15229 39.5533C2.97585 38.847 1.9804 37.8758 1.34693 36.7281C0.622968 35.5803 0.260986 34.256 0.260986 32.9317V27.0164H4.24279V32.8434Z" fill="#E84855"/>
|
|
10
|
+
<path d="M4.24271 16.1569L10.6679 19.7767L12.6588 16.4217L6.23361 12.8019L11.3919 9.8884L9.40095 6.53345L4.15221 9.44696C2.97577 10.1533 1.98032 11.1244 1.25636 12.2722C0.532392 13.4199 0.17041 14.7443 0.17041 16.1569V22.0722H4.15221L4.24271 16.1569Z" fill="#A14FBF"/>
|
|
11
|
+
<path d="M39.8982 36.1983L33.5635 32.5785L35.5544 29.2236L41.9796 32.8434V27.0164H45.9614V32.9317C45.9614 34.256 45.5994 35.492 44.8754 36.7281C44.1514 37.8758 43.156 38.847 41.9796 39.5533L36.7308 42.4668L34.7399 39.1119L39.8982 36.1983Z" fill="#F8F32B"/>
|
|
12
|
+
<path d="M23.6086 15.3623V23.5731L30.9388 19.5119L23.6086 15.3623Z" fill="#005357"/>
|
|
13
|
+
<path d="M22.5226 15.3623L15.283 19.5119L22.5226 23.5731V15.3623Z" fill="#A14FBF"/>
|
|
14
|
+
<path d="M22.0705 24.4558L14.8308 20.3945V28.5171L22.0705 24.4558Z" fill="#E84855"/>
|
|
15
|
+
<path d="M24.1519 24.4559L31.3915 28.5171V20.4829L24.1519 24.4559Z" fill="#0AADA6"/>
|
|
16
|
+
<path d="M22.5227 25.4272L15.3735 29.4885L22.5227 33.6381V25.4272Z" fill="#FD8144"/>
|
|
17
|
+
<path d="M23.6086 25.4272V33.6381L30.8483 29.4885L23.6086 25.4272Z" fill="#F8F32B"/>
|
|
18
|
+
</svg>
|
|
45
19
|
);
|
|
46
20
|
|
|
47
21
|
export { Logo };
|
|
@@ -1,53 +1,29 @@
|
|
|
1
1
|
const Logo = () => (
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
/>
|
|
28
|
-
<path
|
|
29
|
-
fill="#2aad8e"
|
|
30
|
-
d="M40.43 13.28L34 16.9l1.99 3.36 6.44-3.62v5.83h3.99v-5.92c0-1.33-.37-2.65-1.09-3.8a8.82 8.82 0 0 0-2.9-2.83L37.17 7l-1.99 3.36z"
|
|
31
|
-
/>
|
|
32
|
-
<path
|
|
33
|
-
fill="#d71d4f"
|
|
34
|
-
d="M4.99 32.84l6.43-3.63 2 3.36-6.44 3.63 5.17 2.91-2 3.36-5.25-2.92a7.6 7.6 0 0 1-2.81-2.82A7.1 7.1 0 0 1 1 32.92V27h3.99z"
|
|
35
|
-
/>
|
|
36
|
-
<path
|
|
37
|
-
fill="#9e2569"
|
|
38
|
-
d="M4.08 16.64l6.43 3.62 2-3.36-6.44-3.62 5.17-2.92-2-3.36-5.25 2.92a8.72 8.72 0 0 0-2.9 2.83A7.16 7.16 0 0 0 0 16.64v5.92h3.99z"
|
|
39
|
-
/>
|
|
40
|
-
<path
|
|
41
|
-
fill="#f79836"
|
|
42
|
-
d="M40.34 36.2L34 32.57l1.99-3.36 6.44 3.63V27h3.99v5.92c0 1.33-.37 2.57-1.09 3.81a8.69 8.69 0 0 1-2.9 2.82l-5.26 2.92-1.99-3.36z"
|
|
43
|
-
/>
|
|
44
|
-
<path fill="#007664" d="M24 15v8.22l7.34-4.06z" />
|
|
45
|
-
<path fill="#9e2569" d="M23.25 15L16 19.16l7.25 4.06z" />
|
|
46
|
-
<path fill="#d71d4f" d="M22.25 25.07L15 21v8.13z" />
|
|
47
|
-
<path fill="#2aad8e" d="M24 24.98l7.25 4.07V21z" />
|
|
48
|
-
<path fill="#ee4642" d="M23.16 26L16 30.07l7.16 4.15z" />
|
|
49
|
-
<path fill="#f79836" d="M24 26v8.22l7.25-4.15z" />
|
|
50
|
-
</svg>
|
|
2
|
+
<svg width="186" height="49" viewBox="0 0 186 49" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path d="M72.2048 18.0991C72.2048 16.0685 71.0283 14.9207 67.68 14.9207C64.3317 14.9207 63.1552 16.0685 63.1552 18.0991V18.8054C63.1552 20.4829 64.2412 21.0126 65.0556 21.2775L72.0238 23.8379C74.2862 24.7207 76.1866 26.1334 76.1866 28.8703V31.9604C76.1866 35.0505 73.9242 37.6991 67.5895 37.6991C61.1643 37.6991 58.9924 35.0505 58.9924 31.9604V29.9298C58.9924 29.4 59.2639 29.2235 59.8069 29.2235H62.0693C62.5218 29.2235 62.7027 29.4 62.7027 29.9298V31.6072C62.7027 33.6379 64.1507 34.7856 67.5895 34.7856C71.0283 34.7856 72.4763 33.6379 72.4763 31.6072V29.8415C72.4763 27.9874 70.7568 27.3694 69.3089 26.7514L62.8837 24.3676C61.1643 23.7496 59.5354 22.0721 59.5354 19.7766V17.6577C59.5354 14.5676 61.5263 11.9189 67.68 11.9189C73.9242 11.9189 75.9151 14.5676 75.9151 17.6577V19.3352C75.9151 19.7766 75.7341 20.0415 75.2816 20.0415H73.0192C72.4763 20.0415 72.2048 19.8649 72.2048 19.3352V18.0991Z" fill="white"/>
|
|
4
|
+
<path d="M97.0913 32.0487C97.0913 35.1388 95.1909 37.7874 88.5847 37.7874C81.9785 37.7874 80.0781 35.1388 80.0781 32.0487V17.6577C80.0781 14.5676 81.9785 11.9189 88.5847 11.9189C95.1909 11.9189 97.0913 14.5676 97.0913 17.6577V19.5117C97.0913 20.0415 96.9103 20.218 96.3673 20.218H94.1954C93.6524 20.218 93.381 20.0415 93.381 19.5117V18.2757C93.381 16.2451 92.0235 15.009 88.5847 15.009C85.1459 15.009 83.7884 16.2451 83.7884 18.2757V31.5189C83.7884 33.5496 85.1459 34.7856 88.5847 34.7856C92.0235 34.7856 93.381 33.5496 93.381 31.5189V29.7532C93.381 29.3117 93.6524 29.0469 94.1954 29.0469H96.3673C96.8198 29.0469 97.0913 29.3117 97.0913 29.7532V32.0487Z" fill="white"/>
|
|
5
|
+
<path d="M125.235 34.4322H135.009C135.461 34.4322 135.823 34.6088 135.823 35.1385V36.816C135.823 37.3458 135.461 37.5223 135.009 37.5223H122.068C121.616 37.5223 121.435 37.2575 121.435 36.816V12.9782C121.435 12.4485 121.616 12.1836 122.159 12.1836H124.511C124.964 12.1836 125.235 12.4485 125.235 12.9782V34.4322Z" fill="white"/>
|
|
6
|
+
<path d="M164.148 12.1836C164.601 12.1836 164.782 12.3602 164.782 12.8899V14.5674C164.782 15.0971 164.691 15.2737 164.148 15.2737H158.175V36.816C158.175 37.3458 157.904 37.5223 157.361 37.5223H155.008C154.556 37.5223 154.194 37.2575 154.194 36.816V15.2737H148.221C147.678 15.2737 147.587 15.0971 147.587 14.5674V12.8899C147.587 12.3602 147.678 12.1836 148.221 12.1836H164.148Z" fill="white"/>
|
|
7
|
+
<path d="M72.2048 18.0991C72.2048 16.0685 71.0283 14.9207 67.68 14.9207C64.3317 14.9207 63.1552 16.0685 63.1552 18.0991V18.8054C63.1552 20.4829 64.2412 21.0126 65.0556 21.2775L72.0238 23.8379C74.2862 24.7207 76.1866 26.1334 76.1866 28.8703V31.9604C76.1866 35.0505 73.9242 37.6991 67.5895 37.6991C61.1643 37.6991 58.9924 35.0505 58.9924 31.9604V29.9298C58.9924 29.4 59.2639 29.2235 59.8069 29.2235H62.0693C62.5218 29.2235 62.7027 29.4 62.7027 29.9298V31.6072C62.7027 33.6379 64.1507 34.7856 67.5895 34.7856C71.0283 34.7856 72.4763 33.6379 72.4763 31.6072V29.8415C72.4763 27.9874 70.7568 27.3694 69.3089 26.7514L62.8837 24.3676C61.1643 23.7496 59.5354 22.0721 59.5354 19.7766V17.6577C59.5354 14.5676 61.5263 11.9189 67.68 11.9189C73.9242 11.9189 75.9151 14.5676 75.9151 17.6577V19.3352C75.9151 19.7766 75.7341 20.0415 75.2816 20.0415H73.0192C72.4763 20.0415 72.2048 19.8649 72.2048 19.3352V18.0991Z" fill="white"/>
|
|
8
|
+
<path d="M97.0913 32.0487C97.0913 35.1388 95.1909 37.7874 88.5847 37.7874C81.9785 37.7874 80.0781 35.1388 80.0781 32.0487V17.6577C80.0781 14.5676 81.9785 11.9189 88.5847 11.9189C95.1909 11.9189 97.0913 14.5676 97.0913 17.6577V19.5117C97.0913 20.0415 96.9103 20.218 96.3673 20.218H94.1954C93.6524 20.218 93.381 20.0415 93.381 19.5117V18.2757C93.381 16.2451 92.0235 15.009 88.5847 15.009C85.1459 15.009 83.7884 16.2451 83.7884 18.2757V31.5189C83.7884 33.5496 85.1459 34.7856 88.5847 34.7856C92.0235 34.7856 93.381 33.5496 93.381 31.5189V29.7532C93.381 29.3117 93.6524 29.0469 94.1954 29.0469H96.3673C96.8198 29.0469 97.0913 29.3117 97.0913 29.7532V32.0487Z" fill="white"/>
|
|
9
|
+
<path d="M125.235 34.4322H135.009C135.461 34.4322 135.823 34.6088 135.823 35.1385V36.816C135.823 37.3458 135.461 37.5223 135.009 37.5223H122.068C121.616 37.5223 121.435 37.2575 121.435 36.816V12.9782C121.435 12.4485 121.616 12.1836 122.159 12.1836H124.511C124.964 12.1836 125.235 12.4485 125.235 12.9782V34.4322Z" fill="white"/>
|
|
10
|
+
<path d="M143.515 36.816C143.515 37.3458 143.334 37.5223 142.791 37.5223H140.438C139.986 37.5223 139.805 37.2575 139.805 36.816V12.9782C139.805 12.4485 139.895 12.1836 140.438 12.1836H142.791C143.334 12.1836 143.515 12.4485 143.515 12.9782V36.816Z" fill="white"/>
|
|
11
|
+
<path d="M164.148 12.1836C164.601 12.1836 164.782 12.3602 164.782 12.8899V14.5674C164.782 15.0971 164.691 15.2737 164.148 15.2737H158.175V36.816C158.175 37.3458 157.904 37.5223 157.361 37.5223H155.008C154.556 37.5223 154.194 37.2575 154.194 36.816V15.2737H148.221C147.678 15.2737 147.587 15.0971 147.587 14.5674V12.8899C147.587 12.3602 147.678 12.1836 148.221 12.1836H164.148Z" fill="white"/>
|
|
12
|
+
<path d="M175.279 23.9259L180.98 12.8899C181.161 12.5367 181.342 12.1836 181.795 12.1836H184.148C184.691 12.1836 184.962 12.4485 184.691 12.8899L177.179 27.4575V36.816C177.179 37.2575 176.998 37.5223 176.455 37.5223H174.103C173.56 37.5223 173.469 37.2575 173.469 36.816V27.4575L165.867 12.8899C165.596 12.4485 165.867 12.1836 166.41 12.1836H168.673C169.216 12.1836 169.306 12.4485 169.578 12.8899L175.279 23.9259Z" fill="white"/>
|
|
13
|
+
<path d="M109.851 12.1836C110.303 12.1836 110.575 12.4485 110.756 12.8899L118.176 36.816C118.357 37.2575 118.176 37.5223 117.633 37.5223H115.19C114.738 37.5223 114.466 37.2575 114.376 36.816L112.656 31.0773H104.693L102.973 36.816C102.883 37.2575 102.611 37.5223 102.159 37.5223H99.7153C99.1724 37.5223 98.9914 37.2575 99.1724 36.816L106.593 12.8899C106.774 12.4485 107.045 12.1836 107.498 12.1836H109.851ZM108.674 17.6575L105.507 28.2521H111.751L108.674 17.6575Z" fill="white"/>
|
|
14
|
+
<path d="M21.0748 4.41441V11.6541H25.0566V4.32613L30.2149 7.23964L32.2058 3.88469L26.9571 0.971171C25.7806 0.264865 24.4232 0 22.9753 0C21.6178 0 20.2604 0.353153 19.0839 1.05946L13.8352 3.97297L15.8261 7.32793L21.0748 4.41441Z" fill="#005357"/>
|
|
15
|
+
<path d="M21.0749 44.5856V37.3459H25.0567V44.5856L30.215 41.6721L32.2059 45.027L27.0476 47.9405C25.8712 48.6469 24.4233 49 23.0658 49C21.7084 49 20.351 48.6469 19.1745 47.9405L13.9258 45.027L15.9167 41.6721L21.0749 44.5856Z" fill="#FD8144"/>
|
|
16
|
+
<path d="M39.8981 12.7133L33.4729 16.3331L35.4638 19.6881L41.889 16.0682V21.8953H45.8708V15.98C45.8708 14.6556 45.5088 13.3313 44.7848 12.1836C44.0609 11.0358 43.0654 10.0646 41.889 9.35834L36.6402 6.44482L34.6493 9.79978L39.8981 12.7133Z" fill="#0AADA6"/>
|
|
17
|
+
<path d="M4.24279 32.8434L10.668 29.2236L12.6589 32.5785L6.23369 36.1983L11.3919 39.1119L9.40103 42.4668L4.15229 39.5533C2.97585 38.847 1.9804 37.8758 1.34693 36.7281C0.622968 35.5803 0.260986 34.256 0.260986 32.9317V27.0164H4.24279V32.8434Z" fill="#E84855"/>
|
|
18
|
+
<path d="M4.24271 16.1569L10.6679 19.7767L12.6588 16.4217L6.23361 12.8019L11.3919 9.8884L9.40095 6.53345L4.15221 9.44696C2.97577 10.1533 1.98032 11.1244 1.25636 12.2722C0.532392 13.4199 0.17041 14.7443 0.17041 16.1569V22.0722H4.15221L4.24271 16.1569Z" fill="#A14FBF"/>
|
|
19
|
+
<path d="M39.8982 36.1983L33.5635 32.5785L35.5544 29.2236L41.9796 32.8434V27.0164H45.9614V32.9317C45.9614 34.256 45.5994 35.492 44.8754 36.7281C44.1514 37.8758 43.156 38.847 41.9796 39.5533L36.7308 42.4668L34.7399 39.1119L39.8982 36.1983Z" fill="#F8F32B"/>
|
|
20
|
+
<path d="M23.6086 15.3623V23.5731L30.9388 19.5119L23.6086 15.3623Z" fill="#005357"/>
|
|
21
|
+
<path d="M22.5226 15.3623L15.283 19.5119L22.5226 23.5731V15.3623Z" fill="#A14FBF"/>
|
|
22
|
+
<path d="M22.0705 24.4558L14.8308 20.3945V28.5171L22.0705 24.4558Z" fill="#E84855"/>
|
|
23
|
+
<path d="M24.1519 24.4559L31.3915 28.5171V20.4829L24.1519 24.4559Z" fill="#0AADA6"/>
|
|
24
|
+
<path d="M22.5227 25.4272L15.3735 29.4885L22.5227 33.6381V25.4272Z" fill="#FD8144"/>
|
|
25
|
+
<path d="M23.6086 25.4272V33.6381L30.8483 29.4885L23.6086 25.4272Z" fill="#F8F32B"/>
|
|
26
|
+
</svg>
|
|
51
27
|
);
|
|
52
28
|
|
|
53
29
|
export { Logo };
|
package/src/lib/index.css
CHANGED
|
@@ -9,7 +9,8 @@ body {
|
|
|
9
9
|
font-family: 'Lato';
|
|
10
10
|
font-style: normal;
|
|
11
11
|
font-weight: normal;
|
|
12
|
-
src:
|
|
12
|
+
src:
|
|
13
|
+
url('./style/fonts/Lato-Regular.woff2') format('woff2'),
|
|
13
14
|
/* Chrome 26+, Opera 23+, Firefox 39+ */
|
|
14
15
|
url('./style/fonts/Lato-Regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
|
15
16
|
}
|
|
@@ -19,7 +20,8 @@ body {
|
|
|
19
20
|
font-family: 'Lato';
|
|
20
21
|
font-style: normal;
|
|
21
22
|
font-weight: bold;
|
|
22
|
-
src:
|
|
23
|
+
src:
|
|
24
|
+
url('./style/fonts/Lato-Bold.woff2') format('woff2'),
|
|
23
25
|
/* Chrome 26+, Opera 23+, Firefox 39+ */ url('./style/fonts/Lato-Bold.woff')
|
|
24
26
|
format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
|
25
27
|
}
|