@hanzo/ui 8.0.61 → 8.0.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backends/gui/input.cjs +4 -3
- package/dist/backends/gui/input.d.ts +10 -2
- package/dist/backends/gui/input.d.ts.map +1 -1
- package/dist/backends/gui/input.js +4 -3
- package/dist/backends/gui/input.js.map +1 -1
- package/dist/backends/gui/mask.cjs +20 -0
- package/dist/backends/gui/mask.d.ts +17 -0
- package/dist/backends/gui/mask.d.ts.map +1 -0
- package/dist/backends/gui/mask.js +17 -0
- package/dist/backends/gui/mask.js.map +1 -0
- package/dist/backends/gui/switch.cjs +16 -2
- package/dist/backends/gui/switch.d.ts +14 -0
- package/dist/backends/gui/switch.d.ts.map +1 -1
- package/dist/backends/gui/switch.js +16 -2
- package/dist/backends/gui/switch.js.map +1 -1
- package/dist/chat/Code.cjs +1 -1
- package/dist/chat/Code.d.ts.map +1 -1
- package/dist/chat/Code.js +1 -1
- package/dist/chat/Code.js.map +1 -1
- package/dist/core/css.cjs +114 -0
- package/dist/core/css.d.ts +46 -0
- package/dist/core/css.d.ts.map +1 -0
- package/dist/core/css.js +112 -0
- package/dist/core/css.js.map +1 -0
- package/dist/product/CopyButton.cjs +16 -2
- package/dist/product/CopyButton.d.ts +30 -3
- package/dist/product/CopyButton.d.ts.map +1 -1
- package/dist/product/CopyButton.js +18 -4
- package/dist/product/CopyButton.js.map +1 -1
- package/dist/product/DataTable.cjs +4 -4
- package/dist/product/DataTable.js +4 -4
- package/dist/product/DataTable.js.map +1 -1
- package/dist/product/FadeIn.cjs +1 -1
- package/dist/product/FadeIn.js +1 -1
- package/dist/product/FadeIn.js.map +1 -1
- package/dist/product/Field.cjs +3 -3
- package/dist/product/Field.d.ts +21 -1
- package/dist/product/Field.d.ts.map +1 -1
- package/dist/product/Field.js +3 -3
- package/dist/product/Field.js.map +1 -1
- package/dist/product/Fieldset.cjs +10 -2
- package/dist/product/Fieldset.d.ts +12 -1
- package/dist/product/Fieldset.d.ts.map +1 -1
- package/dist/product/Fieldset.js +10 -2
- package/dist/product/Fieldset.js.map +1 -1
- package/dist/product/Metric.cjs +7 -4
- package/dist/product/Metric.d.ts +8 -1
- package/dist/product/Metric.d.ts.map +1 -1
- package/dist/product/Metric.js +7 -4
- package/dist/product/Metric.js.map +1 -1
- package/dist/product/Pagination.cjs +9 -49
- package/dist/product/Pagination.d.ts +2 -10
- package/dist/product/Pagination.d.ts.map +1 -1
- package/dist/product/Pagination.js +6 -46
- package/dist/product/Pagination.js.map +1 -1
- package/dist/product/Palette.cjs +65 -0
- package/dist/product/Palette.d.ts +67 -0
- package/dist/product/Palette.d.ts.map +1 -0
- package/dist/product/Palette.js +63 -0
- package/dist/product/Palette.js.map +1 -0
- package/dist/product/Reorder.cjs +1 -1
- package/dist/product/Reorder.js +1 -1
- package/dist/product/Reorder.js.map +1 -1
- package/dist/product/SecretInput.cjs +3 -13
- package/dist/product/SecretInput.d.ts +2 -11
- package/dist/product/SecretInput.d.ts.map +1 -1
- package/dist/product/SecretInput.js +6 -11
- package/dist/product/SecretInput.js.map +1 -1
- package/dist/product/SlideOver.cjs +2 -2
- package/dist/product/SlideOver.js +2 -2
- package/dist/product/SlideOver.js.map +1 -1
- package/dist/product/StatusTag.cjs +10 -39
- package/dist/product/StatusTag.d.ts +6 -2
- package/dist/product/StatusTag.d.ts.map +1 -1
- package/dist/product/StatusTag.js +10 -39
- package/dist/product/StatusTag.js.map +1 -1
- package/dist/product/UserMenu.cjs +4 -10
- package/dist/product/UserMenu.d.ts +2 -3
- package/dist/product/UserMenu.d.ts.map +1 -1
- package/dist/product/UserMenu.js +5 -8
- package/dist/product/UserMenu.js.map +1 -1
- package/dist/product/animatedLogo.logic.cjs +1 -1
- package/dist/product/animatedLogo.logic.js +1 -1
- package/dist/product/brand.cjs +1 -1
- package/dist/product/brand.js +1 -1
- package/dist/product/combobox/filter.cjs +1 -1
- package/dist/product/combobox/filter.js +1 -1
- package/dist/product/index.cjs +21 -3
- package/dist/product/index.d.ts +4 -1
- package/dist/product/index.d.ts.map +1 -1
- package/dist/product/index.js +20 -1
- package/dist/product/index.js.map +1 -1
- package/dist/product/match.cjs +76 -0
- package/dist/product/match.d.ts +78 -0
- package/dist/product/match.d.ts.map +1 -0
- package/dist/product/match.js +72 -0
- package/dist/product/match.js.map +1 -0
- package/dist/product/name.cjs +17 -0
- package/dist/product/name.d.ts +10 -0
- package/dist/product/name.d.ts.map +1 -0
- package/dist/product/name.js +15 -0
- package/dist/product/name.js.map +1 -0
- package/dist/product/pages.cjs +57 -0
- package/dist/product/pages.d.ts +28 -0
- package/dist/product/pages.d.ts.map +1 -0
- package/dist/product/pages.js +54 -0
- package/dist/product/pages.js.map +1 -0
- package/dist/product/pure.cjs +63 -0
- package/dist/product/pure.d.ts +9 -0
- package/dist/product/pure.d.ts.map +1 -0
- package/dist/product/pure.js +38 -0
- package/dist/product/pure.js.map +1 -0
- package/dist/product/scope.cjs +1 -1
- package/dist/product/scope.js +1 -1
- package/dist/product/social/SocialResource.cjs +1 -1
- package/dist/product/social/SocialResource.js +1 -1
- package/dist/product/social/SocialResource.js.map +1 -1
- package/dist/product/social/SocialSummaryBar.cjs +1 -1
- package/dist/product/social/SocialSummaryBar.js +1 -1
- package/dist/product/social/SocialSummaryBar.js.map +1 -1
- package/dist/product/tone.cjs +105 -0
- package/dist/product/tone.d.ts +52 -0
- package/dist/product/tone.d.ts.map +1 -0
- package/dist/product/tone.js +102 -0
- package/dist/product/tone.js.map +1 -0
- package/dist/product/useCommandK.cjs +46 -0
- package/dist/product/useCommandK.d.ts +4 -0
- package/dist/product/useCommandK.d.ts.map +1 -0
- package/dist/product/useCommandK.js +44 -0
- package/dist/product/useCommandK.js.map +1 -0
- package/dist/styles/motion.css +52 -17
- package/dist/styles.css +53 -20
- package/package.json +31 -3
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the ⌘K bar shows for what you typed, as one pure function.
|
|
3
|
+
*
|
|
4
|
+
* The bar's list is not hand-written any more. hanzo.app's cloud publishes
|
|
5
|
+
* `GET /v1/commands` — every operation the API answers, projected from the same
|
|
6
|
+
* route table the OpenAPI document, the MCP tools and the `hanzo` CLI come from —
|
|
7
|
+
* so a surface hands the whole list in and this decides what survives a search.
|
|
8
|
+
*
|
|
9
|
+
* That list is 2,323 operations, and that number is what makes the rule below
|
|
10
|
+
* more than a preference.
|
|
11
|
+
*/
|
|
12
|
+
import type { ReactNode } from 'react';
|
|
13
|
+
/**
|
|
14
|
+
* One runnable thing in the bar.
|
|
15
|
+
*
|
|
16
|
+
* A command that names a route and a command that runs in the page are the SAME
|
|
17
|
+
* type here; only the surface's `onRun` tells them apart. `method` is what says
|
|
18
|
+
* which — it is present exactly when the command is an HTTP operation, and it is
|
|
19
|
+
* the only field the matching rule reads.
|
|
20
|
+
*/
|
|
21
|
+
export interface Op {
|
|
22
|
+
/** Stable identity. The registry's operationId, or a surface-local name. */
|
|
23
|
+
id: string;
|
|
24
|
+
/** The heading it files under — a service ("projects"), or a surface's own. */
|
|
25
|
+
group: string;
|
|
26
|
+
/** What it is called: the operation token ("deployments-list"), or a phrase. */
|
|
27
|
+
label: string;
|
|
28
|
+
/** One line of help. The operation's summary, when it has one. */
|
|
29
|
+
hint?: string;
|
|
30
|
+
/** The HTTP method, when this names a route. Absent means it runs in the page. */
|
|
31
|
+
method?: string;
|
|
32
|
+
/** Drawn at the start of the row. */
|
|
33
|
+
icon?: ReactNode;
|
|
34
|
+
/** Drawn at the end of the row — a status dot, a shortcut. */
|
|
35
|
+
end?: ReactNode;
|
|
36
|
+
}
|
|
37
|
+
/** The one method that is safe to stumble onto: no side effect, idempotent. */
|
|
38
|
+
export declare const SAFE = "GET";
|
|
39
|
+
/**
|
|
40
|
+
* Whether `op` survives `search`, and how well. `0` hides it.
|
|
41
|
+
*
|
|
42
|
+
* # Safe methods browse; unsafe methods must be named
|
|
43
|
+
*
|
|
44
|
+
* Typing "delete" into a bar holding 2,323 operations offers four dozen
|
|
45
|
+
* destructive fleet operations to somebody who wanted to delete a project. The
|
|
46
|
+
* rule that fixes it needs no second list and no curation, because the method is
|
|
47
|
+
* already in the registry and already means exactly this:
|
|
48
|
+
*
|
|
49
|
+
* - GET matches fuzzily. It is safe and idempotent; browsing costs nothing.
|
|
50
|
+
* - every other method needs an exact PREFIX of `group label` — the same
|
|
51
|
+
* "service operation" a CLI would type. You cannot stumble onto
|
|
52
|
+
* `platform apps-rollback`; you have to name it.
|
|
53
|
+
*
|
|
54
|
+
* One rule, over data already present, mapping onto the semantics the methods
|
|
55
|
+
* already carry.
|
|
56
|
+
*
|
|
57
|
+
* # An empty search hides every route, and that is not a shortcut
|
|
58
|
+
*
|
|
59
|
+
* With no query a fuzzy matcher matches everything, and everything is 2,323 rows
|
|
60
|
+
* the moment the dialog opens — which is not a list, it is a stalled browser and
|
|
61
|
+
* a scroll bar nobody can use. So the Run group is a SEARCH, not a browse: it is
|
|
62
|
+
* empty until you type, and what remains on open is the surface's own handful of
|
|
63
|
+
* local commands, which is what a person opening ⌘K with no query wants anyway.
|
|
64
|
+
*
|
|
65
|
+
* A local command has no method and is therefore always reachable — it is one of
|
|
66
|
+
* a few, declared by the surface, and there is nothing to protect anyone from.
|
|
67
|
+
*/
|
|
68
|
+
export declare const match: (op: Op, search: string) => number;
|
|
69
|
+
/**
|
|
70
|
+
* The ops that survive `search`, grouped for rendering: headings in the order the
|
|
71
|
+
* caller listed them, rows ranked within each, empty groups dropped.
|
|
72
|
+
*
|
|
73
|
+
* `limit` caps each group. A GET search for "list" still matches hundreds, and a
|
|
74
|
+
* palette that renders hundreds is the same stalled browser the empty query would
|
|
75
|
+
* be — the cap is what keeps one keystroke's cost bounded whatever was typed.
|
|
76
|
+
*/
|
|
77
|
+
export declare const survivors: (ops: Op[], search: string, limit?: number) => Array<[string, Op[]]>;
|
|
78
|
+
//# sourceMappingURL=match.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../src/product/match.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC;;;;;;;GAOG;AACH,MAAM,WAAW,EAAE;IACjB,4EAA4E;IAC5E,EAAE,EAAE,MAAM,CAAA;IACV,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAA;IACb,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAA;IACb,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qCAAqC;IACrC,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,SAAS,CAAA;CAChB;AAED,+EAA+E;AAC/E,eAAO,MAAM,IAAI,QAAQ,CAAA;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,KAAK,GAAI,IAAI,EAAE,EAAE,QAAQ,MAAM,KAAG,MAQ9C,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,EAAE,EAAE,EAAE,QAAQ,MAAM,EAAE,cAAU,KAAG,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAiBrF,CAAA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use client';import { score } from '../backends/gui/command.logic.js';
|
|
2
|
+
/** The one method that is safe to stumble onto: no side effect, idempotent. */
|
|
3
|
+
export const SAFE = 'GET';
|
|
4
|
+
/**
|
|
5
|
+
* Whether `op` survives `search`, and how well. `0` hides it.
|
|
6
|
+
*
|
|
7
|
+
* # Safe methods browse; unsafe methods must be named
|
|
8
|
+
*
|
|
9
|
+
* Typing "delete" into a bar holding 2,323 operations offers four dozen
|
|
10
|
+
* destructive fleet operations to somebody who wanted to delete a project. The
|
|
11
|
+
* rule that fixes it needs no second list and no curation, because the method is
|
|
12
|
+
* already in the registry and already means exactly this:
|
|
13
|
+
*
|
|
14
|
+
* - GET matches fuzzily. It is safe and idempotent; browsing costs nothing.
|
|
15
|
+
* - every other method needs an exact PREFIX of `group label` — the same
|
|
16
|
+
* "service operation" a CLI would type. You cannot stumble onto
|
|
17
|
+
* `platform apps-rollback`; you have to name it.
|
|
18
|
+
*
|
|
19
|
+
* One rule, over data already present, mapping onto the semantics the methods
|
|
20
|
+
* already carry.
|
|
21
|
+
*
|
|
22
|
+
* # An empty search hides every route, and that is not a shortcut
|
|
23
|
+
*
|
|
24
|
+
* With no query a fuzzy matcher matches everything, and everything is 2,323 rows
|
|
25
|
+
* the moment the dialog opens — which is not a list, it is a stalled browser and
|
|
26
|
+
* a scroll bar nobody can use. So the Run group is a SEARCH, not a browse: it is
|
|
27
|
+
* empty until you type, and what remains on open is the surface's own handful of
|
|
28
|
+
* local commands, which is what a person opening ⌘K with no query wants anyway.
|
|
29
|
+
*
|
|
30
|
+
* A local command has no method and is therefore always reachable — it is one of
|
|
31
|
+
* a few, declared by the surface, and there is nothing to protect anyone from.
|
|
32
|
+
*/
|
|
33
|
+
export const match = (op, search) => {
|
|
34
|
+
const q = search.trim().toLowerCase();
|
|
35
|
+
const route = op.method !== undefined;
|
|
36
|
+
if (!q)
|
|
37
|
+
return route ? 0 : 1;
|
|
38
|
+
const named = `${op.group} ${op.label}`.toLowerCase();
|
|
39
|
+
if (route && op.method !== SAFE)
|
|
40
|
+
return named.startsWith(q) ? 1 : 0;
|
|
41
|
+
return score(named, q, op.hint ? [op.hint] : undefined);
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* The ops that survive `search`, grouped for rendering: headings in the order the
|
|
45
|
+
* caller listed them, rows ranked within each, empty groups dropped.
|
|
46
|
+
*
|
|
47
|
+
* `limit` caps each group. A GET search for "list" still matches hundreds, and a
|
|
48
|
+
* palette that renders hundreds is the same stalled browser the empty query would
|
|
49
|
+
* be — the cap is what keeps one keystroke's cost bounded whatever was typed.
|
|
50
|
+
*/
|
|
51
|
+
export const survivors = (ops, search, limit = 50) => {
|
|
52
|
+
const groups = new Map();
|
|
53
|
+
for (const op of ops) {
|
|
54
|
+
const rank = match(op, search);
|
|
55
|
+
if (rank <= 0)
|
|
56
|
+
continue;
|
|
57
|
+
const got = groups.get(op.group);
|
|
58
|
+
if (got)
|
|
59
|
+
got.push([op, rank]);
|
|
60
|
+
else
|
|
61
|
+
groups.set(op.group, [[op, rank]]);
|
|
62
|
+
}
|
|
63
|
+
const out = [];
|
|
64
|
+
for (const [group, ranked] of groups) {
|
|
65
|
+
// Sort by rank, ties keeping the caller's order — a surface that ordered its
|
|
66
|
+
// projects by recency must not have that undone by a scoring tie.
|
|
67
|
+
ranked.sort((a, b) => b[1] - a[1]);
|
|
68
|
+
out.push([group, ranked.slice(0, limit).map(([op]) => op)]);
|
|
69
|
+
}
|
|
70
|
+
return out;
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=match.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"match.js","sourceRoot":"","sources":["../../src/product/match.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AA2BrD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAA;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAM,EAAE,MAAc,EAAU,EAAE;IACtD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACrC,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,KAAK,SAAS,CAAA;IACrC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAE5B,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAA;IACrD,IAAI,KAAK,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AACzD,CAAC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAS,EAAE,MAAc,EAAE,KAAK,GAAG,EAAE,EAAyB,EAAE;IACxF,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAA;IACrD,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC9B,IAAI,IAAI,IAAI,CAAC;YAAE,SAAQ;QACvB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;;YACxB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC;IACD,MAAM,GAAG,GAA0B,EAAE,CAAA;IACrC,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACrC,6EAA6E;QAC7E,kEAAkE;QAClE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAClC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The name to show for a person.
|
|
4
|
+
*
|
|
5
|
+
* Pure, so `@hanzo/ui/product/pure` can export it and an app can check what its
|
|
6
|
+
* account menu will render without mounting one.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.displayName = displayName;
|
|
10
|
+
/** The given name, else the email's local part, else nothing fabricated —
|
|
11
|
+
* "User" is not a name and reads as a bug to the person it names. */
|
|
12
|
+
function displayName(name, email) {
|
|
13
|
+
if (name?.trim())
|
|
14
|
+
return name.trim();
|
|
15
|
+
const local = email?.split('@')[0];
|
|
16
|
+
return local?.trim() || '';
|
|
17
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The name to show for a person.
|
|
3
|
+
*
|
|
4
|
+
* Pure, so `@hanzo/ui/product/pure` can export it and an app can check what its
|
|
5
|
+
* account menu will render without mounting one.
|
|
6
|
+
*/
|
|
7
|
+
/** The given name, else the email's local part, else nothing fabricated —
|
|
8
|
+
* "User" is not a name and reads as a bug to the person it names. */
|
|
9
|
+
export declare function displayName(name?: string, email?: string): string;
|
|
10
|
+
//# sourceMappingURL=name.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"name.d.ts","sourceRoot":"","sources":["../../src/product/name.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;sEACsE;AACtE,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAIjE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The name to show for a person.
|
|
3
|
+
*
|
|
4
|
+
* Pure, so `@hanzo/ui/product/pure` can export it and an app can check what its
|
|
5
|
+
* account menu will render without mounting one.
|
|
6
|
+
*/
|
|
7
|
+
/** The given name, else the email's local part, else nothing fabricated —
|
|
8
|
+
* "User" is not a name and reads as a bug to the person it names. */
|
|
9
|
+
export function displayName(name, email) {
|
|
10
|
+
if (name?.trim())
|
|
11
|
+
return name.trim();
|
|
12
|
+
const local = email?.split('@')[0];
|
|
13
|
+
return local?.trim() || '';
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"name.js","sourceRoot":"","sources":["../../src/product/name.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;sEACsE;AACtE,MAAM,UAAU,WAAW,CAAC,IAAa,EAAE,KAAc;IACvD,IAAI,IAAI,EAAE,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;IACpC,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAClC,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AAC5B,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The page run — which page numbers a pager shows, and where the gaps fall.
|
|
4
|
+
*
|
|
5
|
+
* Four implementations across the fleet (chat, the console's observability
|
|
6
|
+
* pager, and billing twice — in two spellings, in one repo), each with its own
|
|
7
|
+
* rule for what happens when there are eighty pages. This is that rule, written
|
|
8
|
+
* once: a fixed-width run of page numbers around the current one, with ellipses
|
|
9
|
+
* standing in for what was skipped and the first and last page always reachable.
|
|
10
|
+
*
|
|
11
|
+
* Fixed width is the requirement. A control that grows with the page count
|
|
12
|
+
* reflows the row it sits in every time you page, which is how a "next" button
|
|
13
|
+
* ends up under the cursor that was pressing "previous".
|
|
14
|
+
*
|
|
15
|
+
* It lives here rather than in `Pagination.tsx` because it needs no DOM and no
|
|
16
|
+
* gui runtime, and a consumer must be able to check the rule its pager depends
|
|
17
|
+
* on without mounting one. `@hanzo/ui/product/pure` is that door.
|
|
18
|
+
*/
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.GAP = void 0;
|
|
21
|
+
exports.pages = pages;
|
|
22
|
+
/** A gap in the run. Rendered as an ellipsis; never selectable. */
|
|
23
|
+
exports.GAP = '…';
|
|
24
|
+
/**
|
|
25
|
+
* The page numbers to show for `page` of `count`, 1-based.
|
|
26
|
+
*
|
|
27
|
+
* `around` is how many neighbours flank the current page (default 1 → at most
|
|
28
|
+
* 7 slots: first, gap, p-1, p, p+1, gap, last). Returns every page when they
|
|
29
|
+
* all fit, so a short list never grows an ellipsis it does not need.
|
|
30
|
+
*/
|
|
31
|
+
function pages(page, count, around = 1) {
|
|
32
|
+
if (count <= 0)
|
|
33
|
+
return [];
|
|
34
|
+
const width = around * 2 + 5; // first + gap + run + gap + last
|
|
35
|
+
if (count <= width)
|
|
36
|
+
return Array.from({ length: count }, (_, i) => i + 1);
|
|
37
|
+
const current = Math.min(Math.max(page, 1), count);
|
|
38
|
+
// First and last are always present, so the middle carries `width - 2` slots
|
|
39
|
+
// and each end that needs no ellipsis spends that slot on another page
|
|
40
|
+
// instead. Solving for the run that way is what keeps the total constant;
|
|
41
|
+
// clamping the run with Math.max/min alone lets it shrink near the edges, and
|
|
42
|
+
// then the control changes width as you page.
|
|
43
|
+
const middle = width - 2;
|
|
44
|
+
const nearStart = current <= around + 2;
|
|
45
|
+
const nearEnd = current >= count - around - 1;
|
|
46
|
+
const start = nearStart ? 2 : nearEnd ? count - middle + 1 : current - around;
|
|
47
|
+
const end = nearStart ? middle : nearEnd ? count - 1 : current + around;
|
|
48
|
+
const out = [1];
|
|
49
|
+
if (!nearStart)
|
|
50
|
+
out.push(exports.GAP);
|
|
51
|
+
for (let p = start; p <= end; p++)
|
|
52
|
+
out.push(p);
|
|
53
|
+
if (!nearEnd)
|
|
54
|
+
out.push(exports.GAP);
|
|
55
|
+
out.push(count);
|
|
56
|
+
return out;
|
|
57
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The page run — which page numbers a pager shows, and where the gaps fall.
|
|
3
|
+
*
|
|
4
|
+
* Four implementations across the fleet (chat, the console's observability
|
|
5
|
+
* pager, and billing twice — in two spellings, in one repo), each with its own
|
|
6
|
+
* rule for what happens when there are eighty pages. This is that rule, written
|
|
7
|
+
* once: a fixed-width run of page numbers around the current one, with ellipses
|
|
8
|
+
* standing in for what was skipped and the first and last page always reachable.
|
|
9
|
+
*
|
|
10
|
+
* Fixed width is the requirement. A control that grows with the page count
|
|
11
|
+
* reflows the row it sits in every time you page, which is how a "next" button
|
|
12
|
+
* ends up under the cursor that was pressing "previous".
|
|
13
|
+
*
|
|
14
|
+
* It lives here rather than in `Pagination.tsx` because it needs no DOM and no
|
|
15
|
+
* gui runtime, and a consumer must be able to check the rule its pager depends
|
|
16
|
+
* on without mounting one. `@hanzo/ui/product/pure` is that door.
|
|
17
|
+
*/
|
|
18
|
+
/** A gap in the run. Rendered as an ellipsis; never selectable. */
|
|
19
|
+
export declare const GAP: "\u2026";
|
|
20
|
+
/**
|
|
21
|
+
* The page numbers to show for `page` of `count`, 1-based.
|
|
22
|
+
*
|
|
23
|
+
* `around` is how many neighbours flank the current page (default 1 → at most
|
|
24
|
+
* 7 slots: first, gap, p-1, p, p+1, gap, last). Returns every page when they
|
|
25
|
+
* all fit, so a short list never grows an ellipsis it does not need.
|
|
26
|
+
*/
|
|
27
|
+
export declare function pages(page: number, count: number, around?: number): (number | typeof GAP)[];
|
|
28
|
+
//# sourceMappingURL=pages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/product/pages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,mEAAmE;AACnE,eAAO,MAAM,GAAG,EAAG,QAAY,CAAA;AAE/B;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,CAAC,MAAM,GAAG,OAAO,GAAG,CAAC,EAAE,CAwBtF"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The page run — which page numbers a pager shows, and where the gaps fall.
|
|
3
|
+
*
|
|
4
|
+
* Four implementations across the fleet (chat, the console's observability
|
|
5
|
+
* pager, and billing twice — in two spellings, in one repo), each with its own
|
|
6
|
+
* rule for what happens when there are eighty pages. This is that rule, written
|
|
7
|
+
* once: a fixed-width run of page numbers around the current one, with ellipses
|
|
8
|
+
* standing in for what was skipped and the first and last page always reachable.
|
|
9
|
+
*
|
|
10
|
+
* Fixed width is the requirement. A control that grows with the page count
|
|
11
|
+
* reflows the row it sits in every time you page, which is how a "next" button
|
|
12
|
+
* ends up under the cursor that was pressing "previous".
|
|
13
|
+
*
|
|
14
|
+
* It lives here rather than in `Pagination.tsx` because it needs no DOM and no
|
|
15
|
+
* gui runtime, and a consumer must be able to check the rule its pager depends
|
|
16
|
+
* on without mounting one. `@hanzo/ui/product/pure` is that door.
|
|
17
|
+
*/
|
|
18
|
+
/** A gap in the run. Rendered as an ellipsis; never selectable. */
|
|
19
|
+
export const GAP = '…';
|
|
20
|
+
/**
|
|
21
|
+
* The page numbers to show for `page` of `count`, 1-based.
|
|
22
|
+
*
|
|
23
|
+
* `around` is how many neighbours flank the current page (default 1 → at most
|
|
24
|
+
* 7 slots: first, gap, p-1, p, p+1, gap, last). Returns every page when they
|
|
25
|
+
* all fit, so a short list never grows an ellipsis it does not need.
|
|
26
|
+
*/
|
|
27
|
+
export function pages(page, count, around = 1) {
|
|
28
|
+
if (count <= 0)
|
|
29
|
+
return [];
|
|
30
|
+
const width = around * 2 + 5; // first + gap + run + gap + last
|
|
31
|
+
if (count <= width)
|
|
32
|
+
return Array.from({ length: count }, (_, i) => i + 1);
|
|
33
|
+
const current = Math.min(Math.max(page, 1), count);
|
|
34
|
+
// First and last are always present, so the middle carries `width - 2` slots
|
|
35
|
+
// and each end that needs no ellipsis spends that slot on another page
|
|
36
|
+
// instead. Solving for the run that way is what keeps the total constant;
|
|
37
|
+
// clamping the run with Math.max/min alone lets it shrink near the edges, and
|
|
38
|
+
// then the control changes width as you page.
|
|
39
|
+
const middle = width - 2;
|
|
40
|
+
const nearStart = current <= around + 2;
|
|
41
|
+
const nearEnd = current >= count - around - 1;
|
|
42
|
+
const start = nearStart ? 2 : nearEnd ? count - middle + 1 : current - around;
|
|
43
|
+
const end = nearStart ? middle : nearEnd ? count - 1 : current + around;
|
|
44
|
+
const out = [1];
|
|
45
|
+
if (!nearStart)
|
|
46
|
+
out.push(GAP);
|
|
47
|
+
for (let p = start; p <= end; p++)
|
|
48
|
+
out.push(p);
|
|
49
|
+
if (!nearEnd)
|
|
50
|
+
out.push(GAP);
|
|
51
|
+
out.push(count);
|
|
52
|
+
return out;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=pages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/product/pages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,mEAAmE;AACnE,MAAM,CAAC,MAAM,GAAG,GAAG,GAAY,CAAA;AAE/B;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,KAAa,EAAE,MAAM,GAAG,CAAC;IAC3D,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IACzB,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAA,CAAC,iCAAiC;IAC9D,IAAI,KAAK,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAEzE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IAClD,6EAA6E;IAC7E,uEAAuE;IACvE,0EAA0E;IAC1E,8EAA8E;IAC9E,8CAA8C;IAC9C,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,CAAA;IACxB,MAAM,SAAS,GAAG,OAAO,IAAI,MAAM,GAAG,CAAC,CAAA;IACvC,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,GAAG,MAAM,GAAG,CAAC,CAAA;IAE7C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAA;IAC7E,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAA;IAEvE,MAAM,GAAG,GAA4B,CAAC,CAAC,CAAC,CAAA;IACxC,IAAI,CAAC,SAAS;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC9C,IAAI,CAAC,OAAO;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// @hanzo/ui/product/pure — the product layer's rules, without the layer.
|
|
3
|
+
//
|
|
4
|
+
// Every module here is a value or a function over values: no @hanzo/gui, no
|
|
5
|
+
// React, no DOM, no side effects. It loads under `node --eval "require(...)"`,
|
|
6
|
+
// under jest with no transform and no jsdom, and inside a React Server
|
|
7
|
+
// Component — none of which can load `@hanzo/ui/product`, because that barrel
|
|
8
|
+
// mounts the whole gui runtime to give you one component.
|
|
9
|
+
//
|
|
10
|
+
// That gap is why this exists. A consumer that wanted to check the rule its
|
|
11
|
+
// pager pages by, or that its own field really masks, had to stand up a browser
|
|
12
|
+
// environment to reach a function that never touches one. The components import
|
|
13
|
+
// these same modules, so what a test asserts here is what the component does —
|
|
14
|
+
// there is one definition, not a testable copy of a shipped one.
|
|
15
|
+
//
|
|
16
|
+
// import { pages, masked, tone } from '@hanzo/ui/product/pure'
|
|
17
|
+
//
|
|
18
|
+
// A component belongs in `@hanzo/ui/product`. A rule belongs here.
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.wordmarkText = exports.wordmarkStyle = exports.isExpanded = exports.HOUSE_EASE = exports.DEFAULT_INTRO_MS = exports.DEFAULT_GAP = exports.DEFAULT_DURATION_MS = exports.resolveBrand = exports.PARS = exports.ZOO = exports.LUX = exports.HANZO = exports.BRANDS = exports.isKnownOption = exports.filterOptions = exports.filterOrgs = exports.orgScope = exports.tone = exports.TONE = exports.displayName = exports.masked = exports.pages = exports.GAP = void 0;
|
|
21
|
+
// Paging — the fixed-width page run, and the ellipsis standing in for the rest.
|
|
22
|
+
var pages_1 = require("./pages.cjs");
|
|
23
|
+
Object.defineProperty(exports, "GAP", { enumerable: true, get: function () { return pages_1.GAP; } });
|
|
24
|
+
Object.defineProperty(exports, "pages", { enumerable: true, get: function () { return pages_1.pages; } });
|
|
25
|
+
// Masking — the props that hide a value on web AND native, since neither
|
|
26
|
+
// spelling covers both.
|
|
27
|
+
var mask_1 = require("../backends/gui/mask.cjs");
|
|
28
|
+
Object.defineProperty(exports, "masked", { enumerable: true, get: function () { return mask_1.masked; } });
|
|
29
|
+
// Naming — what to call a person given a name, an email, or neither.
|
|
30
|
+
var name_1 = require("./name.cjs");
|
|
31
|
+
Object.defineProperty(exports, "displayName", { enumerable: true, get: function () { return name_1.displayName; } });
|
|
32
|
+
// Status — what a lifecycle string means, and the monochrome register it reports
|
|
33
|
+
// in. The one vocabulary; every list that renders a status reads this.
|
|
34
|
+
var tone_1 = require("./tone.cjs");
|
|
35
|
+
Object.defineProperty(exports, "TONE", { enumerable: true, get: function () { return tone_1.TONE; } });
|
|
36
|
+
Object.defineProperty(exports, "tone", { enumerable: true, get: function () { return tone_1.tone; } });
|
|
37
|
+
// Org scope — the current org, the ones a person can switch to, and the search
|
|
38
|
+
// over them.
|
|
39
|
+
var scope_1 = require("./scope.cjs");
|
|
40
|
+
Object.defineProperty(exports, "orgScope", { enumerable: true, get: function () { return scope_1.orgScope; } });
|
|
41
|
+
Object.defineProperty(exports, "filterOrgs", { enumerable: true, get: function () { return scope_1.filterOrgs; } });
|
|
42
|
+
// Typeahead — the ReDoS-safe literal-substring filter behind ComboBox.
|
|
43
|
+
var filter_1 = require("./combobox/filter.cjs");
|
|
44
|
+
Object.defineProperty(exports, "filterOptions", { enumerable: true, get: function () { return filter_1.filterOptions; } });
|
|
45
|
+
Object.defineProperty(exports, "isKnownOption", { enumerable: true, get: function () { return filter_1.isKnownOption; } });
|
|
46
|
+
// Brand — the identities the shared chrome renders under (hanzo, lux, zoo, pars).
|
|
47
|
+
var brand_1 = require("./brand.cjs");
|
|
48
|
+
Object.defineProperty(exports, "BRANDS", { enumerable: true, get: function () { return brand_1.BRANDS; } });
|
|
49
|
+
Object.defineProperty(exports, "HANZO", { enumerable: true, get: function () { return brand_1.HANZO; } });
|
|
50
|
+
Object.defineProperty(exports, "LUX", { enumerable: true, get: function () { return brand_1.LUX; } });
|
|
51
|
+
Object.defineProperty(exports, "ZOO", { enumerable: true, get: function () { return brand_1.ZOO; } });
|
|
52
|
+
Object.defineProperty(exports, "PARS", { enumerable: true, get: function () { return brand_1.PARS; } });
|
|
53
|
+
Object.defineProperty(exports, "resolveBrand", { enumerable: true, get: function () { return brand_1.resolveBrand; } });
|
|
54
|
+
// Wordmark motion — the geometry the animated logo interpolates over, as
|
|
55
|
+
// numbers, so the timing can be checked without a frame.
|
|
56
|
+
var animatedLogo_logic_1 = require("./animatedLogo.logic.cjs");
|
|
57
|
+
Object.defineProperty(exports, "DEFAULT_DURATION_MS", { enumerable: true, get: function () { return animatedLogo_logic_1.DEFAULT_DURATION_MS; } });
|
|
58
|
+
Object.defineProperty(exports, "DEFAULT_GAP", { enumerable: true, get: function () { return animatedLogo_logic_1.DEFAULT_GAP; } });
|
|
59
|
+
Object.defineProperty(exports, "DEFAULT_INTRO_MS", { enumerable: true, get: function () { return animatedLogo_logic_1.DEFAULT_INTRO_MS; } });
|
|
60
|
+
Object.defineProperty(exports, "HOUSE_EASE", { enumerable: true, get: function () { return animatedLogo_logic_1.HOUSE_EASE; } });
|
|
61
|
+
Object.defineProperty(exports, "isExpanded", { enumerable: true, get: function () { return animatedLogo_logic_1.isExpanded; } });
|
|
62
|
+
Object.defineProperty(exports, "wordmarkStyle", { enumerable: true, get: function () { return animatedLogo_logic_1.wordmarkStyle; } });
|
|
63
|
+
Object.defineProperty(exports, "wordmarkText", { enumerable: true, get: function () { return animatedLogo_logic_1.wordmarkText; } });
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { GAP, pages } from './pages.js';
|
|
2
|
+
export { masked } from '../backends/gui/mask.js';
|
|
3
|
+
export { displayName } from './name.js';
|
|
4
|
+
export { TONE, tone, type Tone } from './tone.js';
|
|
5
|
+
export { orgScope, filterOrgs, type Org, type OrgScope, type OrgScopeConfig } from './scope.js';
|
|
6
|
+
export { filterOptions, isKnownOption, type ComboOption } from './combobox/filter.js';
|
|
7
|
+
export { BRANDS, HANZO, LUX, ZOO, PARS, resolveBrand, type BrandIdentity } from './brand.js';
|
|
8
|
+
export { DEFAULT_DURATION_MS, DEFAULT_GAP, DEFAULT_INTRO_MS, HOUSE_EASE, isExpanded, wordmarkStyle, wordmarkText, type WordmarkStyle, type WordmarkStyleInput, } from './animatedLogo.logic.js';
|
|
9
|
+
//# sourceMappingURL=pure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pure.d.ts","sourceRoot":"","sources":["../../src/product/pure.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIpC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAIpC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAA;AAI9C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,GAAG,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAA;AAG5F,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGlF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAA;AAIzF,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// @hanzo/ui/product/pure — the product layer's rules, without the layer.
|
|
2
|
+
//
|
|
3
|
+
// Every module here is a value or a function over values: no @hanzo/gui, no
|
|
4
|
+
// React, no DOM, no side effects. It loads under `node --eval "require(...)"`,
|
|
5
|
+
// under jest with no transform and no jsdom, and inside a React Server
|
|
6
|
+
// Component — none of which can load `@hanzo/ui/product`, because that barrel
|
|
7
|
+
// mounts the whole gui runtime to give you one component.
|
|
8
|
+
//
|
|
9
|
+
// That gap is why this exists. A consumer that wanted to check the rule its
|
|
10
|
+
// pager pages by, or that its own field really masks, had to stand up a browser
|
|
11
|
+
// environment to reach a function that never touches one. The components import
|
|
12
|
+
// these same modules, so what a test asserts here is what the component does —
|
|
13
|
+
// there is one definition, not a testable copy of a shipped one.
|
|
14
|
+
//
|
|
15
|
+
// import { pages, masked, tone } from '@hanzo/ui/product/pure'
|
|
16
|
+
//
|
|
17
|
+
// A component belongs in `@hanzo/ui/product`. A rule belongs here.
|
|
18
|
+
// Paging — the fixed-width page run, and the ellipsis standing in for the rest.
|
|
19
|
+
export { GAP, pages } from './pages.js';
|
|
20
|
+
// Masking — the props that hide a value on web AND native, since neither
|
|
21
|
+
// spelling covers both.
|
|
22
|
+
export { masked } from '../backends/gui/mask.js';
|
|
23
|
+
// Naming — what to call a person given a name, an email, or neither.
|
|
24
|
+
export { displayName } from './name.js';
|
|
25
|
+
// Status — what a lifecycle string means, and the monochrome register it reports
|
|
26
|
+
// in. The one vocabulary; every list that renders a status reads this.
|
|
27
|
+
export { TONE, tone } from './tone.js';
|
|
28
|
+
// Org scope — the current org, the ones a person can switch to, and the search
|
|
29
|
+
// over them.
|
|
30
|
+
export { orgScope, filterOrgs } from './scope.js';
|
|
31
|
+
// Typeahead — the ReDoS-safe literal-substring filter behind ComboBox.
|
|
32
|
+
export { filterOptions, isKnownOption } from './combobox/filter.js';
|
|
33
|
+
// Brand — the identities the shared chrome renders under (hanzo, lux, zoo, pars).
|
|
34
|
+
export { BRANDS, HANZO, LUX, ZOO, PARS, resolveBrand } from './brand.js';
|
|
35
|
+
// Wordmark motion — the geometry the animated logo interpolates over, as
|
|
36
|
+
// numbers, so the timing can be checked without a frame.
|
|
37
|
+
export { DEFAULT_DURATION_MS, DEFAULT_GAP, DEFAULT_INTRO_MS, HOUSE_EASE, isExpanded, wordmarkStyle, wordmarkText, } from './animatedLogo.logic.js';
|
|
38
|
+
//# sourceMappingURL=pure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pure.js","sourceRoot":"","sources":["../../src/product/pure.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,uEAAuE;AACvE,8EAA8E;AAC9E,0DAA0D;AAC1D,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAChF,gFAAgF;AAChF,+EAA+E;AAC/E,iEAAiE;AACjE,EAAE;AACF,iEAAiE;AACjE,EAAE;AACF,mEAAmE;AAEnE,gFAAgF;AAChF,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,yEAAyE;AACzE,wBAAwB;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,qEAAqE;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAEpC,iFAAiF;AACjF,uEAAuE;AACvE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAA;AAE9C,+EAA+E;AAC/E,aAAa;AACb,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAgD,MAAM,SAAS,CAAA;AAE5F,uEAAuE;AACvE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAA;AAElF,kFAAkF;AAClF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAsB,MAAM,SAAS,CAAA;AAEzF,yEAAyE;AACzE,yDAAyD;AACzD,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,GAGb,MAAM,sBAAsB,CAAA"}
|
package/dist/product/scope.cjs
CHANGED
package/dist/product/scope.js
CHANGED
|
@@ -67,7 +67,7 @@ function PostDetail({ api, post, onChanged }) {
|
|
|
67
67
|
setPublishing(false);
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
|
-
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$3", p: "$4", children: [(0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Content", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", children: post.content || '—' }) }), (0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Channel", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", children: post.channel }) }), (0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Status", children: (0, jsx_runtime_1.jsx)(StatusTag_1.StatusTag, { status: post.status }) }), post.scheduleAt > 0 ? ((0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Scheduled", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", children: (0, format_1.formatPostTime)(post.scheduleAt) }) })) : null, post.media.length > 0 ? ((0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Media", children: (0, jsx_runtime_1.jsx)(gui_1.YStack, { gap: "$1", children: post.media.map((m) => ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$color11", children: m }, m))) }) })) : null, post.externalId ? ((0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "External id", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", className: "tnum", children: post.externalId }) })) : null, post.error ? ((0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Last error", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$red10", children: post.error }) })) : null, error ? ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$red10", children: error })) : null, canPublish ? ((0, jsx_runtime_1.jsx)(PrimaryButton_1.PrimaryButton, { onPress: publish, disabled: publishing, icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Send, { size: 16 }), children: publishing ? 'Publishing…' : 'Publish now' })) : null] }));
|
|
70
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$3", p: "$4", children: [(0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Content", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", children: post.content || '—' }) }), (0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Channel", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", children: post.channel }) }), (0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Status", children: (0, jsx_runtime_1.jsx)(StatusTag_1.StatusTag, { status: post.status }) }), post.scheduleAt > 0 ? ((0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Scheduled", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", children: (0, format_1.formatPostTime)(post.scheduleAt) }) })) : null, post.media.length > 0 ? ((0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Media", children: (0, jsx_runtime_1.jsx)(gui_1.YStack, { gap: "$1", children: post.media.map((m) => ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$color11", children: m }, m))) }) })) : null, post.externalId ? ((0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "External id", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", className: "hz-tnum", children: post.externalId }) })) : null, post.error ? ((0, jsx_runtime_1.jsx)(Field_1.FieldRow, { label: "Last error", children: (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$red10", children: post.error }) })) : null, error ? ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", color: "$red10", children: error })) : null, canPublish ? ((0, jsx_runtime_1.jsx)(PrimaryButton_1.PrimaryButton, { onPress: publish, disabled: publishing, icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Send, { size: 16 }), children: publishing ? 'Publishing…' : 'Publish now' })) : null] }));
|
|
71
71
|
}
|
|
72
72
|
/** The connect drawer — LIVE per-network readiness above a real account add. */
|
|
73
73
|
function ConnectAccount({ api, providers, onCreated, }) {
|
|
@@ -64,7 +64,7 @@ function PostDetail({ api, post, onChanged }) {
|
|
|
64
64
|
setPublishing(false);
|
|
65
65
|
}
|
|
66
66
|
};
|
|
67
|
-
return (_jsxs(YStack, { gap: "$3", p: "$4", children: [_jsx(FieldRow, { label: "Content", children: _jsx(Text, { fontSize: "$3", children: post.content || '—' }) }), _jsx(FieldRow, { label: "Channel", children: _jsx(Text, { fontSize: "$3", children: post.channel }) }), _jsx(FieldRow, { label: "Status", children: _jsx(StatusTag, { status: post.status }) }), post.scheduleAt > 0 ? (_jsx(FieldRow, { label: "Scheduled", children: _jsx(Text, { fontSize: "$3", children: formatPostTime(post.scheduleAt) }) })) : null, post.media.length > 0 ? (_jsx(FieldRow, { label: "Media", children: _jsx(YStack, { gap: "$1", children: post.media.map((m) => (_jsx(Text, { fontSize: "$2", color: "$color11", children: m }, m))) }) })) : null, post.externalId ? (_jsx(FieldRow, { label: "External id", children: _jsx(Text, { fontSize: "$3", className: "tnum", children: post.externalId }) })) : null, post.error ? (_jsx(FieldRow, { label: "Last error", children: _jsx(Text, { fontSize: "$2", color: "$red10", children: post.error }) })) : null, error ? (_jsx(Text, { fontSize: "$2", color: "$red10", children: error })) : null, canPublish ? (_jsx(PrimaryButton, { onPress: publish, disabled: publishing, icon: _jsx(Send, { size: 16 }), children: publishing ? 'Publishing…' : 'Publish now' })) : null] }));
|
|
67
|
+
return (_jsxs(YStack, { gap: "$3", p: "$4", children: [_jsx(FieldRow, { label: "Content", children: _jsx(Text, { fontSize: "$3", children: post.content || '—' }) }), _jsx(FieldRow, { label: "Channel", children: _jsx(Text, { fontSize: "$3", children: post.channel }) }), _jsx(FieldRow, { label: "Status", children: _jsx(StatusTag, { status: post.status }) }), post.scheduleAt > 0 ? (_jsx(FieldRow, { label: "Scheduled", children: _jsx(Text, { fontSize: "$3", children: formatPostTime(post.scheduleAt) }) })) : null, post.media.length > 0 ? (_jsx(FieldRow, { label: "Media", children: _jsx(YStack, { gap: "$1", children: post.media.map((m) => (_jsx(Text, { fontSize: "$2", color: "$color11", children: m }, m))) }) })) : null, post.externalId ? (_jsx(FieldRow, { label: "External id", children: _jsx(Text, { fontSize: "$3", className: "hz-tnum", children: post.externalId }) })) : null, post.error ? (_jsx(FieldRow, { label: "Last error", children: _jsx(Text, { fontSize: "$2", color: "$red10", children: post.error }) })) : null, error ? (_jsx(Text, { fontSize: "$2", color: "$red10", children: error })) : null, canPublish ? (_jsx(PrimaryButton, { onPress: publish, disabled: publishing, icon: _jsx(Send, { size: 16 }), children: publishing ? 'Publishing…' : 'Publish now' })) : null] }));
|
|
68
68
|
}
|
|
69
69
|
/** The connect drawer — LIVE per-network readiness above a real account add. */
|
|
70
70
|
function ConnectAccount({ api, providers, onCreated, }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocialResource.js","sourceRoot":"","sources":["../../../src/product/social/SocialResource.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SocialResource.js","sourceRoot":"","sources":["../../../src/product/social/SocialResource.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,5 +16,5 @@ function SocialSummaryBar({ summary }) {
|
|
|
16
16
|
{ label: 'Published', value: summary.published },
|
|
17
17
|
{ label: 'Accounts', value: summary.accounts },
|
|
18
18
|
];
|
|
19
|
-
return ((0, jsx_runtime_1.jsx)(gui_1.XStack, { gap: "$3", flexWrap: "wrap", children: cells.map((c) => ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$1", borderWidth: 1, borderColor: "$borderColor", rounded: "$4", px: "$4", py: "$3", minW: 140, children: [(0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$1", color: "$color10", children: c.label }), (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$6", fontWeight: "500", className: "tnum", children: c.value })] }, c.label))) }));
|
|
19
|
+
return ((0, jsx_runtime_1.jsx)(gui_1.XStack, { gap: "$3", flexWrap: "wrap", children: cells.map((c) => ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$1", borderWidth: 1, borderColor: "$borderColor", rounded: "$4", px: "$4", py: "$3", minW: 140, children: [(0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$1", color: "$color10", children: c.label }), (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$6", fontWeight: "500", className: "hz-tnum", children: c.value })] }, c.label))) }));
|
|
20
20
|
}
|
|
@@ -13,6 +13,6 @@ export function SocialSummaryBar({ summary }) {
|
|
|
13
13
|
{ label: 'Published', value: summary.published },
|
|
14
14
|
{ label: 'Accounts', value: summary.accounts },
|
|
15
15
|
];
|
|
16
|
-
return (_jsx(XStack, { gap: "$3", flexWrap: "wrap", children: cells.map((c) => (_jsxs(YStack, { gap: "$1", borderWidth: 1, borderColor: "$borderColor", rounded: "$4", px: "$4", py: "$3", minW: 140, children: [_jsx(Text, { fontSize: "$1", color: "$color10", children: c.label }), _jsx(Text, { fontSize: "$6", fontWeight: "500", className: "tnum", children: c.value })] }, c.label))) }));
|
|
16
|
+
return (_jsx(XStack, { gap: "$3", flexWrap: "wrap", children: cells.map((c) => (_jsxs(YStack, { gap: "$1", borderWidth: 1, borderColor: "$borderColor", rounded: "$4", px: "$4", py: "$3", minW: 140, children: [_jsx(Text, { fontSize: "$1", color: "$color10", children: c.label }), _jsx(Text, { fontSize: "$6", fontWeight: "500", className: "hz-tnum", children: c.value })] }, c.label))) }));
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=SocialSummaryBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocialSummaryBar.js","sourceRoot":"","sources":["../../../src/product/social/SocialSummaryBar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;GAIG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAGjD,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAA8B;IACtE,MAAM,KAAK,GAAuC;QAChD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;QACxC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE;QAChD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE;QAChD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE;KAC/C,CAAA;IACD,OAAO,CACL,KAAC,MAAM,IAAC,GAAG,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,YAC7B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAChB,MAAC,MAAM,IAEL,GAAG,EAAC,IAAI,EACR,WAAW,EAAE,CAAC,EACd,WAAW,EAAC,cAAc,EAC1B,OAAO,EAAC,IAAI,EACZ,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,IAAI,EAAE,GAAG,aAET,KAAC,IAAI,IAAC,QAAQ,EAAC,IAAI,EAAC,KAAK,EAAC,UAAU,YACjC,CAAC,CAAC,KAAK,GACH,EACP,KAAC,IAAI,IAAC,QAAQ,EAAC,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"SocialSummaryBar.js","sourceRoot":"","sources":["../../../src/product/social/SocialSummaryBar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;GAIG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAGjD,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAA8B;IACtE,MAAM,KAAK,GAAuC;QAChD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;QACxC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE;QAChD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE;QAChD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE;KAC/C,CAAA;IACD,OAAO,CACL,KAAC,MAAM,IAAC,GAAG,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,YAC7B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAChB,MAAC,MAAM,IAEL,GAAG,EAAC,IAAI,EACR,WAAW,EAAE,CAAC,EACd,WAAW,EAAC,cAAc,EAC1B,OAAO,EAAC,IAAI,EACZ,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,IAAI,EAAE,GAAG,aAET,KAAC,IAAI,IAAC,QAAQ,EAAC,IAAI,EAAC,KAAK,EAAC,UAAU,YACjC,CAAC,CAAC,KAAK,GACH,EACP,KAAC,IAAI,IAAC,QAAQ,EAAC,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,SAAS,EAAC,SAAS,YACrD,CAAC,CAAC,KAAK,GACH,KAdF,CAAC,CAAC,KAAK,CAeL,CACV,CAAC,GACK,CACV,CAAA;AACH,CAAC"}
|