@orangecheck/app-design 1.0.0 → 1.1.1

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 (66) hide show
  1. package/README.md +21 -5
  2. package/dist/chrome.d.mts +31 -42
  3. package/dist/chrome.d.ts +31 -42
  4. package/dist/chrome.js +502 -24
  5. package/dist/chrome.js.map +1 -1
  6. package/dist/chrome.mjs +497 -26
  7. package/dist/chrome.mjs.map +1 -1
  8. package/dist/code.d.mts +52 -0
  9. package/dist/code.d.ts +52 -0
  10. package/dist/code.js +534 -0
  11. package/dist/code.js.map +1 -0
  12. package/dist/code.mjs +522 -0
  13. package/dist/code.mjs.map +1 -0
  14. package/dist/components.d.mts +61 -117
  15. package/dist/components.d.ts +61 -117
  16. package/dist/components.js +2178 -106
  17. package/dist/components.js.map +1 -1
  18. package/dist/components.mjs +2150 -110
  19. package/dist/components.mjs.map +1 -1
  20. package/dist/docs-DhnstueM.d.ts +219 -0
  21. package/dist/docs-DiR6s43s.d.mts +219 -0
  22. package/dist/family.js +2 -1
  23. package/dist/family.js.map +1 -1
  24. package/dist/family.mjs +2 -1
  25. package/dist/family.mjs.map +1 -1
  26. package/dist/format.d.mts +12 -0
  27. package/dist/format.d.ts +12 -0
  28. package/dist/format.js +65 -0
  29. package/dist/format.js.map +1 -0
  30. package/dist/format.mjs +58 -0
  31. package/dist/format.mjs.map +1 -0
  32. package/dist/hero-Dn37il-9.d.mts +31 -0
  33. package/dist/hero-Dn37il-9.d.ts +31 -0
  34. package/dist/index.d.mts +10 -3
  35. package/dist/index.d.ts +10 -3
  36. package/dist/index.js +2675 -131
  37. package/dist/index.js.map +1 -1
  38. package/dist/index.mjs +2621 -134
  39. package/dist/index.mjs.map +1 -1
  40. package/dist/mdx.d.mts +58 -0
  41. package/dist/mdx.d.ts +58 -0
  42. package/dist/mdx.js +1719 -0
  43. package/dist/mdx.js.map +1 -0
  44. package/dist/mdx.mjs +1692 -0
  45. package/dist/mdx.mjs.map +1 -0
  46. package/dist/primitives.d.mts +22 -5
  47. package/dist/primitives.d.ts +22 -5
  48. package/dist/primitives.js +51 -5
  49. package/dist/primitives.js.map +1 -1
  50. package/dist/primitives.mjs +51 -7
  51. package/dist/primitives.mjs.map +1 -1
  52. package/dist/session.d.mts +18 -0
  53. package/dist/session.d.ts +18 -0
  54. package/dist/session.js +432 -0
  55. package/dist/session.js.map +1 -0
  56. package/dist/session.mjs +401 -0
  57. package/dist/session.mjs.map +1 -0
  58. package/dist/styles/code.css +97 -0
  59. package/dist/styles/theme.css +2 -0
  60. package/dist/styles/tokens.css +40 -0
  61. package/dist/styles.css +1 -0
  62. package/dist/tool-shell-B1C7ahKE.d.ts +81 -0
  63. package/dist/tool-shell-BDx_N5ai.d.mts +81 -0
  64. package/dist/tools-BggNN5DV.d.ts +131 -0
  65. package/dist/tools-DFIxIj5p.d.mts +131 -0
  66. package/package.json +31 -2
package/dist/format.js ADDED
@@ -0,0 +1,65 @@
1
+ 'use strict';
2
+
3
+ // src/format/index.ts
4
+ var EXPLORER = "https://mempool.space";
5
+ function explorerUrl(kind, value, network = "mainnet") {
6
+ const net = network === "mainnet" ? "" : `/${network}`;
7
+ return `${EXPLORER}${net}/${kind}/${encodeURIComponent(String(value))}`;
8
+ }
9
+ function shortenMiddle(value, head = 8, tail = 6) {
10
+ return value.length <= head + tail + 1 ? value : `${value.slice(0, head)}\u2026${value.slice(-tail)}`;
11
+ }
12
+ function formatBlockHeight(height) {
13
+ return Math.trunc(height).toLocaleString("en-US");
14
+ }
15
+ function blocksToDuration(blocks, minutesPerBlock = 10) {
16
+ const minutes = Math.max(0, Math.round(blocks * minutesPerBlock));
17
+ if (minutes < 60) return `about ${minutes} minute${minutes === 1 ? "" : "s"}`;
18
+ const units = [
19
+ [60 * 24 * 7, "week"],
20
+ [60 * 24, "day"],
21
+ [60, "hour"],
22
+ [1, "minute"]
23
+ ];
24
+ const parts = [];
25
+ let rest = minutes;
26
+ for (const [size, word] of units) {
27
+ const n = Math.floor(rest / size);
28
+ if (n > 0 && parts.length < 2) {
29
+ parts.push(`${n} ${word}${n === 1 ? "" : "s"}`);
30
+ rest -= n * size;
31
+ } else if (parts.length > 0) break;
32
+ }
33
+ return `about ${parts.join(" ")}`;
34
+ }
35
+ var MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
36
+ function formatUtc(at, opts = {}) {
37
+ const d = typeof at === "number" ? new Date(at * 1e3) : new Date(at);
38
+ if (Number.isNaN(d.getTime())) return "\u2014";
39
+ const day = `${d.getUTCDate()} ${MONTHS[d.getUTCMonth()]} ${d.getUTCFullYear()}`;
40
+ if (opts.date) return day;
41
+ const hh = String(d.getUTCHours()).padStart(2, "0");
42
+ const mm = String(d.getUTCMinutes()).padStart(2, "0");
43
+ return `${day}, ${hh}:${mm} UTC`;
44
+ }
45
+ function formatBytes(bytes) {
46
+ if (!Number.isFinite(bytes) || bytes < 0) return "\u2014";
47
+ if (bytes < 1024) return `${bytes} B`;
48
+ const units = ["KB", "MB", "GB", "TB"];
49
+ let v = bytes / 1024;
50
+ let u = 0;
51
+ while (v >= 1024 && u < units.length - 1) {
52
+ v /= 1024;
53
+ u++;
54
+ }
55
+ return `${v < 10 ? v.toFixed(1).replace(/\.0$/, "") : Math.round(v)} ${units[u]}`;
56
+ }
57
+
58
+ exports.blocksToDuration = blocksToDuration;
59
+ exports.explorerUrl = explorerUrl;
60
+ exports.formatBlockHeight = formatBlockHeight;
61
+ exports.formatBytes = formatBytes;
62
+ exports.formatUtc = formatUtc;
63
+ exports.shortenMiddle = shortenMiddle;
64
+ //# sourceMappingURL=format.js.map
65
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/format/index.ts"],"names":[],"mappings":";;;AASA,IAAM,QAAA,GAAW,uBAAA;AAGV,SAAS,WAAA,CAAY,IAAA,EAAoB,KAAA,EAAwB,OAAA,GAAmB,SAAA,EAAmB;AAC1G,EAAA,MAAM,GAAA,GAAM,OAAA,KAAY,SAAA,GAAY,EAAA,GAAK,IAAI,OAAO,CAAA,CAAA;AACpD,EAAA,OAAO,CAAA,EAAG,QAAQ,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAI,kBAAA,CAAmB,MAAA,CAAO,KAAK,CAAC,CAAC,CAAA,CAAA;AACzE;AAGO,SAAS,aAAA,CAAc,KAAA,EAAe,IAAA,GAAO,CAAA,EAAG,OAAO,CAAA,EAAW;AACrE,EAAA,OAAO,MAAM,MAAA,IAAU,IAAA,GAAO,IAAA,GAAO,CAAA,GAAI,QAAQ,CAAA,EAAG,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,IAAI,CAAC,CAAA,MAAA,EAAI,MAAM,KAAA,CAAM,CAAC,IAAI,CAAC,CAAA,CAAA;AAClG;AAGO,SAAS,kBAAkB,MAAA,EAAwB;AACtD,EAAA,OAAO,IAAA,CAAK,KAAA,CAAM,MAAM,CAAA,CAAE,eAAe,OAAO,CAAA;AACpD;AAOO,SAAS,gBAAA,CAAiB,MAAA,EAAgB,eAAA,GAAkB,EAAA,EAAY;AAC3E,EAAA,MAAM,OAAA,GAAU,KAAK,GAAA,CAAI,CAAA,EAAG,KAAK,KAAA,CAAM,MAAA,GAAS,eAAe,CAAC,CAAA;AAChE,EAAA,IAAI,OAAA,GAAU,IAAI,OAAO,CAAA,MAAA,EAAS,OAAO,CAAA,OAAA,EAAU,OAAA,KAAY,CAAA,GAAI,EAAA,GAAK,GAAG,CAAA,CAAA;AAC3E,EAAA,MAAM,KAAA,GAA4B;AAAA,IAC9B,CAAC,EAAA,GAAK,EAAA,GAAK,CAAA,EAAG,MAAM,CAAA;AAAA,IACpB,CAAC,EAAA,GAAK,EAAA,EAAI,KAAK,CAAA;AAAA,IACf,CAAC,IAAI,MAAM,CAAA;AAAA,IACX,CAAC,GAAG,QAAQ;AAAA,GAChB;AACA,EAAA,MAAM,QAAkB,EAAC;AACzB,EAAA,IAAI,IAAA,GAAO,OAAA;AACX,EAAA,KAAA,MAAW,CAAC,IAAA,EAAM,IAAI,CAAA,IAAK,KAAA,EAAO;AAC9B,IAAA,MAAM,CAAA,GAAI,IAAA,CAAK,KAAA,CAAM,IAAA,GAAO,IAAI,CAAA;AAChC,IAAA,IAAI,CAAA,GAAI,CAAA,IAAK,KAAA,CAAM,MAAA,GAAS,CAAA,EAAG;AAC3B,MAAA,KAAA,CAAM,IAAA,CAAK,CAAA,EAAG,CAAC,CAAA,CAAA,EAAI,IAAI,GAAG,CAAA,KAAM,CAAA,GAAI,EAAA,GAAK,GAAG,CAAA,CAAE,CAAA;AAC9C,MAAA,IAAA,IAAQ,CAAA,GAAI,IAAA;AAAA,IAChB,CAAA,MAAA,IAAW,KAAA,CAAM,MAAA,GAAS,CAAA,EAAG;AAAA,EACjC;AACA,EAAA,OAAO,CAAA,MAAA,EAAS,KAAA,CAAM,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA;AACnC;AAEA,IAAM,MAAA,GAAS,CAAC,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,OAAO,KAAK,CAAA;AAM3F,SAAS,SAAA,CAAU,EAAA,EAA4B,IAAA,GAA2B,EAAC,EAAW;AACzF,EAAA,MAAM,CAAA,GAAI,OAAO,EAAA,KAAO,QAAA,GAAW,IAAI,IAAA,CAAK,EAAA,GAAK,GAAI,CAAA,GAAI,IAAI,IAAA,CAAK,EAAE,CAAA;AACpE,EAAA,IAAI,OAAO,KAAA,CAAM,CAAA,CAAE,OAAA,EAAS,GAAG,OAAO,QAAA;AACtC,EAAA,MAAM,GAAA,GAAM,CAAA,EAAG,CAAA,CAAE,UAAA,EAAY,CAAA,CAAA,EAAI,MAAA,CAAO,CAAA,CAAE,WAAA,EAAa,CAAC,CAAA,CAAA,EAAI,CAAA,CAAE,gBAAgB,CAAA,CAAA;AAC9E,EAAA,IAAI,IAAA,CAAK,MAAM,OAAO,GAAA;AACtB,EAAA,MAAM,EAAA,GAAK,OAAO,CAAA,CAAE,WAAA,EAAa,CAAA,CAAE,QAAA,CAAS,GAAG,GAAG,CAAA;AAClD,EAAA,MAAM,EAAA,GAAK,OAAO,CAAA,CAAE,aAAA,EAAe,CAAA,CAAE,QAAA,CAAS,GAAG,GAAG,CAAA;AACpD,EAAA,OAAO,CAAA,EAAG,GAAG,CAAA,EAAA,EAAK,EAAE,IAAI,EAAE,CAAA,IAAA,CAAA;AAC9B;AAGO,SAAS,YAAY,KAAA,EAAuB;AAC/C,EAAA,IAAI,CAAC,MAAA,CAAO,QAAA,CAAS,KAAK,CAAA,IAAK,KAAA,GAAQ,GAAG,OAAO,QAAA;AACjD,EAAA,IAAI,KAAA,GAAQ,IAAA,EAAM,OAAO,CAAA,EAAG,KAAK,CAAA,EAAA,CAAA;AACjC,EAAA,MAAM,KAAA,GAAQ,CAAC,IAAA,EAAM,IAAA,EAAM,MAAM,IAAI,CAAA;AACrC,EAAA,IAAI,IAAI,KAAA,GAAQ,IAAA;AAChB,EAAA,IAAI,CAAA,GAAI,CAAA;AACR,EAAA,OAAO,CAAA,IAAK,IAAA,IAAQ,CAAA,GAAI,KAAA,CAAM,SAAS,CAAA,EAAG;AACtC,IAAA,CAAA,IAAK,IAAA;AACL,IAAA,CAAA,EAAA;AAAA,EACJ;AACA,EAAA,OAAO,GAAG,CAAA,GAAI,EAAA,GAAK,EAAE,OAAA,CAAQ,CAAC,EAAE,OAAA,CAAQ,MAAA,EAAQ,EAAE,CAAA,GAAI,KAAK,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAI,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AACnF","file":"format.js","sourcesContent":["/*\n * Formatting for the things the family shows over and over: Bitcoin\n * explorer links, shortened ids, block heights, the time to a block. No\n * React, so server code and OG renderers import it too.\n */\n\nexport type Network = 'mainnet' | 'testnet' | 'testnet4' | 'signet';\nexport type ExplorerKind = 'address' | 'tx' | 'block';\n\nconst EXPLORER = 'https://mempool.space';\n\n/** A mempool.space link for an address, a transaction, or a block (by height or hash). */\nexport function explorerUrl(kind: ExplorerKind, value: string | number, network: Network = 'mainnet'): string {\n const net = network === 'mainnet' ? '' : `/${network}`;\n return `${EXPLORER}${net}/${kind}/${encodeURIComponent(String(value))}`;\n}\n\n/** head…tail, leaving short values whole. */\nexport function shortenMiddle(value: string, head = 8, tail = 6): string {\n return value.length <= head + tail + 1 ? value : `${value.slice(0, head)}…${value.slice(-tail)}`;\n}\n\n/** 971632 → \"971,632\". */\nexport function formatBlockHeight(height: number): string {\n return Math.trunc(height).toLocaleString('en-US');\n}\n\n/**\n * How long a number of blocks takes at ten minutes each, in the largest two\n * units: \"about 40 minutes\", \"about 2 days 13 hours\". Blocks come when they\n * come, so it is always \"about\".\n */\nexport function blocksToDuration(blocks: number, minutesPerBlock = 10): string {\n const minutes = Math.max(0, Math.round(blocks * minutesPerBlock));\n if (minutes < 60) return `about ${minutes} minute${minutes === 1 ? '' : 's'}`;\n const units: [number, string][] = [\n [60 * 24 * 7, 'week'],\n [60 * 24, 'day'],\n [60, 'hour'],\n [1, 'minute'],\n ];\n const parts: string[] = [];\n let rest = minutes;\n for (const [size, word] of units) {\n const n = Math.floor(rest / size);\n if (n > 0 && parts.length < 2) {\n parts.push(`${n} ${word}${n === 1 ? '' : 's'}`);\n rest -= n * size;\n } else if (parts.length > 0) break;\n }\n return `about ${parts.join(' ')}`;\n}\n\nconst MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\n/**\n * A moment in UTC, the same for every reader: \"20 Oct 2026, 09:14 UTC\".\n * Takes a Date, an ISO string, or unix seconds. `date: true` drops the time.\n */\nexport function formatUtc(at: Date | string | number, opts: { date?: boolean } = {}): string {\n const d = typeof at === 'number' ? new Date(at * 1000) : new Date(at);\n if (Number.isNaN(d.getTime())) return '—';\n const day = `${d.getUTCDate()} ${MONTHS[d.getUTCMonth()]} ${d.getUTCFullYear()}`;\n if (opts.date) return day;\n const hh = String(d.getUTCHours()).padStart(2, '0');\n const mm = String(d.getUTCMinutes()).padStart(2, '0');\n return `${day}, ${hh}:${mm} UTC`;\n}\n\n/** 482113 → \"471 KB\"; 1288490 → \"1.2 MB\". Binary steps, the way a file dialog counts. */\nexport function formatBytes(bytes: number): string {\n if (!Number.isFinite(bytes) || bytes < 0) return '—';\n if (bytes < 1024) return `${bytes} B`;\n const units = ['KB', 'MB', 'GB', 'TB'];\n let v = bytes / 1024;\n let u = 0;\n while (v >= 1024 && u < units.length - 1) {\n v /= 1024;\n u++;\n }\n return `${v < 10 ? v.toFixed(1).replace(/\\.0$/, '') : Math.round(v)} ${units[u]}`;\n}\n"]}
@@ -0,0 +1,58 @@
1
+ // src/format/index.ts
2
+ var EXPLORER = "https://mempool.space";
3
+ function explorerUrl(kind, value, network = "mainnet") {
4
+ const net = network === "mainnet" ? "" : `/${network}`;
5
+ return `${EXPLORER}${net}/${kind}/${encodeURIComponent(String(value))}`;
6
+ }
7
+ function shortenMiddle(value, head = 8, tail = 6) {
8
+ return value.length <= head + tail + 1 ? value : `${value.slice(0, head)}\u2026${value.slice(-tail)}`;
9
+ }
10
+ function formatBlockHeight(height) {
11
+ return Math.trunc(height).toLocaleString("en-US");
12
+ }
13
+ function blocksToDuration(blocks, minutesPerBlock = 10) {
14
+ const minutes = Math.max(0, Math.round(blocks * minutesPerBlock));
15
+ if (minutes < 60) return `about ${minutes} minute${minutes === 1 ? "" : "s"}`;
16
+ const units = [
17
+ [60 * 24 * 7, "week"],
18
+ [60 * 24, "day"],
19
+ [60, "hour"],
20
+ [1, "minute"]
21
+ ];
22
+ const parts = [];
23
+ let rest = minutes;
24
+ for (const [size, word] of units) {
25
+ const n = Math.floor(rest / size);
26
+ if (n > 0 && parts.length < 2) {
27
+ parts.push(`${n} ${word}${n === 1 ? "" : "s"}`);
28
+ rest -= n * size;
29
+ } else if (parts.length > 0) break;
30
+ }
31
+ return `about ${parts.join(" ")}`;
32
+ }
33
+ var MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
34
+ function formatUtc(at, opts = {}) {
35
+ const d = typeof at === "number" ? new Date(at * 1e3) : new Date(at);
36
+ if (Number.isNaN(d.getTime())) return "\u2014";
37
+ const day = `${d.getUTCDate()} ${MONTHS[d.getUTCMonth()]} ${d.getUTCFullYear()}`;
38
+ if (opts.date) return day;
39
+ const hh = String(d.getUTCHours()).padStart(2, "0");
40
+ const mm = String(d.getUTCMinutes()).padStart(2, "0");
41
+ return `${day}, ${hh}:${mm} UTC`;
42
+ }
43
+ function formatBytes(bytes) {
44
+ if (!Number.isFinite(bytes) || bytes < 0) return "\u2014";
45
+ if (bytes < 1024) return `${bytes} B`;
46
+ const units = ["KB", "MB", "GB", "TB"];
47
+ let v = bytes / 1024;
48
+ let u = 0;
49
+ while (v >= 1024 && u < units.length - 1) {
50
+ v /= 1024;
51
+ u++;
52
+ }
53
+ return `${v < 10 ? v.toFixed(1).replace(/\.0$/, "") : Math.round(v)} ${units[u]}`;
54
+ }
55
+
56
+ export { blocksToDuration, explorerUrl, formatBlockHeight, formatBytes, formatUtc, shortenMiddle };
57
+ //# sourceMappingURL=format.mjs.map
58
+ //# sourceMappingURL=format.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/format/index.ts"],"names":[],"mappings":"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","file":"format.mjs","sourcesContent":["/*\n * Formatting for the things the family shows over and over: Bitcoin\n * explorer links, shortened ids, block heights, the time to a block. No\n * React, so server code and OG renderers import it too.\n */\n\nexport type Network = 'mainnet' | 'testnet' | 'testnet4' | 'signet';\nexport type ExplorerKind = 'address' | 'tx' | 'block';\n\nconst EXPLORER = 'https://mempool.space';\n\n/** A mempool.space link for an address, a transaction, or a block (by height or hash). */\nexport function explorerUrl(kind: ExplorerKind, value: string | number, network: Network = 'mainnet'): string {\n const net = network === 'mainnet' ? '' : `/${network}`;\n return `${EXPLORER}${net}/${kind}/${encodeURIComponent(String(value))}`;\n}\n\n/** head…tail, leaving short values whole. */\nexport function shortenMiddle(value: string, head = 8, tail = 6): string {\n return value.length <= head + tail + 1 ? value : `${value.slice(0, head)}…${value.slice(-tail)}`;\n}\n\n/** 971632 → \"971,632\". */\nexport function formatBlockHeight(height: number): string {\n return Math.trunc(height).toLocaleString('en-US');\n}\n\n/**\n * How long a number of blocks takes at ten minutes each, in the largest two\n * units: \"about 40 minutes\", \"about 2 days 13 hours\". Blocks come when they\n * come, so it is always \"about\".\n */\nexport function blocksToDuration(blocks: number, minutesPerBlock = 10): string {\n const minutes = Math.max(0, Math.round(blocks * minutesPerBlock));\n if (minutes < 60) return `about ${minutes} minute${minutes === 1 ? '' : 's'}`;\n const units: [number, string][] = [\n [60 * 24 * 7, 'week'],\n [60 * 24, 'day'],\n [60, 'hour'],\n [1, 'minute'],\n ];\n const parts: string[] = [];\n let rest = minutes;\n for (const [size, word] of units) {\n const n = Math.floor(rest / size);\n if (n > 0 && parts.length < 2) {\n parts.push(`${n} ${word}${n === 1 ? '' : 's'}`);\n rest -= n * size;\n } else if (parts.length > 0) break;\n }\n return `about ${parts.join(' ')}`;\n}\n\nconst MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\n/**\n * A moment in UTC, the same for every reader: \"20 Oct 2026, 09:14 UTC\".\n * Takes a Date, an ISO string, or unix seconds. `date: true` drops the time.\n */\nexport function formatUtc(at: Date | string | number, opts: { date?: boolean } = {}): string {\n const d = typeof at === 'number' ? new Date(at * 1000) : new Date(at);\n if (Number.isNaN(d.getTime())) return '—';\n const day = `${d.getUTCDate()} ${MONTHS[d.getUTCMonth()]} ${d.getUTCFullYear()}`;\n if (opts.date) return day;\n const hh = String(d.getUTCHours()).padStart(2, '0');\n const mm = String(d.getUTCMinutes()).padStart(2, '0');\n return `${day}, ${hh}:${mm} UTC`;\n}\n\n/** 482113 → \"471 KB\"; 1288490 → \"1.2 MB\". Binary steps, the way a file dialog counts. */\nexport function formatBytes(bytes: number): string {\n if (!Number.isFinite(bytes) || bytes < 0) return '—';\n if (bytes < 1024) return `${bytes} B`;\n const units = ['KB', 'MB', 'GB', 'TB'];\n let v = bytes / 1024;\n let u = 0;\n while (v >= 1024 && u < units.length - 1) {\n v /= 1024;\n u++;\n }\n return `${v < 10 ? v.toFixed(1).replace(/\\.0$/, '') : Math.round(v)} ${units[u]}`;\n}\n"]}
@@ -0,0 +1,31 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface PageHeroProps {
5
+ eyebrow?: ReactNode;
6
+ title: ReactNode;
7
+ lead?: ReactNode;
8
+ actions?: ReactNode;
9
+ art?: ReactNode;
10
+ meta?: ReactNode;
11
+ children?: ReactNode;
12
+ variant?: 'page' | 'document';
13
+ size?: 'lg' | 'xl';
14
+ className?: string;
15
+ }
16
+ declare function PageHero({ eyebrow, title, lead, actions, art, meta, children, variant, size, className, }: PageHeroProps): react.JSX.Element;
17
+ declare function DocHeader({ eyebrow, title, lead, meta, actions, children, className, }: Pick<PageHeroProps, 'eyebrow' | 'title' | 'lead' | 'meta' | 'actions' | 'children' | 'className'>): react.JSX.Element;
18
+ interface TocItem {
19
+ id: string;
20
+ label: ReactNode;
21
+ level?: 2 | 3;
22
+ }
23
+ declare function useActiveHeading(ids: string[]): string | undefined;
24
+ declare function DocLayout({ toc, header, children, className, }: {
25
+ toc?: TocItem[];
26
+ header?: ReactNode;
27
+ children: ReactNode;
28
+ className?: string;
29
+ }): react.JSX.Element;
30
+
31
+ export { DocHeader as D, PageHero as P, type TocItem as T, DocLayout as a, type PageHeroProps as b, useActiveHeading as u };
@@ -0,0 +1,31 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface PageHeroProps {
5
+ eyebrow?: ReactNode;
6
+ title: ReactNode;
7
+ lead?: ReactNode;
8
+ actions?: ReactNode;
9
+ art?: ReactNode;
10
+ meta?: ReactNode;
11
+ children?: ReactNode;
12
+ variant?: 'page' | 'document';
13
+ size?: 'lg' | 'xl';
14
+ className?: string;
15
+ }
16
+ declare function PageHero({ eyebrow, title, lead, actions, art, meta, children, variant, size, className, }: PageHeroProps): react.JSX.Element;
17
+ declare function DocHeader({ eyebrow, title, lead, meta, actions, children, className, }: Pick<PageHeroProps, 'eyebrow' | 'title' | 'lead' | 'meta' | 'actions' | 'children' | 'className'>): react.JSX.Element;
18
+ interface TocItem {
19
+ id: string;
20
+ label: ReactNode;
21
+ level?: 2 | 3;
22
+ }
23
+ declare function useActiveHeading(ids: string[]): string | undefined;
24
+ declare function DocLayout({ toc, header, children, className, }: {
25
+ toc?: TocItem[];
26
+ header?: ReactNode;
27
+ children: ReactNode;
28
+ className?: string;
29
+ }): react.JSX.Element;
30
+
31
+ export { DocHeader as D, PageHero as P, type TocItem as T, DocLayout as a, type PageHeroProps as b, useActiveHeading as u };
package/dist/index.d.mts CHANGED
@@ -1,10 +1,17 @@
1
1
  export { APP_ATTRIBUTE, APP_ID, appColors, appFonts } from './tokens.mjs';
2
- export { Accordion, AccordionItem, Badge, BadgeProps, Button, ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardNumeral, CardProps, CardTitle, Checkbox, ConfirmOptions, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogHost, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, Field, FieldProps, Input, Kbd, Label, Pagination, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PromptOptions, QrCode, RadioGroup, RadioGroupItem, ScrollFade, ScrollFadeProps, Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetTitle, SheetTrigger, Skeleton, Spinner, StatusDot, StatusPill, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cardVariants, cn, confirm, prompt, useTimedOut } from './primitives.mjs';
2
+ export { Accordion, AccordionItem, Badge, BadgeProps, Button, ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardNumeral, CardProps, CardTitle, Checkbox, ConfirmOptions, Density, DensityProvider, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogHost, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, Field, FieldProps, Input, InputProps, Kbd, Label, Pagination, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PromptOptions, QrCode, RadioGroup, RadioGroupItem, ScrollFade, ScrollFadeProps, Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetTitle, SheetTrigger, Skeleton, Spinner, StatusDot, StatusPill, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cardVariants, cn, confirm, prompt, useDensity, useTimedOut } from './primitives.mjs';
3
3
  export { S as Statement, a as Status, b as StatusBadge, c as StatusBadgeProps, s as statusWord } from './status-badge-DRwGhB0h.mjs';
4
4
  export { AppIcon, AppIconProps, Crowd, CrowdProps, HalftoneCanvas, HalftoneCanvasProps, HalftoneSphere, HalftoneSphereProps, IsoCheck, IsoCheckProps, Lockup, LockupProps, MARK_FACES, Mark, MarkProps, SPHERE_GRADIENT, Tone, portraitTone } from './brand.mjs';
5
- export { Accent, ActivityItem, ActivityList, AppCard, AppCardProps, AppGrid, BrowserFrame, CheckState, Closing, CodeBlock, Column, ComparisonColumn, ComparisonRow, ComparisonTable, Container, CopyButton, DataTable, Display, DisplayProps, DocHeader, DocLayout, EmptyLine, EmptyState, Endpoint, EndpointList, ErrorBoundary, ErrorPage, Eyebrow, FactBlock, FactRow, FactRows, Faq, FloatChip, Footnote, HashChip, KeyValueItem, KeyValueList, Lead, LegalBlock, LegalDocument, LegalSource, LoadingBlock, Monogram, Notice, PackageCard, PackageItem, PageHeader, PageHero, PageHeroProps, PhoneFrame, ProgressStep, ProgressSteps, ProofStrip, Prose, ProtocolGrid, ProtocolHero, ProtocolNav, Reveal, Sats, SatsFigure, SatsProps, SatsTextOptions, ScrollStory, Section, SectionHeading, SectionIntro, SectionProps, SignMessage, SpecCard, SplitBar, SplitSegment, StatCard, StatCardProps, StatGrid, StatGridProps, StepGrid, StepGridProps, StepItem, StepState, TextLink, Ticker, TocItem, TruthRow, TruthStatus, TruthTable, UsdApprox, VerifyBox, VerifyCheck, VerifyReport, monogramGround, monogramLetter, satsText, sectionVariants, useCopy, useInView } from './components.mjs';
6
- export { AccountMenu, AccountMenuItem, AppShell, FamilyMenu, ShellContext, ShellNavGroup, ShellNavItem, ShellPlace, ShellSection, SignInFrame, SiteBanner, SiteFooter, SiteFooterProps, SiteHeader, SiteHeaderProps, SkipLink, ThemeToggle, useShellPlace } from './chrome.mjs';
5
+ export { Accent, ActivityItem, ActivityList, BrowserFrame, CheckState, Closing, Column, Container, CopyButton, CopyButtonProps, DataTable, Display, DisplayProps, EmptyLine, EmptyState, Endpoint, EndpointList, ErrorBoundary, ErrorPage, Eyebrow, FactBlock, FactRow, FactRows, Faq, FloatChip, Footnote, HashChip, KeyValueItem, KeyValueList, Lead, LegalBlock, LegalDocument, LegalSource, LoadingBlock, Monogram, Notice, PackageCard, PackageItem, PageHeader, PhoneFrame, ProgressStep, ProgressSteps, ProofStrip, Prose, Reveal, Sats, SatsFigure, SatsProps, SatsTextOptions, ScrollStory, SearchButton, SearchDialog, SearchGroup, SearchQuery, SearchResult, Section, SectionHeading, SectionIntro, SectionProps, SignMessage, SplitBar, SplitSegment, StatCard, StatCardProps, StatGrid, StatGridProps, StepGrid, StepGridProps, StepItem, StepState, TextLink, Ticker, TruthRow, TruthStatus, TruthTable, UsdApprox, VerifyCheck, VerifyReport, monogramGround, monogramLetter, satsText, sectionVariants, useCopy, useInView } from './components.mjs';
6
+ export { D as DocHeader, a as DocLayout, P as PageHero, b as PageHeroProps, T as TocItem, u as useActiveHeading } from './hero-Dn37il-9.mjs';
7
+ export { A as ApiRow, a as ApiTable, b as AppCard, c as AppCardProps, d as AppGrid, B as Breadcrumbs, C as Callout, e as CardGrid, f as CodeBlock, g as CodeBlockProps, h as CodeTab, i as CodeTabs, j as ComparisonColumn, k as ComparisonRow, l as ComparisonTable, m as Crumb, D as Diagram, n as DocsHeading, o as DocsPager, I as InstallTabs, L as LinkCard, M as MdxTable, p as MermaidLike, q as MermaidLoader, O as OnThisPage, P as PagerLink, r as ProtocolGrid, s as ProtocolHero, t as ProtocolNav, S as SpecCard, u as Step, v as Steps, V as VerifyBox, w as languageName, x as useHeadings } from './docs-DiR6s43s.mjs';
8
+ export { A as AnchorState, a as AnchorStatus, b as ArtifactView, B as BlockCountdown, c as BlockHeight, C as ChosenFile, D as DropZone, F as FilterChips, d as FilterOption, e as FormSection, M as Meter, S as SectionStatus, f as StateBadge, g as StateDef, h as StateTone, T as ToolGrid, i as ToolItem, j as createStateBadge } from './tools-DFIxIj5p.mjs';
9
+ export { DOCS_HEADER_NAV, DocsNav, DocsNavItem, DocsNavSection, DocsShell, DocsShellProps, FamilyMenu, ShellContext, ShellPlace, SignInFrame, SiteBanner, SiteFooter, SiteFooterProps, SiteHeader, SiteHeaderProps, SkipLink, useShellPlace } from './chrome.mjs';
10
+ export { A as AccountMenu, a as AccountMenuItem, b as AppShell, O as OCHK_APP_ACCOUNT, S as SessionAccountView, c as SessionState, d as ShellNavGroup, e as ShellNavItem, f as ShellSection, T as ThemeToggle, g as ToolShell, h as ToolShellProps } from './tool-shell-BDx_N5ai.mjs';
7
11
  export { D as DOCS_HREF, F as FAMILY, a as FAMILY_GROUPS, b as FamilyGroup, c as FamilySite, d as FamilySlug, e as FooterColumn, L as LEGAL_LINKS, N as NavItem, O as OCHK_IO, f as OCHK_IO_FOOTER, g as OCHK_IO_NAV, P as PROTOCOLS, h as PROTOCOL_ORDER, i as ProtocolSite, j as ProtocolSlug, S as SiteStatus, k as familyByGroup, l as familySite, p as protocolSite } from './index-C6hDqOOS.mjs';
12
+ export { CODE_LANGS, CodeLine, CodeMeta, DiffMark, LineMarks, RehypeCodeOptions, TOKEN_CLASS, Token, TokenKind, escapeHtml, grammarOf, highlight, highlightToHtml, linesToHtml, parseCodeMeta, parseLineRanges, readDiff, rehypeCode } from './code.mjs';
13
+ export { ExplorerKind, Network, blocksToDuration, explorerUrl, formatBlockHeight, formatBytes, formatUtc, shortenMiddle } from './format.mjs';
14
+ export { MdxComponentMap, MdxOptions, createMdxComponents, mdxComponents } from './mdx.mjs';
8
15
  export { toast } from 'sonner';
9
16
  import 'react';
10
17
  import 'class-variance-authority/types';
package/dist/index.d.ts CHANGED
@@ -1,10 +1,17 @@
1
1
  export { APP_ATTRIBUTE, APP_ID, appColors, appFonts } from './tokens.js';
2
- export { Accordion, AccordionItem, Badge, BadgeProps, Button, ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardNumeral, CardProps, CardTitle, Checkbox, ConfirmOptions, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogHost, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, Field, FieldProps, Input, Kbd, Label, Pagination, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PromptOptions, QrCode, RadioGroup, RadioGroupItem, ScrollFade, ScrollFadeProps, Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetTitle, SheetTrigger, Skeleton, Spinner, StatusDot, StatusPill, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cardVariants, cn, confirm, prompt, useTimedOut } from './primitives.js';
2
+ export { Accordion, AccordionItem, Badge, BadgeProps, Button, ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardNumeral, CardProps, CardTitle, Checkbox, ConfirmOptions, Density, DensityProvider, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogHost, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, Field, FieldProps, Input, InputProps, Kbd, Label, Pagination, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PromptOptions, QrCode, RadioGroup, RadioGroupItem, ScrollFade, ScrollFadeProps, Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetTitle, SheetTrigger, Skeleton, Spinner, StatusDot, StatusPill, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cardVariants, cn, confirm, prompt, useDensity, useTimedOut } from './primitives.js';
3
3
  export { S as Statement, a as Status, b as StatusBadge, c as StatusBadgeProps, s as statusWord } from './status-badge-BEOxeY9j.js';
4
4
  export { AppIcon, AppIconProps, Crowd, CrowdProps, HalftoneCanvas, HalftoneCanvasProps, HalftoneSphere, HalftoneSphereProps, IsoCheck, IsoCheckProps, Lockup, LockupProps, MARK_FACES, Mark, MarkProps, SPHERE_GRADIENT, Tone, portraitTone } from './brand.js';
5
- export { Accent, ActivityItem, ActivityList, AppCard, AppCardProps, AppGrid, BrowserFrame, CheckState, Closing, CodeBlock, Column, ComparisonColumn, ComparisonRow, ComparisonTable, Container, CopyButton, DataTable, Display, DisplayProps, DocHeader, DocLayout, EmptyLine, EmptyState, Endpoint, EndpointList, ErrorBoundary, ErrorPage, Eyebrow, FactBlock, FactRow, FactRows, Faq, FloatChip, Footnote, HashChip, KeyValueItem, KeyValueList, Lead, LegalBlock, LegalDocument, LegalSource, LoadingBlock, Monogram, Notice, PackageCard, PackageItem, PageHeader, PageHero, PageHeroProps, PhoneFrame, ProgressStep, ProgressSteps, ProofStrip, Prose, ProtocolGrid, ProtocolHero, ProtocolNav, Reveal, Sats, SatsFigure, SatsProps, SatsTextOptions, ScrollStory, Section, SectionHeading, SectionIntro, SectionProps, SignMessage, SpecCard, SplitBar, SplitSegment, StatCard, StatCardProps, StatGrid, StatGridProps, StepGrid, StepGridProps, StepItem, StepState, TextLink, Ticker, TocItem, TruthRow, TruthStatus, TruthTable, UsdApprox, VerifyBox, VerifyCheck, VerifyReport, monogramGround, monogramLetter, satsText, sectionVariants, useCopy, useInView } from './components.js';
6
- export { AccountMenu, AccountMenuItem, AppShell, FamilyMenu, ShellContext, ShellNavGroup, ShellNavItem, ShellPlace, ShellSection, SignInFrame, SiteBanner, SiteFooter, SiteFooterProps, SiteHeader, SiteHeaderProps, SkipLink, ThemeToggle, useShellPlace } from './chrome.js';
5
+ export { Accent, ActivityItem, ActivityList, BrowserFrame, CheckState, Closing, Column, Container, CopyButton, CopyButtonProps, DataTable, Display, DisplayProps, EmptyLine, EmptyState, Endpoint, EndpointList, ErrorBoundary, ErrorPage, Eyebrow, FactBlock, FactRow, FactRows, Faq, FloatChip, Footnote, HashChip, KeyValueItem, KeyValueList, Lead, LegalBlock, LegalDocument, LegalSource, LoadingBlock, Monogram, Notice, PackageCard, PackageItem, PageHeader, PhoneFrame, ProgressStep, ProgressSteps, ProofStrip, Prose, Reveal, Sats, SatsFigure, SatsProps, SatsTextOptions, ScrollStory, SearchButton, SearchDialog, SearchGroup, SearchQuery, SearchResult, Section, SectionHeading, SectionIntro, SectionProps, SignMessage, SplitBar, SplitSegment, StatCard, StatCardProps, StatGrid, StatGridProps, StepGrid, StepGridProps, StepItem, StepState, TextLink, Ticker, TruthRow, TruthStatus, TruthTable, UsdApprox, VerifyCheck, VerifyReport, monogramGround, monogramLetter, satsText, sectionVariants, useCopy, useInView } from './components.js';
6
+ export { D as DocHeader, a as DocLayout, P as PageHero, b as PageHeroProps, T as TocItem, u as useActiveHeading } from './hero-Dn37il-9.js';
7
+ export { A as ApiRow, a as ApiTable, b as AppCard, c as AppCardProps, d as AppGrid, B as Breadcrumbs, C as Callout, e as CardGrid, f as CodeBlock, g as CodeBlockProps, h as CodeTab, i as CodeTabs, j as ComparisonColumn, k as ComparisonRow, l as ComparisonTable, m as Crumb, D as Diagram, n as DocsHeading, o as DocsPager, I as InstallTabs, L as LinkCard, M as MdxTable, p as MermaidLike, q as MermaidLoader, O as OnThisPage, P as PagerLink, r as ProtocolGrid, s as ProtocolHero, t as ProtocolNav, S as SpecCard, u as Step, v as Steps, V as VerifyBox, w as languageName, x as useHeadings } from './docs-DhnstueM.js';
8
+ export { A as AnchorState, a as AnchorStatus, b as ArtifactView, B as BlockCountdown, c as BlockHeight, C as ChosenFile, D as DropZone, F as FilterChips, d as FilterOption, e as FormSection, M as Meter, S as SectionStatus, f as StateBadge, g as StateDef, h as StateTone, T as ToolGrid, i as ToolItem, j as createStateBadge } from './tools-BggNN5DV.js';
9
+ export { DOCS_HEADER_NAV, DocsNav, DocsNavItem, DocsNavSection, DocsShell, DocsShellProps, FamilyMenu, ShellContext, ShellPlace, SignInFrame, SiteBanner, SiteFooter, SiteFooterProps, SiteHeader, SiteHeaderProps, SkipLink, useShellPlace } from './chrome.js';
10
+ export { A as AccountMenu, a as AccountMenuItem, b as AppShell, O as OCHK_APP_ACCOUNT, S as SessionAccountView, c as SessionState, d as ShellNavGroup, e as ShellNavItem, f as ShellSection, T as ThemeToggle, g as ToolShell, h as ToolShellProps } from './tool-shell-B1C7ahKE.js';
7
11
  export { D as DOCS_HREF, F as FAMILY, a as FAMILY_GROUPS, b as FamilyGroup, c as FamilySite, d as FamilySlug, e as FooterColumn, L as LEGAL_LINKS, N as NavItem, O as OCHK_IO, f as OCHK_IO_FOOTER, g as OCHK_IO_NAV, P as PROTOCOLS, h as PROTOCOL_ORDER, i as ProtocolSite, j as ProtocolSlug, S as SiteStatus, k as familyByGroup, l as familySite, p as protocolSite } from './index-C6hDqOOS.js';
12
+ export { CODE_LANGS, CodeLine, CodeMeta, DiffMark, LineMarks, RehypeCodeOptions, TOKEN_CLASS, Token, TokenKind, escapeHtml, grammarOf, highlight, highlightToHtml, linesToHtml, parseCodeMeta, parseLineRanges, readDiff, rehypeCode } from './code.js';
13
+ export { ExplorerKind, Network, blocksToDuration, explorerUrl, formatBlockHeight, formatBytes, formatUtc, shortenMiddle } from './format.js';
14
+ export { MdxComponentMap, MdxOptions, createMdxComponents, mdxComponents } from './mdx.js';
8
15
  export { toast } from 'sonner';
9
16
  import 'react';
10
17
  import 'class-variance-authority/types';