@jjlmoya/utils-finance 1.20.0 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jjlmoya/utils-finance",
3
- "version": "1.20.0",
3
+ "version": "1.21.0",
4
4
  "type": "module",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
@@ -22,6 +22,16 @@
22
22
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
23
23
  border: 1px solid var(--cic-border-subtle);
24
24
  overflow: hidden;
25
+ width: 100%;
26
+ max-width: 100%;
27
+ min-width: 0;
28
+ }
29
+
30
+ .cic-root,
31
+ .cic-root *,
32
+ .cic-root *::before,
33
+ .cic-root *::after {
34
+ box-sizing: border-box;
25
35
  }
26
36
 
27
37
  .theme-dark .cic-root {
@@ -52,12 +62,14 @@
52
62
  gap: 1rem;
53
63
  align-items: center;
54
64
  justify-content: space-between;
65
+ min-width: 0;
55
66
  }
56
67
 
57
68
  .cic-header-left {
58
69
  display: flex;
59
70
  align-items: center;
60
71
  gap: 0.75rem;
72
+ min-width: 0;
61
73
  }
62
74
 
63
75
  .cic-icon-wrap {
@@ -68,6 +80,7 @@
68
80
  display: flex;
69
81
  align-items: center;
70
82
  justify-content: center;
83
+ flex-shrink: 0;
71
84
  }
72
85
 
73
86
  .cic-icon {
@@ -79,6 +92,7 @@
79
92
  font-size: 1.25rem;
80
93
  font-weight: 700;
81
94
  color: var(--cic-text);
95
+ overflow-wrap: anywhere;
82
96
  }
83
97
 
84
98
  .cic-realtime {
@@ -104,6 +118,7 @@
104
118
 
105
119
  .cic-grid {
106
120
  display: grid;
121
+ min-width: 0;
107
122
  }
108
123
 
109
124
  .cic-panel-left {
@@ -113,18 +128,21 @@
113
128
  gap: 1.5rem;
114
129
  background: var(--cic-bg-panel);
115
130
  border-bottom: 1px solid var(--cic-border-subtle);
131
+ min-width: 0;
116
132
  }
117
133
 
118
134
  .cic-fields {
119
135
  display: flex;
120
136
  flex-direction: column;
121
137
  gap: 1rem;
138
+ min-width: 0;
122
139
  }
123
140
 
124
141
  .cic-grid-2 {
125
142
  display: grid;
126
- grid-template-columns: 1fr 1fr;
143
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
127
144
  gap: 1rem;
145
+ min-width: 0;
128
146
  }
129
147
 
130
148
  .cic-label {
@@ -139,6 +157,7 @@
139
157
 
140
158
  .cic-input-wrap {
141
159
  position: relative;
160
+ min-width: 0;
142
161
  }
143
162
 
144
163
  .cic-currency {
@@ -168,7 +187,7 @@
168
187
  color: var(--cic-text);
169
188
  font-weight: 700;
170
189
  font-size: 1.125rem;
171
- box-sizing: border-box;
190
+ min-width: 0;
172
191
  }
173
192
 
174
193
  .cic-input-prefixed {
@@ -192,6 +211,7 @@
192
211
  display: flex;
193
212
  flex-direction: column;
194
213
  gap: 0.75rem;
214
+ min-width: 0;
195
215
  }
196
216
 
197
217
  .cic-summary-row {
@@ -199,12 +219,15 @@
199
219
  justify-content: space-between;
200
220
  align-items: center;
201
221
  font-size: 0.875rem;
222
+ gap: 0.75rem;
223
+ min-width: 0;
202
224
  }
203
225
 
204
226
  .cic-summary-label {
205
227
  display: flex;
206
228
  align-items: center;
207
229
  gap: 0.5rem;
230
+ min-width: 0;
208
231
  }
209
232
 
210
233
  .cic-dot-neutral {
@@ -235,6 +258,8 @@
235
258
  .cic-summary-value {
236
259
  font-weight: 700;
237
260
  color: var(--cic-text);
261
+ overflow-wrap: anywhere;
262
+ text-align: right;
238
263
  }
239
264
 
240
265
  .cic-summary-value-accent {
@@ -248,6 +273,8 @@
248
273
  display: flex;
249
274
  justify-content: space-between;
250
275
  align-items: flex-end;
276
+ gap: 1rem;
277
+ min-width: 0;
251
278
  }
252
279
 
253
280
  .cic-total-label {
@@ -262,6 +289,8 @@
262
289
  font-size: 1.5rem;
263
290
  font-weight: 900;
264
291
  color: var(--cic-text);
292
+ overflow-wrap: anywhere;
293
+ text-align: right;
265
294
  }
266
295
 
267
296
  .cic-panel-right {
@@ -269,12 +298,56 @@
269
298
  display: flex;
270
299
  flex-direction: column;
271
300
  min-height: 500px;
301
+ min-width: 0;
272
302
  }
273
303
 
274
304
  .cic-canvas-wrap {
275
305
  position: relative;
276
306
  width: 100%;
277
307
  flex: 1;
308
+ min-width: 0;
309
+ min-height: 280px;
310
+ }
311
+
312
+ .cic-canvas-wrap canvas {
313
+ max-width: 100%;
314
+ }
315
+
316
+ @media (max-width: 640px) {
317
+ .cic-root {
318
+ border-radius: 1.25rem;
319
+ }
320
+
321
+ .cic-header,
322
+ .cic-panel-left,
323
+ .cic-panel-right {
324
+ padding: 1rem;
325
+ }
326
+
327
+ .cic-header {
328
+ align-items: flex-start;
329
+ flex-direction: column;
330
+ }
331
+
332
+ .cic-grid-2 {
333
+ grid-template-columns: minmax(0, 1fr);
334
+ }
335
+
336
+ .cic-input {
337
+ font-size: 1rem;
338
+ }
339
+
340
+ .cic-input-prefixed {
341
+ padding-left: 2.5rem;
342
+ }
343
+
344
+ .cic-input-suffixed {
345
+ padding-right: 2.5rem;
346
+ }
347
+
348
+ .cic-panel-right {
349
+ min-height: 320px;
350
+ }
278
351
  }
279
352
 
280
353
  .cic-insight {
@@ -114,6 +114,22 @@
114
114
  transition: all 0.2s;
115
115
  }
116
116
 
117
+ select.ctf-input-control {
118
+ appearance: none;
119
+ background-color: var(--ctf-bg-input);
120
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23f1f5f9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
121
+ background-position: right 0.875rem center;
122
+ background-repeat: no-repeat;
123
+ background-size: 1rem;
124
+ line-height: 1.25;
125
+ min-height: 2.75rem;
126
+ padding-right: 2.75rem;
127
+ }
128
+
129
+ .theme-light select.ctf-input-control {
130
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%231e293b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
131
+ }
132
+
117
133
  .ctf-input-control:focus {
118
134
  outline: none;
119
135
  border-color: var(--ctf-accent);
@@ -27,7 +27,7 @@ const { ui } = Astro.props;
27
27
  id="iban-input"
28
28
  placeholder={ui.labelInputPlaceholder}
29
29
  autocomplete="off"
30
- maxlength="34"
30
+ maxlength="42"
31
31
  />
32
32
  <span class="ibs-input-icon" data-icon="card"></span>
33
33
  </div>
@@ -91,6 +91,7 @@ const { ui } = Astro.props;
91
91
  formatted += value[i];
92
92
  }
93
93
  principalInput.value = formatted;
94
+ principalInput.scrollLeft = principalInput.scrollWidth;
94
95
 
95
96
  errorMsg?.classList.add("ibs-hidden");
96
97
  if (value.length === 0) {
@@ -189,6 +189,7 @@
189
189
  border: 2px solid var(--ibs-border-input);
190
190
  transition: all 0.3s ease;
191
191
  min-width: 0;
192
+ width: 100%;
192
193
  }
193
194
 
194
195
  .ibs-input-wrapper:focus-within {
@@ -207,6 +208,9 @@
207
208
  outline: none;
208
209
  letter-spacing: 0.02em;
209
210
  min-width: 0;
211
+ overflow-x: auto;
212
+ text-overflow: clip;
213
+ white-space: nowrap;
210
214
  }
211
215
 
212
216
  .ibs-input-wrapper input::placeholder {
@@ -454,13 +458,12 @@
454
458
  }
455
459
 
456
460
  .ibs-input-wrapper input {
457
- padding: 1rem;
458
- font-size: 1rem;
461
+ padding: 0.875rem 1rem;
462
+ font-size: 0.95rem;
459
463
  }
460
464
 
461
465
  .ibs-input-icon {
462
- margin-right: 1rem;
463
- font-size: 1.25rem;
466
+ display: none;
464
467
  }
465
468
 
466
469
  .ibs-bank-name-value,