@buoy-gg/time-machine 7.0.22 → 7.0.23

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 (160) hide show
  1. package/lib/commonjs/components/TimeMachineBody.js +147 -677
  2. package/lib/commonjs/components/TimeMachineBody.js.map +1 -1
  3. package/lib/commonjs/components/TimeMachineModal.js +10 -11
  4. package/lib/commonjs/components/TimeMachineModal.js.map +1 -1
  5. package/lib/commonjs/components/confirm.js +39 -0
  6. package/lib/commonjs/components/confirm.js.map +1 -0
  7. package/lib/commonjs/components/format.js +24 -0
  8. package/lib/commonjs/components/format.js.map +1 -0
  9. package/lib/commonjs/components/list/CaptureBar.js +95 -0
  10. package/lib/commonjs/components/list/CaptureBar.js.map +1 -0
  11. package/lib/commonjs/components/list/RestoreOutcomeCard.js +162 -0
  12. package/lib/commonjs/components/list/RestoreOutcomeCard.js.map +1 -0
  13. package/lib/commonjs/components/list/SnapshotRow.js +141 -0
  14. package/lib/commonjs/components/list/SnapshotRow.js.map +1 -0
  15. package/lib/commonjs/components/list/SourcesStrip.js +126 -0
  16. package/lib/commonjs/components/list/SourcesStrip.js.map +1 -0
  17. package/lib/commonjs/components/list/UndoDeleteBar.js +81 -0
  18. package/lib/commonjs/components/list/UndoDeleteBar.js.map +1 -0
  19. package/lib/commonjs/components/list/WipeAllRow.js +46 -0
  20. package/lib/commonjs/components/list/WipeAllRow.js.map +1 -0
  21. package/lib/commonjs/components/preview/ItemDiffPanel.js +77 -0
  22. package/lib/commonjs/components/preview/ItemDiffPanel.js.map +1 -0
  23. package/lib/commonjs/components/preview/PreviewFlow.js +51 -0
  24. package/lib/commonjs/components/preview/PreviewFlow.js.map +1 -0
  25. package/lib/commonjs/components/preview/RestorePointNameRow.js +83 -0
  26. package/lib/commonjs/components/preview/RestorePointNameRow.js.map +1 -0
  27. package/lib/commonjs/components/preview/RestorePreviewScreen.js +549 -635
  28. package/lib/commonjs/components/preview/RestorePreviewScreen.js.map +1 -1
  29. package/lib/commonjs/components/preview/verdictMeta.js +8 -8
  30. package/lib/commonjs/components/preview/verdictMeta.js.map +1 -1
  31. package/lib/commonjs/components/sources.js +72 -0
  32. package/lib/commonjs/components/sources.js.map +1 -0
  33. package/lib/commonjs/store/snapshotVault.js +93 -9
  34. package/lib/commonjs/store/snapshotVault.js.map +1 -1
  35. package/lib/commonjs/store/timeMachineStore.js +125 -6
  36. package/lib/commonjs/store/timeMachineStore.js.map +1 -1
  37. package/lib/commonjs/sync/timeMachineSyncAdapter.js +41 -0
  38. package/lib/commonjs/sync/timeMachineSyncAdapter.js.map +1 -1
  39. package/lib/commonjs/ui/SwipeActionsRow.js +167 -0
  40. package/lib/commonjs/ui/SwipeActionsRow.js.map +1 -0
  41. package/lib/commonjs/ui/primitives.js +164 -0
  42. package/lib/commonjs/ui/primitives.js.map +1 -0
  43. package/lib/commonjs/ui/tmTheme.js +103 -0
  44. package/lib/commonjs/ui/tmTheme.js.map +1 -0
  45. package/lib/module/components/TimeMachineBody.js +150 -680
  46. package/lib/module/components/TimeMachineBody.js.map +1 -1
  47. package/lib/module/components/TimeMachineModal.js +11 -12
  48. package/lib/module/components/TimeMachineModal.js.map +1 -1
  49. package/lib/module/components/confirm.js +34 -0
  50. package/lib/module/components/confirm.js.map +1 -0
  51. package/lib/module/components/format.js +19 -0
  52. package/lib/module/components/format.js.map +1 -0
  53. package/lib/module/components/list/CaptureBar.js +90 -0
  54. package/lib/module/components/list/CaptureBar.js.map +1 -0
  55. package/lib/module/components/list/RestoreOutcomeCard.js +156 -0
  56. package/lib/module/components/list/RestoreOutcomeCard.js.map +1 -0
  57. package/lib/module/components/list/SnapshotRow.js +138 -0
  58. package/lib/module/components/list/SnapshotRow.js.map +1 -0
  59. package/lib/module/components/list/SourcesStrip.js +121 -0
  60. package/lib/module/components/list/SourcesStrip.js.map +1 -0
  61. package/lib/module/components/list/UndoDeleteBar.js +78 -0
  62. package/lib/module/components/list/UndoDeleteBar.js.map +1 -0
  63. package/lib/module/components/list/WipeAllRow.js +41 -0
  64. package/lib/module/components/list/WipeAllRow.js.map +1 -0
  65. package/lib/module/components/preview/ItemDiffPanel.js +72 -0
  66. package/lib/module/components/preview/ItemDiffPanel.js.map +1 -0
  67. package/lib/module/components/preview/PreviewFlow.js +46 -0
  68. package/lib/module/components/preview/PreviewFlow.js.map +1 -0
  69. package/lib/module/components/preview/RestorePointNameRow.js +78 -0
  70. package/lib/module/components/preview/RestorePointNameRow.js.map +1 -0
  71. package/lib/module/components/preview/RestorePreviewScreen.js +552 -638
  72. package/lib/module/components/preview/RestorePreviewScreen.js.map +1 -1
  73. package/lib/module/components/preview/verdictMeta.js +9 -8
  74. package/lib/module/components/preview/verdictMeta.js.map +1 -1
  75. package/lib/module/components/sources.js +66 -0
  76. package/lib/module/components/sources.js.map +1 -0
  77. package/lib/module/store/snapshotVault.js +87 -9
  78. package/lib/module/store/snapshotVault.js.map +1 -1
  79. package/lib/module/store/timeMachineStore.js +125 -7
  80. package/lib/module/store/timeMachineStore.js.map +1 -1
  81. package/lib/module/sync/timeMachineSyncAdapter.js +41 -0
  82. package/lib/module/sync/timeMachineSyncAdapter.js.map +1 -1
  83. package/lib/module/ui/SwipeActionsRow.js +162 -0
  84. package/lib/module/ui/SwipeActionsRow.js.map +1 -0
  85. package/lib/module/ui/primitives.js +156 -0
  86. package/lib/module/ui/primitives.js.map +1 -0
  87. package/lib/module/ui/tmTheme.js +99 -0
  88. package/lib/module/ui/tmTheme.js.map +1 -0
  89. package/lib/typescript/components/TimeMachineBody.d.ts.map +1 -1
  90. package/lib/typescript/components/TimeMachineModal.d.ts.map +1 -1
  91. package/lib/typescript/components/confirm.d.ts +2 -0
  92. package/lib/typescript/components/confirm.d.ts.map +1 -0
  93. package/lib/typescript/components/format.d.ts +4 -0
  94. package/lib/typescript/components/format.d.ts.map +1 -0
  95. package/lib/typescript/components/list/CaptureBar.d.ts +6 -0
  96. package/lib/typescript/components/list/CaptureBar.d.ts.map +1 -0
  97. package/lib/typescript/components/list/RestoreOutcomeCard.d.ts +11 -0
  98. package/lib/typescript/components/list/RestoreOutcomeCard.d.ts.map +1 -0
  99. package/lib/typescript/components/list/SnapshotRow.d.ts +12 -0
  100. package/lib/typescript/components/list/SnapshotRow.d.ts.map +1 -0
  101. package/lib/typescript/components/list/SourcesStrip.d.ts +5 -0
  102. package/lib/typescript/components/list/SourcesStrip.d.ts.map +1 -0
  103. package/lib/typescript/components/list/UndoDeleteBar.d.ts +8 -0
  104. package/lib/typescript/components/list/UndoDeleteBar.d.ts.map +1 -0
  105. package/lib/typescript/components/list/WipeAllRow.d.ts +5 -0
  106. package/lib/typescript/components/list/WipeAllRow.d.ts.map +1 -0
  107. package/lib/typescript/components/preview/ItemDiffPanel.d.ts +5 -0
  108. package/lib/typescript/components/preview/ItemDiffPanel.d.ts.map +1 -0
  109. package/lib/typescript/components/preview/PreviewFlow.d.ts +9 -0
  110. package/lib/typescript/components/preview/PreviewFlow.d.ts.map +1 -0
  111. package/lib/typescript/components/preview/RestorePointNameRow.d.ts +5 -0
  112. package/lib/typescript/components/preview/RestorePointNameRow.d.ts.map +1 -0
  113. package/lib/typescript/components/preview/RestorePreviewScreen.d.ts +1 -5
  114. package/lib/typescript/components/preview/RestorePreviewScreen.d.ts.map +1 -1
  115. package/lib/typescript/components/preview/verdictMeta.d.ts +5 -0
  116. package/lib/typescript/components/preview/verdictMeta.d.ts.map +1 -1
  117. package/lib/typescript/components/sources.d.ts +36 -0
  118. package/lib/typescript/components/sources.d.ts.map +1 -0
  119. package/lib/typescript/store/snapshotVault.d.ts +48 -0
  120. package/lib/typescript/store/snapshotVault.d.ts.map +1 -1
  121. package/lib/typescript/store/timeMachineStore.d.ts +35 -1
  122. package/lib/typescript/store/timeMachineStore.d.ts.map +1 -1
  123. package/lib/typescript/sync/timeMachineSyncAdapter.d.ts +17 -0
  124. package/lib/typescript/sync/timeMachineSyncAdapter.d.ts.map +1 -1
  125. package/lib/typescript/ui/SwipeActionsRow.d.ts +32 -0
  126. package/lib/typescript/ui/SwipeActionsRow.d.ts.map +1 -0
  127. package/lib/typescript/ui/primitives.d.ts +57 -0
  128. package/lib/typescript/ui/primitives.d.ts.map +1 -0
  129. package/lib/typescript/ui/tmTheme.d.ts +67 -0
  130. package/lib/typescript/ui/tmTheme.d.ts.map +1 -0
  131. package/package.json +7 -7
  132. package/src/components/TimeMachineBody.tsx +183 -817
  133. package/src/components/TimeMachineModal.tsx +10 -11
  134. package/src/components/confirm.ts +35 -0
  135. package/src/components/format.ts +17 -0
  136. package/src/components/list/CaptureBar.tsx +100 -0
  137. package/src/components/list/RestoreOutcomeCard.tsx +159 -0
  138. package/src/components/list/SnapshotRow.tsx +155 -0
  139. package/src/components/list/SourcesStrip.tsx +124 -0
  140. package/src/components/list/UndoDeleteBar.tsx +76 -0
  141. package/src/components/list/WipeAllRow.tsx +42 -0
  142. package/src/components/preview/ItemDiffPanel.tsx +77 -0
  143. package/src/components/preview/PreviewFlow.tsx +70 -0
  144. package/src/components/preview/RestorePointNameRow.tsx +80 -0
  145. package/src/components/preview/RestorePreviewScreen.tsx +535 -535
  146. package/src/components/preview/verdictMeta.ts +8 -8
  147. package/src/components/sources.ts +92 -0
  148. package/src/store/snapshotVault.ts +131 -9
  149. package/src/store/timeMachineStore.ts +136 -5
  150. package/src/sync/timeMachineSyncAdapter.ts +30 -0
  151. package/src/ui/SwipeActionsRow.tsx +199 -0
  152. package/src/ui/primitives.tsx +157 -0
  153. package/src/ui/tmTheme.ts +107 -0
  154. package/lib/commonjs/components/preview/ItemDetailScreen.js +0 -189
  155. package/lib/commonjs/components/preview/ItemDetailScreen.js.map +0 -1
  156. package/lib/module/components/preview/ItemDetailScreen.js +0 -184
  157. package/lib/module/components/preview/ItemDetailScreen.js.map +0 -1
  158. package/lib/typescript/components/preview/ItemDetailScreen.d.ts +0 -11
  159. package/lib/typescript/components/preview/ItemDetailScreen.d.ts.map +0 -1
  160. package/src/components/preview/ItemDetailScreen.tsx +0 -172
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DisclosureChevron = DisclosureChevron;
7
+ exports.Footnote = Footnote;
8
+ exports.Group = Group;
9
+ exports.PillLabel = PillLabel;
10
+ exports.SectionLabel = SectionLabel;
11
+ var _react = require("react");
12
+ var _reactNative = require("react-native");
13
+ var _sharedUi = require("@buoy-gg/shared-ui");
14
+ var _tmTheme = require("./tmTheme");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ /**
17
+ * Grouped-inset list primitives — the building blocks of the Time Machine
18
+ * surface (see ./tmTheme for the tokens and the promotion plan).
19
+ *
20
+ * The shape they compose to:
21
+ *
22
+ * SectionLabel SOURCES ← outside the card, uppercase
23
+ * Group ┌──────────────────┐
24
+ * <row> │ All sources … 6 ›│ ← rows are plain children;
25
+ * <row> ├──────────────────┤ Group draws the hairlines
26
+ * └──────────────────┘
27
+ * Footnote Route is captured with… ← explains the group above
28
+ *
29
+ * Rows are whatever a screen needs — Group only owns the card, the clipping
30
+ * and the separators, so a row never has to know its position in the list.
31
+ */
32
+
33
+ /** Uppercase section label that sits above a Group. */
34
+ function SectionLabel({
35
+ children
36
+ }) {
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
38
+ style: styles.sectionLabel,
39
+ children: children
40
+ });
41
+ }
42
+
43
+ /**
44
+ * Explanatory line under a Group ("Swipe a restore point to delete it").
45
+ * `centered` matches the iOS convention for a footnote under a lone button.
46
+ */
47
+ function Footnote({
48
+ children,
49
+ centered,
50
+ tone = "secondary"
51
+ }) {
52
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
53
+ style: [styles.footnote, centered ? styles.footnoteCentered : null, tone === "warning" ? styles.footnoteWarning : null],
54
+ children: children
55
+ });
56
+ }
57
+
58
+ /**
59
+ * A rounded grouped card. Draws a hairline between consecutive children and
60
+ * clips them, so a row can paint edge-to-edge (swipe actions, press washes)
61
+ * without punching through the corners.
62
+ */
63
+ function Group({
64
+ children,
65
+ style
66
+ }) {
67
+ const rows = _react.Children.toArray(children);
68
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
69
+ style: [styles.group, style],
70
+ children: rows.map((row, index) =>
71
+ /*#__PURE__*/
72
+ // Children.toArray assigns stable synthetic keys ('.$id' for keyed
73
+ // children), so a row keeps its identity as the list changes.
74
+ (0, _jsxRuntime.jsxs)(_reactNative.View, {
75
+ children: [index > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
76
+ style: styles.separator
77
+ }) : null, row]
78
+ }, row.key ?? index))
79
+ });
80
+ }
81
+
82
+ /**
83
+ * Trailing disclosure chevron for a row that opens or expands.
84
+ *
85
+ * A real glyph, not two rotated hairlines: at this size the hand-built
86
+ * version's strokes never met at the vertex, so it read as a broken arrow.
87
+ */
88
+ function DisclosureChevron() {
89
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ChevronRight, {
90
+ size: 16,
91
+ color: _tmTheme.tm.color.labelTertiary
92
+ });
93
+ }
94
+
95
+ /**
96
+ * Pill button. Parameterized by color rather than by variant flags so a
97
+ * screen can name its own (`CapturePill`, `RestorePill`) in one line.
98
+ */
99
+ function PillLabel({
100
+ label,
101
+ color,
102
+ background
103
+ }) {
104
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
105
+ style: [styles.pill, {
106
+ backgroundColor: background
107
+ }],
108
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
109
+ style: [styles.pillText, {
110
+ color
111
+ }],
112
+ children: label
113
+ })
114
+ });
115
+ }
116
+ const styles = _reactNative.StyleSheet.create({
117
+ sectionLabel: {
118
+ color: _tmTheme.tm.color.labelSecondary,
119
+ fontSize: _tmTheme.tm.font.footnote,
120
+ fontWeight: "500",
121
+ textTransform: "uppercase",
122
+ letterSpacing: 0.4,
123
+ paddingHorizontal: _tmTheme.tm.gutter + _tmTheme.tm.textInset,
124
+ paddingTop: 22,
125
+ paddingBottom: 7
126
+ },
127
+ footnote: {
128
+ color: _tmTheme.tm.color.labelSecondary,
129
+ fontSize: _tmTheme.tm.font.footnote,
130
+ lineHeight: _tmTheme.tm.font.footnote * 1.35,
131
+ paddingHorizontal: _tmTheme.tm.gutter + _tmTheme.tm.textInset,
132
+ paddingTop: 7
133
+ },
134
+ footnoteCentered: {
135
+ textAlign: "center"
136
+ },
137
+ footnoteWarning: {
138
+ color: _tmTheme.tm.color.warning
139
+ },
140
+ group: {
141
+ marginHorizontal: _tmTheme.tm.gutter,
142
+ backgroundColor: _tmTheme.tm.color.group,
143
+ borderRadius: _tmTheme.tm.radius.group,
144
+ overflow: "hidden"
145
+ },
146
+ separator: {
147
+ height: _reactNative.StyleSheet.hairlineWidth,
148
+ marginLeft: _tmTheme.tm.separatorInset,
149
+ backgroundColor: _tmTheme.tm.color.separator
150
+ },
151
+ pill: {
152
+ height: 32,
153
+ paddingHorizontal: 15,
154
+ borderRadius: _tmTheme.tm.radius.pill,
155
+ alignItems: "center",
156
+ justifyContent: "center"
157
+ },
158
+ pillText: {
159
+ fontSize: _tmTheme.tm.font.control,
160
+ fontWeight: "600",
161
+ letterSpacing: _tmTheme.tm.tracking.control
162
+ }
163
+ });
164
+ //# sourceMappingURL=primitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_sharedUi","_tmTheme","_jsxRuntime","SectionLabel","children","jsx","Text","style","styles","sectionLabel","Footnote","centered","tone","footnote","footnoteCentered","footnoteWarning","Group","rows","Children","toArray","View","group","map","row","index","jsxs","separator","key","DisclosureChevron","ChevronRight","size","color","tm","labelTertiary","PillLabel","label","background","pill","backgroundColor","pillText","StyleSheet","create","labelSecondary","fontSize","font","fontWeight","textTransform","letterSpacing","paddingHorizontal","gutter","textInset","paddingTop","paddingBottom","lineHeight","textAlign","warning","marginHorizontal","borderRadius","radius","overflow","height","hairlineWidth","marginLeft","separatorInset","alignItems","justifyContent","control","tracking"],"sourceRoot":"../../../src","sources":["ui/primitives.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.tm = exports.TM_MONO = void 0;
7
+ var _sharedUi = require("@buoy-gg/shared-ui");
8
+ /**
9
+ * Time Machine design tokens — the "modern" surface language.
10
+ *
11
+ * A grouped-inset list system (iOS Settings shape): one dark sheet, rounded
12
+ * grouped cards holding hairline-separated rows, uppercase section labels
13
+ * outside the cards, and explanatory footnotes under them.
14
+ *
15
+ * COLOR COMES FROM `buoyColors` — the shared dev-tools palette — not from a
16
+ * private set. The mockup this layout came from used the Apple system colors;
17
+ * those are mapped onto Buoy's equivalents here (system green → Buoy teal,
18
+ * and so on) so the tool reads as part of the same product as every other
19
+ * one. Change a value in gameUIColors.ts and it lands here.
20
+ *
21
+ * Only shape, spacing and type live as literals below — those ARE the design
22
+ * language and have no palette equivalent.
23
+ *
24
+ * SCOPE: this is Time Machine's pilot of the new look. If it lands, promote
25
+ * this file (and ./primitives) into @buoy-gg/shared-ui and let the other
26
+ * tools import it — nothing in here is Time-Machine-specific.
27
+ *
28
+ * Note: like every StyleSheet in the repo, these values are read once at
29
+ * module load, so the desktop dashboard's in-place re-tint needs a reload to
30
+ * reach them.
31
+ */
32
+
33
+ /** Hex opacity suffixes, so tinted fills stay tied to the palette color. */
34
+ const A18 = "2E";
35
+ const A30 = "4D";
36
+ const tm = exports.tm = {
37
+ color: {
38
+ /** Sheet background behind the grouped cards. */
39
+ sheet: _sharedUi.buoyColors.base,
40
+ /** A grouped card. */
41
+ group: _sharedUi.buoyColors.card,
42
+ /** Row press / hover wash on top of a group. */
43
+ rowPressed: _sharedUi.buoyColors.hover,
44
+ /** Hairline between rows, inset from the left like iOS. */
45
+ separator: _sharedUi.buoyColors.border,
46
+ /** Neutral control fill (icon discs, chips, round buttons). */
47
+ fill: _sharedUi.buoyColors.input,
48
+ fillStrong: _sharedUi.buoyColors.borderStrong,
49
+ label: _sharedUi.buoyColors.text,
50
+ labelSecondary: _sharedUi.buoyColors.textSecondary,
51
+ labelTertiary: _sharedUi.buoyColors.textMuted,
52
+ /** Primary action + "this is healthy" (Buoy teal). */
53
+ accent: _sharedUi.buoyColors.primary,
54
+ accentSoft: `${_sharedUi.buoyColors.primary}${A18}`,
55
+ accentSoftStrong: `${_sharedUi.buoyColors.primary}${A30}`,
56
+ /** Text/icons ON an accent fill — the palette's teal wants dark ink. */
57
+ onAccent: "#0A0A0A",
58
+ warning: _sharedUi.buoyColors.warning,
59
+ warningSoft: `${_sharedUi.buoyColors.warning}${A18}`,
60
+ danger: _sharedUi.buoyColors.error,
61
+ dangerSoft: `${_sharedUi.buoyColors.error}${A18}`,
62
+ /** Text/icons ON a danger fill. */
63
+ onDanger: "#FFFFFF",
64
+ info: _sharedUi.buoyColors.info
65
+ },
66
+ radius: {
67
+ /** Grouped card + the capture field that visually matches one. */
68
+ group: 14,
69
+ /** Fully rounded pills and status circles. */
70
+ pill: 99
71
+ },
72
+ /** Horizontal inset of the grouped cards from the sheet edge. */
73
+ gutter: 14,
74
+ /** Extra inset for labels/footnotes, measured from the card edge. */
75
+ textInset: 16,
76
+ /** Left inset of a row separator, measured from the card edge. */
77
+ separatorInset: 16,
78
+ font: {
79
+ /** Row titles and primary values. */
80
+ row: 17,
81
+ /** Buttons and pill labels. */
82
+ control: 15,
83
+ /** Section labels, row captions, footnotes. */
84
+ footnote: 13,
85
+ /** Route paths and other monospace detail. */
86
+ mono: 12
87
+ },
88
+ /** iOS tracks display text slightly tighter than the default. */
89
+ tracking: {
90
+ row: -0.43,
91
+ control: -0.2
92
+ },
93
+ /** Standard grouped-row height before content forces it taller. */
94
+ rowMinHeight: 52
95
+ };
96
+
97
+ /**
98
+ * Monospace family. RN native resolves a single family name only (no CSS
99
+ * stack), and "monospace" is the one token both platforms honor — it is what
100
+ * the rest of the design system uses.
101
+ */
102
+ const TM_MONO = exports.TM_MONO = "monospace";
103
+ //# sourceMappingURL=tmTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_sharedUi","require","A18","A30","tm","exports","color","sheet","buoyColors","base","group","card","rowPressed","hover","separator","border","fill","input","fillStrong","borderStrong","label","text","labelSecondary","textSecondary","labelTertiary","textMuted","accent","primary","accentSoft","accentSoftStrong","onAccent","warning","warningSoft","danger","error","dangerSoft","onDanger","info","radius","pill","gutter","textInset","separatorInset","font","row","control","footnote","mono","tracking","rowMinHeight","TM_MONO"],"sourceRoot":"../../../src","sources":["ui/tmTheme.ts"],"mappings":";;;;;;AAwBA,IAAAA,SAAA,GAAAC,OAAA;AAxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA,MAAMC,GAAG,GAAG,IAAI;AAChB,MAAMC,GAAG,GAAG,IAAI;AAET,MAAMC,EAAE,GAAAC,OAAA,CAAAD,EAAA,GAAG;EAChBE,KAAK,EAAE;IACL;IACAC,KAAK,EAAEC,oBAAU,CAACC,IAAI;IACtB;IACAC,KAAK,EAAEF,oBAAU,CAACG,IAAI;IACtB;IACAC,UAAU,EAAEJ,oBAAU,CAACK,KAAK;IAC5B;IACAC,SAAS,EAAEN,oBAAU,CAACO,MAAM;IAC5B;IACAC,IAAI,EAAER,oBAAU,CAACS,KAAK;IACtBC,UAAU,EAAEV,oBAAU,CAACW,YAAY;IAEnCC,KAAK,EAAEZ,oBAAU,CAACa,IAAI;IACtBC,cAAc,EAAEd,oBAAU,CAACe,aAAa;IACxCC,aAAa,EAAEhB,oBAAU,CAACiB,SAAS;IAEnC;IACAC,MAAM,EAAElB,oBAAU,CAACmB,OAAO;IAC1BC,UAAU,EAAE,GAAGpB,oBAAU,CAACmB,OAAO,GAAGzB,GAAG,EAAE;IACzC2B,gBAAgB,EAAE,GAAGrB,oBAAU,CAACmB,OAAO,GAAGxB,GAAG,EAAE;IAC/C;IACA2B,QAAQ,EAAE,SAAS;IAEnBC,OAAO,EAAEvB,oBAAU,CAACuB,OAAO;IAC3BC,WAAW,EAAE,GAAGxB,oBAAU,CAACuB,OAAO,GAAG7B,GAAG,EAAE;IAE1C+B,MAAM,EAAEzB,oBAAU,CAAC0B,KAAK;IACxBC,UAAU,EAAE,GAAG3B,oBAAU,CAAC0B,KAAK,GAAGhC,GAAG,EAAE;IACvC;IACAkC,QAAQ,EAAE,SAAS;IAEnBC,IAAI,EAAE7B,oBAAU,CAAC6B;EACnB,CAAC;EAEDC,MAAM,EAAE;IACN;IACA5B,KAAK,EAAE,EAAE;IACT;IACA6B,IAAI,EAAE;EACR,CAAC;EAED;EACAC,MAAM,EAAE,EAAE;EACV;EACAC,SAAS,EAAE,EAAE;EACb;EACAC,cAAc,EAAE,EAAE;EAElBC,IAAI,EAAE;IACJ;IACAC,GAAG,EAAE,EAAE;IACP;IACAC,OAAO,EAAE,EAAE;IACX;IACAC,QAAQ,EAAE,EAAE;IACZ;IACAC,IAAI,EAAE;EACR,CAAC;EAED;EACAC,QAAQ,EAAE;IACRJ,GAAG,EAAE,CAAC,IAAI;IACVC,OAAO,EAAE,CAAC;EACZ,CAAC;EAED;EACAI,YAAY,EAAE;AAChB,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACO,MAAMC,OAAO,GAAA7C,OAAA,CAAA6C,OAAA,GAAG,WAAW","ignoreList":[]}