@pushwoosh/dumb-components 1.1.29 → 1.1.31
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/Chip/Chip.d.ts +1 -0
- package/Chip/Chip.js +2 -0
- package/Chip/Chip.types.d.ts +1 -0
- package/Chip/styles.d.ts +1 -0
- package/Chip/styles.js +16 -4
- package/FrequencyCapping/FrequencyCappingEdit.d.ts +3 -0
- package/FrequencyCapping/FrequencyCappingEdit.js +90 -0
- package/FrequencyCapping/FrequencyCappingReadonly.d.ts +3 -0
- package/FrequencyCapping/FrequencyCappingReadonly.js +35 -0
- package/FrequencyCapping/components/Condition/index.d.ts +8 -0
- package/FrequencyCapping/components/Condition/index.js +29 -0
- package/FrequencyCapping/components/Condition/styles.d.ts +1 -0
- package/FrequencyCapping/components/Condition/styles.js +5 -0
- package/FrequencyCapping/components/Description/index.d.ts +10 -0
- package/FrequencyCapping/components/Description/index.js +27 -0
- package/FrequencyCapping/components/Settings/index.d.ts +8 -0
- package/FrequencyCapping/components/Settings/index.js +34 -0
- package/FrequencyCapping/helpers/getCappingOption.d.ts +6 -0
- package/FrequencyCapping/helpers/getCappingOption.js +20 -0
- package/FrequencyCapping/helpers/getReadonlyCappingHelpers.d.ts +7 -0
- package/FrequencyCapping/helpers/getReadonlyCappingHelpers.js +79 -0
- package/FrequencyCapping/index.d.ts +3 -0
- package/FrequencyCapping/index.js +2 -0
- package/FrequencyCapping/styles.d.ts +113 -0
- package/FrequencyCapping/styles.js +15 -0
- package/FrequencyCapping/types.d.ts +32 -0
- package/FrequencyCapping/types.js +6 -0
- package/SendRate/SendRateEdit.d.ts +14 -0
- package/SendRate/SendRateEdit.js +77 -0
- package/SendRate/SendRateReadonly.d.ts +11 -0
- package/SendRate/SendRateReadonly.js +35 -0
- package/SendRate/components/Condition/index.d.ts +7 -0
- package/SendRate/components/Condition/index.js +12 -0
- package/SendRate/components/Condition/styles.d.ts +1 -0
- package/SendRate/components/Condition/styles.js +5 -0
- package/SendRate/components/Description/index.d.ts +10 -0
- package/SendRate/components/Description/index.js +25 -0
- package/SendRate/components/Settings/index.d.ts +9 -0
- package/SendRate/components/Settings/index.js +27 -0
- package/SendRate/helpers/getReadonlySendRateHelpers.d.ts +7 -0
- package/SendRate/helpers/getReadonlySendRateHelpers.js +78 -0
- package/SendRate/helpers/getSendRateOptions.d.ts +2 -0
- package/SendRate/helpers/getSendRateOptions.js +10 -0
- package/SendRate/index.d.ts +2 -0
- package/SendRate/index.js +2 -0
- package/SendRate/styles.d.ts +113 -0
- package/SendRate/styles.js +15 -0
- package/SendRate/types.d.ts +9 -0
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/package.json +1 -3
- package/Table/assets/box.svg +0 -1
- package/Table/assets/error.svg +0 -1
- package/Table/assets/notfound.svg +0 -1
- package/Table/components/DataTable/DataTable.d.ts +0 -4
- package/Table/components/DataTable/DataTable.js +0 -79
- package/Table/components/DataTable/index.d.ts +0 -1
- package/Table/components/DataTable/index.js +0 -1
- package/Table/components/DataTable/types.d.ts +0 -26
- package/Table/components/DataTableGetContext/DataTableGetContext.d.ts +0 -4
- package/Table/components/DataTableGetContext/DataTableGetContext.js +0 -8
- package/Table/components/DataTableGetContext/index.d.ts +0 -1
- package/Table/components/DataTableGetContext/index.js +0 -1
- package/Table/components/DataTableGetContext/types.d.ts +0 -5
- package/Table/components/DataTableGetContext/types.js +0 -1
- package/Table/components/DataTableList/DataTableList.d.ts +0 -3
- package/Table/components/DataTableList/DataTableList.js +0 -80
- package/Table/components/DataTableList/index.d.ts +0 -1
- package/Table/components/DataTableList/index.js +0 -1
- package/Table/components/DataTableList/types.d.ts +0 -4
- package/Table/components/DataTableList/types.js +0 -1
- package/Table/components/DataTablePagination/DataTablePagination.d.ts +0 -3
- package/Table/components/DataTablePagination/DataTablePagination.js +0 -35
- package/Table/components/DataTablePagination/index.d.ts +0 -1
- package/Table/components/DataTablePagination/index.js +0 -1
- package/Table/components/DataTablePagination/types.d.ts +0 -5
- package/Table/components/DataTablePagination/types.js +0 -1
- package/Table/components/DataTableSearchInput/DataTableSearchInput.d.ts +0 -3
- package/Table/components/DataTableSearchInput/DataTableSearchInput.js +0 -40
- package/Table/components/DataTableSearchInput/index.d.ts +0 -1
- package/Table/components/DataTableSearchInput/index.js +0 -1
- package/Table/components/DataTableSearchInput/types.d.ts +0 -3
- package/Table/components/DataTableSearchInput/types.js +0 -1
- package/Table/components/DataTableSortableCell/DataTableSortableCell.d.ts +0 -3
- package/Table/components/DataTableSortableCell/DataTableSortableCell.js +0 -25
- package/Table/components/DataTableSortableCell/index.d.ts +0 -1
- package/Table/components/DataTableSortableCell/index.js +0 -1
- package/Table/components/DataTableSortableCell/types.d.ts +0 -4
- package/Table/components/DataTableSortableCell/types.js +0 -1
- package/Table/components/Loading/Loading.d.ts +0 -2
- package/Table/components/Loading/Loading.js +0 -20
- package/Table/components/Loading/index.d.ts +0 -1
- package/Table/components/Loading/index.js +0 -1
- package/Table/components/Loading/styles.d.ts +0 -1
- package/Table/components/Loading/styles.js +0 -6
- package/Table/components/TablePagination/TablePagination.d.ts +0 -3
- package/Table/components/TablePagination/TablePagination.js +0 -39
- package/Table/components/TablePagination/index.d.ts +0 -1
- package/Table/components/TablePagination/index.js +0 -1
- package/Table/components/TablePagination/types.d.ts +0 -10
- package/Table/components/TablePagination/types.js +0 -1
- package/Table/context.d.ts +0 -2
- package/Table/context.js +0 -2
- package/Table/hooks/helpers.d.ts +0 -2
- package/Table/hooks/helpers.js +0 -6
- package/Table/hooks/index.d.ts +0 -2
- package/Table/hooks/index.js +0 -2
- package/Table/hooks/useDataTableContext.d.ts +0 -11
- package/Table/hooks/useDataTableContext.js +0 -23
- package/Table/hooks/useDataTableGetParams.d.ts +0 -11
- package/Table/hooks/useDataTableGetParams.js +0 -53
- package/Table/index.d.ts +0 -10
- package/Table/index.js +0 -9
- package/Table/styles.d.ts +0 -247
- package/Table/styles.js +0 -62
- package/Table/types.d.ts +0 -20
- package/Table/types.js +0 -1
- /package/{Table/components/DataTable → SendRate}/types.js +0 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Color } from '@pushwoosh/kit-constants';
|
|
3
|
+
import { Vertical } from '@pushwoosh/kit-helpers';
|
|
4
|
+
import { OpenIcon } from '@pushwoosh/kit-icons';
|
|
5
|
+
import { Description } from './components/Description';
|
|
6
|
+
import { EditSendRateSettings } from './components/Settings';
|
|
7
|
+
import { getSendRateOptions } from './helpers/getSendRateOptions';
|
|
8
|
+
import { FieldBox } from '../FieldBox';
|
|
9
|
+
import { Link } from '../Link';
|
|
10
|
+
import { Select } from '../Select';
|
|
11
|
+
import { Container, LinkWrapper } from './styles';
|
|
12
|
+
export function SendRateEdit({
|
|
13
|
+
sendRate,
|
|
14
|
+
globalSendRate,
|
|
15
|
+
onChange,
|
|
16
|
+
applicationCode,
|
|
17
|
+
minValue,
|
|
18
|
+
maxValue
|
|
19
|
+
}) {
|
|
20
|
+
const {
|
|
21
|
+
sendRate: count,
|
|
22
|
+
policy
|
|
23
|
+
} = sendRate;
|
|
24
|
+
const isGlobalSendRateDisabled = globalSendRate.count === 0 && globalSendRate.count === 0;
|
|
25
|
+
const globalSendRateLinkText = isGlobalSendRateDisabled ? 'Set up' : 'Settings';
|
|
26
|
+
const sendRateOptions = getSendRateOptions(isGlobalSendRateDisabled);
|
|
27
|
+
const onChangeSendRate = React.useCallback(value => {
|
|
28
|
+
if (value === 'CUSTOM') {
|
|
29
|
+
onChange({
|
|
30
|
+
...sendRate,
|
|
31
|
+
policy: value,
|
|
32
|
+
sendRate: minValue
|
|
33
|
+
});
|
|
34
|
+
} else {
|
|
35
|
+
onChange({
|
|
36
|
+
...sendRate,
|
|
37
|
+
policy: value
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}, [onChange, sendRate, minValue]);
|
|
41
|
+
const onSettingsChange = React.useCallback(count => {
|
|
42
|
+
onChange({
|
|
43
|
+
...sendRate,
|
|
44
|
+
sendRate: count
|
|
45
|
+
});
|
|
46
|
+
}, [sendRate, onChange]);
|
|
47
|
+
return React.createElement(Container, {
|
|
48
|
+
"$padding": 16,
|
|
49
|
+
"$bgColor": Color.SOFT_LIGHT,
|
|
50
|
+
"$borderRadius": 8
|
|
51
|
+
}, React.createElement(Vertical, {
|
|
52
|
+
"$gap": 12
|
|
53
|
+
}, React.createElement(FieldBox, {
|
|
54
|
+
title: "Send rate"
|
|
55
|
+
}, React.createElement(Select, {
|
|
56
|
+
name: "sendRateOption",
|
|
57
|
+
options: sendRateOptions,
|
|
58
|
+
value: sendRateOptions.find(option => option.value === policy),
|
|
59
|
+
onChange: newValue => onChangeSendRate(newValue.value)
|
|
60
|
+
})), React.createElement(Description, {
|
|
61
|
+
sendRateOption: policy,
|
|
62
|
+
messages: globalSendRate.count,
|
|
63
|
+
seconds: globalSendRate.seconds
|
|
64
|
+
}, policy === 'GLOBAL' && React.createElement(Link, {
|
|
65
|
+
href: `/applications/${applicationCode}/message-delivery-settings?tab=sendRate`,
|
|
66
|
+
title: globalSendRateLinkText
|
|
67
|
+
}, React.createElement(LinkWrapper, null, globalSendRateLinkText, React.createElement(OpenIcon, {
|
|
68
|
+
size: "small",
|
|
69
|
+
view: "lined",
|
|
70
|
+
as: "span"
|
|
71
|
+
})))), policy === 'CUSTOM' && React.createElement(EditSendRateSettings, {
|
|
72
|
+
messages: count,
|
|
73
|
+
onChange: onSettingsChange,
|
|
74
|
+
minValue: minValue,
|
|
75
|
+
maxValue: maxValue
|
|
76
|
+
})));
|
|
77
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type SendRateBase } from './types';
|
|
3
|
+
export type SendRateReadonlyProps<T extends SendRateBase> = {
|
|
4
|
+
sendRate: T;
|
|
5
|
+
globalSendRate: {
|
|
6
|
+
count: number;
|
|
7
|
+
seconds: number;
|
|
8
|
+
};
|
|
9
|
+
applicationCode: string;
|
|
10
|
+
};
|
|
11
|
+
export declare function SendRateReadonly<T extends SendRateBase>({ sendRate, globalSendRate, applicationCode }: SendRateReadonlyProps<T>): React.JSX.Element;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Horizontal, Vertical } from '@pushwoosh/kit-helpers';
|
|
3
|
+
import { OpenIcon } from '@pushwoosh/kit-icons';
|
|
4
|
+
import { Link } from '../Link';
|
|
5
|
+
import { getReadonlySendRateIcon, getReadonlySendRateLabel } from './helpers/getReadonlySendRateHelpers';
|
|
6
|
+
export function SendRateReadonly({
|
|
7
|
+
sendRate,
|
|
8
|
+
globalSendRate,
|
|
9
|
+
applicationCode
|
|
10
|
+
}) {
|
|
11
|
+
const {
|
|
12
|
+
policy
|
|
13
|
+
} = sendRate;
|
|
14
|
+
const isGlobalSendRateDisabled = globalSendRate.count === 0 && globalSendRate.seconds === 0;
|
|
15
|
+
const globalSendRateLinkText = isGlobalSendRateDisabled ? 'Set up' : 'Settings';
|
|
16
|
+
const label = getReadonlySendRateLabel(sendRate, isGlobalSendRateDisabled, globalSendRate);
|
|
17
|
+
const checkIcon = getReadonlySendRateIcon(policy, isGlobalSendRateDisabled);
|
|
18
|
+
return React.createElement(Vertical, {
|
|
19
|
+
"$gap": 24
|
|
20
|
+
}, React.createElement(Horizontal, {
|
|
21
|
+
"$gap": 8,
|
|
22
|
+
"$justifyContent": "start",
|
|
23
|
+
"$alignItems": "center"
|
|
24
|
+
}, checkIcon, label, policy === 'GLOBAL' && React.createElement(Link, {
|
|
25
|
+
href: `/applications/${applicationCode}/message-delivery-settings?tab=sendRate`,
|
|
26
|
+
title: globalSendRateLinkText
|
|
27
|
+
}, React.createElement(Horizontal, {
|
|
28
|
+
"$gap": 4,
|
|
29
|
+
"$justifyContent": "start",
|
|
30
|
+
"$alignItems": "center"
|
|
31
|
+
}, globalSendRateLinkText, React.createElement(OpenIcon, {
|
|
32
|
+
size: "small",
|
|
33
|
+
view: "lined"
|
|
34
|
+
})))));
|
|
35
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ChipWithinTextContainer } from './styles';
|
|
3
|
+
import { Chip } from '../../../Chip';
|
|
4
|
+
export function Condition({
|
|
5
|
+
messages
|
|
6
|
+
}) {
|
|
7
|
+
return React.createElement(ChipWithinTextContainer, null, React.createElement(Chip, {
|
|
8
|
+
"$variant": "primary",
|
|
9
|
+
"$readOnly": true,
|
|
10
|
+
as: "span"
|
|
11
|
+
}, `${messages} messages per 1 sec`));
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ChipWithinTextContainer: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { type ReactNode } from 'react';
|
|
2
|
+
import { type SendRatePolicy } from '../../types';
|
|
3
|
+
type DescriptionProps = {
|
|
4
|
+
sendRateOption: SendRatePolicy;
|
|
5
|
+
messages: number;
|
|
6
|
+
seconds: number;
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
};
|
|
9
|
+
export declare function Description(props: DescriptionProps): React.JSX.Element | undefined;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Paragraph } from '@pushwoosh/kit-typography';
|
|
3
|
+
import { Condition } from '../Condition';
|
|
4
|
+
export function Description(props) {
|
|
5
|
+
const {
|
|
6
|
+
sendRateOption,
|
|
7
|
+
messages,
|
|
8
|
+
seconds,
|
|
9
|
+
children
|
|
10
|
+
} = props;
|
|
11
|
+
if (sendRateOption === 'GLOBAL') {
|
|
12
|
+
if (messages === 0 && seconds === 0) {
|
|
13
|
+
return React.createElement(Paragraph, null, "To ensure you don\u2019t overload your systems or backend during high-volume campaigns, consider setting up Global send rate control.", ' ', children);
|
|
14
|
+
}
|
|
15
|
+
return React.createElement(Paragraph, null, "This message will use the Global send rate limit of", React.createElement(Condition, {
|
|
16
|
+
messages: messages
|
|
17
|
+
}), "to help reduce backend load.", ' ', children);
|
|
18
|
+
}
|
|
19
|
+
if (sendRateOption === 'CUSTOM') {
|
|
20
|
+
return React.createElement(Paragraph, null, "Instead of using the Global send rate, a custom delivery speed will be applied. Messages will be sent at the rate defined below.", ' ', children);
|
|
21
|
+
}
|
|
22
|
+
if (sendRateOption === 'IGNORE') {
|
|
23
|
+
return React.createElement(Paragraph, null, "This message will be sent as fast as possible, regardless of any Global send rate limits. Use with caution to avoid overloading your backend or creating delivery spikes.", ' ', children);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Horizontal } from '@pushwoosh/kit-helpers';
|
|
3
|
+
import { Paragraph } from '@pushwoosh/kit-typography';
|
|
4
|
+
import { NumberPicker } from '../../../NumberPicker';
|
|
5
|
+
export function EditSendRateSettings(props) {
|
|
6
|
+
const {
|
|
7
|
+
messages,
|
|
8
|
+
onChange,
|
|
9
|
+
minValue,
|
|
10
|
+
maxValue
|
|
11
|
+
} = props;
|
|
12
|
+
const onMessagesChange = React.useCallback(value => {
|
|
13
|
+
onChange(value);
|
|
14
|
+
}, [onChange]);
|
|
15
|
+
return React.createElement(Horizontal, {
|
|
16
|
+
"$gap": 12,
|
|
17
|
+
"$alignItems": "center",
|
|
18
|
+
style: {
|
|
19
|
+
gridTemplateColumns: '145px 70px 150px'
|
|
20
|
+
}
|
|
21
|
+
}, React.createElement(Paragraph, null, "Limit to a maximum of"), React.createElement(NumberPicker, {
|
|
22
|
+
onChange: value => onMessagesChange(value),
|
|
23
|
+
value: messages,
|
|
24
|
+
minValue: minValue,
|
|
25
|
+
maxValue: maxValue
|
|
26
|
+
}), React.createElement(Paragraph, null, "messages per 1 sec"));
|
|
27
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type SendRateBase, type SendRatePolicy } from '../types';
|
|
3
|
+
export declare function getReadonlySendRateIcon(sendRateOption: SendRatePolicy, isGlobalSendRateDisabled: boolean): React.JSX.Element;
|
|
4
|
+
export declare function getReadonlySendRateLabel<T extends SendRateBase>(sendRateOption: T, isGlobalSendRateDisabled: boolean, globalSendRate: {
|
|
5
|
+
count: number;
|
|
6
|
+
seconds: number;
|
|
7
|
+
}): React.JSX.Element;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Color } from '@pushwoosh/kit-constants';
|
|
3
|
+
import { Horizontal } from '@pushwoosh/kit-helpers';
|
|
4
|
+
import { CheckRoundIcon, CloseRoundIcon, HelpRoundIcon } from '@pushwoosh/kit-icons';
|
|
5
|
+
import { Paragraph } from '@pushwoosh/kit-typography';
|
|
6
|
+
import { Tooltip } from '../../Tooltip';
|
|
7
|
+
import { Condition } from '../components/Condition';
|
|
8
|
+
import { IconWrapper } from '../styles';
|
|
9
|
+
export function getReadonlySendRateIcon(sendRateOption, isGlobalSendRateDisabled) {
|
|
10
|
+
if (sendRateOption === 'GLOBAL' && isGlobalSendRateDisabled) {
|
|
11
|
+
return React.createElement(CloseRoundIcon, {
|
|
12
|
+
size: "small",
|
|
13
|
+
view: "filled",
|
|
14
|
+
color: Color.LOCKED
|
|
15
|
+
});
|
|
16
|
+
;
|
|
17
|
+
}
|
|
18
|
+
return React.createElement(CheckRoundIcon, {
|
|
19
|
+
size: "small",
|
|
20
|
+
view: "filled",
|
|
21
|
+
type: "fill",
|
|
22
|
+
color: Color.BRIGHT
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
export function getReadonlySendRateLabel(sendRateOption, isGlobalSendRateDisabled, globalSendRate) {
|
|
26
|
+
const {
|
|
27
|
+
policy,
|
|
28
|
+
sendRate
|
|
29
|
+
} = sendRateOption;
|
|
30
|
+
const tooltip = getReadonlyTooltip(policy, isGlobalSendRateDisabled);
|
|
31
|
+
if (policy === 'CUSTOM') {
|
|
32
|
+
return React.createElement(Paragraph, null, "Custom send rate for this message:", React.createElement(Condition, {
|
|
33
|
+
messages: sendRate
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
if (policy === 'IGNORE') {
|
|
37
|
+
return React.createElement(Horizontal, {
|
|
38
|
+
"$alignItems": "center",
|
|
39
|
+
"$gap": 4,
|
|
40
|
+
"$justifyContent": "start"
|
|
41
|
+
}, "Send messages without send rate", React.createElement(Tooltip, {
|
|
42
|
+
content: tooltip,
|
|
43
|
+
position: "top-middle"
|
|
44
|
+
}, React.createElement(IconWrapper, {
|
|
45
|
+
"$padding": "4px 0"
|
|
46
|
+
}, React.createElement(HelpRoundIcon, {
|
|
47
|
+
size: "small",
|
|
48
|
+
view: "lined"
|
|
49
|
+
}))));
|
|
50
|
+
}
|
|
51
|
+
return isGlobalSendRateDisabled ? React.createElement(Horizontal, {
|
|
52
|
+
"$alignItems": "center",
|
|
53
|
+
"$gap": 4,
|
|
54
|
+
"$justifyContent": "start"
|
|
55
|
+
}, "Global send rate is not active for this channel", React.createElement(Tooltip, {
|
|
56
|
+
content: tooltip,
|
|
57
|
+
position: "top-middle"
|
|
58
|
+
}, React.createElement(IconWrapper, {
|
|
59
|
+
"$padding": "4px 0"
|
|
60
|
+
}, React.createElement(HelpRoundIcon, {
|
|
61
|
+
size: "small",
|
|
62
|
+
view: "lined"
|
|
63
|
+
})))) : React.createElement(Paragraph, null, "Global send rate:", React.createElement(Condition, {
|
|
64
|
+
messages: globalSendRate.count
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
function getReadonlyTooltip(sendRateOption, isGlobalSendRateDisabled) {
|
|
68
|
+
if (sendRateOption === 'CUSTOM') {
|
|
69
|
+
return '';
|
|
70
|
+
}
|
|
71
|
+
if (sendRateOption === 'IGNORE') {
|
|
72
|
+
return 'Messages will be sent without rate limits, if possible, because no send rate is applied to this message';
|
|
73
|
+
}
|
|
74
|
+
if (isGlobalSendRateDisabled) {
|
|
75
|
+
return 'Messages will be sent as fast as possible because the global send rate limit is currently not active for this channel';
|
|
76
|
+
}
|
|
77
|
+
return '';
|
|
78
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const getSendRateOptions = isGlobalSendRateDisabled => [{
|
|
2
|
+
value: 'GLOBAL',
|
|
3
|
+
label: `Use global send rate settings${isGlobalSendRateDisabled ? ' (currently inactive)' : ''}`
|
|
4
|
+
}, {
|
|
5
|
+
value: 'IGNORE',
|
|
6
|
+
label: 'Send messages without send rate'
|
|
7
|
+
}, {
|
|
8
|
+
value: 'CUSTOM',
|
|
9
|
+
label: 'Use custom send rate'
|
|
10
|
+
}];
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
export declare const Container: import("styled-components").StyledComponent<"div", any, {
|
|
2
|
+
$alignContent?: "end" | "start" | "center" | "space-between" | "space-around" | "space-evenly" | "stretch" | undefined;
|
|
3
|
+
$alignItems?: "end" | "start" | "center" | "stretch" | "baseline" | undefined;
|
|
4
|
+
$bgColor?: string | undefined;
|
|
5
|
+
$border?: string | ({
|
|
6
|
+
top?: string | undefined;
|
|
7
|
+
right?: string | undefined;
|
|
8
|
+
bottom?: string | undefined;
|
|
9
|
+
left?: string | undefined;
|
|
10
|
+
} | {
|
|
11
|
+
horizontal: string;
|
|
12
|
+
top?: string | undefined;
|
|
13
|
+
bottom?: string | undefined;
|
|
14
|
+
} | {
|
|
15
|
+
vertical: string;
|
|
16
|
+
right?: string | undefined;
|
|
17
|
+
left?: string | undefined;
|
|
18
|
+
}) | undefined;
|
|
19
|
+
$borderRadius?: (string | number) | undefined;
|
|
20
|
+
$boxShadow?: string | undefined;
|
|
21
|
+
$gap?: (string | number) | undefined;
|
|
22
|
+
$gridAutoFlow?: "row" | "column" | "dense" | "row dense" | "column dense" | undefined;
|
|
23
|
+
$justifyContent?: "end" | "start" | "center" | "space-between" | "space-around" | "space-evenly" | "stretch" | undefined;
|
|
24
|
+
$justifyItems?: "end" | "start" | "center" | "stretch" | "baseline" | undefined;
|
|
25
|
+
$margin?: (string | number) | ({
|
|
26
|
+
top?: (string | number) | undefined;
|
|
27
|
+
right?: (string | number) | undefined;
|
|
28
|
+
bottom?: (string | number) | undefined;
|
|
29
|
+
left?: (string | number) | undefined;
|
|
30
|
+
} | {
|
|
31
|
+
horizontal: string | number;
|
|
32
|
+
top?: (string | number) | undefined;
|
|
33
|
+
bottom?: (string | number) | undefined;
|
|
34
|
+
} | {
|
|
35
|
+
vertical: string | number;
|
|
36
|
+
right?: (string | number) | undefined;
|
|
37
|
+
left?: (string | number) | undefined;
|
|
38
|
+
}) | undefined;
|
|
39
|
+
$padding?: (string | number) | ({
|
|
40
|
+
top?: (string | number) | undefined;
|
|
41
|
+
right?: (string | number) | undefined;
|
|
42
|
+
bottom?: (string | number) | undefined;
|
|
43
|
+
left?: (string | number) | undefined;
|
|
44
|
+
} | {
|
|
45
|
+
horizontal: string | number;
|
|
46
|
+
top?: (string | number) | undefined;
|
|
47
|
+
bottom?: (string | number) | undefined;
|
|
48
|
+
} | {
|
|
49
|
+
vertical: string | number;
|
|
50
|
+
right?: (string | number) | undefined;
|
|
51
|
+
left?: (string | number) | undefined;
|
|
52
|
+
}) | undefined;
|
|
53
|
+
$placeItems?: "end" | "start" | "center" | "stretch" | undefined;
|
|
54
|
+
} & {
|
|
55
|
+
$gridAutoFlow: string;
|
|
56
|
+
}, "$gridAutoFlow">;
|
|
57
|
+
export declare const IconWrapper: import("styled-components").StyledComponent<"div", any, {
|
|
58
|
+
$alignContent?: "end" | "start" | "center" | "space-between" | "space-around" | "space-evenly" | "stretch" | undefined;
|
|
59
|
+
$alignItems?: "end" | "start" | "center" | "stretch" | "baseline" | undefined;
|
|
60
|
+
$bgColor?: string | undefined;
|
|
61
|
+
$border?: string | ({
|
|
62
|
+
top?: string | undefined;
|
|
63
|
+
right?: string | undefined;
|
|
64
|
+
bottom?: string | undefined;
|
|
65
|
+
left?: string | undefined;
|
|
66
|
+
} | {
|
|
67
|
+
horizontal: string;
|
|
68
|
+
top?: string | undefined;
|
|
69
|
+
bottom?: string | undefined;
|
|
70
|
+
} | {
|
|
71
|
+
vertical: string;
|
|
72
|
+
right?: string | undefined;
|
|
73
|
+
left?: string | undefined;
|
|
74
|
+
}) | undefined;
|
|
75
|
+
$borderRadius?: (string | number) | undefined;
|
|
76
|
+
$boxShadow?: string | undefined;
|
|
77
|
+
$gap?: (string | number) | undefined;
|
|
78
|
+
$gridAutoFlow?: "row" | "column" | "dense" | "row dense" | "column dense" | undefined;
|
|
79
|
+
$justifyContent?: "end" | "start" | "center" | "space-between" | "space-around" | "space-evenly" | "stretch" | undefined;
|
|
80
|
+
$justifyItems?: "end" | "start" | "center" | "stretch" | "baseline" | undefined;
|
|
81
|
+
$margin?: (string | number) | ({
|
|
82
|
+
top?: (string | number) | undefined;
|
|
83
|
+
right?: (string | number) | undefined;
|
|
84
|
+
bottom?: (string | number) | undefined;
|
|
85
|
+
left?: (string | number) | undefined;
|
|
86
|
+
} | {
|
|
87
|
+
horizontal: string | number;
|
|
88
|
+
top?: (string | number) | undefined;
|
|
89
|
+
bottom?: (string | number) | undefined;
|
|
90
|
+
} | {
|
|
91
|
+
vertical: string | number;
|
|
92
|
+
right?: (string | number) | undefined;
|
|
93
|
+
left?: (string | number) | undefined;
|
|
94
|
+
}) | undefined;
|
|
95
|
+
$padding?: (string | number) | ({
|
|
96
|
+
top?: (string | number) | undefined;
|
|
97
|
+
right?: (string | number) | undefined;
|
|
98
|
+
bottom?: (string | number) | undefined;
|
|
99
|
+
left?: (string | number) | undefined;
|
|
100
|
+
} | {
|
|
101
|
+
horizontal: string | number;
|
|
102
|
+
top?: (string | number) | undefined;
|
|
103
|
+
bottom?: (string | number) | undefined;
|
|
104
|
+
} | {
|
|
105
|
+
vertical: string | number;
|
|
106
|
+
right?: (string | number) | undefined;
|
|
107
|
+
left?: (string | number) | undefined;
|
|
108
|
+
}) | undefined;
|
|
109
|
+
$placeItems?: "end" | "start" | "center" | "stretch" | undefined;
|
|
110
|
+
} & {
|
|
111
|
+
$gridAutoFlow: string;
|
|
112
|
+
}, "$gridAutoFlow">;
|
|
113
|
+
export declare const LinkWrapper: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
import { Color } from '@pushwoosh/kit-constants';
|
|
3
|
+
import { Horizontal, Vertical } from '@pushwoosh/kit-helpers';
|
|
4
|
+
export const Container = styled(Vertical).withConfig({
|
|
5
|
+
displayName: "Container",
|
|
6
|
+
componentId: "sc-18un4me-0"
|
|
7
|
+
})(["max-width:560px;"]);
|
|
8
|
+
export const IconWrapper = styled(Horizontal).withConfig({
|
|
9
|
+
displayName: "IconWrapper",
|
|
10
|
+
componentId: "sc-18un4me-1"
|
|
11
|
+
})(["color:", ";&:hover{color:", ";cursor:pointer;}"], Color.PHANTOM, Color.PRIMARY_HOVER);
|
|
12
|
+
export const LinkWrapper = styled.span.withConfig({
|
|
13
|
+
displayName: "LinkWrapper",
|
|
14
|
+
componentId: "sc-18un4me-2"
|
|
15
|
+
})(["display:inline-flex;gap:4px;align-items:center;justify-content:start;text-decoration:none;"]);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type SendRatePolicy = 'UNKNOWN' | 'GLOBAL' | 'CUSTOM' | 'IGNORE';
|
|
2
|
+
export type SendRateBase<K extends SendRatePolicy = SendRatePolicy> = {
|
|
3
|
+
sendRate: number;
|
|
4
|
+
policy: K;
|
|
5
|
+
};
|
|
6
|
+
export type SendRateOption = {
|
|
7
|
+
label: string;
|
|
8
|
+
value: SendRatePolicy;
|
|
9
|
+
};
|
package/index.d.ts
CHANGED
|
@@ -27,7 +27,6 @@ export { StatisticCard } from './StatisticCard';
|
|
|
27
27
|
export { EmailTemplatePreview, NoEmailTemplatePreview } from './EmailTemplatePreview';
|
|
28
28
|
export { PushPreview } from './PushPreview';
|
|
29
29
|
export { Toast, ToastProvider, useToast } from './Toast';
|
|
30
|
-
export { DataTable, DataTableGetContext, DataTablePagination, DataTableSearchInput, DataTableSortableCell, Loading, TablePagination, useDataTableContext, useDataTableGetParams, Table, Td, Tr, Th, ElementHover, ItemDetailLink, ItemName, LockedText, Description, type DataTableParams, type DataTableData, type DataTableContextType, } from './Table';
|
|
31
30
|
export { AutosizeInput, PageHeader, PageHeaderEditable } from './PageHeader';
|
|
32
31
|
export { ExportResult } from './ExportResult';
|
|
33
32
|
export { NativeInput, NativeTextarea, NativeSelect } from './native';
|
|
@@ -37,4 +36,6 @@ export { CodeEditor } from './CodeEditor';
|
|
|
37
36
|
export { EnhancedInput, SearchInput } from './EnhancedInput';
|
|
38
37
|
export { Chip } from './Chip';
|
|
39
38
|
export { RichMessageEditor, RichMessageViewer, type DynamicContent } from './RichMessageEditor';
|
|
39
|
+
export { FrequencyCappingEdit, FrequencyCappingReadonly, type LocalCapping } from './FrequencyCapping';
|
|
40
|
+
export { SendRateEdit, SendRateReadonly } from './SendRate';
|
|
40
41
|
export { Alert } from './Alert';
|
package/index.js
CHANGED
|
@@ -27,7 +27,6 @@ export { StatisticCard } from './StatisticCard';
|
|
|
27
27
|
export { EmailTemplatePreview, NoEmailTemplatePreview } from './EmailTemplatePreview';
|
|
28
28
|
export { PushPreview } from './PushPreview';
|
|
29
29
|
export { Toast, ToastProvider, useToast } from './Toast';
|
|
30
|
-
export { DataTable, DataTableGetContext, DataTablePagination, DataTableSearchInput, DataTableSortableCell, Loading, TablePagination, useDataTableContext, useDataTableGetParams, Table, Td, Tr, Th, ElementHover, ItemDetailLink, ItemName, LockedText, Description } from './Table';
|
|
31
30
|
export { AutosizeInput, PageHeader, PageHeaderEditable } from './PageHeader';
|
|
32
31
|
export { ExportResult } from './ExportResult';
|
|
33
32
|
export { NativeInput, NativeTextarea, NativeSelect } from './native';
|
|
@@ -37,4 +36,6 @@ export { CodeEditor } from './CodeEditor';
|
|
|
37
36
|
export { EnhancedInput, SearchInput } from './EnhancedInput';
|
|
38
37
|
export { Chip } from './Chip';
|
|
39
38
|
export { RichMessageEditor, RichMessageViewer } from './RichMessageEditor';
|
|
39
|
+
export { FrequencyCappingEdit, FrequencyCappingReadonly } from './FrequencyCapping';
|
|
40
|
+
export { SendRateEdit, SendRateReadonly } from './SendRate';
|
|
40
41
|
export { Alert } from './Alert';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pushwoosh/dumb-components",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.31",
|
|
4
4
|
"description": "React components to build Pushwoosh products",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "index.js",
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
"@types/lodash": "^4.17.13",
|
|
25
25
|
"@types/react": "^18.2.69",
|
|
26
26
|
"@types/react-dom": "^18.2.22",
|
|
27
|
-
"@types/react-router-dom": "^5.3.3",
|
|
28
27
|
"@types/react-transition-group": "^4.4.12",
|
|
29
28
|
"@types/styled-components": "^5.1.34",
|
|
30
29
|
"pre-commit": "^1.2.2",
|
|
@@ -57,7 +56,6 @@
|
|
|
57
56
|
},
|
|
58
57
|
"peerDependencies": {
|
|
59
58
|
"react": ">= 16.14.0",
|
|
60
|
-
"react-router-dom": "^5.3.4",
|
|
61
59
|
"styled-components": "^5.3.3 || ^6.0.0"
|
|
62
60
|
}
|
|
63
61
|
}
|
package/Table/assets/box.svg
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" fill="none"><path fill="#969CA3" d="M63.29 49.642c-1.28-1.08-2.87-2.423-4.35-2.727-1.175-.24-2.245.605-3.36.8-1.04.18-2.057-.32-3.08-.583-3.426-.88-6.886.914-10.286 1.893-2.054.592-4.18.89-6.298 1.186L25.258 51.7c-2.496.348-5.397.205-7.82.772-2.33.545-2.535 3.033-1.76 5.073.942 2.487 3.44 4.035 5.606 5.345a258 258 0 0 0 10.202 5.865c3.014 1.641 6.204 4.036 9.76 3.907 1.786-.065 3.51-.64 5.188-1.249 7.326-2.648 14.794-6.346 18.867-12.98.781-1.274 1.44-2.726 1.27-4.211-.181-1.609-1.304-2.96-2.56-3.98a42 42 0 0 1-.721-.6"/><path fill="#969CA3" d="M63.48 49.45c-.778-.672-1.56-1.351-2.42-1.92-.758-.5-1.68-1.004-2.617-.987-.968.016-1.801.56-2.72.781-1.12.27-2.203-.328-3.266-.584-2.117-.509-4.295-.044-6.33.589-2.182.68-4.295 1.47-6.548 1.898-2.337.444-4.709.72-7.065 1.05-2.4.335-4.805.676-7.208 1.006-2.165.298-4.362.246-6.529.536-.868.116-1.827.226-2.565.74a3.1 3.1 0 0 0-1.191 1.692c-.438 1.508.018 3.252.819 4.56.95 1.55 2.444 2.676 3.951 3.644 3.868 2.484 7.935 4.65 11.938 6.904 1.765.988 3.47 2.096 5.353 2.868 1.96.8 3.958 1.03 6.04.61 2.056-.414 4.05-1.231 5.993-2.007a56 56 0 0 0 5.244-2.392c3.337-1.751 6.509-3.94 9.022-6.772 1.264-1.424 2.475-3.04 3.181-4.823.383-.965.553-2.008.36-3.04-.17-.904-.628-1.728-1.194-2.441-.62-.783-1.391-1.375-2.16-2-.384-.31-.936.216-.553.553 1.371 1.204 2.99 2.48 3.162 4.443.172 1.984-1.13 3.882-2.252 5.404-2.137 2.893-5.01 5.16-8.097 6.96-3.175 1.853-6.597 3.274-10.06 4.492-1.99.7-4.1 1.304-6.223.906-1.883-.353-3.596-1.27-5.239-2.217-3.796-2.18-7.644-4.272-11.404-6.516-2.848-1.701-6.63-3.574-7.17-7.228-.195-1.332.182-2.8 1.6-3.232.956-.29 1.994-.368 2.985-.445 1.048-.08 2.098-.12 3.146-.193 2.184-.154 4.356-.538 6.522-.842 2.264-.32 4.527-.63 6.79-.952 2.203-.313 4.384-.695 6.505-1.384 1.967-.64 3.914-1.45 5.974-1.744 1.04-.148 2.117-.138 3.143.12 1 .252 1.98.72 3.04.603.923-.102 1.71-.64 2.608-.83.967-.203 1.908.308 2.704.805.833.52 1.593 1.146 2.35 1.77.26.216.647-.155.382-.384"/><path fill="#EBF0F5" d="M15.653 29.45c-.575 1.076-.67 2.413-.654 3.96l.114 10.86c.02 1.8.154 3.641.058 5.44-.08 1.433-.466 2.89-.044 4.325.254.864 1.343 1.388 2.217 1.893l2.71 1.564 5.417 3.128c3.53 2.038 7.073 4.055 10.59 6.115 1.073.627 1.126.623 2.22.024.911-.5 1.803-1.04 2.704-1.562l5.41-3.12 10.573-6.111c.517-.299 1.29-.578 1.72-.994.95-.92.655-2.566.606-3.74-.073-1.798-.036-3.6-.036-5.399V34.528c0-1.303.51-3.914-.01-5.085-.462-1.04-2.68-1.83-3.7-2.418-2.846-1.644-5.671-3.338-8.546-4.934l-6.128-3.538c-1.234-.713-2.886-2.213-4.232-1.806-1.364.414-2.814 1.625-4.044 2.336l-6.215 3.588c-2.863 1.65-5.735 3.5-8.708 4.933-.99.477-1.622 1.098-2.022 1.847"/><path fill="#EBF0F5" d="M37.375 41.218c1.859 2.332 4.284 6.415 5.957 8.88a2.06 2.06 0 0 0 2.807.569 125 125 0 0 0 5.321-3.6c4.21-3.015 8.22-6.286 12.226-9.555.499-.406 1.659-1.544 1.712-2.179.058-.686-.47-1.27-.96-1.76l-4.447-4.445m-43.396-.845c-1.606 1.486-4.515 5.148-5.715 6.979-.178.272-.355.555-.416.874-.198 1.04.845 1.857 1.728 2.447 5.785 3.868 10.72 9.496 17.389 11.484.264.08.545.15.812.08.324-.08.56-.35.78-.604 1.626-1.9 4.58-5.28 6.205-7.182"/><path fill="#EBF0F5" d="M37.788 16.768c-2.5-.934-6.125-2.246-8.706-2.932-.553-.147-1.12-.29-1.69-.24-.8.075-1.514.527-2.19.967-1.364.887-2.73 1.775-4.056 2.72-1.3.928-2.565 1.91-3.928 2.742-1.134.693-2.33 1.28-3.476 1.951-1.334.785-3.981 2.039-4.467 3.632-.393 1.29 1.2 1.408 2.103 1.76 1.91.745 3.816 1.52 5.768 2.151"/><path fill="#EBF0F5" d="M37.789 15.897c1.111-1.368 2.654-2.32 3.981-3.48.294-.256 1.52-.52 1.898-.615.516-.128 1.05.085 1.532.311 1.88.88 3.631 2.008 5.376 3.132l12.352 7.958c.64.413 1.295.837 1.909 1.304a1.382 1.382 0 0 1-.139 2.296c-1.994 1.159-4.672 2.64-6.245 2.97 0 0-24.448-9.22-20.664-13.876"/><path fill="#EBF0F5" d="M36.183 41.906a2.15 2.15 0 0 0 1.63.422q.311-.048.589-.197c6.552-3.447 14.745-8.463 20.831-12.679l.012-.012c-.465-1.04-2.68-1.826-3.7-2.415-2.846-1.644-5.671-3.338-8.546-4.934l-6.128-3.538c-1.234-.713-2.886-2.213-4.232-1.806-1.364.414-2.814 1.625-4.044 2.336L26.38 22.67c-2.86 1.65-5.732 3.5-8.705 4.933-.744.359-1.287.8-1.68 1.315 6.813 3.522 14.021 8.65 20.188 12.987"/><path fill="#969CA3" d="m47.115 37.212-5.464-3.154c-1.234-.713-2.886-2.214-4.232-1.806-1.364.415-2.814 1.625-4.044 2.335l-4.206 2.428c2.428 1.659 4.789 3.326 7.013 4.89a2.15 2.15 0 0 0 1.63.423q.312-.048.59-.197c2.712-1.427 5.704-3.122 8.713-4.919"/><path fill="#fff" d="M36.4 18.656c-.314 2.31-1.223 4.58-2.207 6.677a58 58 0 0 1-3.743 6.689c-.7 1.086-1.45 2.138-2.155 3.22-.21.32.298.73.542.418 1.502-1.92 2.794-4.036 4-6.15 1.271-2.232 2.42-4.551 3.246-6.987a19.5 19.5 0 0 0 .864-3.793c.039-.308-.505-.384-.546-.075"/><path fill="#fff" d="M36.459 18.441c.667 5.836 1.155 11.693 1.396 17.563.065 1.577.095 3.154.128 4.732.01.428.663.43.665 0 .027-5.885-.387-11.81-1.011-17.66a106 106 0 0 0-.61-4.712c-.048-.32-.605-.248-.569.08z"/><path fill="#fff" d="M36.671 18.514c1.787 5.006 4.226 9.809 7.09 14.283a61 61 0 0 0 2.548 3.697c.311.415 1.02.016.708-.414a81 81 0 0 1-8.035-13.6 77 77 0 0 1-1.765-4.119c-.131-.333-.671-.198-.547.151z"/><path fill="#fff" d="M36.385 19.315c-.08 2.587-.39 5.18-.766 7.74a77 77 0 0 1-1.61 8.092 54 54 0 0 1-1.19 3.977c-.156.46.547.636.72.198.941-2.415 1.55-4.975 2.056-7.52a73 73 0 0 0 1.184-8.276c.116-1.4.16-2.807.164-4.211 0-.36-.547-.36-.56 0z"/><path fill="#fff" d="M30.655 32.667q.401-.019.8.025l.217.025c.072.009-.058-.009.024 0l.05.007.137.022q.242.04.484.098.237.057.465.139l.106.04c.012 0 .05.021-.006 0l.05.022a2 2 0 0 1 .264.145c.024.016.076.058.024.014.042.035.08.091.125.121.028.018-.037-.06-.01-.014l.038.056q.049.073.091.148.088.149.16.305c.208.45.32.971.407 1.468a.285.285 0 0 0 .273.208.29.29 0 0 0 .272-.208q.081-.209.213-.39c.032-.047.016-.022.008-.012l.037-.045a2 2 0 0 1 .273-.26 3 3 0 0 1 .157-.104c.06-.036.16-.086.197-.104a2 2 0 0 1 .324-.097l.058-.01c.049-.008-.005 0 .025 0q.083-.005.165 0c.072 0-.041-.01.032 0l.098.022q.099.026.194.06l.047.019c-.039-.018.04.015 0 0l.106.049q.208.102.4.232.181.117.344.26a4 4 0 0 1 .432.431c.011.014.073.094.035.044q.062.084.117.173c.1.172.392.196.487 0q.195-.407.45-.78a4.3 4.3 0 0 1 .702-.798l.09-.08.036-.028.025-.02q.171-.133.359-.24.393-.22.83-.331.52-.17 1.064-.23.19-.015.38 0c.064.006-.008-.006-.01 0a3 3 0 0 1 .18.033q.314.07.617.173.169.055.335.117l.16.063.08.032.046.02c.05.02-.017-.008.013.005q.354.146.686.339l.135.084.068.047c.026.02.058.047.011.007l.094.08.041.045c-.039-.057.04.04 0 0a.29.29 0 0 0 .387.102.285.285 0 0 0 .101-.387c-.24-.346-.673-.549-1.044-.72a8.5 8.5 0 0 0-1.44-.518q-.274-.075-.56-.09c-.4.002-.8.06-1.184.172q-.541.13-1.05.355a3.7 3.7 0 0 0-.8.535c-.549.47-.971 1.086-1.285 1.733h.487a3 3 0 0 0-.62-.72 4.2 4.2 0 0 0-.879-.61c-.282-.142-.61-.27-.932-.248a2.1 2.1 0 0 0-1.068.39c-.368.262-.647.63-.8 1.054h.545a6.7 6.7 0 0 0-.38-1.409c-.154-.373-.34-.76-.675-1a2.8 2.8 0 0 0-.884-.382 7 7 0 0 0-1.063-.201 5.3 5.3 0 0 0-.969-.044.29.29 0 0 0-.282.282.285.285 0 0 0 .282.282zm2.431-4.062q.654.029 1.285.204c.567.173.696.785.874 1.3a.383.383 0 0 0 .69.09c.361-.572 1.111-.553 1.461.018.103.168.372.277.547.144 1.027-.777 2.43-1.833 3.766-1.128.458.24.866-.454.407-.696-1.64-.86-3.273.145-4.576 1.133l.547.144a1.64 1.64 0 0 0-2.805 0l.69.09c-.224-.652-.456-1.43-1.16-1.692-.537-.199-1.16-.23-1.726-.21-.388.014-.384.575 0 .6zm1.673-3.898c.183.142.368.192.579.276.33.133.474.456.61.767a.3.3 0 0 0 .408.107c.251-.177.574-.266.83-.046a.307.307 0 0 0 .503-.132c.107-.303.594-.416.868-.447.468-.052.921.067 1.26.404.26.261.658-.138.405-.405-.476-.5-1.158-.69-1.832-.585-.525.08-1.096.34-1.28.873l.503-.133c-.456-.391-1.066-.393-1.556-.045l.408.107c-.16-.358-.358-.72-.71-.925-.205-.117-.449-.135-.64-.28-.263-.203-.623.258-.357.464"/><path fill="#969CA3" d="M43.303 24.982c-.08-.1-.037-.358-.03-.471q.005-.128.024-.254.014-.087.034-.172.038-.128-.035.02l-.264.11h.067l-.265-.108c.085.088.06.443.062.56a3 3 0 0 1-.055.588l.726-.095c.03.066-.019.059.032.015.05-.043.08-.08.12-.122.041-.042.264-.166.274-.187.016-.037-.068-.067-.069-.066.02 0-.066.063-.055.059a.8.8 0 0 1-.378.039l.296.52a.196.196 0 0 1 .227-.144c.54.12.771-.714.23-.83-.56-.123-1.12.182-1.273.75-.066.252.13.55.408.534.439-.025.912-.037 1.19-.436.24-.347.23-.868-.16-1.109-.39-.24-.832-.073-1.157.209-.363.32-.589.697-.372 1.17.139.3.669.232.727-.095.08-.47.236-2.146-.625-1.99-.4.075-.41.595-.425.92-.018.37.014.769.291 1.04.303.296.704-.138.454-.454zm-10.845-.697c-.207-.225-.586-.286-.81-.046a.498.498 0 0 0 .513.823.5.5 0 0 0 .226-.167.52.52 0 0 0 .07-.488.54.54 0 0 0-.355-.366.433.433 0 0 0-.528.573q.03.076.088.133a.42.42 0 0 0 .514.048.4.4 0 0 0 .17-.23v-.01l-.106.181.006-.005-.181.105h.009l-.11.015h.01l-.11-.015.012.004-.098-.041.024.012-.084-.064a.1.1 0 0 1 .02.02l-.064-.084.022.043-.042-.098a.3.3 0 0 1 .02.067l-.015-.11a.1.1 0 0 1 0 .033l.021-.111-.004.015.042-.098a.1.1 0 0 1-.016.027l.064-.08-.01.01.08-.065-.012.008.098-.042-.024.006.109-.014h-.026l.108.014-.026-.008.098.042-.024-.014.08.064-.02-.019.064.08-.014-.023.041.095-.004-.013.014.107a.1.1 0 0 1 0-.034l-.014.107a.1.1 0 0 1 .01-.032l-.04.094a.1.1 0 0 1 .018-.029l-.061.08.022-.026q-.086.06-.035.03l-.09.04a.2.2 0 0 1 .055-.014l-.098.012h.04l-.096-.013c.017 0 .033.009.05.011.037 0-.075-.037-.016-.007a.339.339 0 0 0 .41-.531zm.096-1.667c.488 0 .488-.758 0-.758-.49 0-.49.758 0 .758"/><path fill="#969CA3" d="M31.94 24.319a1.4 1.4 0 0 0-.854-.27.39.39 0 0 0-.381.38c-.012.305.229.537.512.6a.85.85 0 0 0 .444-.036c.154-.05.337-.084.445-.213.148-.177.147-.452-.074-.577s-.376-.045-.58.032l-.096.032c.037-.012-.005.016-.018 0 .007.008.053.016.067.026a.25.25 0 0 1 .061.135l-.38.381c.179-.02.36.003.528.067a.324.324 0 0 0 .327-.56z"/><path fill="#969CA3" d="M32.07 24.275q-.025-.052-.007-.021l-.019-.065c-.005-.021-.017-.065-.023-.098 0-.006-.02-.116-.007-.037-.01-.066-.015-.133-.03-.198l-.464.467q.06.018-.016-.013l.047.026q-.061-.052-.016-.01-.045-.064-.01-.013a.377.377 0 0 0 .65-.38.68.68 0 0 0-.453-.341.39.39 0 0 0-.37.097.37.37 0 0 0-.097.369c.075.19.2.344.299.52a.304.304 0 0 0 .412.109.31.31 0 0 0 .108-.412zm-3.723 5.411c.015.027 0 .049 0 .074 0 .026-.006.012.01-.015a.12.12 0 0 1-.122.066l-.308-.308-.054.605c-.02.227.221.4.426.37.244-.034.343-.247.313-.47l-.07-.505c-.024-.182-.179-.372-.39-.297-.314.11-.5.473-.314.777.198.32.696.033.508-.297z"/><path fill="#fff" d="M22.831 29.467c-.27-.358-.407-.83-.097-1.218.264-.33.868-.413 1.172-.087.179.193.582.115.629-.166.124-.758.672-1.435 1.465-1.551.77-.113 1.568.389 1.84 1.107.17.449.898.255.727-.2-.4-1.053-1.459-1.799-2.607-1.665-1.148.135-2.027 1.083-2.164 2.21l.567-.326c-.665-.392-1.533-.417-2.066.223-.46.553-.44 1.51.131 1.984.205.17.594-.061.404-.311"/><path fill="#969CA3" d="M37.34 48.1c-.063 2.932-.166 5.864-.226 8.795s-.193 5.872-.106 8.796c.014.492.734.489.76 0 .16-2.921.099-5.87.11-8.796s-.02-5.863-.011-8.795c0-.339-.52-.338-.527 0m.56-5.565a109 109 0 0 1 3.26 4.668q.804 1.224 1.576 2.464c.357.573.729 1.17 1.28 1.575.647.474 1.383.469 2.107.174q1.142-.486 2.184-1.156c1.495-.93 2.88-2.035 4.248-3.138a247 247 0 0 0 8.671-7.306 38 38 0 0 1 1.974-1.653c.62-.48 1.243-.96 1.766-1.546.408-.46.8-.96.759-1.61-.036-.579-.338-1.1-.68-1.551-.413-.55-.911-1.03-1.417-1.492-.64-.587-1.248-1.206-1.893-1.787-.625-.56-1.341-1.111-2.192-1.257-.945-.16-1.731.4-2.65.39-.449-.006-.447.678 0 .696.76.029 1.44-.387 2.188-.385.747.003 1.392.458 1.93.92.595.514 1.145 1.082 1.717 1.622.383.362.778.71 1.144 1.09.383.4.783.84.99 1.36.232.583-.004.971-.392 1.415-.972 1.113-2.28 1.904-3.384 2.88a237 237 0 0 1-8.068 6.817c-1.24.999-2.448 2.038-3.734 2.978q-.968.714-2.004 1.324-.512.3-1.045.56c-.37.18-.783.388-1.207.341-.745-.08-1.234-.847-1.6-1.421a106 106 0 0 0-5.051-7.25c-.209-.276-.683-.01-.472.275zM27.703 13.633c2.49.565 4.684 1.973 7.156 2.593.363.091.825.11 1.15.306.188.11.093.148-.08.244-.188.108-.4.183-.591.279a445 445 0 0 0-3.658 1.83 52 52 0 0 0-3.513 1.94c-1.169.713-2.285 1.51-3.42 2.274-1.107.746-2.229 1.468-3.393 2.12-1.104.618-2.232 1.192-3.3 1.868-2.148 1.36-3.71 3.25-5.313 5.188-.754.91-1.646 1.781-2.16 2.86-.474.996-.654 2.21.337 2.937.493.362 1.04.661 1.543 1.006q.801.55 1.577 1.133c1.07.804 2.11 1.648 3.156 2.485 2.03 1.627 4.11 3.178 6.308 4.57a39 39 0 0 0 3.424 1.954q.873.436 1.77.816c.469.196.96.364 1.48.328.922-.063 1.552-.72 2.085-1.41.804-1.04 1.554-2.132 2.296-3.22q.59-.866 1.16-1.744c.271-.417-.395-.8-.665-.389a100 100 0 0 1-2.32 3.397c-.367.514-.731 1.032-1.12 1.53-.26.333-.548.684-.923.894s-.783.2-1.183.087c-.62-.173-1.218-.487-1.796-.766a37 37 0 0 1-3.385-1.872c-2.22-1.373-4.32-2.91-6.362-4.538-1.977-1.578-3.933-3.2-6.08-4.546-.578-.364-1.024-.61-.917-1.383.08-.587.361-1.12.69-1.605.67-.987 1.524-1.87 2.28-2.791.777-.95 1.566-1.897 2.465-2.736.916-.855 1.96-1.538 3.04-2.16 1.108-.64 2.245-1.22 3.337-1.885 1.13-.69 2.221-1.44 3.312-2.184a58 58 0 0 1 6.792-4c1.11-.56 2.24-1.084 3.338-1.668.32-.168.602-.432.56-.82s-.38-.59-.725-.71c-.4-.14-.827-.19-1.235-.298a16 16 0 0 1-1.722-.567c-1.155-.442-2.276-.969-3.44-1.389a14.5 14.5 0 0 0-1.806-.527c-.37-.08-.53.484-.16.57z"/><path fill="#fff" d="m16.372 53.192.267-3.84 4.143 2.017c.12.059.25.127.302.249.031.097.036.2.014.3a136 136 0 0 1-.424 2.86c-.023.149-.061.32-.193.39-.147.08-.327 0-.475-.08l-2.816-1.562"/><path fill="#969CA3" d="M16.693 53.192c.143-1.275.214-2.56.284-3.84l-.51.292c.85.48 1.74.9 2.615 1.336q.64.32 1.28.635c.228.112.334.099.32.344-.013.246-.07.506-.105.754q-.098.674-.2 1.354c-.032.21-.038.445-.102.647-.054.168.038.102-.064.02a2 2 0 0 0-.268-.148c-.847-.471-1.686-.977-2.56-1.393-.44-.209-.8.39-.385.658.538.344 1.106.64 1.664.952.468.258 1 .676 1.528.78.489.097.789-.263.875-.7.117-.595.188-1.204.276-1.804q.067-.451.13-.904c.03-.22.08-.45.006-.667-.164-.472-.8-.64-1.204-.837-1.172-.56-2.343-1.15-3.544-1.647-.221-.092-.413.134-.43.327-.107 1.28-.214 2.56-.249 3.84-.011.423.6.4.64 0zm15.333 5.489c.593.231 1.182.507 1.802.657.327.08.568-.407.24-.567-.6-.291-1.25-.463-1.882-.67-.373-.124-.514.443-.16.58m-.276 1.763c.474.188.912.443 1.372.656.424.196.76-.363.368-.63-.467-.32-1.025-.509-1.563-.667-.419-.123-.56.486-.177.64m.29 1.952c.44 0 .441-.686 0-.686-.442 0-.442.686 0 .686m18.34-47.142c3.172 2.686 6.917 4.543 10.34 6.865.86.582 1.697 1.196 2.494 1.86.376.314.746.64 1.101.975.168.16.36.335.4.575.067.376-.271.72-.525.95-.441.4-.974.704-1.498.981-1.057.56-2.222.933-3.256 1.53-.4.235-.038.862.367.627.973-.56 2.07-.918 3.07-1.433.914-.471 2.282-1.158 2.539-2.266.118-.505-.097-.971-.442-1.334-.736-.774-1.62-1.44-2.48-2.08-1.76-1.306-3.65-2.421-5.533-3.535-2.135-1.261-4.275-2.539-6.221-4.084-.256-.203-.623.148-.366.366zm-8.78-1.996a12.7 12.7 0 0 1 2.726-.845c.298-.06.225-.525-.07-.522a5.7 5.7 0 0 0-2.93.897c-.3.195-.04.61.274.47m-3.34 4.953c5.205 3.56 10.629 6.837 15.44 10.938.34.29.855.692.88 1.182.018.462-.464.874-.758 1.18a19 19 0 0 1-2.381 2.062c-2.001 1.49-4.148 2.775-6.296 4.023-2.337 1.36-4.733 2.64-6.992 4.134-.466.307-.04 1.054.44.754 4.353-2.727 9.017-4.994 13.144-8.07.894-.668 1.77-1.373 2.55-2.175.733-.754 1.52-1.672.852-2.737-.293-.47-.735-.824-1.161-1.166-.593-.476-1.17-.972-1.768-1.44-1.28-1.005-2.62-1.938-3.977-2.84a543 543 0 0 0-9.708-6.3c-.289-.183-.543.266-.266.455"/><path fill="#969CA3" d="M19.227 29.747c2.296 1.76 4.611 3.497 6.899 5.27q1.74 1.348 3.45 2.736c1.16.949 2.274 1.954 3.464 2.867 1.466 1.12 3.127 2.16 4.96 2.521.543.107.778-.692.231-.84-3.147-.848-5.458-3.065-7.933-5.056-2.303-1.858-4.698-3.604-7.086-5.349a298 298 0 0 0-3.697-2.64c-.304-.216-.572.275-.288.492zM9.16 26.058c.17.597.662 1.098 1.289 1.187.37.054.545-.486.16-.578-.405-.096-.758-.359-.893-.762-.117-.349-.658-.207-.555.153zM22.178 9.23a3.14 3.14 0 0 0 1.084 1.711c.185.146.45-.103.266-.266a3.17 3.17 0 0 1-.994-1.542c-.064-.229-.415-.133-.356.098m5.474-1.616a5.7 5.7 0 0 0 .165 1.778c.061.226.395.13.35-.096a7 7 0 0 1-.15-1.68c.01-.24-.352-.234-.365 0zm5.845.272q-.163.863-.316 1.73c-.035.209.283.302.32.088.113-.575.215-1.152.32-1.729.038-.212-.286-.304-.326-.09zm-15.49 4.583 1.252.797c.2.126.385-.192.184-.316l-1.26-.78c-.191-.118-.363.18-.176.3m23.038-3.845c-.267.416-.535.831-.79 1.255-.102.169.154.312.262.153.278-.41.542-.827.808-1.244.112-.178-.168-.34-.28-.16zm23.235 36.49c-.583-.818-.895-1.968-.567-2.95.072-.217.201-.48.416-.592.32-.16.56.14.716.371q.453.696.822 1.44c.068.131.294.14.358 0 .228-.49.515-1.157 1.108-1.274.29-.058.659.023.757.343.107.346-.147.72-.32 1.002-.135.219.16.406.336.26.694-.575 1.76-.793 2.459-.105.61.599.46 1.821-.515 1.93-.272.03-.285.452 0 .437.756-.04 1.572.132 2.104.71.501.545.625 1.45.128 2.04-.181.214.128.525.31.31.586-.694.573-1.712.049-2.442-.584-.815-1.63-1.108-2.59-1.055v.437c1.19-.135 1.703-1.53 1.002-2.462-.816-1.088-2.303-.888-3.25-.104l.337.26c.24-.389.495-.86.362-1.33a.95.95 0 0 0-.783-.655c-.969-.16-1.506.736-1.852 1.489h.358c-.37-.705-1.444-2.948-2.419-1.6-.761 1.053-.306 2.75.39 3.706.123.169.408.007.285-.166m4.085 4.792c.016-.305.439-.57.7-.358a.18.18 0 0 0 .264-.023.18.18 0 0 0-.045-.261c-.468-.36-1.28.041-1.229.64a.156.156 0 0 0 .31 0zM11 47.98c-.469-1.208-1.707-2.464-3.1-2.4-.54.019-1.1.31-1.127.908-.021.427.185.88.344 1.264q.26.63.617 1.212l.29-.29c-.903-.4-2.064-.026-2.454.92-.39.945.172 2.034 1.096 2.386l-.097-.366c-.339.292-.928.052-1.332.098a1.76 1.76 0 0 0-.867.354 2.35 2.35 0 0 0-.9 1.805c-.028 1.616 1.66 2.597 3.103 2.618l-.062-.454c-.868.262-1.41 1.286-1.025 2.14.386.853 1.513 1.132 2.274.638.235-.154.022-.526-.222-.38-.536.32-1.346.156-1.622-.44-.276-.598.116-1.326.718-1.512.248-.076.204-.452-.061-.455-1.316-.013-2.934-.983-2.619-2.498.126-.594.545-1.181 1.15-1.341s1.24.205 1.775-.259c.137-.117.045-.313-.097-.367-.683-.26-1.09-1.105-.81-1.794s1.166-1.015 1.84-.72c.18.08.413-.092.291-.29a7.7 7.7 0 0 1-.833-1.791c-.107-.347-.148-.71.219-.892.233-.1.49-.13.74-.086 1.099.147 2.064 1.094 2.48 2.08.075.177.367.105.295-.08zm.534 5.622c-.621-.282-1.413-.105-1.76.515s-.094 1.43.508 1.782c.212.123.386-.188.19-.325-.386-.27-.583-.823-.365-1.26.219-.438.817-.62 1.26-.425.193.086.362-.198.167-.287m-2.326-9.838c-.56-1.41-1.12-2.824-1.69-4.23-.327-.805-.817-1.947-1.812-2.08a.674.674 0 0 0-.77.553c-.105.49.146.998.32 1.44a44 44 0 0 0 1.766 3.952l.182-.32c-.8.008-1.732-.52-2.476.008-.442.313-.567.996-.15 1.38l.15-.36c-.64.005-1.238.423-1.393 1.056-.155.634.196 1.29.767 1.569.24.118.453-.24.212-.363-.908-.474-.64-1.818.414-1.828.18 0 .295-.24.154-.37-.187-.17-.16-.433-.008-.621.181-.223.494-.26.763-.252.53.014 1.027.228 1.564.213a.213.213 0 0 0 .181-.32 34 34 0 0 1-1.462-3.136c-.195-.48-.426-.966-.56-1.465-.048-.185-.104-.454.01-.624.197-.294.65-.01.847.148.73.592 1.017 1.704 1.36 2.537q.656 1.6 1.32 3.2c.08.188.387.108.31-.086"/><path fill="#969CA3" d="M68.153 43.81c1.546-2.235 3.115-4.456 4.62-6.72.119-.177-.16-.335-.283-.165-1.565 2.22-3.07 4.485-4.596 6.734-.11.16.15.309.259.15z"/><path fill="#969CA3" d="M71.171 40.02a.36.36 0 0 1 .487.125c.139.203.022.435-.16.56-.377.267-.815-.029-1.046-.342-.134-.181-.43-.022-.31.181.384.64 1.4.95 1.83.167.32-.587-.353-1.337-.946-.944-.152.102-.015.344.146.25zm-.284-.768a1.64 1.64 0 0 0-.45-1.533.19.19 0 0 0-.262 0c-.48.523-.394 1.38.195 1.782.175.12.393-.16.228-.295-.358-.3-.47-.845-.16-1.225h-.262a1.24 1.24 0 0 1 .414 1.188c-.037.193.255.278.298.08zm1.598-.993a.455.455 0 0 1 .474.276v-.171a.166.166 0 0 1-.21.04c-.206-.117-.39.199-.185.315a.51.51 0 0 0 .474.02c.135-.063.29-.217.216-.375-.142-.3-.497-.438-.81-.4-.16.021-.126.305.04.29zM67.853 68.4c-.712-.623-1.815-1.635-1.144-2.659.284-.433.85-.663 1.232-.201.295.358.32.89.33 1.331.007.28.435.281.434 0 0-.653.653-1.28 1.325-1.061.572.186.846.855.655 1.4-.053.151.117.329.27.27.743-.28 1.76-.57 2.466-.044.48.355.745 1.256.176 1.652-.23.16-.01.544.223.381.72-.501.652-1.512.126-2.138-.766-.91-2.14-.64-3.108-.275l.27.27c.283-.8-.215-1.771-1.06-1.964-.916-.21-1.786.61-1.778 1.51h.436c-.028-.598-.099-1.324-.584-1.743-.441-.38-1.049-.32-1.47.056a1.63 1.63 0 0 0-.465 1.68c.228.747.847 1.29 1.422 1.778.168.141.412-.096.24-.24zm-2.888.124a1.4 1.4 0 0 0-1.12 1.353c0 .219.328.217.337 0a1.104 1.104 0 0 1 .87-1.03c.21-.045.12-.365-.09-.32z"/></svg>
|