strapi-plugin-payone-provider 5.7.26 → 5.8.26

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.
Files changed (83) hide show
  1. package/README.md +1191 -1191
  2. package/admin/src/components/Initializer/index.jsx +16 -16
  3. package/admin/src/components/PluginIcon/index.jsx +17 -17
  4. package/admin/src/index.js +57 -57
  5. package/admin/src/pages/App/components/AppHeader.jsx +45 -45
  6. package/admin/src/pages/App/components/AppTabs.jsx +105 -105
  7. package/admin/src/pages/App/components/ApplePayBtn.jsx +355 -355
  8. package/admin/src/pages/App/components/ApplePayConfig.jsx +357 -357
  9. package/admin/src/pages/App/components/DocsPanel.jsx +53 -53
  10. package/admin/src/pages/App/components/RenderInput.jsx +78 -78
  11. package/admin/src/pages/App/components/StatusBadge.jsx +87 -87
  12. package/admin/src/pages/App/components/icons/BankIcon.jsx +10 -10
  13. package/admin/src/pages/App/components/icons/ChevronDownIcon.jsx +9 -9
  14. package/admin/src/pages/App/components/icons/ChevronUpIcon.jsx +9 -9
  15. package/admin/src/pages/App/components/icons/CreditCardIcon.jsx +9 -9
  16. package/admin/src/pages/App/components/icons/ErrorIcon.jsx +10 -10
  17. package/admin/src/pages/App/components/icons/InfoIcon.jsx +9 -9
  18. package/admin/src/pages/App/components/icons/MarkCircle.jsx +19 -19
  19. package/admin/src/pages/App/components/icons/PaymentIcon.jsx +10 -10
  20. package/admin/src/pages/App/components/icons/PendingIcon.jsx +9 -9
  21. package/admin/src/pages/App/components/icons/PersonIcon.jsx +9 -9
  22. package/admin/src/pages/App/components/icons/SuccessIcon.jsx +9 -9
  23. package/admin/src/pages/App/components/icons/WalletIcon.jsx +9 -9
  24. package/admin/src/pages/App/components/icons/index.jsx +12 -12
  25. package/admin/src/pages/App/components/payment-actions/AuthorizationForm.jsx +334 -334
  26. package/admin/src/pages/App/components/payment-actions/CaptureForm.jsx +120 -120
  27. package/admin/src/pages/App/components/payment-actions/PaymentActionsPanel.jsx +183 -183
  28. package/admin/src/pages/App/components/payment-actions/PaymentMethodSelector.jsx +315 -315
  29. package/admin/src/pages/App/components/payment-actions/PaymentResult.jsx +129 -129
  30. package/admin/src/pages/App/components/payment-actions/PreauthorizationForm.jsx +273 -273
  31. package/admin/src/pages/App/components/payment-actions/RefundForm.jsx +114 -114
  32. package/admin/src/pages/App/components/transaction-history/ImportExportBar.jsx +153 -153
  33. package/admin/src/pages/App/components/transaction-history/details/TransactionHistoryItem.jsx +526 -526
  34. package/admin/src/pages/App/index.jsx +96 -96
  35. package/admin/src/pages/App/styles.css +176 -176
  36. package/admin/src/pages/constants/paymentConstants.js +71 -71
  37. package/admin/src/pages/hooks/use-system-theme.js +27 -27
  38. package/admin/src/pages/hooks/usePaymentActions.js +498 -498
  39. package/admin/src/pages/hooks/usePluginTranslations.js +12 -12
  40. package/admin/src/pages/hooks/useSettings.js +183 -183
  41. package/admin/src/pages/hooks/useTransactionHistory.js +148 -148
  42. package/admin/src/pages/utils/api.js +97 -97
  43. package/admin/src/pages/utils/applePayConstants.js +196 -196
  44. package/admin/src/pages/utils/formatTransactionData.js +15 -15
  45. package/admin/src/pages/utils/getInputComponent.jsx +200 -200
  46. package/admin/src/pages/utils/paymentUtils.js +661 -661
  47. package/admin/src/pages/utils/tooltipHelpers.js +18 -18
  48. package/admin/src/pages/utils/transactionTableUtils.js +71 -71
  49. package/admin/src/pluginId.js +9 -9
  50. package/admin/src/translations/de.json +235 -235
  51. package/admin/src/translations/en.json +235 -235
  52. package/admin/src/translations/fr.json +235 -235
  53. package/admin/src/translations/ru.json +235 -235
  54. package/admin/src/utils/prefixPluginTranslations.js +13 -13
  55. package/package.json +45 -45
  56. package/server/bootstrap.js +107 -107
  57. package/server/config/index.js +83 -83
  58. package/server/content-types/index.js +4 -4
  59. package/server/content-types/transactions/index.js +4 -4
  60. package/server/content-types/transactions/schema.json +86 -86
  61. package/server/controllers/index.js +7 -7
  62. package/server/controllers/payone.js +503 -506
  63. package/server/destroy.js +5 -5
  64. package/server/index.js +23 -23
  65. package/server/policies/index.js +7 -7
  66. package/server/policies/is-auth.js +29 -29
  67. package/server/policies/isSuperAdmin.js +20 -20
  68. package/server/register.js +5 -5
  69. package/server/routes/index.js +218 -218
  70. package/server/services/applePayService.js +295 -295
  71. package/server/services/index.js +9 -9
  72. package/server/services/paymentService.js +264 -223
  73. package/server/services/payone.js +78 -78
  74. package/server/services/settingsService.js +59 -59
  75. package/server/services/testConnectionService.js +115 -115
  76. package/server/services/transactionService.js +262 -262
  77. package/server/utils/csvTransactions.js +82 -82
  78. package/server/utils/normalize.js +39 -39
  79. package/server/utils/paymentMethodParams.js +288 -288
  80. package/server/utils/requestBuilder.js +115 -100
  81. package/server/utils/responseParser.js +141 -141
  82. package/strapi-admin.js +4 -4
  83. package/strapi-server.js +3 -3
@@ -1,53 +1,53 @@
1
- import * as React from "react";
2
- import { Box, Flex, Typography, Accordion } from "@strapi/design-system";
3
- import TableOfContents from "./docs/TableOfContents";
4
- import BaseUrlSection from "./docs/BaseUrlSection";
5
- import PaymentMethodsSection from "./docs/PaymentMethodsSection";
6
- import CreditCardSection from "./docs/CreditCardSection";
7
- import PayPalSection from "./docs/PayPalSection";
8
- import GooglePaySection from "./docs/GooglePaySection";
9
- import ApplePaySection from "./docs/ApplePaySection";
10
- import ThreeDSecureSection from "./docs/ThreeDSecureSection";
11
- import CaptureRefundSection from "./docs/CaptureRefundSection";
12
- import TestCredentialsSection from "./docs/TestCredentialsSection";
13
- import { usePluginTranslations } from "../../hooks/usePluginTranslations";
14
-
15
- const DocsPanel = ({ settings, paymentActions }) => {
16
- const { t } = usePluginTranslations();
17
- return (
18
- <Flex direction="column" alignItems="stretch" gap={6} padding={8}>
19
- <Box>
20
- <Typography variant="beta" as="h2" fontWeight="bold" className="payment-title" style={{ fontSize: "20px", marginBottom: "4px" }}>
21
- {t("docs.title", "Payone Provider Plugin - Frontend Integration Guide")}
22
- </Typography>
23
- <Typography variant="pi" textColor="neutral600" marginTop={2} className="payment-subtitle" style={{ fontSize: "14px" }}>
24
- {t("docs.subtitle", "Complete documentation for integrating Payone payment methods in your frontend application")}
25
- </Typography>
26
- </Box>
27
-
28
- <TableOfContents />
29
-
30
- <BaseUrlSection />
31
-
32
- <PaymentMethodsSection />
33
-
34
- <Accordion.Root>
35
- <CreditCardSection />
36
- <PayPalSection />
37
- <GooglePaySection />
38
- <ApplePaySection />
39
- <ThreeDSecureSection />
40
- <CaptureRefundSection />
41
- <TestCredentialsSection />
42
- </Accordion.Root>
43
-
44
- <Box paddingTop={4}>
45
- <Typography variant="sigma" textColor="neutral600">
46
- {t("docs.moreInfo", "For more information, visit the Payone documentation or contact your Payone account manager.")}
47
- </Typography>
48
- </Box>
49
- </Flex>
50
- );
51
- };
52
-
53
- export default DocsPanel;
1
+ import * as React from "react";
2
+ import { Box, Flex, Typography, Accordion } from "@strapi/design-system";
3
+ import TableOfContents from "./docs/TableOfContents";
4
+ import BaseUrlSection from "./docs/BaseUrlSection";
5
+ import PaymentMethodsSection from "./docs/PaymentMethodsSection";
6
+ import CreditCardSection from "./docs/CreditCardSection";
7
+ import PayPalSection from "./docs/PayPalSection";
8
+ import GooglePaySection from "./docs/GooglePaySection";
9
+ import ApplePaySection from "./docs/ApplePaySection";
10
+ import ThreeDSecureSection from "./docs/ThreeDSecureSection";
11
+ import CaptureRefundSection from "./docs/CaptureRefundSection";
12
+ import TestCredentialsSection from "./docs/TestCredentialsSection";
13
+ import { usePluginTranslations } from "../../hooks/usePluginTranslations";
14
+
15
+ const DocsPanel = ({ settings, paymentActions }) => {
16
+ const { t } = usePluginTranslations();
17
+ return (
18
+ <Flex direction="column" alignItems="stretch" gap={6} padding={8}>
19
+ <Box>
20
+ <Typography variant="beta" as="h2" fontWeight="bold" className="payment-title" style={{ fontSize: "20px", marginBottom: "4px" }}>
21
+ {t("docs.title", "Payone Provider Plugin - Frontend Integration Guide")}
22
+ </Typography>
23
+ <Typography variant="pi" textColor="neutral600" marginTop={2} className="payment-subtitle" style={{ fontSize: "14px" }}>
24
+ {t("docs.subtitle", "Complete documentation for integrating Payone payment methods in your frontend application")}
25
+ </Typography>
26
+ </Box>
27
+
28
+ <TableOfContents />
29
+
30
+ <BaseUrlSection />
31
+
32
+ <PaymentMethodsSection />
33
+
34
+ <Accordion.Root>
35
+ <CreditCardSection />
36
+ <PayPalSection />
37
+ <GooglePaySection />
38
+ <ApplePaySection />
39
+ <ThreeDSecureSection />
40
+ <CaptureRefundSection />
41
+ <TestCredentialsSection />
42
+ </Accordion.Root>
43
+
44
+ <Box paddingTop={4}>
45
+ <Typography variant="sigma" textColor="neutral600">
46
+ {t("docs.moreInfo", "For more information, visit the Payone documentation or contact your Payone account manager.")}
47
+ </Typography>
48
+ </Box>
49
+ </Flex>
50
+ );
51
+ };
52
+
53
+ export default DocsPanel;
@@ -1,78 +1,78 @@
1
- import { Field, Flex, Tooltip, Typography } from "@strapi/design-system";
2
- import { Information } from "@strapi/icons";
3
- import { InputComponent } from "../../utils/getInputComponent";
4
- import { shouldShowTooltip } from "../../utils/tooltipHelpers";
5
-
6
- const RenderInput = ({
7
- hint,
8
- label,
9
- name,
10
- value,
11
- onChange,
12
- inputType = "textInput",
13
- options = [],
14
- tooltipContent = "",
15
- additionalMessage = "",
16
- required = false,
17
- placeholder,
18
- onLabel,
19
- offLabel,
20
- type = "text",
21
- className = "payment-input",
22
- labelStyle = {},
23
- labelDirection = "column",
24
- ...props
25
- }) => {
26
- const getLabelStyle = () => {
27
- if (labelDirection === "row") {
28
- return {
29
- display: "flex",
30
- flexDirection: "row",
31
- justifyContent: "space-between"
32
- };
33
- }
34
- return { display: "flex", flexDirection: "column" };
35
- };
36
-
37
- return (
38
- <Flex direction="column" gap={2} alignItems={"stretch"} width={"100%"}>
39
- <Field.Root hint={hint} width={"100%"} style={getLabelStyle()}>
40
- <Flex alignItems="center" gap={1} style={{ marginBottom: "5px" }}>
41
- <Field.Label style={labelStyle}>{label}</Field.Label>
42
- {shouldShowTooltip(inputType, tooltipContent) && (
43
- <Tooltip label={tooltipContent}>
44
- <Information
45
- style={{
46
- cursor: "pointer"
47
- }}
48
- />
49
- </Tooltip>
50
- )}
51
- </Flex>
52
- <InputComponent
53
- inputType={inputType}
54
- name={name}
55
- value={value}
56
- onChange={onChange}
57
- tooltipContent={tooltipContent}
58
- options={options}
59
- required={required}
60
- className={className}
61
- placeholder={placeholder}
62
- onLabel={onLabel}
63
- offLabel={offLabel}
64
- type={type}
65
- {...props}
66
- />
67
- <Field.Hint />
68
- </Field.Root>
69
- {additionalMessage && (
70
- <Typography variant="pi" textColor={"ActiveText"}>
71
- {additionalMessage}
72
- </Typography>
73
- )}
74
- </Flex>
75
- );
76
- };
77
-
78
- export default RenderInput;
1
+ import { Field, Flex, Tooltip, Typography } from "@strapi/design-system";
2
+ import { Information } from "@strapi/icons";
3
+ import { InputComponent } from "../../utils/getInputComponent";
4
+ import { shouldShowTooltip } from "../../utils/tooltipHelpers";
5
+
6
+ const RenderInput = ({
7
+ hint,
8
+ label,
9
+ name,
10
+ value,
11
+ onChange,
12
+ inputType = "textInput",
13
+ options = [],
14
+ tooltipContent = "",
15
+ additionalMessage = "",
16
+ required = false,
17
+ placeholder,
18
+ onLabel,
19
+ offLabel,
20
+ type = "text",
21
+ className = "payment-input",
22
+ labelStyle = {},
23
+ labelDirection = "column",
24
+ ...props
25
+ }) => {
26
+ const getLabelStyle = () => {
27
+ if (labelDirection === "row") {
28
+ return {
29
+ display: "flex",
30
+ flexDirection: "row",
31
+ justifyContent: "space-between"
32
+ };
33
+ }
34
+ return { display: "flex", flexDirection: "column" };
35
+ };
36
+
37
+ return (
38
+ <Flex direction="column" gap={2} alignItems={"stretch"} width={"100%"}>
39
+ <Field.Root hint={hint} width={"100%"} style={getLabelStyle()}>
40
+ <Flex alignItems="center" gap={1} style={{ marginBottom: "5px" }}>
41
+ <Field.Label style={labelStyle}>{label}</Field.Label>
42
+ {shouldShowTooltip(inputType, tooltipContent) && (
43
+ <Tooltip label={tooltipContent}>
44
+ <Information
45
+ style={{
46
+ cursor: "pointer"
47
+ }}
48
+ />
49
+ </Tooltip>
50
+ )}
51
+ </Flex>
52
+ <InputComponent
53
+ inputType={inputType}
54
+ name={name}
55
+ value={value}
56
+ onChange={onChange}
57
+ tooltipContent={tooltipContent}
58
+ options={options}
59
+ required={required}
60
+ className={className}
61
+ placeholder={placeholder}
62
+ onLabel={onLabel}
63
+ offLabel={offLabel}
64
+ type={type}
65
+ {...props}
66
+ />
67
+ <Field.Hint />
68
+ </Field.Root>
69
+ {additionalMessage && (
70
+ <Typography variant="pi" textColor={"ActiveText"}>
71
+ {additionalMessage}
72
+ </Typography>
73
+ )}
74
+ </Flex>
75
+ );
76
+ };
77
+
78
+ export default RenderInput;
@@ -1,87 +1,87 @@
1
- import * as React from "react";
2
- import {
3
- Badge,
4
- Box,
5
- Flex,
6
- Typography,
7
- } from "@strapi/design-system";
8
- import { MarkCircle } from "./icons";
9
-
10
- const StatusBadge = ({ status, transaction }) => {
11
- const [isHovered, setIsHovered] = React.useState(false);
12
-
13
- const statusColors = {
14
- APPROVED: "success200",
15
- PENDING: "warning200",
16
- ERROR: "danger200",
17
- FAILED: "danger200",
18
- INVALID: "danger200",
19
- REDIRECT: "success100",
20
- };
21
-
22
- const getDisplayText = () => {
23
- if (status === "ERROR" && transaction?.raw_response?.Error?.ErrorCode) {
24
- return `${status} - ${transaction.raw_response.Error.ErrorCode}`;
25
- }
26
- return status;
27
- };
28
-
29
- const displayText = getDisplayText();
30
- const errorMessage = status === "ERROR" && transaction?.raw_response?.Error?.ErrorMessage
31
- ? transaction.raw_response.Error.ErrorMessage
32
- : null;
33
-
34
- const errorCode = status === "ERROR" && transaction?.raw_response?.Error?.ErrorCode
35
- ? transaction.raw_response.Error.ErrorCode
36
- : null;
37
-
38
- const showExclamationIcon = status === "ERROR" && !errorCode && !errorMessage;
39
-
40
- return (
41
- <Box
42
- position="relative"
43
- onMouseEnter={() => setIsHovered(true)}
44
- onMouseLeave={() => setIsHovered(false)}
45
- style={{ display: "inline-block", cursor: status === "ERROR" ? "pointer" : "default" }}
46
- >
47
- <Flex gap={2} alignItems="center">
48
- <Badge backgroundColor={statusColors[status] || "warning100"}>
49
- {displayText}
50
- </Badge>
51
- {showExclamationIcon && (
52
- <MarkCircle color="danger500"
53
- style={{
54
- width: "16px",
55
- height: "16px"
56
- }}
57
- />
58
- )}
59
- </Flex>
60
- {isHovered && errorMessage && (
61
- <Box
62
- position="absolute"
63
- zIndex={1000}
64
- bottom="100%"
65
- left="50%"
66
- transform="translateX(-50%)"
67
- marginBottom={2}
68
- padding={3}
69
- background="neutral900"
70
- hasRadius
71
- style={{
72
- whiteSpace: "pre-line",
73
- minWidth: "200px",
74
- maxWidth: "300px",
75
- boxShadow: "0 4px 12px rgba(0, 0, 0, 0.15)",
76
- }}
77
- >
78
- <Typography variant="pi" textColor="neutral0" style={{ fontSize: "12px" }}>
79
- Error: {errorMessage}
80
- </Typography>
81
- </Box>
82
- )}
83
- </Box>
84
- );
85
- };
86
-
87
- export default StatusBadge;
1
+ import * as React from "react";
2
+ import {
3
+ Badge,
4
+ Box,
5
+ Flex,
6
+ Typography,
7
+ } from "@strapi/design-system";
8
+ import { MarkCircle } from "./icons";
9
+
10
+ const StatusBadge = ({ status, transaction }) => {
11
+ const [isHovered, setIsHovered] = React.useState(false);
12
+
13
+ const statusColors = {
14
+ APPROVED: "success200",
15
+ PENDING: "warning200",
16
+ ERROR: "danger200",
17
+ FAILED: "danger200",
18
+ INVALID: "danger200",
19
+ REDIRECT: "success100",
20
+ };
21
+
22
+ const getDisplayText = () => {
23
+ if (status === "ERROR" && transaction?.raw_response?.Error?.ErrorCode) {
24
+ return `${status} - ${transaction.raw_response.Error.ErrorCode}`;
25
+ }
26
+ return status;
27
+ };
28
+
29
+ const displayText = getDisplayText();
30
+ const errorMessage = status === "ERROR" && transaction?.raw_response?.Error?.ErrorMessage
31
+ ? transaction.raw_response.Error.ErrorMessage
32
+ : null;
33
+
34
+ const errorCode = status === "ERROR" && transaction?.raw_response?.Error?.ErrorCode
35
+ ? transaction.raw_response.Error.ErrorCode
36
+ : null;
37
+
38
+ const showExclamationIcon = status === "ERROR" && !errorCode && !errorMessage;
39
+
40
+ return (
41
+ <Box
42
+ position="relative"
43
+ onMouseEnter={() => setIsHovered(true)}
44
+ onMouseLeave={() => setIsHovered(false)}
45
+ style={{ display: "inline-block", cursor: status === "ERROR" ? "pointer" : "default" }}
46
+ >
47
+ <Flex gap={2} alignItems="center">
48
+ <Badge backgroundColor={statusColors[status] || "warning100"}>
49
+ {displayText}
50
+ </Badge>
51
+ {showExclamationIcon && (
52
+ <MarkCircle color="danger500"
53
+ style={{
54
+ width: "16px",
55
+ height: "16px"
56
+ }}
57
+ />
58
+ )}
59
+ </Flex>
60
+ {isHovered && errorMessage && (
61
+ <Box
62
+ position="absolute"
63
+ zIndex={1000}
64
+ bottom="100%"
65
+ left="50%"
66
+ transform="translateX(-50%)"
67
+ marginBottom={2}
68
+ padding={3}
69
+ background="neutral900"
70
+ hasRadius
71
+ style={{
72
+ whiteSpace: "pre-line",
73
+ minWidth: "200px",
74
+ maxWidth: "300px",
75
+ boxShadow: "0 4px 12px rgba(0, 0, 0, 0.15)",
76
+ }}
77
+ >
78
+ <Typography variant="pi" textColor="neutral0" style={{ fontSize: "12px" }}>
79
+ Error: {errorMessage}
80
+ </Typography>
81
+ </Box>
82
+ )}
83
+ </Box>
84
+ );
85
+ };
86
+
87
+ export default StatusBadge;
@@ -1,10 +1,10 @@
1
- import * as React from '@strapi/strapi/admin';
2
-
3
- const BankIcon = ({ size = 16, color = 'currentColor' }) => (
4
- <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
- <path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" fill={color} />
6
- <path d="M12 6l-1.5 3L7 8.5l2.5 2.5L8 14l4-2.5L16 14l-1.5-3L18 8.5l-3.5.5L12 6z" fill={color} />
7
- </svg>
8
- );
9
-
10
- export default BankIcon;
1
+ import * as React from '@strapi/strapi/admin';
2
+
3
+ const BankIcon = ({ size = 16, color = 'currentColor' }) => (
4
+ <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" fill={color} />
6
+ <path d="M12 6l-1.5 3L7 8.5l2.5 2.5L8 14l4-2.5L16 14l-1.5-3L18 8.5l-3.5.5L12 6z" fill={color} />
7
+ </svg>
8
+ );
9
+
10
+ export default BankIcon;
@@ -1,9 +1,9 @@
1
- import * as React from '@strapi/strapi/admin';
2
-
3
- const ChevronDownIcon = ({ size = 16, color = 'currentColor' }) => (
4
- <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
- <path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z" fill={color} />
6
- </svg>
7
- );
8
-
9
- export default ChevronDownIcon;
1
+ import * as React from '@strapi/strapi/admin';
2
+
3
+ const ChevronDownIcon = ({ size = 16, color = 'currentColor' }) => (
4
+ <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z" fill={color} />
6
+ </svg>
7
+ );
8
+
9
+ export default ChevronDownIcon;
@@ -1,9 +1,9 @@
1
- import * as React from '@strapi/strapi/admin';
2
-
3
- const ChevronUpIcon = ({ size = 16, color = 'currentColor' }) => (
4
- <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
- <path d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z" fill={color} />
6
- </svg>
7
- );
8
-
9
- export default ChevronUpIcon;
1
+ import * as React from '@strapi/strapi/admin';
2
+
3
+ const ChevronUpIcon = ({ size = 16, color = 'currentColor' }) => (
4
+ <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <path d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z" fill={color} />
6
+ </svg>
7
+ );
8
+
9
+ export default ChevronUpIcon;
@@ -1,9 +1,9 @@
1
- import * as React from '@strapi/strapi/admin';
2
-
3
- const CreditCardIcon = ({ size = 16, color = 'currentColor' }) => (
4
- <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
- <path d="M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z" fill={color} />
6
- </svg>
7
- );
8
-
9
- export default CreditCardIcon;
1
+ import * as React from '@strapi/strapi/admin';
2
+
3
+ const CreditCardIcon = ({ size = 16, color = 'currentColor' }) => (
4
+ <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <path d="M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z" fill={color} />
6
+ </svg>
7
+ );
8
+
9
+ export default CreditCardIcon;
@@ -1,10 +1,10 @@
1
- import * as React from '@strapi/strapi/admin';
2
-
3
- const ErrorIcon = ({ size = 16, color = 'currentColor' }) => (
4
- <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
- <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" fill={color} />
6
- <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11H7v-2h10v2z" fill={color} />
7
- </svg>
8
- );
9
-
10
- export default ErrorIcon;
1
+ import * as React from '@strapi/strapi/admin';
2
+
3
+ const ErrorIcon = ({ size = 16, color = 'currentColor' }) => (
4
+ <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" fill={color} />
6
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11H7v-2h10v2z" fill={color} />
7
+ </svg>
8
+ );
9
+
10
+ export default ErrorIcon;
@@ -1,9 +1,9 @@
1
- import * as React from '@strapi/strapi/admin';
2
-
3
- const InfoIcon = ({ size = 16, color = 'currentColor' }) => (
4
- <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
- <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z" fill={color} />
6
- </svg>
7
- );
8
-
9
- export default InfoIcon;
1
+ import * as React from '@strapi/strapi/admin';
2
+
3
+ const InfoIcon = ({ size = 16, color = 'currentColor' }) => (
4
+ <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z" fill={color} />
6
+ </svg>
7
+ );
8
+
9
+ export default InfoIcon;
@@ -1,19 +1,19 @@
1
- import React from "react";
2
-
3
- const MarkCircle = (props) => (
4
- <svg
5
- xmlns="http://www.w3.org/2000/svg"
6
- width={12.5}
7
- height={12.5}
8
- fill="none"
9
- viewBox="0 0 24 24"
10
- {...props}
11
- >
12
- <path
13
- fill="#212134"
14
- d="M12 0C5.383 0 0 5.383 0 12s5.383 12 12 12 12-5.383 12-12S18.617 0 12 0Zm1.154 18.456h-2.308V16.15h2.308v2.307Zm-.23-3.687h-1.847l-.346-9.23h2.538l-.346 9.23Z"
15
- />
16
- </svg>
17
- );
18
-
19
- export default MarkCircle;
1
+ import React from "react";
2
+
3
+ const MarkCircle = (props) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width={12.5}
7
+ height={12.5}
8
+ fill="none"
9
+ viewBox="0 0 24 24"
10
+ {...props}
11
+ >
12
+ <path
13
+ fill="#212134"
14
+ d="M12 0C5.383 0 0 5.383 0 12s5.383 12 12 12 12-5.383 12-12S18.617 0 12 0Zm1.154 18.456h-2.308V16.15h2.308v2.307Zm-.23-3.687h-1.847l-.346-9.23h2.538l-.346 9.23Z"
15
+ />
16
+ </svg>
17
+ );
18
+
19
+ export default MarkCircle;
@@ -1,10 +1,10 @@
1
- import * as React from '@strapi/strapi/admin';
2
-
3
- const PaymentIcon = ({ size = 16, color = 'currentColor' }) => (
4
- <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
- <path d="M2 8h20v12H2V8zm2 2v8h16V10H4z" fill={color} />
6
- <path d="M2 4h20v2H2V4z" fill={color} />
7
- </svg>
8
- );
9
-
10
- export default PaymentIcon;
1
+ import * as React from '@strapi/strapi/admin';
2
+
3
+ const PaymentIcon = ({ size = 16, color = 'currentColor' }) => (
4
+ <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <path d="M2 8h20v12H2V8zm2 2v8h16V10H4z" fill={color} />
6
+ <path d="M2 4h20v2H2V4z" fill={color} />
7
+ </svg>
8
+ );
9
+
10
+ export default PaymentIcon;
@@ -1,9 +1,9 @@
1
- import * as React from '@strapi/strapi/admin';
2
-
3
- const PendingIcon = ({ size = 16, color = 'currentColor' }) => (
4
- <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
- <path d="M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 20C7.59 20 4 16.41 4 12S7.59 4 12 4 20 7.59 20 12 16.41 20 12 20M12.5 7H11V13L16.25 16.15L17 14.92L12.5 12.25V7Z" fill={color} />
6
- </svg>
7
- );
8
-
9
- export default PendingIcon;
1
+ import * as React from '@strapi/strapi/admin';
2
+
3
+ const PendingIcon = ({ size = 16, color = 'currentColor' }) => (
4
+ <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <path d="M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 20C7.59 20 4 16.41 4 12S7.59 4 12 4 20 7.59 20 12 16.41 20 12 20M12.5 7H11V13L16.25 16.15L17 14.92L12.5 12.25V7Z" fill={color} />
6
+ </svg>
7
+ );
8
+
9
+ export default PendingIcon;