@buoy-gg/shared-ui 7.0.26 → 7.0.28

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 (221) hide show
  1. package/lib/commonjs/JsModal.js +156 -20
  2. package/lib/commonjs/JsModal.web.js +85 -39
  3. package/lib/commonjs/dataViewer/VirtualizedDataExplorer.js +14 -4
  4. package/lib/commonjs/dataViewer/diffThemes.js +20 -18
  5. package/lib/commonjs/dataViewer/tree/TreeDiffViewer.js +8 -8
  6. package/lib/commonjs/hooks/safe-area-impl.js +1 -1
  7. package/lib/commonjs/icons/lucide-icons.js +74 -15
  8. package/lib/commonjs/index.js +86 -0
  9. package/lib/commonjs/ui/backgrounds/BackgroundSwitcher.js +248 -74
  10. package/lib/commonjs/ui/backgrounds/README.md +102 -20
  11. package/lib/commonjs/ui/backgrounds/backgroundStore.js +20 -6
  12. package/lib/commonjs/ui/backgrounds/index.js +91 -1
  13. package/lib/commonjs/ui/backgrounds/primitives.js +50 -14
  14. package/lib/commonjs/ui/backgrounds/registry.js +41 -64
  15. package/lib/commonjs/ui/backgrounds/rng.js +21 -0
  16. package/lib/commonjs/ui/backgrounds/skyClock.js +45 -0
  17. package/lib/commonjs/ui/backgrounds/variants/daylight.js +453 -0
  18. package/lib/commonjs/ui/backgrounds/variants/deepField.js +60 -30
  19. package/lib/commonjs/ui/backgrounds/variants/hyperspace.js +218 -0
  20. package/lib/commonjs/ui/backgrounds/variants/liveSky.js +898 -0
  21. package/lib/commonjs/ui/backgrounds/variants/meteors.js +257 -0
  22. package/lib/commonjs/ui/backgrounds/variants/moonlight.js +472 -0
  23. package/lib/commonjs/ui/backgrounds/variants/underwater.js +757 -0
  24. package/lib/commonjs/ui/components/Badge.js +11 -10
  25. package/lib/commonjs/ui/components/CompactRow.js +35 -18
  26. package/lib/commonjs/ui/components/CopyButton.js +6 -4
  27. package/lib/commonjs/ui/components/DevToolsCard.js +16 -9
  28. package/lib/commonjs/ui/components/DynamicFilterView.js +43 -41
  29. package/lib/commonjs/ui/components/EventStepperFooter.js +38 -10
  30. package/lib/commonjs/ui/components/FilterComponents.js +11 -11
  31. package/lib/commonjs/ui/components/ModalHeader.js +28 -15
  32. package/lib/commonjs/ui/components/SectionHeader.js +3 -1
  33. package/lib/commonjs/ui/components/StorageTypeBadge.js +3 -2
  34. package/lib/commonjs/ui/components/TabSelector.js +56 -38
  35. package/lib/commonjs/ui/components/ValueTypeBadge.js +7 -6
  36. package/lib/commonjs/ui/components/WindowControls.js +37 -10
  37. package/lib/commonjs/ui/gameUI/constants/gameUIColors.js +8 -0
  38. package/lib/commonjs/ui/night/nightTheme.js +120 -0
  39. package/lib/commonjs/ui/night/primitives.js +498 -0
  40. package/lib/module/JsModal.js +156 -20
  41. package/lib/module/JsModal.web.js +83 -39
  42. package/lib/module/dataViewer/VirtualizedDataExplorer.js +14 -4
  43. package/lib/module/dataViewer/diffThemes.js +20 -18
  44. package/lib/module/dataViewer/tree/TreeDiffViewer.js +9 -9
  45. package/lib/module/hooks/safe-area-impl.js +1 -1
  46. package/lib/module/icons/lucide-icons.js +74 -15
  47. package/lib/module/index.js +4 -0
  48. package/lib/module/ui/backgrounds/BackgroundSwitcher.js +250 -76
  49. package/lib/module/ui/backgrounds/README.md +102 -20
  50. package/lib/module/ui/backgrounds/backgroundStore.js +19 -5
  51. package/lib/module/ui/backgrounds/index.js +11 -2
  52. package/lib/module/ui/backgrounds/primitives.js +53 -16
  53. package/lib/module/ui/backgrounds/registry.js +41 -64
  54. package/lib/module/ui/backgrounds/rng.js +20 -0
  55. package/lib/module/ui/backgrounds/skyClock.js +39 -0
  56. package/lib/module/ui/backgrounds/variants/daylight.js +449 -0
  57. package/lib/module/ui/backgrounds/variants/deepField.js +62 -31
  58. package/lib/module/ui/backgrounds/variants/hyperspace.js +214 -0
  59. package/lib/module/ui/backgrounds/variants/liveSky.js +893 -0
  60. package/lib/module/ui/backgrounds/variants/meteors.js +253 -0
  61. package/lib/module/ui/backgrounds/variants/moonlight.js +468 -0
  62. package/lib/module/ui/backgrounds/variants/underwater.js +753 -0
  63. package/lib/module/ui/components/Badge.js +11 -10
  64. package/lib/module/ui/components/CompactRow.js +35 -18
  65. package/lib/module/ui/components/CopyButton.js +6 -4
  66. package/lib/module/ui/components/DevToolsCard.js +16 -9
  67. package/lib/module/ui/components/DynamicFilterView.js +43 -41
  68. package/lib/module/ui/components/EventStepperFooter.js +38 -10
  69. package/lib/module/ui/components/FilterComponents.js +11 -11
  70. package/lib/module/ui/components/ModalHeader.js +28 -15
  71. package/lib/module/ui/components/SectionHeader.js +3 -1
  72. package/lib/module/ui/components/StorageTypeBadge.js +3 -2
  73. package/lib/module/ui/components/TabSelector.js +57 -39
  74. package/lib/module/ui/components/ValueTypeBadge.js +7 -6
  75. package/lib/module/ui/components/WindowControls.js +37 -10
  76. package/lib/module/ui/gameUI/constants/gameUIColors.js +8 -0
  77. package/lib/module/ui/night/nightTheme.js +116 -0
  78. package/lib/module/ui/night/primitives.js +485 -0
  79. package/lib/typescript/commonjs/JsModal.d.ts +18 -0
  80. package/lib/typescript/commonjs/JsModal.d.ts.map +1 -1
  81. package/lib/typescript/commonjs/JsModal.web.d.ts +13 -0
  82. package/lib/typescript/commonjs/JsModal.web.d.ts.map +1 -1
  83. package/lib/typescript/commonjs/dataViewer/VirtualizedDataExplorer.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/dataViewer/diffThemes.d.ts +3 -1
  85. package/lib/typescript/commonjs/dataViewer/diffThemes.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/dataViewer/tree/TreeDiffViewer.d.ts.map +1 -1
  87. package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
  88. package/lib/typescript/commonjs/icons/lucide-icons.d.ts +12 -1
  89. package/lib/typescript/commonjs/icons/lucide-icons.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/index.d.ts +3 -0
  91. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/ui/backgrounds/BackgroundSwitcher.d.ts +26 -6
  93. package/lib/typescript/commonjs/ui/backgrounds/BackgroundSwitcher.d.ts.map +1 -1
  94. package/lib/typescript/commonjs/ui/backgrounds/backgroundStore.d.ts +3 -0
  95. package/lib/typescript/commonjs/ui/backgrounds/backgroundStore.d.ts.map +1 -1
  96. package/lib/typescript/commonjs/ui/backgrounds/index.d.ts +7 -1
  97. package/lib/typescript/commonjs/ui/backgrounds/index.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/ui/backgrounds/primitives.d.ts +18 -3
  99. package/lib/typescript/commonjs/ui/backgrounds/primitives.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/ui/backgrounds/registry.d.ts +8 -0
  101. package/lib/typescript/commonjs/ui/backgrounds/registry.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/ui/backgrounds/rng.d.ts +6 -0
  103. package/lib/typescript/commonjs/ui/backgrounds/rng.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/ui/backgrounds/skyClock.d.ts +17 -0
  105. package/lib/typescript/commonjs/ui/backgrounds/skyClock.d.ts.map +1 -0
  106. package/lib/typescript/commonjs/ui/backgrounds/types.d.ts +1 -1
  107. package/lib/typescript/commonjs/ui/backgrounds/types.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/ui/backgrounds/variants/daylight.d.ts +30 -0
  109. package/lib/typescript/commonjs/ui/backgrounds/variants/daylight.d.ts.map +1 -0
  110. package/lib/typescript/commonjs/ui/backgrounds/variants/deepField.d.ts +19 -4
  111. package/lib/typescript/commonjs/ui/backgrounds/variants/deepField.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/ui/backgrounds/variants/hyperspace.d.ts +39 -0
  113. package/lib/typescript/commonjs/ui/backgrounds/variants/hyperspace.d.ts.map +1 -0
  114. package/lib/typescript/commonjs/ui/backgrounds/variants/liveSky.d.ts +41 -0
  115. package/lib/typescript/commonjs/ui/backgrounds/variants/liveSky.d.ts.map +1 -0
  116. package/lib/typescript/commonjs/ui/backgrounds/variants/meteors.d.ts +26 -0
  117. package/lib/typescript/commonjs/ui/backgrounds/variants/meteors.d.ts.map +1 -0
  118. package/lib/typescript/commonjs/ui/backgrounds/variants/moonlight.d.ts +35 -0
  119. package/lib/typescript/commonjs/ui/backgrounds/variants/moonlight.d.ts.map +1 -0
  120. package/lib/typescript/commonjs/ui/backgrounds/variants/underwater.d.ts +51 -0
  121. package/lib/typescript/commonjs/ui/backgrounds/variants/underwater.d.ts.map +1 -0
  122. package/lib/typescript/commonjs/ui/components/Badge.d.ts.map +1 -1
  123. package/lib/typescript/commonjs/ui/components/CompactRow.d.ts +3 -1
  124. package/lib/typescript/commonjs/ui/components/CompactRow.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/ui/components/CopyButton.d.ts.map +1 -1
  126. package/lib/typescript/commonjs/ui/components/DevToolsCard.d.ts +3 -1
  127. package/lib/typescript/commonjs/ui/components/DevToolsCard.d.ts.map +1 -1
  128. package/lib/typescript/commonjs/ui/components/DynamicFilterView.d.ts.map +1 -1
  129. package/lib/typescript/commonjs/ui/components/EventStepperFooter.d.ts +2 -0
  130. package/lib/typescript/commonjs/ui/components/EventStepperFooter.d.ts.map +1 -1
  131. package/lib/typescript/commonjs/ui/components/ModalHeader.d.ts.map +1 -1
  132. package/lib/typescript/commonjs/ui/components/StorageTypeBadge.d.ts.map +1 -1
  133. package/lib/typescript/commonjs/ui/components/TabSelector.d.ts +9 -0
  134. package/lib/typescript/commonjs/ui/components/TabSelector.d.ts.map +1 -1
  135. package/lib/typescript/commonjs/ui/components/ValueTypeBadge.d.ts.map +1 -1
  136. package/lib/typescript/commonjs/ui/components/WindowControls.d.ts +4 -2
  137. package/lib/typescript/commonjs/ui/components/WindowControls.d.ts.map +1 -1
  138. package/lib/typescript/commonjs/ui/gameUI/constants/gameUIColors.d.ts +8 -0
  139. package/lib/typescript/commonjs/ui/gameUI/constants/gameUIColors.d.ts.map +1 -1
  140. package/lib/typescript/commonjs/ui/night/nightTheme.d.ts +113 -0
  141. package/lib/typescript/commonjs/ui/night/nightTheme.d.ts.map +1 -0
  142. package/lib/typescript/commonjs/ui/night/primitives.d.ts +111 -0
  143. package/lib/typescript/commonjs/ui/night/primitives.d.ts.map +1 -0
  144. package/lib/typescript/module/JsModal.d.ts +18 -0
  145. package/lib/typescript/module/JsModal.d.ts.map +1 -1
  146. package/lib/typescript/module/JsModal.web.d.ts +13 -0
  147. package/lib/typescript/module/JsModal.web.d.ts.map +1 -1
  148. package/lib/typescript/module/dataViewer/VirtualizedDataExplorer.d.ts.map +1 -1
  149. package/lib/typescript/module/dataViewer/diffThemes.d.ts +3 -1
  150. package/lib/typescript/module/dataViewer/diffThemes.d.ts.map +1 -1
  151. package/lib/typescript/module/dataViewer/tree/TreeDiffViewer.d.ts.map +1 -1
  152. package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
  153. package/lib/typescript/module/icons/lucide-icons.d.ts +12 -1
  154. package/lib/typescript/module/icons/lucide-icons.d.ts.map +1 -1
  155. package/lib/typescript/module/index.d.ts +3 -0
  156. package/lib/typescript/module/index.d.ts.map +1 -1
  157. package/lib/typescript/module/ui/backgrounds/BackgroundSwitcher.d.ts +26 -6
  158. package/lib/typescript/module/ui/backgrounds/BackgroundSwitcher.d.ts.map +1 -1
  159. package/lib/typescript/module/ui/backgrounds/backgroundStore.d.ts +3 -0
  160. package/lib/typescript/module/ui/backgrounds/backgroundStore.d.ts.map +1 -1
  161. package/lib/typescript/module/ui/backgrounds/index.d.ts +7 -1
  162. package/lib/typescript/module/ui/backgrounds/index.d.ts.map +1 -1
  163. package/lib/typescript/module/ui/backgrounds/primitives.d.ts +18 -3
  164. package/lib/typescript/module/ui/backgrounds/primitives.d.ts.map +1 -1
  165. package/lib/typescript/module/ui/backgrounds/registry.d.ts +8 -0
  166. package/lib/typescript/module/ui/backgrounds/registry.d.ts.map +1 -1
  167. package/lib/typescript/module/ui/backgrounds/rng.d.ts +6 -0
  168. package/lib/typescript/module/ui/backgrounds/rng.d.ts.map +1 -1
  169. package/lib/typescript/module/ui/backgrounds/skyClock.d.ts +17 -0
  170. package/lib/typescript/module/ui/backgrounds/skyClock.d.ts.map +1 -0
  171. package/lib/typescript/module/ui/backgrounds/types.d.ts +1 -1
  172. package/lib/typescript/module/ui/backgrounds/types.d.ts.map +1 -1
  173. package/lib/typescript/module/ui/backgrounds/variants/daylight.d.ts +30 -0
  174. package/lib/typescript/module/ui/backgrounds/variants/daylight.d.ts.map +1 -0
  175. package/lib/typescript/module/ui/backgrounds/variants/deepField.d.ts +19 -4
  176. package/lib/typescript/module/ui/backgrounds/variants/deepField.d.ts.map +1 -1
  177. package/lib/typescript/module/ui/backgrounds/variants/hyperspace.d.ts +39 -0
  178. package/lib/typescript/module/ui/backgrounds/variants/hyperspace.d.ts.map +1 -0
  179. package/lib/typescript/module/ui/backgrounds/variants/liveSky.d.ts +41 -0
  180. package/lib/typescript/module/ui/backgrounds/variants/liveSky.d.ts.map +1 -0
  181. package/lib/typescript/module/ui/backgrounds/variants/meteors.d.ts +26 -0
  182. package/lib/typescript/module/ui/backgrounds/variants/meteors.d.ts.map +1 -0
  183. package/lib/typescript/module/ui/backgrounds/variants/moonlight.d.ts +35 -0
  184. package/lib/typescript/module/ui/backgrounds/variants/moonlight.d.ts.map +1 -0
  185. package/lib/typescript/module/ui/backgrounds/variants/underwater.d.ts +51 -0
  186. package/lib/typescript/module/ui/backgrounds/variants/underwater.d.ts.map +1 -0
  187. package/lib/typescript/module/ui/components/Badge.d.ts.map +1 -1
  188. package/lib/typescript/module/ui/components/CompactRow.d.ts +3 -1
  189. package/lib/typescript/module/ui/components/CompactRow.d.ts.map +1 -1
  190. package/lib/typescript/module/ui/components/CopyButton.d.ts.map +1 -1
  191. package/lib/typescript/module/ui/components/DevToolsCard.d.ts +3 -1
  192. package/lib/typescript/module/ui/components/DevToolsCard.d.ts.map +1 -1
  193. package/lib/typescript/module/ui/components/DynamicFilterView.d.ts.map +1 -1
  194. package/lib/typescript/module/ui/components/EventStepperFooter.d.ts +2 -0
  195. package/lib/typescript/module/ui/components/EventStepperFooter.d.ts.map +1 -1
  196. package/lib/typescript/module/ui/components/ModalHeader.d.ts.map +1 -1
  197. package/lib/typescript/module/ui/components/StorageTypeBadge.d.ts.map +1 -1
  198. package/lib/typescript/module/ui/components/TabSelector.d.ts +9 -0
  199. package/lib/typescript/module/ui/components/TabSelector.d.ts.map +1 -1
  200. package/lib/typescript/module/ui/components/ValueTypeBadge.d.ts.map +1 -1
  201. package/lib/typescript/module/ui/components/WindowControls.d.ts +4 -2
  202. package/lib/typescript/module/ui/components/WindowControls.d.ts.map +1 -1
  203. package/lib/typescript/module/ui/gameUI/constants/gameUIColors.d.ts +8 -0
  204. package/lib/typescript/module/ui/gameUI/constants/gameUIColors.d.ts.map +1 -1
  205. package/lib/typescript/module/ui/night/nightTheme.d.ts +113 -0
  206. package/lib/typescript/module/ui/night/nightTheme.d.ts.map +1 -0
  207. package/lib/typescript/module/ui/night/primitives.d.ts +111 -0
  208. package/lib/typescript/module/ui/night/primitives.d.ts.map +1 -0
  209. package/package.json +4 -4
  210. package/lib/commonjs/ui/backgrounds/variants/lattice.js +0 -579
  211. package/lib/commonjs/ui/backgrounds/variants/starfield.js +0 -210
  212. package/lib/module/ui/backgrounds/variants/lattice.js +0 -575
  213. package/lib/module/ui/backgrounds/variants/starfield.js +0 -206
  214. package/lib/typescript/commonjs/ui/backgrounds/variants/lattice.d.ts +0 -33
  215. package/lib/typescript/commonjs/ui/backgrounds/variants/lattice.d.ts.map +0 -1
  216. package/lib/typescript/commonjs/ui/backgrounds/variants/starfield.d.ts +0 -12
  217. package/lib/typescript/commonjs/ui/backgrounds/variants/starfield.d.ts.map +0 -1
  218. package/lib/typescript/module/ui/backgrounds/variants/lattice.d.ts +0 -33
  219. package/lib/typescript/module/ui/backgrounds/variants/lattice.d.ts.map +0 -1
  220. package/lib/typescript/module/ui/backgrounds/variants/starfield.d.ts +0 -12
  221. package/lib/typescript/module/ui/backgrounds/variants/starfield.d.ts.map +0 -1
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * "Night" design tokens — the Everlights surface language, ported.
5
+ *
6
+ * A near-black, smooth, borderless-feeling system built to sit ON TOP of the
7
+ * shared ToolBackground star field: one `#050505` sheet the field shows
8
+ * through, `#0C0C0C` cards with hairline `#1A1A1C` borders, `#161618` rows
9
+ * inside them, uppercase section labels OUTSIDE the cards, and a single green
10
+ * accent that takes dark ink.
11
+ *
12
+ * Values are lifted 1:1 from the Everlights app's `constants/theme.ts`
13
+ * (`Palette` + `DarkColors`) and its modal tokens — that app is the design
14
+ * reference, so when in doubt match it, don't invent.
15
+ *
16
+ * THE ACCENT IS ONE SEAM: everything green reads `night.color.accent*`. The
17
+ * family is Buoy's brand green (`buoyColors.primary`, #20C997 — kept as
18
+ * literals so this module stays import-free); swapping it is a seven-line
19
+ * change here and nowhere else. `onAccent` stays black — this green wants
20
+ * dark ink.
21
+ *
22
+ * SCOPE: piloted on the dial menu's settings modal (JsModal `variant="night"`
23
+ * + DevToolsSettingsModal). If it sticks, convert the other tools to it.
24
+ */
25
+
26
+ export const night = {
27
+ color: {
28
+ /** The sheet itself — also the inset track of a segmented control. */
29
+ bg: "#050505",
30
+ /** A card. */
31
+ surface: "#0C0C0C",
32
+ /** A row or control inside a card. */
33
+ surfaceElevated: "#161618",
34
+ /** Hairline card border. */
35
+ border: "#1A1A1C",
36
+ /** Hairline between rows inside a card. */
37
+ separator: "rgba(255, 255, 255, 0.08)",
38
+ /** Neutral fills, lightest → strongest. */
39
+ fill: "rgba(255, 255, 255, 0.06)",
40
+ fillSecondary: "rgba(255, 255, 255, 0.08)",
41
+ fillTertiary: "rgba(255, 255, 255, 0.12)",
42
+ /** Chip resting fill — dark glass, readable over the star field. */
43
+ buttonSurface: "rgba(8, 10, 14, 0.85)",
44
+ /** Secondary/destructive button plate. */
45
+ button: "#1C1C1C",
46
+ buttonPressed: "#2C2C2E",
47
+ text: "#ECEDEE",
48
+ textSecondary: "#9BA1A6",
49
+ textTertiary: "#636366",
50
+ /** Drag handles, input placeholders. */
51
+ placeholder: "rgba(255, 255, 255, 0.30)",
52
+ /** The one accent (Buoy brand green). See the header note — one seam. */
53
+ accent: "#20C997",
54
+ accentPressed: "#1BAB80",
55
+ accentSoft: "rgba(32, 201, 151, 0.12)",
56
+ accentFill: "rgba(32, 201, 151, 0.18)",
57
+ accentBorder: "rgba(32, 201, 151, 0.20)",
58
+ accentBorderStrong: "rgba(32, 201, 151, 0.35)",
59
+ /** Ink on a filled accent surface — the accent takes DARK ink. */
60
+ onAccent: "#000000",
61
+ danger: "#FF3B30",
62
+ dangerSoft: "rgba(255, 59, 48, 0.10)",
63
+ warning: "#FF8329",
64
+ warningSoft: "rgba(255, 131, 41, 0.12)",
65
+ info: "#1E6DFF",
66
+ infoSoft: "rgba(30, 109, 255, 0.12)",
67
+ /** Switch thumb at rest (Everlights moon gray). */
68
+ knob: "#D4D8DC"
69
+ },
70
+ radius: {
71
+ /** Sheets and dialogs. */
72
+ sheet: 16,
73
+ /** Cards. */
74
+ card: 14,
75
+ /** Inputs and code blocks. */
76
+ input: 12,
77
+ /** Rows and inner controls; also the segmented-control track. */
78
+ row: 10,
79
+ /** Segment thumb inside a radius-10 track. */
80
+ segment: 8,
81
+ /** Small badges. */
82
+ badge: 6,
83
+ /** Zone-style chips. */
84
+ chip: 20,
85
+ /** Fully rounded pills (buttons use height/2 instead). */
86
+ pill: 999
87
+ },
88
+ /** Screen/sheet horizontal margin. */
89
+ gutter: 16,
90
+ /** Section labels sit 4pt in from the card edge. */
91
+ labelInset: 4,
92
+ /** Vertical rhythm between labeled card groups. */
93
+ groupGap: 24,
94
+ /** Card interior padding. */
95
+ cardPad: 14,
96
+ /** Row padding inside an edge-to-edge card. */
97
+ rowPadH: 16,
98
+ rowPadV: 14,
99
+ font: {
100
+ /** Sheet/modal titles. */
101
+ title: 17,
102
+ /** Row labels and values. */
103
+ row: 15,
104
+ /** Body copy, chip labels. */
105
+ body: 14,
106
+ /** Segmented-control labels, captions, footnotes. */
107
+ caption: 13,
108
+ /** Uppercase section labels. */
109
+ label: 12,
110
+ /** Uppercase micro labels (START/END style). */
111
+ micro: 11
112
+ }
113
+ };
114
+
115
+ /** Section labels track wide open, Everlights-style. */
116
+ export const NIGHT_LABEL_TRACKING = 0.8;
@@ -0,0 +1,485 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Night primitives — the building blocks of the Everlights-style surface
5
+ * (see ./nightTheme for the tokens and where the look comes from).
6
+ *
7
+ * The shape they compose to:
8
+ *
9
+ * NightSectionLabel STORAGE ← outside the card, uppercase
10
+ * NightCard ┌──────────────────┐
11
+ * NightRows │ row │ ← hairline-separated children
12
+ * │ ──────────── │
13
+ * │ row │
14
+ * └──────────────────┘
15
+ * NightFootnote Settings persist through…
16
+ *
17
+ * Controls: NightSwitch (the Everlights 56×32 toggle), NightChip (zone-style
18
+ * pill), NightButton (primary = filled accent w/ dark ink, everything else on
19
+ * the #1C1C1C plate), NightSegmented (the All/Day control with the accent
20
+ * underline), NightBadge (small status caps).
21
+ */
22
+ import { Children, useEffect, useRef } from "react";
23
+ import { Animated, StyleSheet, Text, TouchableOpacity, View } from "react-native";
24
+ import { night, NIGHT_LABEL_TRACKING } from "./nightTheme.js";
25
+
26
+ /** Uppercase section label that sits ABOVE a NightCard. */
27
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
28
+ export function NightSectionLabel({
29
+ children,
30
+ style
31
+ }) {
32
+ return /*#__PURE__*/_jsx(Text, {
33
+ style: [styles.sectionLabel, style],
34
+ children: children
35
+ });
36
+ }
37
+
38
+ /** Explanatory line under a NightCard (or above a CTA, `centered`). */
39
+ export function NightFootnote({
40
+ children,
41
+ centered,
42
+ tone = "tertiary",
43
+ style
44
+ }) {
45
+ return /*#__PURE__*/_jsx(Text, {
46
+ style: [styles.footnote, tone === "secondary" ? styles.footnoteSecondary : null, tone === "warning" ? styles.footnoteWarning : null, tone === "danger" ? styles.footnoteDanger : null, centered ? styles.footnoteCentered : null, style],
47
+ children: children
48
+ });
49
+ }
50
+
51
+ /** A card: `#0C0C0C`, radius 14, hairline border. `padded` = interior 14. */
52
+ export function NightCard({
53
+ children,
54
+ padded,
55
+ style
56
+ }) {
57
+ return /*#__PURE__*/_jsx(View, {
58
+ style: [styles.card, padded ? styles.cardPadded : null, style],
59
+ children: children
60
+ });
61
+ }
62
+
63
+ /** Hairline separator between rows, inset from the left like iOS. */
64
+ export function NightSeparator({
65
+ inset = night.rowPadH
66
+ }) {
67
+ return /*#__PURE__*/_jsx(View, {
68
+ style: [styles.separator, {
69
+ marginLeft: inset
70
+ }]
71
+ });
72
+ }
73
+
74
+ /**
75
+ * Interleaves a hairline between consecutive children so rows never track
76
+ * their own position. Meant to live inside an unpadded NightCard.
77
+ */
78
+ export function NightRows({
79
+ children,
80
+ inset = night.rowPadH
81
+ }) {
82
+ const rows = Children.toArray(children);
83
+ return /*#__PURE__*/_jsx(_Fragment, {
84
+ children: rows.map((row, index) =>
85
+ /*#__PURE__*/
86
+ // Children.toArray assigns stable synthetic keys for keyed children.
87
+ _jsxs(View, {
88
+ children: [index > 0 ? /*#__PURE__*/_jsx(NightSeparator, {
89
+ inset: inset
90
+ }) : null, row]
91
+ }, row.key ?? index))
92
+ });
93
+ }
94
+
95
+ // Everlights toggle geometry, verbatim.
96
+ const TRACK_W = 56;
97
+ const TRACK_H = 32;
98
+ const THUMB = 22;
99
+ const TRACK_PAD = 5;
100
+ const TRAVEL = TRACK_W - THUMB - TRACK_PAD * 2;
101
+
102
+ /**
103
+ * The Everlights 56×32 switch. The thumb slides on the native driver; the
104
+ * colors snap with the state change, which reads fine at this size.
105
+ */
106
+ export function NightSwitch({
107
+ value,
108
+ onValueChange,
109
+ disabled
110
+ }) {
111
+ const progress = useRef(new Animated.Value(value ? 1 : 0)).current;
112
+ useEffect(() => {
113
+ Animated.timing(progress, {
114
+ toValue: value ? 1 : 0,
115
+ duration: 200,
116
+ useNativeDriver: true
117
+ }).start();
118
+ }, [value, progress]);
119
+ return /*#__PURE__*/_jsx(TouchableOpacity, {
120
+ activeOpacity: 0.8,
121
+ disabled: disabled,
122
+ onPress: () => onValueChange(!value),
123
+ accessibilityRole: "switch",
124
+ accessibilityState: {
125
+ checked: value,
126
+ disabled
127
+ },
128
+ hitSlop: {
129
+ top: 8,
130
+ bottom: 8,
131
+ left: 8,
132
+ right: 8
133
+ },
134
+ style: [styles.switchTrack, value ? styles.switchTrackOn : null, disabled ? styles.switchDisabled : null],
135
+ children: /*#__PURE__*/_jsx(Animated.View, {
136
+ style: [styles.switchThumb, value ? styles.switchThumbOn : null, {
137
+ transform: [{
138
+ translateX: progress.interpolate({
139
+ inputRange: [0, 1],
140
+ outputRange: [0, TRAVEL]
141
+ })
142
+ }]
143
+ }]
144
+ })
145
+ });
146
+ }
147
+
148
+ /**
149
+ * Zone-style pill chip. The fill never changes — selection is signaled by the
150
+ * border and label color only, exactly like the Everlights zone row.
151
+ */
152
+ export function NightChip({
153
+ label,
154
+ selected,
155
+ onPress,
156
+ disabled,
157
+ icon
158
+ }) {
159
+ return /*#__PURE__*/_jsxs(TouchableOpacity, {
160
+ activeOpacity: 0.7,
161
+ disabled: disabled || !onPress,
162
+ onPress: onPress,
163
+ style: [styles.chip, selected ? styles.chipSelected : null, disabled ? styles.chipDisabled : null],
164
+ children: [icon, /*#__PURE__*/_jsx(Text, {
165
+ style: [styles.chipText, selected ? styles.chipTextSelected : null],
166
+ children: label
167
+ })]
168
+ });
169
+ }
170
+ /**
171
+ * Everlights button. `primary` fills with the accent and takes DARK ink;
172
+ * every other variant sits on the `#1C1C1C` plate and differs only in label
173
+ * color. `lg` is the fully-rounded 50pt CTA.
174
+ */
175
+ export function NightButton({
176
+ label,
177
+ onPress,
178
+ variant = "secondary",
179
+ size = "lg",
180
+ icon,
181
+ disabled,
182
+ fullWidth = true
183
+ }) {
184
+ const labelColor = variant === "primary" ? night.color.onAccent : variant === "tertiary" ? night.color.text : variant === "destructive" ? night.color.danger : night.color.accent;
185
+ return /*#__PURE__*/_jsxs(TouchableOpacity, {
186
+ activeOpacity: 0.7,
187
+ disabled: disabled,
188
+ onPress: onPress,
189
+ style: [styles.button, size === "md" ? styles.buttonMd : styles.buttonLg, variant === "primary" ? styles.buttonPrimary : variant === "ghost" ? styles.buttonGhost : styles.buttonPlate, fullWidth ? styles.buttonFullWidth : null, disabled ? styles.buttonDisabled : null],
190
+ children: [icon, /*#__PURE__*/_jsx(Text, {
191
+ style: [size === "md" ? styles.buttonTextMd : styles.buttonTextLg, {
192
+ color: labelColor
193
+ }],
194
+ children: label
195
+ })]
196
+ });
197
+ }
198
+ /**
199
+ * Segmented control: `#050505` track, `#161618` thumb, and the accent
200
+ * underline glow beneath the active label (the Everlights All/Day tabs).
201
+ *
202
+ * THE shared tab control for night-theme tool headers — the dial settings
203
+ * and the network tool both mount this one. `size="sm"` is the compact
204
+ * variant for in-tool headers where the full-height control reads too tall.
205
+ */
206
+ export function NightSegmented({
207
+ tabs,
208
+ activeKey,
209
+ onChange,
210
+ size = "md"
211
+ }) {
212
+ const small = size === "sm";
213
+ return /*#__PURE__*/_jsx(View, {
214
+ style: styles.segmentTrack,
215
+ children: tabs.map(tab => {
216
+ const active = tab.key === activeKey;
217
+ return /*#__PURE__*/_jsxs(TouchableOpacity, {
218
+ activeOpacity: 0.7,
219
+ accessibilityRole: "tab",
220
+ accessibilityState: {
221
+ selected: active
222
+ },
223
+ accessibilityLabel: tab.label,
224
+ onPress: () => onChange(tab.key),
225
+ style: [styles.segment, small ? styles.segmentSm : null, active ? styles.segmentActive : null],
226
+ children: [/*#__PURE__*/_jsx(Text, {
227
+ style: [styles.segmentText, small ? styles.segmentTextSm : null, active ? styles.segmentTextActive : null],
228
+ children: tab.label
229
+ }), active ? /*#__PURE__*/_jsx(View, {
230
+ style: [styles.segmentUnderline, small ? styles.segmentUnderlineSm : null]
231
+ }) : null]
232
+ }, tab.key);
233
+ })
234
+ });
235
+ }
236
+ /** Small uppercase status cap ("FILE SYSTEM", "CONNECTED"). */
237
+ export function NightBadge({
238
+ label,
239
+ tone = "neutral"
240
+ }) {
241
+ const fill = tone === "accent" ? styles.badgeAccent : tone === "warning" ? styles.badgeWarning : tone === "danger" ? styles.badgeDanger : tone === "info" ? styles.badgeInfo : styles.badgeNeutral;
242
+ const ink = tone === "accent" ? styles.badgeTextAccent : tone === "warning" ? styles.badgeTextWarning : tone === "danger" ? styles.badgeTextDanger : tone === "info" ? styles.badgeTextInfo : styles.badgeTextNeutral;
243
+ return /*#__PURE__*/_jsx(View, {
244
+ style: [styles.badge, fill],
245
+ children: /*#__PURE__*/_jsx(Text, {
246
+ style: [styles.badgeText, ink],
247
+ children: label
248
+ })
249
+ });
250
+ }
251
+ const styles = StyleSheet.create({
252
+ sectionLabel: {
253
+ color: night.color.textSecondary,
254
+ fontSize: night.font.label,
255
+ fontWeight: "600",
256
+ letterSpacing: NIGHT_LABEL_TRACKING,
257
+ textTransform: "uppercase",
258
+ marginBottom: 8,
259
+ marginLeft: night.labelInset
260
+ },
261
+ footnote: {
262
+ color: night.color.textTertiary,
263
+ fontSize: night.font.caption,
264
+ fontWeight: "500",
265
+ lineHeight: night.font.caption * 1.4,
266
+ marginTop: 8,
267
+ marginLeft: night.labelInset
268
+ },
269
+ footnoteSecondary: {
270
+ color: night.color.textSecondary
271
+ },
272
+ footnoteWarning: {
273
+ color: night.color.warning
274
+ },
275
+ footnoteDanger: {
276
+ color: night.color.danger
277
+ },
278
+ footnoteCentered: {
279
+ textAlign: "center",
280
+ marginLeft: 0
281
+ },
282
+ card: {
283
+ backgroundColor: night.color.surface,
284
+ borderRadius: night.radius.card,
285
+ borderWidth: 1,
286
+ borderColor: night.color.border,
287
+ overflow: "hidden"
288
+ },
289
+ cardPadded: {
290
+ padding: night.cardPad,
291
+ gap: 10
292
+ },
293
+ separator: {
294
+ height: StyleSheet.hairlineWidth,
295
+ backgroundColor: night.color.separator
296
+ },
297
+ switchTrack: {
298
+ width: TRACK_W,
299
+ height: TRACK_H,
300
+ borderRadius: TRACK_H / 2,
301
+ borderWidth: 1,
302
+ borderColor: night.color.fillTertiary,
303
+ backgroundColor: night.color.surfaceElevated,
304
+ paddingHorizontal: TRACK_PAD,
305
+ justifyContent: "center",
306
+ overflow: "hidden"
307
+ },
308
+ switchTrackOn: {
309
+ backgroundColor: night.color.accentFill,
310
+ borderColor: night.color.accentBorderStrong
311
+ },
312
+ switchDisabled: {
313
+ opacity: 0.4
314
+ },
315
+ switchThumb: {
316
+ width: THUMB,
317
+ height: THUMB,
318
+ borderRadius: THUMB / 2,
319
+ backgroundColor: night.color.knob
320
+ },
321
+ switchThumbOn: {
322
+ backgroundColor: night.color.accent
323
+ },
324
+ chip: {
325
+ flexDirection: "row",
326
+ alignItems: "center",
327
+ gap: 6,
328
+ paddingHorizontal: 14,
329
+ paddingVertical: 9,
330
+ borderRadius: night.radius.chip,
331
+ borderWidth: 1.5,
332
+ backgroundColor: night.color.buttonSurface,
333
+ borderColor: night.color.fillTertiary
334
+ },
335
+ chipSelected: {
336
+ borderColor: night.color.accentBorderStrong
337
+ },
338
+ chipDisabled: {
339
+ opacity: 0.4
340
+ },
341
+ chipText: {
342
+ fontSize: night.font.body,
343
+ fontWeight: "500",
344
+ color: night.color.textSecondary
345
+ },
346
+ chipTextSelected: {
347
+ color: night.color.accent
348
+ },
349
+ button: {
350
+ flexDirection: "row",
351
+ alignItems: "center",
352
+ justifyContent: "center",
353
+ gap: 8
354
+ },
355
+ buttonMd: {
356
+ height: 34,
357
+ paddingHorizontal: 16,
358
+ borderRadius: 17
359
+ },
360
+ buttonLg: {
361
+ height: 50,
362
+ paddingHorizontal: 20,
363
+ borderRadius: 25
364
+ },
365
+ buttonPrimary: {
366
+ backgroundColor: night.color.accent
367
+ },
368
+ buttonPlate: {
369
+ backgroundColor: night.color.button
370
+ },
371
+ buttonGhost: {
372
+ backgroundColor: "transparent"
373
+ },
374
+ buttonFullWidth: {
375
+ alignSelf: "stretch"
376
+ },
377
+ buttonDisabled: {
378
+ opacity: 0.4
379
+ },
380
+ buttonTextMd: {
381
+ fontSize: 15,
382
+ fontWeight: "600"
383
+ },
384
+ buttonTextLg: {
385
+ fontSize: 17,
386
+ fontWeight: "600"
387
+ },
388
+ segmentTrack: {
389
+ flex: 1,
390
+ flexDirection: "row",
391
+ backgroundColor: night.color.bg,
392
+ borderRadius: night.radius.row,
393
+ borderWidth: 1,
394
+ borderColor: night.color.border,
395
+ padding: 3
396
+ },
397
+ segment: {
398
+ flex: 1,
399
+ paddingVertical: 8,
400
+ alignItems: "center",
401
+ justifyContent: "center",
402
+ borderRadius: night.radius.segment
403
+ },
404
+ segmentActive: {
405
+ backgroundColor: night.color.surfaceElevated
406
+ },
407
+ segmentText: {
408
+ fontSize: night.font.caption,
409
+ fontWeight: "500",
410
+ color: night.color.textSecondary
411
+ },
412
+ segmentTextActive: {
413
+ fontWeight: "600",
414
+ color: night.color.text
415
+ },
416
+ segmentUnderline: {
417
+ position: "absolute",
418
+ bottom: 2,
419
+ width: 24,
420
+ height: 2.5,
421
+ borderRadius: 1.25,
422
+ backgroundColor: night.color.accent,
423
+ shadowColor: night.color.accent,
424
+ shadowOffset: {
425
+ width: 0,
426
+ height: 0
427
+ },
428
+ shadowOpacity: 0.6,
429
+ shadowRadius: 6
430
+ },
431
+ segmentSm: {
432
+ paddingVertical: 5
433
+ },
434
+ segmentTextSm: {
435
+ fontSize: 12
436
+ },
437
+ segmentUnderlineSm: {
438
+ bottom: 1.5,
439
+ width: 20,
440
+ height: 2,
441
+ borderRadius: 1
442
+ },
443
+ badge: {
444
+ paddingHorizontal: 8,
445
+ paddingVertical: 4,
446
+ borderRadius: night.radius.badge,
447
+ alignSelf: "flex-start"
448
+ },
449
+ badgeText: {
450
+ fontSize: night.font.micro,
451
+ fontWeight: "600",
452
+ letterSpacing: 0.5,
453
+ textTransform: "uppercase"
454
+ },
455
+ badgeAccent: {
456
+ backgroundColor: night.color.accentSoft
457
+ },
458
+ badgeTextAccent: {
459
+ color: night.color.accent
460
+ },
461
+ badgeWarning: {
462
+ backgroundColor: night.color.warningSoft
463
+ },
464
+ badgeTextWarning: {
465
+ color: night.color.warning
466
+ },
467
+ badgeDanger: {
468
+ backgroundColor: night.color.dangerSoft
469
+ },
470
+ badgeTextDanger: {
471
+ color: night.color.danger
472
+ },
473
+ badgeInfo: {
474
+ backgroundColor: night.color.infoSoft
475
+ },
476
+ badgeTextInfo: {
477
+ color: night.color.info
478
+ },
479
+ badgeNeutral: {
480
+ backgroundColor: night.color.fillSecondary
481
+ },
482
+ badgeTextNeutral: {
483
+ color: night.color.textSecondary
484
+ }
485
+ });
@@ -12,6 +12,15 @@
12
12
  import { ReactNode } from "react";
13
13
  import { Animated, ViewStyle } from "react-native";
14
14
  export type ModalMode = "bottomSheet" | "floating";
15
+ /**
16
+ * Chrome variant. "night" (the default since the suite-wide theme move) is
17
+ * the Everlights-style sheet (see ui/night): near-black `#050505` surfaces at
18
+ * radius 16, a hairline accent border, a neutral drag handle instead of the
19
+ * teal bar, a transparent header, and the ToolBackground hoisted to the sheet
20
+ * root so the star field runs through the header instead of stopping under
21
+ * it. "default" is the legacy card-grey chrome, kept as an escape hatch.
22
+ */
23
+ export type ModalVariant = "default" | "night";
15
24
  interface HeaderConfig {
16
25
  title?: string;
17
26
  subtitle?: string;
@@ -79,6 +88,15 @@ interface JsModalProps {
79
88
  zIndex?: number;
80
89
  /** If true, children are rendered directly without ScrollView wrapper (use when children have their own FlatList/ScrollView) */
81
90
  disableScrollWrapper?: boolean;
91
+ /**
92
+ * Render the shared `ToolBackground` (the persisted preset — Live Sky by
93
+ * default) behind the modal body. On by default; pass false for tools that
94
+ * don't want a backdrop, or that mount their own (the network tool does, so
95
+ * its inline desktop panel — which never goes through JsModal — matches).
96
+ */
97
+ background?: boolean;
98
+ /** Chrome variant — see {@link ModalVariant}. */
99
+ variant?: ModalVariant;
82
100
  }
83
101
  export declare const JsModal: import("react").NamedExoticComponent<JsModalProps>;
84
102
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"JsModal.d.ts","sourceRoot":"","sources":["../../../src/JsModal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAUL,SAAS,EAEV,MAAM,OAAO,CAAC;AACf,OAAO,EAML,QAAQ,EAGR,SAAS,EAEV,MAAM,cAAc,CAAC;AA8FtB,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AAEnD,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,YAAY;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;IAChC;;;+BAG2B;IAC3B,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;IACtE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uBAAuB,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAErD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,yFAAyF;IACzF,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,0EAA0E;IAC1E,sBAAsB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gIAAgI;IAChI,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAioDD,eAAO,MAAM,OAAO,oDAAyB,CAAC"}
1
+ {"version":3,"file":"JsModal.d.ts","sourceRoot":"","sources":["../../../src/JsModal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAUL,SAAS,EAEV,MAAM,OAAO,CAAC;AACf,OAAO,EAML,QAAQ,EAGR,SAAS,EAEV,MAAM,cAAc,CAAC;AA+GtB,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/C,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,YAAY;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;IAChC;;;+BAG2B;IAC3B,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;IACtE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uBAAuB,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAErD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,yFAAyF;IACzF,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,0EAA0E;IAC1E,sBAAsB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gIAAgI;IAChI,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AA8wDD,eAAO,MAAM,OAAO,oDAAyB,CAAC"}
@@ -132,6 +132,19 @@ export interface JsModalProps {
132
132
  zIndex?: number;
133
133
  /** If true, children render directly without the scroll wrapper */
134
134
  disableScrollWrapper?: boolean;
135
+ /**
136
+ * Render the shared `ToolBackground` behind the modal body (native parity:
137
+ * first child of the clipping content box). On by default; pass false for
138
+ * tools that don't want a backdrop or mount their own.
139
+ */
140
+ background?: boolean;
141
+ /**
142
+ * Chrome variant (native parity). "night" = the Everlights-style sheet:
143
+ * near-black `#050505` surfaces at radius 16, a hairline accent border, a
144
+ * neutral drag handle, a transparent header, and the ToolBackground hoisted
145
+ * to the sheet root so the star field runs through the header.
146
+ */
147
+ variant?: "default" | "night";
135
148
  }
136
149
  export declare const JsModal: import("react").NamedExoticComponent<JsModalProps>;
137
150
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"JsModal.web.d.ts","sourceRoot":"","sources":["../../../src/JsModal.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AAEH,OAAO,EASL,KAAK,aAAa,EAGlB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAmHf,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AAEnD,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,YAAY;IAEpB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iEAAiE;IACjE,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;IACtE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uBAAuB,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,yFAAyF;IACzF,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,0EAA0E;IAC1E,sBAAsB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AA88CD,eAAO,MAAM,OAAO,oDAAyB,CAAC"}
1
+ {"version":3,"file":"JsModal.web.d.ts","sourceRoot":"","sources":["../../../src/JsModal.web.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AAEH,OAAO,EASL,KAAK,aAAa,EAGlB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAyHf,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AAEnD,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,YAAY;IAEpB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iEAAiE;IACjE,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;IACtE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uBAAuB,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,yFAAyF;IACzF,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,0EAA0E;IAC1E,sBAAsB,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CAC/B;AAqgDD,eAAO,MAAM,OAAO,oDAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedDataExplorer.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/VirtualizedDataExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAOL,EAAE,EACF,YAAY,EACb,MAAM,OAAO,CAAC;AAaf,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAkoC7D,UAAU,4BAA4B;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;IAClE;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7D,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,YAAY,GAAG,IAAI,CAAC;IAC3E;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC9B;AAED,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,4BAA4B,CAqUpE,CAAC"}
1
+ {"version":3,"file":"VirtualizedDataExplorer.d.ts","sourceRoot":"","sources":["../../../../src/dataViewer/VirtualizedDataExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAOL,EAAE,EACF,YAAY,EACb,MAAM,OAAO,CAAC;AAcf,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA2oC7D,UAAU,4BAA4B;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;IAClE;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7D,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,YAAY,GAAG,IAAI,CAAC;IAC3E;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC9B;AAED,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,4BAA4B,CAqUpE,CAAC"}
@@ -48,7 +48,9 @@ export interface DiffTheme {
48
48
  export declare const gitClassicTheme: DiffTheme;
49
49
  /**
50
50
  * Dev Tools Default Theme
51
- * Clean dark theme matching Buoy website brand colors
51
+ * The night theme (ui/night) — near-black surfaces, hairline borders. Diff
52
+ * DATA colors (added green / removed red / modified purple) are semantic and
53
+ * deliberately unchanged.
52
54
  */
53
55
  export declare const devToolsDefaultTheme: DiffTheme;
54
56
  /**