strapi-plugin-magic-link-v5 5.3.17 → 5.3.19

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.
@@ -82,7 +82,7 @@ const ModalOverlay = styled.div`
82
82
  padding: 20px;
83
83
  `;
84
84
  const ModalContent = styled(Box)`
85
- background: white;
85
+ background: ${(p) => p.theme.colors.neutral0};
86
86
  border-radius: 16px;
87
87
  width: 100%;
88
88
  max-width: 580px;
@@ -91,7 +91,7 @@ const ModalContent = styled(Box)`
91
91
  overflow: hidden;
92
92
  `;
93
93
  const GradientHeader = styled(Box)`
94
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
94
+ background: linear-gradient(135deg, #4945ff 0%, #7c3aed 100%);
95
95
  padding: 32px 40px;
96
96
  position: relative;
97
97
  overflow: hidden;
@@ -158,7 +158,7 @@ const CloseButton = styled.button`
158
158
  const ToggleButton = styled.button`
159
159
  background: none;
160
160
  border: none;
161
- color: #667eea;
161
+ color: #4945ff;
162
162
  font-size: 13px;
163
163
  font-weight: 600;
164
164
  cursor: pointer;
@@ -167,9 +167,44 @@ const ToggleButton = styled.button`
167
167
  transition: color 0.2s;
168
168
 
169
169
  &:hover {
170
- color: #764ba2;
170
+ color: #7c3aed;
171
+ }
172
+
173
+ &:disabled {
174
+ opacity: 0.5;
175
+ cursor: not-allowed;
176
+ }
177
+ `;
178
+ const GradientButton = styled(Button)`
179
+ && {
180
+ background: linear-gradient(135deg, #4945ff 0%, #7c3aed 100%);
181
+ color: white;
182
+ font-weight: 600;
183
+ border: none;
184
+ box-shadow: 0 4px 12px rgba(73, 69, 255, 0.4);
185
+
186
+ &:hover:not(:disabled) {
187
+ background: linear-gradient(135deg, #4338ca 0%, #6d28d9 100%);
188
+ box-shadow: 0 6px 16px rgba(73, 69, 255, 0.5);
189
+ }
190
+
191
+ &:disabled {
192
+ opacity: 0.6;
193
+ cursor: not-allowed;
194
+ }
171
195
  }
172
196
  `;
197
+ styled(Box)`
198
+ background: rgba(73, 69, 255, 0.06);
199
+ border: 2px solid rgba(73, 69, 255, 0.3);
200
+ border-radius: 8px;
201
+ padding: 16px;
202
+ `;
203
+ styled(Typography)`
204
+ font-size: 13px;
205
+ line-height: 1.6;
206
+ color: ${(p) => p.theme.colors.neutral800};
207
+ `;
173
208
  const LicenseGuard = ({ children }) => {
174
209
  const { get, post } = useFetchClient();
175
210
  const { toggleNotification } = useNotification();
@@ -573,40 +608,26 @@ const LicenseGuard = ({ children }) => {
573
608
  /* @__PURE__ */ jsx(Flex, { gap: 3, justifyContent: "center", style: { marginTop: "16px" }, children: useExistingKey ? (
574
609
  // Validate Button
575
610
  /* @__PURE__ */ jsx(
576
- Button,
611
+ GradientButton,
577
612
  {
578
613
  type: "submit",
579
614
  size: "L",
580
615
  startIcon: /* @__PURE__ */ jsx(Check, {}),
581
616
  loading: isCreating,
582
617
  disabled: isCreating || !existingLicenseKey.trim() || !existingEmail.trim(),
583
- style: {
584
- background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
585
- color: "white",
586
- fontWeight: "600",
587
- border: "none",
588
- boxShadow: "0 4px 12px rgba(102, 126, 234, 0.4)"
589
- },
590
618
  children: "Validate License"
591
619
  }
592
620
  )
593
621
  ) : (
594
622
  // Create/Auto-Create License Button
595
623
  /* @__PURE__ */ jsx(
596
- Button,
624
+ GradientButton,
597
625
  {
598
626
  type: "submit",
599
627
  size: "L",
600
628
  startIcon: /* @__PURE__ */ jsx(Check, {}),
601
629
  loading: isCreating,
602
630
  disabled: isCreating || !useAutoCreate && (!formData.email || !formData.firstName || !formData.lastName),
603
- style: {
604
- background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
605
- color: "white",
606
- fontWeight: "600",
607
- border: "none",
608
- boxShadow: "0 4px 12px rgba(102, 126, 234, 0.4)"
609
- },
610
631
  children: useAutoCreate ? "Activate License" : "Create License"
611
632
  }
612
633
  )
@@ -85,7 +85,7 @@ const ModalOverlay = styled__default.default.div`
85
85
  padding: 20px;
86
86
  `;
87
87
  const ModalContent = styled__default.default(designSystem.Box)`
88
- background: white;
88
+ background: ${(p) => p.theme.colors.neutral0};
89
89
  border-radius: 16px;
90
90
  width: 100%;
91
91
  max-width: 580px;
@@ -94,7 +94,7 @@ const ModalContent = styled__default.default(designSystem.Box)`
94
94
  overflow: hidden;
95
95
  `;
96
96
  const GradientHeader = styled__default.default(designSystem.Box)`
97
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
97
+ background: linear-gradient(135deg, #4945ff 0%, #7c3aed 100%);
98
98
  padding: 32px 40px;
99
99
  position: relative;
100
100
  overflow: hidden;
@@ -161,7 +161,7 @@ const CloseButton = styled__default.default.button`
161
161
  const ToggleButton = styled__default.default.button`
162
162
  background: none;
163
163
  border: none;
164
- color: #667eea;
164
+ color: #4945ff;
165
165
  font-size: 13px;
166
166
  font-weight: 600;
167
167
  cursor: pointer;
@@ -170,9 +170,44 @@ const ToggleButton = styled__default.default.button`
170
170
  transition: color 0.2s;
171
171
 
172
172
  &:hover {
173
- color: #764ba2;
173
+ color: #7c3aed;
174
+ }
175
+
176
+ &:disabled {
177
+ opacity: 0.5;
178
+ cursor: not-allowed;
179
+ }
180
+ `;
181
+ const GradientButton = styled__default.default(designSystem.Button)`
182
+ && {
183
+ background: linear-gradient(135deg, #4945ff 0%, #7c3aed 100%);
184
+ color: white;
185
+ font-weight: 600;
186
+ border: none;
187
+ box-shadow: 0 4px 12px rgba(73, 69, 255, 0.4);
188
+
189
+ &:hover:not(:disabled) {
190
+ background: linear-gradient(135deg, #4338ca 0%, #6d28d9 100%);
191
+ box-shadow: 0 6px 16px rgba(73, 69, 255, 0.5);
192
+ }
193
+
194
+ &:disabled {
195
+ opacity: 0.6;
196
+ cursor: not-allowed;
197
+ }
174
198
  }
175
199
  `;
200
+ styled__default.default(designSystem.Box)`
201
+ background: rgba(73, 69, 255, 0.06);
202
+ border: 2px solid rgba(73, 69, 255, 0.3);
203
+ border-radius: 8px;
204
+ padding: 16px;
205
+ `;
206
+ styled__default.default(designSystem.Typography)`
207
+ font-size: 13px;
208
+ line-height: 1.6;
209
+ color: ${(p) => p.theme.colors.neutral800};
210
+ `;
176
211
  const LicenseGuard = ({ children }) => {
177
212
  const { get, post } = admin.useFetchClient();
178
213
  const { toggleNotification } = admin.useNotification();
@@ -576,40 +611,26 @@ const LicenseGuard = ({ children }) => {
576
611
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { gap: 3, justifyContent: "center", style: { marginTop: "16px" }, children: useExistingKey ? (
577
612
  // Validate Button
578
613
  /* @__PURE__ */ jsxRuntime.jsx(
579
- designSystem.Button,
614
+ GradientButton,
580
615
  {
581
616
  type: "submit",
582
617
  size: "L",
583
618
  startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.Check, {}),
584
619
  loading: isCreating,
585
620
  disabled: isCreating || !existingLicenseKey.trim() || !existingEmail.trim(),
586
- style: {
587
- background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
588
- color: "white",
589
- fontWeight: "600",
590
- border: "none",
591
- boxShadow: "0 4px 12px rgba(102, 126, 234, 0.4)"
592
- },
593
621
  children: "Validate License"
594
622
  }
595
623
  )
596
624
  ) : (
597
625
  // Create/Auto-Create License Button
598
626
  /* @__PURE__ */ jsxRuntime.jsx(
599
- designSystem.Button,
627
+ GradientButton,
600
628
  {
601
629
  type: "submit",
602
630
  size: "L",
603
631
  startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.Check, {}),
604
632
  loading: isCreating,
605
633
  disabled: isCreating || !useAutoCreate && (!formData.email || !formData.firstName || !formData.lastName),
606
- style: {
607
- background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
608
- color: "white",
609
- fontWeight: "600",
610
- border: "none",
611
- boxShadow: "0 4px 12px rgba(102, 126, 234, 0.4)"
612
- },
613
634
  children: useAutoCreate ? "Activate License" : "Create License"
614
635
  }
615
636
  )
@@ -25,14 +25,14 @@ const Title = styled__default.default(designSystem.Typography)`
25
25
  font-size: 2.5rem;
26
26
  font-weight: 700;
27
27
  margin-bottom: 8px;
28
- background: linear-gradient(135deg, #0EA5E9, #A855F7);
28
+ background: linear-gradient(135deg, #4945ff, #7c3aed);
29
29
  -webkit-background-clip: text;
30
30
  -webkit-text-fill-color: transparent;
31
31
  display: block;
32
32
  `;
33
33
  const Subtitle = styled__default.default(designSystem.Typography)`
34
34
  font-size: 1.125rem;
35
- color: #6B7280;
35
+ color: ${(p) => p.theme.colors.neutral600};
36
36
  line-height: 1.6;
37
37
  display: block;
38
38
  `;
@@ -49,24 +49,24 @@ const TierWrapper = styled__default.default(designSystem.Box)`
49
49
  max-width: 340px;
50
50
  `;
51
51
  const TierCard = styled__default.default(designSystem.Box)`
52
- background: white;
52
+ background: ${(p) => p.theme.colors.neutral0};
53
53
  border-radius: 16px;
54
54
  padding: 32px;
55
- border: 2px solid ${(props) => props.$featured ? "#0EA5E9" : "#E5E7EB"};
55
+ border: 2px solid ${(props) => props.$featured ? "#4945ff" : props.theme.colors.neutral200};
56
56
  position: relative;
57
57
  transition: all 0.3s ease;
58
- box-shadow: ${(props) => props.$featured ? "0 20px 25px -5px rgba(14, 165, 233, 0.25), 0 8px 10px -6px rgba(14, 165, 233, 0.2)" : "0 10px 15px -3px rgba(15, 23, 42, 0.08), 0 4px 6px -4px rgba(15, 23, 42, 0.05)"};
58
+ box-shadow: ${(props) => props.$featured ? "0 20px 25px -5px rgba(73, 69, 255, 0.25), 0 8px 10px -6px rgba(73, 69, 255, 0.2)" : "0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.05)"};
59
59
 
60
60
  &:hover {
61
61
  transform: translateY(-4px);
62
- box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.15), 0 8px 10px -6px rgba(15, 23, 42, 0.1);
62
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
63
63
  }
64
64
  `;
65
65
  const PopularBadge = styled__default.default(designSystem.Badge)`
66
66
  position: absolute;
67
67
  top: -12px;
68
68
  right: 24px;
69
- background: linear-gradient(135deg, #0EA5E9, #0284C7);
69
+ background: linear-gradient(135deg, #4945ff, #4338ca);
70
70
  color: white;
71
71
  padding: 4px 16px;
72
72
  font-size: 12px;
@@ -92,16 +92,36 @@ const TierName = styled__default.default(designSystem.Typography)`
92
92
  font-size: 1.5rem;
93
93
  font-weight: 700;
94
94
  margin-bottom: 8px;
95
+ color: ${(p) => p.theme.colors.neutral800};
95
96
  `;
96
97
  const TierPrice = styled__default.default(designSystem.Typography)`
97
98
  font-size: 2rem;
98
99
  font-weight: 800;
99
100
  margin-bottom: 4px;
101
+ color: ${(p) => p.theme.colors.neutral800};
100
102
  `;
101
103
  const TierDescription = styled__default.default(designSystem.Typography)`
102
- color: #6B7280;
104
+ color: ${(p) => p.theme.colors.neutral600};
103
105
  margin-bottom: 24px;
104
106
  `;
107
+ const LimitsBox = styled__default.default(designSystem.Box)`
108
+ background: ${(p) => p.theme.colors.neutral100};
109
+ border-radius: 8px;
110
+ padding: 12px;
111
+ margin-bottom: 20px;
112
+ `;
113
+ const LimitText = styled__default.default(designSystem.Typography)`
114
+ font-size: 13px;
115
+ color: ${(p) => p.theme.colors.neutral800};
116
+ `;
117
+ const PeriodText = styled__default.default(designSystem.Typography)`
118
+ color: ${(p) => p.theme.colors.neutral600};
119
+ `;
120
+ const FeatureText = styled__default.default(designSystem.Typography)`
121
+ font-size: 14px;
122
+ color: ${(p) => p.$included ? p.theme.colors.neutral800 : p.theme.colors.neutral500};
123
+ text-decoration: ${(p) => p.$included ? "none" : "line-through"};
124
+ `;
105
125
  const FeatureList = styled__default.default(designSystem.Box)`
106
126
  margin-bottom: 24px;
107
127
  `;
@@ -121,10 +141,10 @@ const FeatureIcon = styled__default.default(designSystem.Box)`
121
141
  margin-top: 2px;
122
142
 
123
143
  ${(props) => props.$included ? `
124
- background: #DCFCE7;
144
+ background: rgba(34, 197, 94, 0.15);
125
145
  svg { color: #16A34A; }
126
146
  ` : `
127
- background: #FEE2E2;
147
+ background: rgba(220, 38, 38, 0.12);
128
148
  svg { color: #DC2626; }
129
149
  `}
130
150
  `;
@@ -148,8 +168,8 @@ const CurrentPlanBadge = styled__default.default(designSystem.Badge)`
148
168
  display: flex;
149
169
  align-items: center;
150
170
  justify-content: center;
151
- background: #F3F4F6;
152
- color: #6B7280;
171
+ background: ${(p) => p.theme.colors.neutral100};
172
+ color: ${(p) => p.theme.colors.neutral600};
153
173
  font-weight: 600;
154
174
  font-size: 15px;
155
175
  `;
@@ -319,26 +339,21 @@ const LicensePage = () => {
319
339
  /* @__PURE__ */ jsxRuntime.jsx(TierName, { variant: "beta", children: tier.name }),
320
340
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "baseline", gap: 1, children: [
321
341
  /* @__PURE__ */ jsxRuntime.jsx(TierPrice, { variant: "alpha", children: tier.price }),
322
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "omega", style: { color: "#6B7280" }, children: tier.period })
342
+ /* @__PURE__ */ jsxRuntime.jsx(PeriodText, { variant: "omega", children: tier.period })
323
343
  ] }),
324
344
  /* @__PURE__ */ jsxRuntime.jsx(TierDescription, { variant: "omega", children: tier.description }),
325
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { style: {
326
- background: "#F9FAFB",
327
- borderRadius: "8px",
328
- padding: "12px",
329
- marginBottom: "20px"
330
- }, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
331
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Typography, { variant: "pi", style: { fontSize: "13px" }, children: [
345
+ /* @__PURE__ */ jsxRuntime.jsx(LimitsBox, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
346
+ /* @__PURE__ */ jsxRuntime.jsxs(LimitText, { variant: "pi", children: [
332
347
  /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Authentication:" }),
333
348
  " ",
334
349
  tier.limits.authentication
335
350
  ] }),
336
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Typography, { variant: "pi", style: { fontSize: "13px" }, children: [
351
+ /* @__PURE__ */ jsxRuntime.jsxs(LimitText, { variant: "pi", children: [
337
352
  /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "MFA:" }),
338
353
  " ",
339
354
  tier.limits.mfa
340
355
  ] }),
341
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Typography, { variant: "pi", style: { fontSize: "13px" }, children: [
356
+ /* @__PURE__ */ jsxRuntime.jsxs(LimitText, { variant: "pi", children: [
342
357
  /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Support:" }),
343
358
  " ",
344
359
  tier.limits.support
@@ -346,18 +361,7 @@ const LicensePage = () => {
346
361
  ] }) }),
347
362
  /* @__PURE__ */ jsxRuntime.jsx(FeatureList, { children: tier.features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs(Feature, { children: [
348
363
  /* @__PURE__ */ jsxRuntime.jsx(FeatureIcon, { $included: feature.included, children: feature.included ? /* @__PURE__ */ jsxRuntime.jsx(icons.Check, { style: { width: 14, height: 14 } }) : /* @__PURE__ */ jsxRuntime.jsx(icons.Cross, { style: { width: 14, height: 14 } }) }),
349
- /* @__PURE__ */ jsxRuntime.jsx(
350
- designSystem.Typography,
351
- {
352
- variant: "omega",
353
- style: {
354
- fontSize: "14px",
355
- color: feature.included ? "#374151" : "#9CA3AF",
356
- textDecoration: feature.included ? "none" : "line-through"
357
- },
358
- children: feature.name
359
- }
360
- )
364
+ /* @__PURE__ */ jsxRuntime.jsx(FeatureText, { variant: "omega", $included: feature.included, children: feature.name })
361
365
  ] }, index)) }),
362
366
  currentTier === tier.id ? /* @__PURE__ */ jsxRuntime.jsx(CurrentPlanBadge, { children: "Current Plan" }) : /* @__PURE__ */ jsxRuntime.jsx(
363
367
  UpgradeButton,
@@ -21,14 +21,14 @@ const Title = styled(Typography)`
21
21
  font-size: 2.5rem;
22
22
  font-weight: 700;
23
23
  margin-bottom: 8px;
24
- background: linear-gradient(135deg, #0EA5E9, #A855F7);
24
+ background: linear-gradient(135deg, #4945ff, #7c3aed);
25
25
  -webkit-background-clip: text;
26
26
  -webkit-text-fill-color: transparent;
27
27
  display: block;
28
28
  `;
29
29
  const Subtitle = styled(Typography)`
30
30
  font-size: 1.125rem;
31
- color: #6B7280;
31
+ color: ${(p) => p.theme.colors.neutral600};
32
32
  line-height: 1.6;
33
33
  display: block;
34
34
  `;
@@ -45,24 +45,24 @@ const TierWrapper = styled(Box)`
45
45
  max-width: 340px;
46
46
  `;
47
47
  const TierCard = styled(Box)`
48
- background: white;
48
+ background: ${(p) => p.theme.colors.neutral0};
49
49
  border-radius: 16px;
50
50
  padding: 32px;
51
- border: 2px solid ${(props) => props.$featured ? "#0EA5E9" : "#E5E7EB"};
51
+ border: 2px solid ${(props) => props.$featured ? "#4945ff" : props.theme.colors.neutral200};
52
52
  position: relative;
53
53
  transition: all 0.3s ease;
54
- box-shadow: ${(props) => props.$featured ? "0 20px 25px -5px rgba(14, 165, 233, 0.25), 0 8px 10px -6px rgba(14, 165, 233, 0.2)" : "0 10px 15px -3px rgba(15, 23, 42, 0.08), 0 4px 6px -4px rgba(15, 23, 42, 0.05)"};
54
+ box-shadow: ${(props) => props.$featured ? "0 20px 25px -5px rgba(73, 69, 255, 0.25), 0 8px 10px -6px rgba(73, 69, 255, 0.2)" : "0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.05)"};
55
55
 
56
56
  &:hover {
57
57
  transform: translateY(-4px);
58
- box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.15), 0 8px 10px -6px rgba(15, 23, 42, 0.1);
58
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
59
59
  }
60
60
  `;
61
61
  const PopularBadge = styled(Badge)`
62
62
  position: absolute;
63
63
  top: -12px;
64
64
  right: 24px;
65
- background: linear-gradient(135deg, #0EA5E9, #0284C7);
65
+ background: linear-gradient(135deg, #4945ff, #4338ca);
66
66
  color: white;
67
67
  padding: 4px 16px;
68
68
  font-size: 12px;
@@ -88,16 +88,36 @@ const TierName = styled(Typography)`
88
88
  font-size: 1.5rem;
89
89
  font-weight: 700;
90
90
  margin-bottom: 8px;
91
+ color: ${(p) => p.theme.colors.neutral800};
91
92
  `;
92
93
  const TierPrice = styled(Typography)`
93
94
  font-size: 2rem;
94
95
  font-weight: 800;
95
96
  margin-bottom: 4px;
97
+ color: ${(p) => p.theme.colors.neutral800};
96
98
  `;
97
99
  const TierDescription = styled(Typography)`
98
- color: #6B7280;
100
+ color: ${(p) => p.theme.colors.neutral600};
99
101
  margin-bottom: 24px;
100
102
  `;
103
+ const LimitsBox = styled(Box)`
104
+ background: ${(p) => p.theme.colors.neutral100};
105
+ border-radius: 8px;
106
+ padding: 12px;
107
+ margin-bottom: 20px;
108
+ `;
109
+ const LimitText = styled(Typography)`
110
+ font-size: 13px;
111
+ color: ${(p) => p.theme.colors.neutral800};
112
+ `;
113
+ const PeriodText = styled(Typography)`
114
+ color: ${(p) => p.theme.colors.neutral600};
115
+ `;
116
+ const FeatureText = styled(Typography)`
117
+ font-size: 14px;
118
+ color: ${(p) => p.$included ? p.theme.colors.neutral800 : p.theme.colors.neutral500};
119
+ text-decoration: ${(p) => p.$included ? "none" : "line-through"};
120
+ `;
101
121
  const FeatureList = styled(Box)`
102
122
  margin-bottom: 24px;
103
123
  `;
@@ -117,10 +137,10 @@ const FeatureIcon = styled(Box)`
117
137
  margin-top: 2px;
118
138
 
119
139
  ${(props) => props.$included ? `
120
- background: #DCFCE7;
140
+ background: rgba(34, 197, 94, 0.15);
121
141
  svg { color: #16A34A; }
122
142
  ` : `
123
- background: #FEE2E2;
143
+ background: rgba(220, 38, 38, 0.12);
124
144
  svg { color: #DC2626; }
125
145
  `}
126
146
  `;
@@ -144,8 +164,8 @@ const CurrentPlanBadge = styled(Badge)`
144
164
  display: flex;
145
165
  align-items: center;
146
166
  justify-content: center;
147
- background: #F3F4F6;
148
- color: #6B7280;
167
+ background: ${(p) => p.theme.colors.neutral100};
168
+ color: ${(p) => p.theme.colors.neutral600};
149
169
  font-weight: 600;
150
170
  font-size: 15px;
151
171
  `;
@@ -315,26 +335,21 @@ const LicensePage = () => {
315
335
  /* @__PURE__ */ jsx(TierName, { variant: "beta", children: tier.name }),
316
336
  /* @__PURE__ */ jsxs(Flex, { alignItems: "baseline", gap: 1, children: [
317
337
  /* @__PURE__ */ jsx(TierPrice, { variant: "alpha", children: tier.price }),
318
- /* @__PURE__ */ jsx(Typography, { variant: "omega", style: { color: "#6B7280" }, children: tier.period })
338
+ /* @__PURE__ */ jsx(PeriodText, { variant: "omega", children: tier.period })
319
339
  ] }),
320
340
  /* @__PURE__ */ jsx(TierDescription, { variant: "omega", children: tier.description }),
321
- /* @__PURE__ */ jsx(Box, { style: {
322
- background: "#F9FAFB",
323
- borderRadius: "8px",
324
- padding: "12px",
325
- marginBottom: "20px"
326
- }, children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 2, children: [
327
- /* @__PURE__ */ jsxs(Typography, { variant: "pi", style: { fontSize: "13px" }, children: [
341
+ /* @__PURE__ */ jsx(LimitsBox, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 2, children: [
342
+ /* @__PURE__ */ jsxs(LimitText, { variant: "pi", children: [
328
343
  /* @__PURE__ */ jsx("strong", { children: "Authentication:" }),
329
344
  " ",
330
345
  tier.limits.authentication
331
346
  ] }),
332
- /* @__PURE__ */ jsxs(Typography, { variant: "pi", style: { fontSize: "13px" }, children: [
347
+ /* @__PURE__ */ jsxs(LimitText, { variant: "pi", children: [
333
348
  /* @__PURE__ */ jsx("strong", { children: "MFA:" }),
334
349
  " ",
335
350
  tier.limits.mfa
336
351
  ] }),
337
- /* @__PURE__ */ jsxs(Typography, { variant: "pi", style: { fontSize: "13px" }, children: [
352
+ /* @__PURE__ */ jsxs(LimitText, { variant: "pi", children: [
338
353
  /* @__PURE__ */ jsx("strong", { children: "Support:" }),
339
354
  " ",
340
355
  tier.limits.support
@@ -342,18 +357,7 @@ const LicensePage = () => {
342
357
  ] }) }),
343
358
  /* @__PURE__ */ jsx(FeatureList, { children: tier.features.map((feature, index) => /* @__PURE__ */ jsxs(Feature, { children: [
344
359
  /* @__PURE__ */ jsx(FeatureIcon, { $included: feature.included, children: feature.included ? /* @__PURE__ */ jsx(Check, { style: { width: 14, height: 14 } }) : /* @__PURE__ */ jsx(Cross, { style: { width: 14, height: 14 } }) }),
345
- /* @__PURE__ */ jsx(
346
- Typography,
347
- {
348
- variant: "omega",
349
- style: {
350
- fontSize: "14px",
351
- color: feature.included ? "#374151" : "#9CA3AF",
352
- textDecoration: feature.included ? "none" : "line-through"
353
- },
354
- children: feature.name
355
- }
356
- )
360
+ /* @__PURE__ */ jsx(FeatureText, { variant: "omega", $included: feature.included, children: feature.name })
357
361
  ] }, index)) }),
358
362
  currentTier === tier.id ? /* @__PURE__ */ jsx(CurrentPlanBadge, { children: "Current Plan" }) : /* @__PURE__ */ jsx(
359
363
  UpgradeButton,
@@ -7,8 +7,8 @@ const reactIntl = require("react-intl");
7
7
  const designSystem = require("@strapi/design-system");
8
8
  const icons = require("@strapi/icons");
9
9
  const admin = require("@strapi/strapi/admin");
10
- const index = require("./index-CKTfFcY_.js");
11
- const LicenseGuard = require("./LicenseGuard-BEEd9IpN.js");
10
+ const index = require("./index-DJQQdmfZ.js");
11
+ const LicenseGuard = require("./LicenseGuard-DqyOwTlf.js");
12
12
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
13
13
  const styled__default = /* @__PURE__ */ _interopDefault(styled);
14
14
  const EMAIL_TEMPLATES = {
@@ -5,7 +5,7 @@ import { useIntl } from "react-intl";
5
5
  import { Flex, Loader, Box, Typography, Button, TextInput, Badge } from "@strapi/design-system";
6
6
  import { Phone, Check, Message, ArrowClockwise } from "@strapi/icons";
7
7
  import { useNotification, useFetchClient } from "@strapi/strapi/admin";
8
- import { g as getTrad } from "./index-BgpjdW58.mjs";
8
+ import { g as getTrad } from "./index-XzZ9gY5b.mjs";
9
9
  const theme = {
10
10
  colors: {
11
11
  primary: { 700: "#075985", 100: "#E0F2FE", 50: "#F0F9FF" },
@@ -5,8 +5,8 @@ import { useIntl } from "react-intl";
5
5
  import { Box, Typography, Flex, Button, Accordion, SingleSelect, SingleSelectOption, Grid, Switch, NumberInput, TextInput, Divider, Textarea, Badge } from "@strapi/design-system";
6
6
  import { Check, Cog, Lightning, Shield, Mail, CheckCircle, Code, Link, Lock, Key } from "@strapi/icons";
7
7
  import { useNotification, useFetchClient } from "@strapi/strapi/admin";
8
- import { g as getTrad } from "./index-BgpjdW58.mjs";
9
- import { u as usePluginLanguage, L as LicenseGuard, a as LanguageProvider } from "./LicenseGuard-B_r3b1Vh.mjs";
8
+ import { g as getTrad } from "./index-XzZ9gY5b.mjs";
9
+ import { u as usePluginLanguage, L as LicenseGuard, a as LanguageProvider } from "./LicenseGuard-5sMwgS6j.mjs";
10
10
  const EMAIL_TEMPLATES = {
11
11
  modern: {
12
12
  name: "Modern Gradient",
@@ -60,7 +60,7 @@ const index = {
60
60
  },
61
61
  Component: () => Promise.resolve().then(() => require(
62
62
  /* webpackChunkName: "magic-link-tokens" */
63
- "./index-B2xZYpX4.js"
63
+ "./index-DsBgtATx.js"
64
64
  )),
65
65
  permissions: []
66
66
  // Leeres Array = keine Permission-Prüfung nötig
@@ -83,7 +83,7 @@ const index = {
83
83
  to: `${PLUGIN_ID}/config`,
84
84
  Component: () => Promise.resolve().then(() => require(
85
85
  /* webpackChunkName: "magic-link-settings" */
86
- "./index-DvhGDDc6.js"
86
+ "./index-B2-UNgqO.js"
87
87
  )),
88
88
  permissions: pluginPermissions.readSettings
89
89
  },
@@ -109,7 +109,7 @@ const index = {
109
109
  to: `${PLUGIN_ID}/upgrade`,
110
110
  Component: () => Promise.resolve().then(() => require(
111
111
  /* webpackChunkName: "magic-link-upgrade" */
112
- "./LicensePage-zvD9SEpq.js"
112
+ "./LicensePage-2M-vOJX8.js"
113
113
  )),
114
114
  permissions: []
115
115
  },
@@ -122,7 +122,7 @@ const index = {
122
122
  to: `${PLUGIN_ID}/whatsapp`,
123
123
  Component: () => Promise.resolve().then(() => require(
124
124
  /* webpackChunkName: "magic-link-whatsapp" */
125
- "./index-D4H9YZpN.js"
125
+ "./index-DLQHbyQZ.js"
126
126
  )),
127
127
  permissions: []
128
128
  }
@@ -7,7 +7,7 @@ const reactIntl = require("react-intl");
7
7
  const designSystem = require("@strapi/design-system");
8
8
  const icons = require("@strapi/icons");
9
9
  const admin = require("@strapi/strapi/admin");
10
- const index = require("./index-CKTfFcY_.js");
10
+ const index = require("./index-DJQQdmfZ.js");
11
11
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
12
12
  const styled__default = /* @__PURE__ */ _interopDefault(styled);
13
13
  const theme = {
@@ -7,9 +7,9 @@ const styled = require("styled-components");
7
7
  const reactIntl = require("react-intl");
8
8
  const designSystem = require("@strapi/design-system");
9
9
  const icons = require("@strapi/icons");
10
- const index = require("./index-CKTfFcY_.js");
10
+ const index = require("./index-DJQQdmfZ.js");
11
11
  const admin = require("@strapi/strapi/admin");
12
- const LicenseGuard = require("./LicenseGuard-BEEd9IpN.js");
12
+ const LicenseGuard = require("./LicenseGuard-DqyOwTlf.js");
13
13
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
14
14
  const styled__default = /* @__PURE__ */ _interopDefault(styled);
15
15
  const CreateTokenModal = ({ isOpen, onClose, onSubmit, formData, setFormData }) => {
@@ -5,9 +5,9 @@ import styled, { keyframes, css } from "styled-components";
5
5
  import { useIntl } from "react-intl";
6
6
  import { Box, Flex, Typography, Button, TextInput, Textarea, Checkbox, IconButton, Loader, Searchbar, SingleSelect, SingleSelectOption, Thead, Tr, Th, Tbody, Td, Pagination, PreviousLink, PageLink, NextLink, Table, Badge, VisuallyHidden, Main } from "@strapi/design-system";
7
7
  import { Cross, Sparkle, Check, Shield, Clock, Lock, Trash, ArrowClockwise, CaretDown, User, Monitor, Calendar, Plus, Earth, WarningCircle, Server, Eye, Mail, Cog, Key, Link } from "@strapi/icons";
8
- import { g as getTrad, P as PLUGIN_ID } from "./index-BgpjdW58.mjs";
8
+ import { g as getTrad, P as PLUGIN_ID } from "./index-XzZ9gY5b.mjs";
9
9
  import { useFetchClient, useNotification } from "@strapi/strapi/admin";
10
- import { L as LicenseGuard, a as LanguageProvider } from "./LicenseGuard-B_r3b1Vh.mjs";
10
+ import { L as LicenseGuard, a as LanguageProvider } from "./LicenseGuard-5sMwgS6j.mjs";
11
11
  const CreateTokenModal = ({ isOpen, onClose, onSubmit, formData, setFormData }) => {
12
12
  const { formatMessage } = useIntl();
13
13
  const [contextText, setContextText] = useState("");
@@ -59,7 +59,7 @@ const index = {
59
59
  },
60
60
  Component: () => import(
61
61
  /* webpackChunkName: "magic-link-tokens" */
62
- "./index-JV5Cw7Sp.mjs"
62
+ "./index-FtAOFA-A.mjs"
63
63
  ),
64
64
  permissions: []
65
65
  // Leeres Array = keine Permission-Prüfung nötig
@@ -82,7 +82,7 @@ const index = {
82
82
  to: `${PLUGIN_ID}/config`,
83
83
  Component: () => import(
84
84
  /* webpackChunkName: "magic-link-settings" */
85
- "./index-CElXiYhz.mjs"
85
+ "./index-D4iiJVPc.mjs"
86
86
  ),
87
87
  permissions: pluginPermissions.readSettings
88
88
  },
@@ -108,7 +108,7 @@ const index = {
108
108
  to: `${PLUGIN_ID}/upgrade`,
109
109
  Component: () => import(
110
110
  /* webpackChunkName: "magic-link-upgrade" */
111
- "./LicensePage-DxTqY1Qq.mjs"
111
+ "./LicensePage-CCNW2hT6.mjs"
112
112
  ),
113
113
  permissions: []
114
114
  },
@@ -121,7 +121,7 @@ const index = {
121
121
  to: `${PLUGIN_ID}/whatsapp`,
122
122
  Component: () => import(
123
123
  /* webpackChunkName: "magic-link-whatsapp" */
124
- "./index-DE3ezoyh.mjs"
124
+ "./index-BLVWydMU.mjs"
125
125
  ),
126
126
  permissions: []
127
127
  }
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const index = require("../_chunks/index-CKTfFcY_.js");
2
+ const index = require("../_chunks/index-DJQQdmfZ.js");
3
3
  require("@strapi/icons");
4
4
  module.exports = index.index;
@@ -1,4 +1,4 @@
1
- import { i } from "../_chunks/index-BgpjdW58.mjs";
1
+ import { i } from "../_chunks/index-XzZ9gY5b.mjs";
2
2
  import "@strapi/icons";
3
3
  export {
4
4
  i as default
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "5.3.17",
2
+ "version": "5.3.19",
3
3
  "keywords": [],
4
4
  "type": "commonjs",
5
5
  "exports": {
@@ -45,7 +45,7 @@
45
45
  "@semantic-release/npm": "^13.1.2",
46
46
  "@semantic-release/release-notes-generator": "^14.0.1",
47
47
  "@strapi/sdk-plugin": "^5.4.0",
48
- "@strapi/strapi": "^5.33.0",
48
+ "@strapi/strapi": "^5.36.0",
49
49
  "@vitejs/plugin-react": "^4.3.4",
50
50
  "fs-extra": "^11.3.0",
51
51
  "prettier": "^3.5.3",
@@ -59,7 +59,7 @@
59
59
  "peerDependencies": {
60
60
  "@strapi/design-system": "^2.0.0",
61
61
  "@strapi/icons": "^2.0.0",
62
- "@strapi/strapi": "^5.33.0",
62
+ "@strapi/strapi": "^5.36.0",
63
63
  "formik": "^2.4.5",
64
64
  "prop-types": "^15.8.1",
65
65
  "react": "^18.3.1",
@@ -88,5 +88,8 @@
88
88
  "bugs": {
89
89
  "url": "https://github.com/Schero94/strapi-plugin-magic-link-v5/issues"
90
90
  },
91
- "homepage": "https://github.com/Schero94/strapi-plugin-magic-link-v5#readme"
91
+ "homepage": "https://github.com/Schero94/strapi-plugin-magic-link-v5#readme",
92
+ "overrides": {
93
+ "libsignal": "npm:@baileys-md/libsignal@2.0.1"
94
+ }
92
95
  }