calcsuite-react 1.1.1 → 1.1.3

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.
@@ -4,5 +4,6 @@ type IconProps = {
4
4
  export declare function GearIcon({ size }: IconProps): import("react").JSX.Element;
5
5
  export declare function SunIcon({ size }: IconProps): import("react").JSX.Element;
6
6
  export declare function MoonIcon({ size }: IconProps): import("react").JSX.Element;
7
+ export declare function CalcIcon({ size }: IconProps): import("react").JSX.Element;
7
8
  export declare function HistoryIcon({ size }: IconProps): import("react").JSX.Element;
8
9
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "calcsuite-react",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "Decimal-exact, offline-first financial calculator library for React — India (₹) & US ($). ~55 calculators, scientific calculator, live FX, export, launcher/dialog. The financial-calculator module of AceCBM (Ace Cloud Business Management).",
5
5
  "keywords": [
6
6
  "finance",
package/src/theme.css CHANGED
@@ -6,6 +6,7 @@
6
6
  --fc-slate: #5a6672;
7
7
  --fc-line: #e3e8ec;
8
8
  --fc-accent: #078dee; /* Cyan default (overridden live by settings.ui.accent) */
9
+ --fc-accent-ink: #ffffff; /* contrast text ON the accent (set per-preset by the provider) */
9
10
  /* derived from the accent so colour presets propagate everywhere */
10
11
  --fc-accent-weak: color-mix(in srgb, var(--fc-accent) 12%, #ffffff);
11
12
  --fc-principal: #2c7a6b;
@@ -141,7 +142,7 @@ label.field { display: block; }
141
142
  .input-wrap.solved {
142
143
  border-style: dashed;
143
144
  border-color: var(--fc-accent);
144
- background: var(--fc-accent-weak);
145
+ background: transparent;
145
146
  }
146
147
  .solved-note { font-size: 12px; color: var(--fc-accent); margin-top: 4px; }
147
148
  .tenure-pair { display: flex; gap: var(--fc-space); }
@@ -169,10 +170,9 @@ label.field { display: block; }
169
170
  }
170
171
  .seg button[aria-pressed='true'] {
171
172
  background: var(--fc-accent);
172
- color: #fff;
173
+ color: var(--fc-accent-ink);
173
174
  font-weight: 600;
174
175
  }
175
- [data-theme='dark'] .seg button[aria-pressed='true'] { color: #06121c; }
176
176
 
177
177
  .solve-row { margin-bottom: calc(var(--fc-space) * 2.5); }
178
178
  .solve-row .lbl { font-size: 13px; color: var(--fc-slate); margin-bottom: 8px; display: block; }
@@ -410,7 +410,9 @@ td .in-txt { color: var(--fc-interest); }
410
410
  position: sticky; top: 0; background: var(--fc-paper); z-index: 5;
411
411
  }
412
412
  .fc-topbar .brand strong { font-size: 18px; letter-spacing: -0.01em; }
413
- .fc-brand { flex-direction: column; align-items: flex-start; gap: 0; }
413
+ .fc-brand { flex-direction: row; align-items: center; gap: 10px; }
414
+ .fc-brand-mark { display: flex; align-items: center; color: var(--fc-accent); flex: 0 0 auto; }
415
+ .fc-brand-text { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
414
416
  .fc-brand strong { line-height: 1.15; }
415
417
  .fc-brand-sub { font-size: 11px; color: var(--fc-accent); text-decoration: none; font-weight: 500; line-height: 1.15; }
416
418
  .fc-brand-sub:hover { text-decoration: underline; }
@@ -429,8 +431,7 @@ td .in-txt { color: var(--fc-interest); }
429
431
  border-radius: 8px; cursor: pointer;
430
432
  }
431
433
  .rail-item:hover { background: var(--fc-accent-weak); }
432
- .rail-item.active { background: var(--fc-accent); color: #fff; font-weight: 600; }
433
- [data-theme='dark'] .rail-item.active { color: #06121c; }
434
+ .rail-item.active { background: var(--fc-accent); color: var(--fc-accent-ink); font-weight: 600; }
434
435
 
435
436
  .fc-main { flex: 1; min-width: 0; padding: 24px; overflow-y: auto; max-width: 900px; margin: 0 auto; width: 100%; }
436
437
 
@@ -462,7 +463,7 @@ td .in-txt { color: var(--fc-interest); }
462
463
  /* FAB */
463
464
  .fc-fab {
464
465
  position: fixed; z-index: 9000; width: 56px; height: 56px; border-radius: 50%;
465
- border: 0; background: var(--fc-accent); color: #fff; cursor: pointer;
466
+ border: 0; background: var(--fc-accent); color: var(--fc-accent-ink); cursor: pointer;
466
467
  box-shadow: var(--fc-shadow);
467
468
  display: flex; align-items: center; justify-content: center;
468
469
  transition: transform 0.12s ease, box-shadow 0.12s ease;
@@ -656,7 +657,7 @@ tr.year-row, tr.month-row { transition: background 0.12s ease; }
656
657
  .sci-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--fc-space); margin-bottom: calc(var(--fc-space) * 1.5); }
657
658
  .sci-toolbar .seg button { text-transform: uppercase; padding: 6px 10px; font-size: 12px; }
658
659
  .sci-mem {
659
- margin-left: auto; font-weight: 700; font-size: 13px; color: #fff;
660
+ margin-left: auto; font-weight: 700; font-size: 13px; color: var(--fc-accent-ink);
660
661
  background: var(--fc-accent); border-radius: 999px; padding: 2px 9px;
661
662
  }
662
663
 
@@ -687,9 +688,9 @@ tr.year-row, tr.month-row { transition: background 0.12s ease; }
687
688
  .sci-key.num { font-weight: 600; }
688
689
  .sci-key.fn { color: var(--fc-slate); font-size: 14px; }
689
690
  .sci-key.op { background: var(--fc-paper); font-weight: 600; }
690
- .sci-key.accent { background: var(--fc-accent); color: #fff; border-color: var(--fc-accent); font-weight: 700; }
691
+ .sci-key.accent { background: var(--fc-accent); color: var(--fc-accent-ink); border-color: var(--fc-accent); font-weight: 700; }
691
692
  .sci-key.mode { background: var(--fc-paper); color: var(--fc-slate); font-size: 13px; }
692
- .sci-key.mode.on { background: var(--fc-accent); color: #fff; border-color: var(--fc-accent); }
693
+ .sci-key.mode.on { background: var(--fc-accent); color: var(--fc-accent-ink); border-color: var(--fc-accent); }
693
694
 
694
695
  .sci-memrow { margin-top: 6px; }
695
696