@twentyfirstmedia/ui-core 0.6.0 → 0.8.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/ICONS-LICENSE +24 -2
- package/dist/components/connected-data.d.ts +25 -0
- package/dist/components/connected-data.d.ts.map +1 -0
- package/dist/components/connected-data.js +264 -0
- package/dist/components/connected-data.js.map +1 -0
- package/dist/components/connectors.d.ts +22 -0
- package/dist/components/connectors.d.ts.map +1 -0
- package/dist/components/connectors.js +135 -0
- package/dist/components/connectors.js.map +1 -0
- package/dist/components/household.d.ts +19 -0
- package/dist/components/household.d.ts.map +1 -0
- package/dist/components/household.js +137 -0
- package/dist/components/household.js.map +1 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +4 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/life.d.ts +26 -0
- package/dist/components/life.d.ts.map +1 -0
- package/dist/components/life.js +187 -0
- package/dist/components/life.js.map +1 -0
- package/dist/components/types.d.ts +622 -0
- package/dist/components/types.d.ts.map +1 -1
- package/dist/context.d.ts +1 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +2 -1
- package/dist/context.js.map +1 -1
- package/dist/format.d.ts +5 -0
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +31 -0
- package/dist/format.js.map +1 -1
- package/dist/icon-library.d.ts +235 -4
- package/dist/icon-library.d.ts.map +1 -1
- package/dist/icon-library.js +467 -15
- package/dist/icon-library.js.map +1 -1
- package/dist/icons.d.ts +2 -0
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/strings.d.ts +184 -0
- package/dist/strings.d.ts.map +1 -1
- package/dist/strings.js +182 -1
- package/dist/strings.js.map +1 -1
- package/dist/themes.css +16438 -11238
- package/package.json +1 -1
- package/src/components/connected-data.tsx +783 -0
- package/src/components/connectors.tsx +426 -0
- package/src/components/household.tsx +489 -0
- package/src/components/index.ts +39 -0
- package/src/components/life.tsx +679 -0
- package/src/components/types.ts +602 -0
- package/src/context.ts +10 -1
- package/src/format.ts +33 -0
- package/src/icon-library.ts +476 -19
- package/src/icons.ts +2 -0
- package/src/index.ts +5 -0
- package/src/strings.ts +518 -0
package/src/icons.ts
CHANGED
|
@@ -128,6 +128,8 @@ export type IconName = KitIconName | LibraryIconName | Extract<keyof CustomIcons
|
|
|
128
128
|
export interface FilledIcon {
|
|
129
129
|
d: string;
|
|
130
130
|
filled: true;
|
|
131
|
+
/** A wordmark at least twice as wide as tall: marks such as `ServiceMark` draw it larger. */
|
|
132
|
+
wide?: true;
|
|
131
133
|
}
|
|
132
134
|
|
|
133
135
|
/** A drawing for `registerIcons`: a path on the 24px grid, stroked like the kit's icons, or filled. */
|
package/src/index.ts
CHANGED
|
@@ -4,6 +4,7 @@ export {
|
|
|
4
4
|
formatPercent,
|
|
5
5
|
formatMoney,
|
|
6
6
|
formatDate,
|
|
7
|
+
formatRelative,
|
|
7
8
|
formatLike,
|
|
8
9
|
parseFormatted,
|
|
9
10
|
numberSeparators,
|
|
@@ -23,12 +24,16 @@ export {
|
|
|
23
24
|
CHARTS_STRINGS,
|
|
24
25
|
CHAT_STRINGS,
|
|
25
26
|
COMMERCE_STRINGS,
|
|
27
|
+
CONNECTED_DATA_STRINGS,
|
|
28
|
+
CONNECTOR_STRINGS,
|
|
26
29
|
DATA_DISPLAY_STRINGS,
|
|
27
30
|
DATA_TABLE_STRINGS,
|
|
28
31
|
DEVELOPER_STRINGS,
|
|
29
32
|
FEEDBACK_STRINGS,
|
|
30
33
|
FORM_STRINGS,
|
|
31
34
|
FORMS_STRINGS,
|
|
35
|
+
HOUSEHOLD_STRINGS,
|
|
36
|
+
LIFE_STRINGS,
|
|
32
37
|
MAIL_STRINGS,
|
|
33
38
|
MEDIA_STRINGS,
|
|
34
39
|
NAVIGATION_STRINGS,
|
package/src/strings.ts
CHANGED
|
@@ -492,6 +492,191 @@ export interface UIStrings {
|
|
|
492
492
|
contrastAA: string;
|
|
493
493
|
contrastAALarge: string;
|
|
494
494
|
contrastFails: string;
|
|
495
|
+
/* Life: HabitTracker, MoodPicker, VitalTile, ActivityRings, SleepChart, MedicationList, GoalCard, InsightCard, ConsentList */
|
|
496
|
+
habits: string;
|
|
497
|
+
/** "12-day streak" */
|
|
498
|
+
habitStreak: (days: number) => string;
|
|
499
|
+
/** "Mark {habit} done today" */
|
|
500
|
+
markHabitDone: (habit: string) => string;
|
|
501
|
+
habitDone: string;
|
|
502
|
+
habitMissed: string;
|
|
503
|
+
habitNoData: string;
|
|
504
|
+
howAreYou: string;
|
|
505
|
+
/** The five mood words, lowest first. */
|
|
506
|
+
moodLevels: [string, string, string, string, string];
|
|
507
|
+
inRange: string;
|
|
508
|
+
belowRange: string;
|
|
509
|
+
aboveRange: string;
|
|
510
|
+
/** "Normal 60–100" */
|
|
511
|
+
normalRange: (low: string, high: string) => string;
|
|
512
|
+
activity: string;
|
|
513
|
+
/** "6,240 of 8,000 steps" */
|
|
514
|
+
ofGoal: (value: string, goal: string) => string;
|
|
515
|
+
sleepStages: string;
|
|
516
|
+
/** Names of the sleep stages. */
|
|
517
|
+
sleepStageNames: Record<"awake" | "rem" | "light" | "deep", string>;
|
|
518
|
+
/** "7 h 32 min" */
|
|
519
|
+
durationHm: (hours: number, minutes: number) => string;
|
|
520
|
+
/** "Asleep 7 h 32 min" */
|
|
521
|
+
totalSleep: (duration: string) => string;
|
|
522
|
+
medication: string;
|
|
523
|
+
medTaken: string;
|
|
524
|
+
medDue: string;
|
|
525
|
+
medMissed: string;
|
|
526
|
+
medUpcoming: string;
|
|
527
|
+
/** "Mark {name} as taken" */
|
|
528
|
+
markTaken: (name: string) => string;
|
|
529
|
+
/** "By {date}" */
|
|
530
|
+
dueBy: (date: string) => string;
|
|
531
|
+
whyInsight: string;
|
|
532
|
+
insightAccept: string;
|
|
533
|
+
insightSnooze: string;
|
|
534
|
+
dataAccess: string;
|
|
535
|
+
revokeAccess: string;
|
|
536
|
+
/** "Last used {date}" */
|
|
537
|
+
lastUsed: (date: string) => string;
|
|
538
|
+
notUsedYet: string;
|
|
539
|
+
requiredScope: string;
|
|
540
|
+
/* Life: BudgetList, SubscriptionList, NetWorthCard, DeadlineList, PolicyCard, CoverageMatrix, ClaimTimeline, DocumentList */
|
|
541
|
+
budgets: string;
|
|
542
|
+
/** "€120 left" */
|
|
543
|
+
budgetLeft: (amount: string) => string;
|
|
544
|
+
/** "€40 over" */
|
|
545
|
+
budgetOver: (amount: string) => string;
|
|
546
|
+
subscriptions: string;
|
|
547
|
+
/** "€86 a month" */
|
|
548
|
+
perMonthTotal: (amount: string) => string;
|
|
549
|
+
/** "€1,032 a year" */
|
|
550
|
+
perYearTotal: (amount: string) => string;
|
|
551
|
+
/** "Manage {name}" */
|
|
552
|
+
manageItem: (name: string) => string;
|
|
553
|
+
/** "Trial" */
|
|
554
|
+
trialEnds: string;
|
|
555
|
+
cancelledLabel: string;
|
|
556
|
+
/** "Next on {date}" */
|
|
557
|
+
nextCharge: (date: string) => string;
|
|
558
|
+
/** Words for billing periods. */
|
|
559
|
+
periodWord: Record<"week" | "month" | "quarter" | "year", string>;
|
|
560
|
+
netWorth: string;
|
|
561
|
+
assetsLabel: string;
|
|
562
|
+
liabilitiesLabel: string;
|
|
563
|
+
deadlines: string;
|
|
564
|
+
/** "Overdue by 3 days" */
|
|
565
|
+
overdueBy: (days: number) => string;
|
|
566
|
+
dueToday: string;
|
|
567
|
+
/** "In 12 days" */
|
|
568
|
+
dueIn: (days: number) => string;
|
|
569
|
+
/** "Mark {title} done" */
|
|
570
|
+
markDone: (title: string) => string;
|
|
571
|
+
coverageLabel: string;
|
|
572
|
+
covered: string;
|
|
573
|
+
partlyCovered: string;
|
|
574
|
+
notCovered: string;
|
|
575
|
+
sumInsured: string;
|
|
576
|
+
deductibleLabel: string;
|
|
577
|
+
/** "Renews {date}" */
|
|
578
|
+
renewsOn: (date: string) => string;
|
|
579
|
+
policyNo: string;
|
|
580
|
+
/** Words for a policy's status. */
|
|
581
|
+
policyStatus: Record<"active" | "pending" | "expiring" | "lapsed", string>;
|
|
582
|
+
claimAmount: string;
|
|
583
|
+
documents: string;
|
|
584
|
+
expired: string;
|
|
585
|
+
/** "Expires in 40 days" */
|
|
586
|
+
expiresIn: (days: number) => string;
|
|
587
|
+
/** "Valid until {date}" */
|
|
588
|
+
expiresOn: (date: string) => string;
|
|
589
|
+
/* connectors */
|
|
590
|
+
/** A connected service's state in words. */
|
|
591
|
+
serviceStates: Record<"connected" | "syncing" | "error" | "paused" | "off", string>;
|
|
592
|
+
connectors: string;
|
|
593
|
+
connectionsLabel: string;
|
|
594
|
+
manageAction: string;
|
|
595
|
+
/** "Manage Gmail" */
|
|
596
|
+
manageService: (name: string) => string;
|
|
597
|
+
searchConnectors: string;
|
|
598
|
+
allCategories: string;
|
|
599
|
+
connect: string;
|
|
600
|
+
/** "Connect Gmail" */
|
|
601
|
+
connectService: (name: string) => string;
|
|
602
|
+
openAction: string;
|
|
603
|
+
/** "Open Gmail" */
|
|
604
|
+
openService: (name: string) => string;
|
|
605
|
+
reconnect: string;
|
|
606
|
+
/** "Reconnect Gmail" */
|
|
607
|
+
reconnectService: (name: string) => string;
|
|
608
|
+
comingSoon: string;
|
|
609
|
+
/** "No connector matches “tesla”" */
|
|
610
|
+
noConnectorMatch: (query: string) => string;
|
|
611
|
+
/** "Synced 5 minutes ago" */
|
|
612
|
+
syncedAgo: (when: string) => string;
|
|
613
|
+
syncingNow: string;
|
|
614
|
+
syncFailed: string;
|
|
615
|
+
syncPaused: string;
|
|
616
|
+
neverSynced: string;
|
|
617
|
+
/** "Next in 1 hour" */
|
|
618
|
+
nextSync: (when: string) => string;
|
|
619
|
+
syncNow: string;
|
|
620
|
+
agentActivity: string;
|
|
621
|
+
actionKinds: Record<"read" | "act" | "money", string>;
|
|
622
|
+
actionStates: Record<"waiting" | "declined" | "undone" | "failed", string>;
|
|
623
|
+
reviewAction: string;
|
|
624
|
+
scopeLevels: Record<"read" | "act" | "money", string>;
|
|
625
|
+
asksFirst: string;
|
|
626
|
+
/* connected data: home, car, media, workouts, calls, bookings, golf, investments */
|
|
627
|
+
deviceOn: string;
|
|
628
|
+
deviceOff: string;
|
|
629
|
+
deviceOffline: string;
|
|
630
|
+
/** "Target 21.5 °C" */
|
|
631
|
+
targetTemp: (value: string) => string;
|
|
632
|
+
lowerTarget: string;
|
|
633
|
+
raiseTarget: string;
|
|
634
|
+
/** "Battery 64%" */
|
|
635
|
+
batteryLevel: (percent: string) => string;
|
|
636
|
+
chargingStates: Record<"charging" | "complete" | "plugged" | "unplugged", string>;
|
|
637
|
+
/** "Limit 80%" */
|
|
638
|
+
chargeLimit: (percent: string) => string;
|
|
639
|
+
/** "Done by 06:30" */
|
|
640
|
+
chargedBy: (time: string) => string;
|
|
641
|
+
/** "412 km range" */
|
|
642
|
+
rangeLeft: (distance: string) => string;
|
|
643
|
+
lockedState: string;
|
|
644
|
+
unlockedState: string;
|
|
645
|
+
lockAction: string;
|
|
646
|
+
climateLabel: string;
|
|
647
|
+
climateOnLabel: string;
|
|
648
|
+
climateOffLabel: string;
|
|
649
|
+
/** "Inside 19 °C" */
|
|
650
|
+
insideTemp: (value: string) => string;
|
|
651
|
+
playAction: string;
|
|
652
|
+
pauseAction: string;
|
|
653
|
+
nextTrack: string;
|
|
654
|
+
previousTrack: string;
|
|
655
|
+
/** "Playing on Living room" */
|
|
656
|
+
playingOn: (device: string) => string;
|
|
657
|
+
heartRateZones: string;
|
|
658
|
+
/** "Zone 3: 18 min" */
|
|
659
|
+
zoneMinutes: (zone: number, minutes: number) => string;
|
|
660
|
+
avgHeartRate: string;
|
|
661
|
+
caloriesLabel: string;
|
|
662
|
+
distanceLabel: string;
|
|
663
|
+
durationLabel: string;
|
|
664
|
+
calls: string;
|
|
665
|
+
callDirections: Record<"incoming" | "outgoing" | "missed", string>;
|
|
666
|
+
/** "Call Lena" */
|
|
667
|
+
callPerson: (name: string) => string;
|
|
668
|
+
reservationStatus: Record<
|
|
669
|
+
"confirmed" | "pending" | "cancelled" | "delayed" | "onTheWay" | "delivered",
|
|
670
|
+
string
|
|
671
|
+
>;
|
|
672
|
+
bookingCode: string;
|
|
673
|
+
scoreLabels: Record<"hole" | "par" | "score" | "putts" | "out" | "in" | "total", string>;
|
|
674
|
+
scoreNames: Record<"eagle" | "birdie" | "par" | "bogey" | "double", string>;
|
|
675
|
+
/** "+7", "Even", "−2" */
|
|
676
|
+
toPar: (strokes: number) => string;
|
|
677
|
+
holdings: string;
|
|
678
|
+
/** "12% of portfolio" */
|
|
679
|
+
portfolioShare: (percent: string) => string;
|
|
495
680
|
// @@KEYS
|
|
496
681
|
}
|
|
497
682
|
|
|
@@ -1491,6 +1676,335 @@ export const WORKSPACE_STRINGS: Pick<
|
|
|
1491
1676
|
accept: "Accept",
|
|
1492
1677
|
};
|
|
1493
1678
|
|
|
1679
|
+
/** Strings of the components in `life.tsx`. */
|
|
1680
|
+
export const LIFE_STRINGS: Pick<
|
|
1681
|
+
UIStrings,
|
|
1682
|
+
| "habits"
|
|
1683
|
+
| "habitStreak"
|
|
1684
|
+
| "markHabitDone"
|
|
1685
|
+
| "habitDone"
|
|
1686
|
+
| "habitMissed"
|
|
1687
|
+
| "habitNoData"
|
|
1688
|
+
| "howAreYou"
|
|
1689
|
+
| "moodLevels"
|
|
1690
|
+
| "inRange"
|
|
1691
|
+
| "belowRange"
|
|
1692
|
+
| "aboveRange"
|
|
1693
|
+
| "normalRange"
|
|
1694
|
+
| "activity"
|
|
1695
|
+
| "ofGoal"
|
|
1696
|
+
| "sleepStages"
|
|
1697
|
+
| "sleepStageNames"
|
|
1698
|
+
| "durationHm"
|
|
1699
|
+
| "totalSleep"
|
|
1700
|
+
| "medication"
|
|
1701
|
+
| "medTaken"
|
|
1702
|
+
| "medDue"
|
|
1703
|
+
| "medMissed"
|
|
1704
|
+
| "medUpcoming"
|
|
1705
|
+
| "markTaken"
|
|
1706
|
+
| "dueBy"
|
|
1707
|
+
| "whyInsight"
|
|
1708
|
+
| "insightAccept"
|
|
1709
|
+
| "insightSnooze"
|
|
1710
|
+
| "dataAccess"
|
|
1711
|
+
| "revokeAccess"
|
|
1712
|
+
| "lastUsed"
|
|
1713
|
+
| "notUsedYet"
|
|
1714
|
+
| "requiredScope"
|
|
1715
|
+
| "scopeLevels"
|
|
1716
|
+
| "asksFirst"
|
|
1717
|
+
> = {
|
|
1718
|
+
habits: "Habits",
|
|
1719
|
+
habitStreak: (days) => `${days}-day streak`,
|
|
1720
|
+
markHabitDone: (habit) => `Mark ${habit} done today`,
|
|
1721
|
+
habitDone: "Done",
|
|
1722
|
+
habitMissed: "Missed",
|
|
1723
|
+
habitNoData: "No entry",
|
|
1724
|
+
howAreYou: "How are you feeling?",
|
|
1725
|
+
moodLevels: ["Awful", "Low", "Okay", "Good", "Great"],
|
|
1726
|
+
inRange: "In range",
|
|
1727
|
+
belowRange: "Below range",
|
|
1728
|
+
aboveRange: "Above range",
|
|
1729
|
+
normalRange: (low, high) => `Normal ${low}–${high}`,
|
|
1730
|
+
activity: "Activity",
|
|
1731
|
+
ofGoal: (value, goal) => `${value} of ${goal}`,
|
|
1732
|
+
sleepStages: "Sleep stages",
|
|
1733
|
+
sleepStageNames: { awake: "Awake", rem: "REM", light: "Light", deep: "Deep" },
|
|
1734
|
+
durationHm: (hours, minutes) =>
|
|
1735
|
+
hours ? (minutes ? `${hours} h ${minutes} min` : `${hours} h`) : `${minutes} min`,
|
|
1736
|
+
totalSleep: (duration) => `Asleep ${duration}`,
|
|
1737
|
+
medication: "Medication",
|
|
1738
|
+
medTaken: "Taken",
|
|
1739
|
+
medDue: "Due",
|
|
1740
|
+
medMissed: "Missed",
|
|
1741
|
+
medUpcoming: "Later",
|
|
1742
|
+
markTaken: (name) => `Mark ${name} as taken`,
|
|
1743
|
+
dueBy: (date) => `By ${date}`,
|
|
1744
|
+
whyInsight: "Why am I seeing this?",
|
|
1745
|
+
insightAccept: "Do it",
|
|
1746
|
+
insightSnooze: "Later",
|
|
1747
|
+
dataAccess: "Data access",
|
|
1748
|
+
revokeAccess: "Revoke access",
|
|
1749
|
+
lastUsed: (date) => `Last used ${date}`,
|
|
1750
|
+
notUsedYet: "Not used yet",
|
|
1751
|
+
requiredScope: "Required",
|
|
1752
|
+
scopeLevels: { read: "Read only", act: "Can act", money: "Money" },
|
|
1753
|
+
asksFirst: "asks first",
|
|
1754
|
+
};
|
|
1755
|
+
|
|
1756
|
+
/** Strings of the components in `household.tsx`. */
|
|
1757
|
+
export const HOUSEHOLD_STRINGS: Pick<
|
|
1758
|
+
UIStrings,
|
|
1759
|
+
| "budgets"
|
|
1760
|
+
| "budgetLeft"
|
|
1761
|
+
| "budgetOver"
|
|
1762
|
+
| "subscriptions"
|
|
1763
|
+
| "perMonthTotal"
|
|
1764
|
+
| "perYearTotal"
|
|
1765
|
+
| "manageItem"
|
|
1766
|
+
| "trialEnds"
|
|
1767
|
+
| "cancelledLabel"
|
|
1768
|
+
| "nextCharge"
|
|
1769
|
+
| "periodWord"
|
|
1770
|
+
| "netWorth"
|
|
1771
|
+
| "assetsLabel"
|
|
1772
|
+
| "liabilitiesLabel"
|
|
1773
|
+
| "deadlines"
|
|
1774
|
+
| "overdueBy"
|
|
1775
|
+
| "dueToday"
|
|
1776
|
+
| "dueIn"
|
|
1777
|
+
| "markDone"
|
|
1778
|
+
| "coverageLabel"
|
|
1779
|
+
| "covered"
|
|
1780
|
+
| "partlyCovered"
|
|
1781
|
+
| "notCovered"
|
|
1782
|
+
| "sumInsured"
|
|
1783
|
+
| "deductibleLabel"
|
|
1784
|
+
| "renewsOn"
|
|
1785
|
+
| "policyNo"
|
|
1786
|
+
| "policyStatus"
|
|
1787
|
+
| "claimAmount"
|
|
1788
|
+
| "documents"
|
|
1789
|
+
| "expired"
|
|
1790
|
+
| "expiresIn"
|
|
1791
|
+
| "expiresOn"
|
|
1792
|
+
> = {
|
|
1793
|
+
budgets: "Budgets",
|
|
1794
|
+
budgetLeft: (amount) => `${amount} left`,
|
|
1795
|
+
budgetOver: (amount) => `${amount} over`,
|
|
1796
|
+
subscriptions: "Subscriptions",
|
|
1797
|
+
perMonthTotal: (amount) => `${amount} a month`,
|
|
1798
|
+
perYearTotal: (amount) => `${amount} a year`,
|
|
1799
|
+
manageItem: (name) => `Manage ${name}`,
|
|
1800
|
+
trialEnds: "Trial",
|
|
1801
|
+
cancelledLabel: "Cancelled",
|
|
1802
|
+
nextCharge: (date) => `Next on ${date}`,
|
|
1803
|
+
periodWord: { week: "week", month: "month", quarter: "quarter", year: "year" },
|
|
1804
|
+
netWorth: "Net worth",
|
|
1805
|
+
assetsLabel: "Assets",
|
|
1806
|
+
liabilitiesLabel: "Liabilities",
|
|
1807
|
+
deadlines: "Deadlines",
|
|
1808
|
+
overdueBy: (days) => (days === 1 ? "Overdue by 1 day" : `Overdue by ${days} days`),
|
|
1809
|
+
dueToday: "Today",
|
|
1810
|
+
dueIn: (days) => (days === 1 ? "Tomorrow" : `In ${days} days`),
|
|
1811
|
+
markDone: (title) => `Mark ${title} done`,
|
|
1812
|
+
coverageLabel: "Coverage",
|
|
1813
|
+
covered: "Covered",
|
|
1814
|
+
partlyCovered: "Partly",
|
|
1815
|
+
notCovered: "Not covered",
|
|
1816
|
+
sumInsured: "Sum insured",
|
|
1817
|
+
deductibleLabel: "Deductible",
|
|
1818
|
+
renewsOn: (date) => `Renews ${date}`,
|
|
1819
|
+
policyNo: "Policy no.",
|
|
1820
|
+
policyStatus: { active: "Active", pending: "Pending", expiring: "Expiring", lapsed: "Lapsed" },
|
|
1821
|
+
claimAmount: "Claimed",
|
|
1822
|
+
documents: "Documents",
|
|
1823
|
+
expired: "Expired",
|
|
1824
|
+
expiresIn: (days) => (days === 1 ? "Expires tomorrow" : `Expires in ${days} days`),
|
|
1825
|
+
expiresOn: (date) => `Valid until ${date}`,
|
|
1826
|
+
};
|
|
1827
|
+
|
|
1828
|
+
export const CONNECTOR_STRINGS: Pick<
|
|
1829
|
+
UIStrings,
|
|
1830
|
+
| "serviceStates"
|
|
1831
|
+
| "connectors"
|
|
1832
|
+
| "connectionsLabel"
|
|
1833
|
+
| "manageAction"
|
|
1834
|
+
| "manageService"
|
|
1835
|
+
| "searchConnectors"
|
|
1836
|
+
| "allCategories"
|
|
1837
|
+
| "connect"
|
|
1838
|
+
| "connectService"
|
|
1839
|
+
| "openAction"
|
|
1840
|
+
| "openService"
|
|
1841
|
+
| "reconnect"
|
|
1842
|
+
| "reconnectService"
|
|
1843
|
+
| "comingSoon"
|
|
1844
|
+
| "noConnectorMatch"
|
|
1845
|
+
| "syncedAgo"
|
|
1846
|
+
| "syncingNow"
|
|
1847
|
+
| "syncFailed"
|
|
1848
|
+
| "syncPaused"
|
|
1849
|
+
| "neverSynced"
|
|
1850
|
+
| "nextSync"
|
|
1851
|
+
| "syncNow"
|
|
1852
|
+
| "agentActivity"
|
|
1853
|
+
| "actionKinds"
|
|
1854
|
+
| "actionStates"
|
|
1855
|
+
| "reviewAction"
|
|
1856
|
+
> = {
|
|
1857
|
+
serviceStates: {
|
|
1858
|
+
connected: "Connected",
|
|
1859
|
+
syncing: "Syncing",
|
|
1860
|
+
error: "Needs attention",
|
|
1861
|
+
paused: "Paused",
|
|
1862
|
+
off: "Off",
|
|
1863
|
+
},
|
|
1864
|
+
connectors: "Connectors",
|
|
1865
|
+
connectionsLabel: "Connections",
|
|
1866
|
+
manageAction: "Manage",
|
|
1867
|
+
manageService: (name) => `Manage ${name}`,
|
|
1868
|
+
searchConnectors: "Search connectors",
|
|
1869
|
+
allCategories: "All",
|
|
1870
|
+
connect: "Connect",
|
|
1871
|
+
connectService: (name) => `Connect ${name}`,
|
|
1872
|
+
openAction: "Open",
|
|
1873
|
+
openService: (name) => `Open ${name}`,
|
|
1874
|
+
reconnect: "Reconnect",
|
|
1875
|
+
reconnectService: (name) => `Reconnect ${name}`,
|
|
1876
|
+
comingSoon: "Coming soon",
|
|
1877
|
+
noConnectorMatch: (q) => `No connector matches “${q}”`,
|
|
1878
|
+
syncedAgo: (when) => `Synced ${when}`,
|
|
1879
|
+
syncingNow: "Syncing…",
|
|
1880
|
+
syncFailed: "Sync failed",
|
|
1881
|
+
syncPaused: "Sync paused",
|
|
1882
|
+
neverSynced: "Not synced yet",
|
|
1883
|
+
nextSync: (when) => `Next ${when}`,
|
|
1884
|
+
syncNow: "Sync now",
|
|
1885
|
+
agentActivity: "Agent activity",
|
|
1886
|
+
actionKinds: { read: "Read", act: "Acted", money: "Money" },
|
|
1887
|
+
actionStates: {
|
|
1888
|
+
waiting: "Waiting for you",
|
|
1889
|
+
declined: "Declined",
|
|
1890
|
+
undone: "Undone",
|
|
1891
|
+
failed: "Failed",
|
|
1892
|
+
},
|
|
1893
|
+
reviewAction: "Review",
|
|
1894
|
+
};
|
|
1895
|
+
|
|
1896
|
+
export const CONNECTED_DATA_STRINGS: Pick<
|
|
1897
|
+
UIStrings,
|
|
1898
|
+
| "deviceOn"
|
|
1899
|
+
| "deviceOff"
|
|
1900
|
+
| "deviceOffline"
|
|
1901
|
+
| "targetTemp"
|
|
1902
|
+
| "lowerTarget"
|
|
1903
|
+
| "raiseTarget"
|
|
1904
|
+
| "batteryLevel"
|
|
1905
|
+
| "chargingStates"
|
|
1906
|
+
| "chargeLimit"
|
|
1907
|
+
| "chargedBy"
|
|
1908
|
+
| "rangeLeft"
|
|
1909
|
+
| "lockedState"
|
|
1910
|
+
| "unlockedState"
|
|
1911
|
+
| "lockAction"
|
|
1912
|
+
| "climateLabel"
|
|
1913
|
+
| "climateOnLabel"
|
|
1914
|
+
| "climateOffLabel"
|
|
1915
|
+
| "insideTemp"
|
|
1916
|
+
| "playAction"
|
|
1917
|
+
| "pauseAction"
|
|
1918
|
+
| "nextTrack"
|
|
1919
|
+
| "previousTrack"
|
|
1920
|
+
| "playingOn"
|
|
1921
|
+
| "heartRateZones"
|
|
1922
|
+
| "zoneMinutes"
|
|
1923
|
+
| "avgHeartRate"
|
|
1924
|
+
| "caloriesLabel"
|
|
1925
|
+
| "distanceLabel"
|
|
1926
|
+
| "durationLabel"
|
|
1927
|
+
| "durationHm"
|
|
1928
|
+
| "calls"
|
|
1929
|
+
| "callDirections"
|
|
1930
|
+
| "callPerson"
|
|
1931
|
+
| "reservationStatus"
|
|
1932
|
+
| "bookingCode"
|
|
1933
|
+
| "scoreLabels"
|
|
1934
|
+
| "scoreNames"
|
|
1935
|
+
| "toPar"
|
|
1936
|
+
| "holdings"
|
|
1937
|
+
| "portfolioShare"
|
|
1938
|
+
> = {
|
|
1939
|
+
deviceOn: "On",
|
|
1940
|
+
deviceOff: "Off",
|
|
1941
|
+
deviceOffline: "Offline",
|
|
1942
|
+
targetTemp: (v) => `Target ${v}`,
|
|
1943
|
+
lowerTarget: "Lower target",
|
|
1944
|
+
raiseTarget: "Raise target",
|
|
1945
|
+
batteryLevel: (p) => `Battery ${p}`,
|
|
1946
|
+
chargingStates: {
|
|
1947
|
+
charging: "Charging",
|
|
1948
|
+
complete: "Charged",
|
|
1949
|
+
plugged: "Plugged in",
|
|
1950
|
+
unplugged: "Not plugged in",
|
|
1951
|
+
},
|
|
1952
|
+
chargeLimit: (p) => `Limit ${p}`,
|
|
1953
|
+
chargedBy: (time) => `Done by ${time}`,
|
|
1954
|
+
rangeLeft: (d) => `${d} range`,
|
|
1955
|
+
lockedState: "Locked",
|
|
1956
|
+
unlockedState: "Unlocked",
|
|
1957
|
+
lockAction: "Lock",
|
|
1958
|
+
climateLabel: "Climate",
|
|
1959
|
+
climateOnLabel: "Climate on",
|
|
1960
|
+
climateOffLabel: "Climate off",
|
|
1961
|
+
insideTemp: (v) => `Inside ${v}`,
|
|
1962
|
+
playAction: "Play",
|
|
1963
|
+
pauseAction: "Pause",
|
|
1964
|
+
nextTrack: "Next",
|
|
1965
|
+
previousTrack: "Previous",
|
|
1966
|
+
playingOn: (d) => `Playing on ${d}`,
|
|
1967
|
+
heartRateZones: "Heart-rate zones",
|
|
1968
|
+
zoneMinutes: (zone, minutes) => `Zone ${zone}: ${minutes} min`,
|
|
1969
|
+
avgHeartRate: "Avg heart rate",
|
|
1970
|
+
caloriesLabel: "Calories",
|
|
1971
|
+
distanceLabel: "Distance",
|
|
1972
|
+
durationLabel: "Duration",
|
|
1973
|
+
durationHm: (hours, minutes) =>
|
|
1974
|
+
hours ? (minutes ? `${hours} h ${minutes} min` : `${hours} h`) : `${minutes} min`,
|
|
1975
|
+
calls: "Calls",
|
|
1976
|
+
callDirections: { incoming: "Incoming", outgoing: "Outgoing", missed: "Missed" },
|
|
1977
|
+
callPerson: (name) => `Call ${name}`,
|
|
1978
|
+
reservationStatus: {
|
|
1979
|
+
confirmed: "Confirmed",
|
|
1980
|
+
pending: "Pending",
|
|
1981
|
+
cancelled: "Cancelled",
|
|
1982
|
+
delayed: "Delayed",
|
|
1983
|
+
onTheWay: "On the way",
|
|
1984
|
+
delivered: "Delivered",
|
|
1985
|
+
},
|
|
1986
|
+
bookingCode: "Booking",
|
|
1987
|
+
scoreLabels: {
|
|
1988
|
+
hole: "Hole",
|
|
1989
|
+
par: "Par",
|
|
1990
|
+
score: "Score",
|
|
1991
|
+
putts: "Putts",
|
|
1992
|
+
out: "Out",
|
|
1993
|
+
in: "In",
|
|
1994
|
+
total: "Total",
|
|
1995
|
+
},
|
|
1996
|
+
scoreNames: {
|
|
1997
|
+
eagle: "Eagle or better",
|
|
1998
|
+
birdie: "Birdie",
|
|
1999
|
+
par: "Par",
|
|
2000
|
+
bogey: "Bogey",
|
|
2001
|
+
double: "Double bogey or worse",
|
|
2002
|
+
},
|
|
2003
|
+
toPar: (n) => (n === 0 ? "Even" : n > 0 ? `+${n}` : `−${-n}`),
|
|
2004
|
+
holdings: "Holdings",
|
|
2005
|
+
portfolioShare: (p) => `${p} of portfolio`,
|
|
2006
|
+
};
|
|
2007
|
+
|
|
1494
2008
|
/** The English defaults: every group together. */
|
|
1495
2009
|
export const DEFAULT_STRINGS: UIStrings = /* @__PURE__ */ Object.assign(
|
|
1496
2010
|
{},
|
|
@@ -1503,12 +2017,16 @@ export const DEFAULT_STRINGS: UIStrings = /* @__PURE__ */ Object.assign(
|
|
|
1503
2017
|
CHARTS_STRINGS,
|
|
1504
2018
|
CHAT_STRINGS,
|
|
1505
2019
|
COMMERCE_STRINGS,
|
|
2020
|
+
CONNECTED_DATA_STRINGS,
|
|
2021
|
+
CONNECTOR_STRINGS,
|
|
1506
2022
|
DATA_DISPLAY_STRINGS,
|
|
1507
2023
|
DATA_TABLE_STRINGS,
|
|
1508
2024
|
DEVELOPER_STRINGS,
|
|
1509
2025
|
FEEDBACK_STRINGS,
|
|
1510
2026
|
FORM_STRINGS,
|
|
1511
2027
|
FORMS_STRINGS,
|
|
2028
|
+
HOUSEHOLD_STRINGS,
|
|
2029
|
+
LIFE_STRINGS,
|
|
1512
2030
|
MAIL_STRINGS,
|
|
1513
2031
|
MEDIA_STRINGS,
|
|
1514
2032
|
NAVIGATION_STRINGS,
|