@jjlmoya/utils-tools 1.8.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/package.json +7 -4
  2. package/scripts/postinstall.mjs +27 -0
  3. package/src/entries.ts +26 -0
  4. package/src/tool/date-diff-calculator/component.astro +0 -200
  5. package/src/tool/date-diff-calculator/date-difference-calculator.css +198 -0
  6. package/src/tool/date-diff-calculator/entry.ts +24 -0
  7. package/src/tool/date-diff-calculator/index.ts +2 -25
  8. package/src/tool/drive-direct-link/component.astro +0 -173
  9. package/src/tool/drive-direct-link/entry.ts +24 -0
  10. package/src/tool/drive-direct-link/google-drive-direct-download-link.css +171 -0
  11. package/src/tool/drive-direct-link/index.ts +2 -25
  12. package/src/tool/email-list-cleaner/component.astro +0 -204
  13. package/src/tool/email-list-cleaner/email-list-cleaner.css +202 -0
  14. package/src/tool/email-list-cleaner/entry.ts +24 -0
  15. package/src/tool/email-list-cleaner/index.ts +2 -25
  16. package/src/tool/env-badge-spain/component.astro +0 -156
  17. package/src/tool/env-badge-spain/entry.ts +24 -0
  18. package/src/tool/env-badge-spain/environmental-badge-simulator-spain.css +154 -0
  19. package/src/tool/env-badge-spain/index.ts +2 -25
  20. package/src/tool/morse-beacon/component.astro +0 -298
  21. package/src/tool/morse-beacon/entry.ts +24 -0
  22. package/src/tool/morse-beacon/index.ts +2 -25
  23. package/src/tool/morse-beacon/morse-beacon.css +296 -0
  24. package/src/tool/password-generator/component.astro +0 -88
  25. package/src/tool/password-generator/entry.ts +24 -0
  26. package/src/tool/password-generator/index.ts +2 -25
  27. package/src/tool/password-generator/password-generator.css +86 -0
  28. package/src/tool/routes/component.astro +0 -254
  29. package/src/tool/routes/entry.ts +24 -0
  30. package/src/tool/routes/index.ts +2 -25
  31. package/src/tool/routes/optimal-routes.css +252 -0
  32. package/src/tool/rule-of-three/component.astro +0 -249
  33. package/src/tool/rule-of-three/entry.ts +24 -0
  34. package/src/tool/rule-of-three/index.ts +2 -25
  35. package/src/tool/rule-of-three/rule-of-three.css +247 -0
  36. package/src/tool/seo-content-optimizer/component.astro +0 -278
  37. package/src/tool/seo-content-optimizer/entry.ts +24 -0
  38. package/src/tool/seo-content-optimizer/index.ts +2 -25
  39. package/src/tool/seo-content-optimizer/seo-content-optimizer.css +276 -0
  40. package/src/tool/speed-reader/component.astro +0 -400
  41. package/src/tool/speed-reader/entry.ts +24 -0
  42. package/src/tool/speed-reader/index.ts +2 -25
  43. package/src/tool/speed-reader/speed-reader.css +398 -0
  44. package/src/tool/text-pixel-calculator/component.astro +0 -96
  45. package/src/tool/text-pixel-calculator/entry.ts +24 -0
  46. package/src/tool/text-pixel-calculator/index.ts +2 -25
  47. package/src/tool/text-pixel-calculator/text-pixel-width-calculator.css +94 -0
  48. package/src/tool/whatsapp-link/component.astro +0 -264
  49. package/src/tool/whatsapp-link/entry.ts +24 -0
  50. package/src/tool/whatsapp-link/index.ts +2 -25
  51. package/src/tool/whatsapp-link/whatsapp-link-generator.css +262 -0
  52. package/src/tools.ts +1 -1
@@ -0,0 +1,202 @@
1
+ .elc-root {
2
+ --elc-indigo: #6366f1;
3
+ --elc-indigo-dark: #4f46e5;
4
+ --elc-purple: #a855f7;
5
+ --elc-green: #10b981;
6
+ --elc-rose: #f43f5e;
7
+ --elc-card-bg: rgba(255, 255, 255, 0.7);
8
+ --elc-card-border: rgba(255, 255, 255, 0.4);
9
+ --elc-field-bg: #fff;
10
+ --elc-field-border: #e2e8f0;
11
+ --elc-text-main: #1e293b;
12
+ --elc-text-label: #64748b;
13
+ --elc-result-bg: rgba(99, 102, 241, 0.05);
14
+ --elc-divider: #e2e8f0;
15
+ --elc-stat-bg: rgba(255, 255, 255, 0.5);
16
+ --elc-stat-border: rgba(255, 255, 255, 0.4);
17
+
18
+ width: 100%;
19
+ max-width: 860px;
20
+ margin: 0 auto;
21
+ }
22
+
23
+ :global(.theme-dark) .elc-root {
24
+ --elc-card-bg: rgba(15, 23, 42, 0.6);
25
+ --elc-card-border: rgba(255, 255, 255, 0.1);
26
+ --elc-field-bg: #1e293b;
27
+ --elc-field-border: #334155;
28
+ --elc-text-main: #f1f5f9;
29
+ --elc-text-label: #94a3b8;
30
+ --elc-result-bg: rgba(99, 102, 241, 0.08);
31
+ --elc-divider: #334155;
32
+ --elc-stat-bg: rgba(30, 41, 59, 0.4);
33
+ --elc-stat-border: rgba(255, 255, 255, 0.1);
34
+ }
35
+
36
+ .elc-card {
37
+ background: var(--elc-card-bg);
38
+ backdrop-filter: blur(12px);
39
+ border: 1px solid var(--elc-card-border);
40
+ border-radius: 1.5rem;
41
+ padding: 2.5rem;
42
+ box-shadow: 0 8px 32px rgba(99, 102, 241, 0.1);
43
+ display: flex;
44
+ flex-direction: column;
45
+ gap: 2rem;
46
+ }
47
+
48
+ .elc-field {
49
+ display: flex;
50
+ flex-direction: column;
51
+ gap: 0.75rem;
52
+ }
53
+
54
+ .elc-label-row {
55
+ display: flex;
56
+ justify-content: space-between;
57
+ align-items: center;
58
+ }
59
+
60
+ .elc-label {
61
+ font-size: 0.8125rem;
62
+ font-weight: 700;
63
+ color: var(--elc-text-label);
64
+ text-transform: uppercase;
65
+ letter-spacing: 0.05em;
66
+ }
67
+
68
+ .elc-badge {
69
+ font-size: 0.75rem;
70
+ font-weight: 600;
71
+ background: rgba(99, 102, 241, 0.1);
72
+ color: var(--elc-indigo);
73
+ padding: 0.2rem 0.65rem;
74
+ border-radius: 99px;
75
+ }
76
+
77
+ .elc-textarea {
78
+ width: 100%;
79
+ min-height: 220px;
80
+ padding: 1rem 1.25rem;
81
+ border-radius: 1rem;
82
+ border: 2px solid var(--elc-field-border);
83
+ background: var(--elc-field-bg);
84
+ color: var(--elc-text-main);
85
+ font-size: 0.9375rem;
86
+ resize: vertical;
87
+ outline: none;
88
+ transition: border-color 0.2s;
89
+ box-sizing: border-box;
90
+ }
91
+
92
+ .elc-textarea:focus {
93
+ border-color: var(--elc-indigo);
94
+ box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1);
95
+ }
96
+
97
+ .elc-textarea-result {
98
+ min-height: 180px;
99
+ background: var(--elc-result-bg);
100
+ }
101
+
102
+ .elc-actions {
103
+ display: flex;
104
+ gap: 0.75rem;
105
+ flex-wrap: wrap;
106
+ }
107
+
108
+ .elc-btn {
109
+ display: flex;
110
+ align-items: center;
111
+ gap: 0.5rem;
112
+ padding: 0.75rem 1.375rem;
113
+ border-radius: 0.75rem;
114
+ font-size: 0.9375rem;
115
+ font-weight: 700;
116
+ border: none;
117
+ cursor: pointer;
118
+ transition: all 0.2s;
119
+ }
120
+
121
+ .elc-btn-primary {
122
+ background: linear-gradient(135deg, var(--elc-indigo), var(--elc-purple));
123
+ color: #fff;
124
+ }
125
+
126
+ .elc-btn-primary:hover {
127
+ transform: translateY(-2px);
128
+ box-shadow: 0 10px 15px -3px rgba(99, 102, 241, 0.4);
129
+ }
130
+
131
+ .elc-btn-secondary {
132
+ background: rgba(99, 102, 241, 0.1);
133
+ color: var(--elc-indigo);
134
+ }
135
+
136
+ .elc-btn-secondary:hover {
137
+ background: rgba(99, 102, 241, 0.2);
138
+ }
139
+
140
+ .elc-results {
141
+ flex-direction: column;
142
+ gap: 1.5rem;
143
+ border-top: 2px dashed var(--elc-divider);
144
+ padding-top: 2rem;
145
+ }
146
+
147
+ .elc-stats {
148
+ display: grid;
149
+ grid-template-columns: repeat(3, 1fr);
150
+ gap: 1rem;
151
+ }
152
+
153
+ .elc-stat {
154
+ background: var(--elc-stat-bg);
155
+ border: 1px solid var(--elc-stat-border);
156
+ border-radius: 1rem;
157
+ padding: 1.25rem;
158
+ display: flex;
159
+ flex-direction: column;
160
+ align-items: center;
161
+ gap: 0.25rem;
162
+ }
163
+
164
+ .elc-stat-value {
165
+ font-size: 1.75rem;
166
+ font-weight: 800;
167
+ color: var(--elc-indigo);
168
+ }
169
+
170
+ .elc-stat-removed {
171
+ color: var(--elc-rose);
172
+ }
173
+
174
+ .elc-stat-clean {
175
+ color: var(--elc-green);
176
+ }
177
+
178
+ .elc-stat-label {
179
+ font-size: 0.75rem;
180
+ font-weight: 700;
181
+ color: var(--elc-text-label);
182
+ text-transform: uppercase;
183
+ letter-spacing: 0.04em;
184
+ }
185
+
186
+ @media (max-width: 640px) {
187
+ .elc-card {
188
+ padding: 1.5rem;
189
+ }
190
+
191
+ .elc-stats {
192
+ grid-template-columns: 1fr;
193
+ }
194
+
195
+ .elc-actions {
196
+ flex-direction: column;
197
+ }
198
+
199
+ .elc-btn {
200
+ justify-content: center;
201
+ }
202
+ }
@@ -0,0 +1,24 @@
1
+ import type { ToolsToolEntry } from '../../types';
2
+ import type { EmailListCleanerUI } from './ui';
3
+
4
+ export const emailListCleaner: ToolsToolEntry<EmailListCleanerUI> = {
5
+ id: 'email-list-cleaner',
6
+ icons: { bg: 'mdi:email-check-outline', fg: 'mdi:email-remove' },
7
+ i18n: {
8
+ es: () => import('./i18n/es').then((m) => m.content),
9
+ en: () => import('./i18n/en').then((m) => m.content),
10
+ fr: () => import('./i18n/fr').then((m) => m.content),
11
+ de: () => import('./i18n/de').then((m) => m.content),
12
+ it: () => import('./i18n/it').then((m) => m.content),
13
+ pt: () => import('./i18n/pt').then((m) => m.content),
14
+ nl: () => import('./i18n/nl').then((m) => m.content),
15
+ pl: () => import('./i18n/pl').then((m) => m.content),
16
+ tr: () => import('./i18n/tr').then((m) => m.content),
17
+ id: () => import('./i18n/id').then((m) => m.content),
18
+ sv: () => import('./i18n/sv').then((m) => m.content),
19
+ ru: () => import('./i18n/ru').then((m) => m.content),
20
+ ja: () => import('./i18n/ja').then((m) => m.content),
21
+ ko: () => import('./i18n/ko').then((m) => m.content),
22
+ zh: () => import('./i18n/zh').then((m) => m.content),
23
+ },
24
+ };
@@ -1,28 +1,5 @@
1
- import type { ToolDefinition, ToolsToolEntry } from '../../types';
2
- import type { EmailListCleanerUI } from './ui';
3
-
4
- export const emailListCleaner: ToolsToolEntry<EmailListCleanerUI> = {
5
- id: 'email-list-cleaner',
6
- icons: { bg: 'mdi:email-check-outline', fg: 'mdi:email-remove' },
7
- i18n: {
8
- es: () => import('./i18n/es').then((m) => m.content),
9
- en: () => import('./i18n/en').then((m) => m.content),
10
- fr: () => import('./i18n/fr').then((m) => m.content),
11
- de: () => import('./i18n/de').then((m) => m.content),
12
- it: () => import('./i18n/it').then((m) => m.content),
13
- pt: () => import('./i18n/pt').then((m) => m.content),
14
- nl: () => import('./i18n/nl').then((m) => m.content),
15
- pl: () => import('./i18n/pl').then((m) => m.content),
16
- tr: () => import('./i18n/tr').then((m) => m.content),
17
- id: () => import('./i18n/id').then((m) => m.content),
18
- sv: () => import('./i18n/sv').then((m) => m.content),
19
- ru: () => import('./i18n/ru').then((m) => m.content),
20
- ja: () => import('./i18n/ja').then((m) => m.content),
21
- ko: () => import('./i18n/ko').then((m) => m.content),
22
- zh: () => import('./i18n/zh').then((m) => m.content),
23
- },
24
- };
25
-
1
+ import { emailListCleaner } from './entry';
2
+ export * from './entry';
26
3
  export const EMAIL_LIST_CLEANER_TOOL: ToolDefinition = {
27
4
  entry: emailListCleaner,
28
5
  Component: () => import('./component.astro'),
@@ -18,162 +18,6 @@ const t = (ui ?? {}) as EnvBadgeSpainUI;
18
18
  </div>
19
19
  </div>
20
20
 
21
- <style>
22
- .deb-root {
23
- --deb-bg: #f8fafc;
24
- --deb-card-bg: #fff;
25
- --deb-card-border: #e2e8f0;
26
- --deb-text-main: #1e293b;
27
- --deb-text-muted: #64748b;
28
- --deb-text-sub: #475569;
29
- --deb-label-border: #e2e8f0;
30
- --deb-option-bg: #f1f5f9;
31
- --deb-option-border: #e2e8f0;
32
- --deb-option-hover: #e2e8f0;
33
- --deb-result-bg: #fff;
34
-
35
- width: 100%;
36
- max-width: 720px;
37
- margin: 0 auto;
38
- }
39
-
40
- :global(.theme-dark) .deb-root {
41
- --deb-bg: #0f172a;
42
- --deb-card-bg: #1e293b;
43
- --deb-card-border: rgba(255, 255, 255, 0.08);
44
- --deb-text-main: #f8fafc;
45
- --deb-text-muted: #94a3b8;
46
- --deb-text-sub: #cbd5e1;
47
- --deb-label-border: rgba(255, 255, 255, 0.1);
48
- --deb-option-bg: rgba(15, 23, 42, 0.5);
49
- --deb-option-border: rgba(255, 255, 255, 0.1);
50
- --deb-option-hover: rgba(255, 255, 255, 0.05);
51
- --deb-result-bg: rgba(15, 23, 42, 0.3);
52
- }
53
-
54
- .deb-main-container {
55
- background: var(--deb-card-bg);
56
- border: 1px solid var(--deb-card-border);
57
- border-radius: 2rem;
58
- padding: 2.5rem;
59
- box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
60
- }
61
-
62
- @media (max-width: 640px) {
63
- .deb-main-container {
64
- padding: 1.5rem;
65
- border-radius: 1.5rem;
66
- }
67
- }
68
-
69
- :global(.deb-badge-display h3) {
70
- font-size: 1.5rem;
71
- margin: 0;
72
- color: var(--deb-text-main);
73
- font-weight: 800;
74
- }
75
-
76
- :global(.deb-replica) {
77
- width: 200px;
78
- height: 200px;
79
- border-radius: 50%;
80
- border: 6px solid #111;
81
- position: relative;
82
- display: flex;
83
- flex-direction: column;
84
- justify-content: center;
85
- align-items: center;
86
- overflow: hidden;
87
- background: #fff;
88
- box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
89
- }
90
-
91
- :global(.deb-replica)::after {
92
- content: "DGT";
93
- position: absolute;
94
- top: 25px;
95
- right: 35px;
96
- font-size: 1.125rem;
97
- font-weight: 900;
98
- color: #000;
99
- opacity: 0.6;
100
- letter-spacing: -1px;
101
- z-index: 10;
102
- }
103
-
104
- :global(.deb-big-letter) {
105
- font-size: 7rem;
106
- font-weight: 900;
107
- line-height: 1;
108
- z-index: 2;
109
- margin-top: 15px;
110
- }
111
-
112
- :global(.deb-sub-text) {
113
- font-size: 1rem;
114
- font-weight: 800;
115
- text-transform: uppercase;
116
- z-index: 2;
117
- margin-top: -5px;
118
- }
119
-
120
- :global(.deb-replica-0) {
121
- background: #005aa3;
122
- color: #fff;
123
- }
124
-
125
- :global(.deb-replica-0)::after {
126
- color: #fff;
127
- opacity: 0.9;
128
- }
129
-
130
- :global(.deb-replica-eco) {
131
- background: linear-gradient(90deg, #00a455 50%, #005aa3 50%);
132
- color: #fff;
133
- }
134
-
135
- :global(.deb-replica-eco)::after {
136
- color: #fff;
137
- opacity: 0.9;
138
- }
139
-
140
- :global(.deb-replica-eco) :global(.deb-big-letter) {
141
- font-size: 5rem;
142
- margin-top: 25px;
143
- }
144
-
145
- :global(.deb-replica-c) {
146
- background: #00a455;
147
- color: #000;
148
- }
149
-
150
- :global(.deb-replica-c) :global(.deb-sub-text) { display: none; }
151
-
152
- :global(.deb-replica-b) {
153
- background: #ffdf00;
154
- color: #000;
155
- }
156
-
157
- :global(.deb-replica-b) :global(.deb-sub-text) { display: none; }
158
-
159
- :global(.deb-replica-a) {
160
- width: 200px;
161
- height: 120px;
162
- border-radius: 1rem;
163
- border: 6px solid #dc2626;
164
- background: #fff;
165
- color: #dc2626;
166
- display: flex;
167
- flex-direction: column;
168
- justify-content: center;
169
- align-items: center;
170
- }
171
-
172
- :global(.deb-replica-a) :global(.deb-big-letter) {
173
- font-size: 4rem;
174
- margin-top: 0;
175
- }
176
- </style>
177
21
 
178
22
  <script>
179
23
  import type { EnvBadgeSpainUI } from './ui';
@@ -0,0 +1,24 @@
1
+ import type { ToolsToolEntry } from '../../types';
2
+ import type { EnvBadgeSpainUI } from './ui';
3
+
4
+ export const envBadgeSpain: ToolsToolEntry<EnvBadgeSpainUI> = {
5
+ id: 'env-badge-spain',
6
+ icons: { bg: 'mdi:car-info', fg: 'mdi:leaf' },
7
+ i18n: {
8
+ es: () => import('./i18n/es').then((m) => m.content),
9
+ en: () => import('./i18n/en').then((m) => m.content),
10
+ fr: () => import('./i18n/fr').then((m) => m.content),
11
+ de: () => import('./i18n/de').then((m) => m.content),
12
+ it: () => import('./i18n/it').then((m) => m.content),
13
+ pt: () => import('./i18n/pt').then((m) => m.content),
14
+ nl: () => import('./i18n/nl').then((m) => m.content),
15
+ pl: () => import('./i18n/pl').then((m) => m.content),
16
+ tr: () => import('./i18n/tr').then((m) => m.content),
17
+ id: () => import('./i18n/id').then((m) => m.content),
18
+ sv: () => import('./i18n/sv').then((m) => m.content),
19
+ ru: () => import('./i18n/ru').then((m) => m.content),
20
+ ja: () => import('./i18n/ja').then((m) => m.content),
21
+ ko: () => import('./i18n/ko').then((m) => m.content),
22
+ zh: () => import('./i18n/zh').then((m) => m.content),
23
+ },
24
+ };
@@ -0,0 +1,154 @@
1
+ .deb-root {
2
+ --deb-bg: #f8fafc;
3
+ --deb-card-bg: #fff;
4
+ --deb-card-border: #e2e8f0;
5
+ --deb-text-main: #1e293b;
6
+ --deb-text-muted: #64748b;
7
+ --deb-text-sub: #475569;
8
+ --deb-label-border: #e2e8f0;
9
+ --deb-option-bg: #f1f5f9;
10
+ --deb-option-border: #e2e8f0;
11
+ --deb-option-hover: #e2e8f0;
12
+ --deb-result-bg: #fff;
13
+
14
+ width: 100%;
15
+ max-width: 720px;
16
+ margin: 0 auto;
17
+ }
18
+
19
+ :global(.theme-dark) .deb-root {
20
+ --deb-bg: #0f172a;
21
+ --deb-card-bg: #1e293b;
22
+ --deb-card-border: rgba(255, 255, 255, 0.08);
23
+ --deb-text-main: #f8fafc;
24
+ --deb-text-muted: #94a3b8;
25
+ --deb-text-sub: #cbd5e1;
26
+ --deb-label-border: rgba(255, 255, 255, 0.1);
27
+ --deb-option-bg: rgba(15, 23, 42, 0.5);
28
+ --deb-option-border: rgba(255, 255, 255, 0.1);
29
+ --deb-option-hover: rgba(255, 255, 255, 0.05);
30
+ --deb-result-bg: rgba(15, 23, 42, 0.3);
31
+ }
32
+
33
+ .deb-main-container {
34
+ background: var(--deb-card-bg);
35
+ border: 1px solid var(--deb-card-border);
36
+ border-radius: 2rem;
37
+ padding: 2.5rem;
38
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
39
+ }
40
+
41
+ @media (max-width: 640px) {
42
+ .deb-main-container {
43
+ padding: 1.5rem;
44
+ border-radius: 1.5rem;
45
+ }
46
+ }
47
+
48
+ :global(.deb-badge-display h3) {
49
+ font-size: 1.5rem;
50
+ margin: 0;
51
+ color: var(--deb-text-main);
52
+ font-weight: 800;
53
+ }
54
+
55
+ :global(.deb-replica) {
56
+ width: 200px;
57
+ height: 200px;
58
+ border-radius: 50%;
59
+ border: 6px solid #111;
60
+ position: relative;
61
+ display: flex;
62
+ flex-direction: column;
63
+ justify-content: center;
64
+ align-items: center;
65
+ overflow: hidden;
66
+ background: #fff;
67
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
68
+ }
69
+
70
+ :global(.deb-replica)::after {
71
+ content: "DGT";
72
+ position: absolute;
73
+ top: 25px;
74
+ right: 35px;
75
+ font-size: 1.125rem;
76
+ font-weight: 900;
77
+ color: #000;
78
+ opacity: 0.6;
79
+ letter-spacing: -1px;
80
+ z-index: 10;
81
+ }
82
+
83
+ :global(.deb-big-letter) {
84
+ font-size: 7rem;
85
+ font-weight: 900;
86
+ line-height: 1;
87
+ z-index: 2;
88
+ margin-top: 15px;
89
+ }
90
+
91
+ :global(.deb-sub-text) {
92
+ font-size: 1rem;
93
+ font-weight: 800;
94
+ text-transform: uppercase;
95
+ z-index: 2;
96
+ margin-top: -5px;
97
+ }
98
+
99
+ :global(.deb-replica-0) {
100
+ background: #005aa3;
101
+ color: #fff;
102
+ }
103
+
104
+ :global(.deb-replica-0)::after {
105
+ color: #fff;
106
+ opacity: 0.9;
107
+ }
108
+
109
+ :global(.deb-replica-eco) {
110
+ background: linear-gradient(90deg, #00a455 50%, #005aa3 50%);
111
+ color: #fff;
112
+ }
113
+
114
+ :global(.deb-replica-eco)::after {
115
+ color: #fff;
116
+ opacity: 0.9;
117
+ }
118
+
119
+ :global(.deb-replica-eco) :global(.deb-big-letter) {
120
+ font-size: 5rem;
121
+ margin-top: 25px;
122
+ }
123
+
124
+ :global(.deb-replica-c) {
125
+ background: #00a455;
126
+ color: #000;
127
+ }
128
+
129
+ :global(.deb-replica-c) :global(.deb-sub-text) { display: none; }
130
+
131
+ :global(.deb-replica-b) {
132
+ background: #ffdf00;
133
+ color: #000;
134
+ }
135
+
136
+ :global(.deb-replica-b) :global(.deb-sub-text) { display: none; }
137
+
138
+ :global(.deb-replica-a) {
139
+ width: 200px;
140
+ height: 120px;
141
+ border-radius: 1rem;
142
+ border: 6px solid #dc2626;
143
+ background: #fff;
144
+ color: #dc2626;
145
+ display: flex;
146
+ flex-direction: column;
147
+ justify-content: center;
148
+ align-items: center;
149
+ }
150
+
151
+ :global(.deb-replica-a) :global(.deb-big-letter) {
152
+ font-size: 4rem;
153
+ margin-top: 0;
154
+ }
@@ -1,28 +1,5 @@
1
- import type { ToolDefinition, ToolsToolEntry } from '../../types';
2
- import type { EnvBadgeSpainUI } from './ui';
3
-
4
- export const envBadgeSpain: ToolsToolEntry<EnvBadgeSpainUI> = {
5
- id: 'env-badge-spain',
6
- icons: { bg: 'mdi:car-info', fg: 'mdi:leaf' },
7
- i18n: {
8
- es: () => import('./i18n/es').then((m) => m.content),
9
- en: () => import('./i18n/en').then((m) => m.content),
10
- fr: () => import('./i18n/fr').then((m) => m.content),
11
- de: () => import('./i18n/de').then((m) => m.content),
12
- it: () => import('./i18n/it').then((m) => m.content),
13
- pt: () => import('./i18n/pt').then((m) => m.content),
14
- nl: () => import('./i18n/nl').then((m) => m.content),
15
- pl: () => import('./i18n/pl').then((m) => m.content),
16
- tr: () => import('./i18n/tr').then((m) => m.content),
17
- id: () => import('./i18n/id').then((m) => m.content),
18
- sv: () => import('./i18n/sv').then((m) => m.content),
19
- ru: () => import('./i18n/ru').then((m) => m.content),
20
- ja: () => import('./i18n/ja').then((m) => m.content),
21
- ko: () => import('./i18n/ko').then((m) => m.content),
22
- zh: () => import('./i18n/zh').then((m) => m.content),
23
- },
24
- };
25
-
1
+ import { envBadgeSpain } from './entry';
2
+ export * from './entry';
26
3
  export const ENV_BADGE_SPAIN_TOOL: ToolDefinition = {
27
4
  entry: envBadgeSpain,
28
5
  Component: () => import('./component.astro'),