@teja-app/ui 0.0.13 → 0.0.15
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/index.cjs +5 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/instrumentation/context.d.ts +9 -0
- package/dist/instrumentation/context.d.ts.map +1 -0
- package/dist/instrumentation/index.cjs +8 -0
- package/dist/instrumentation/index.cjs.map +1 -0
- package/dist/instrumentation/index.d.ts +10 -0
- package/dist/instrumentation/index.d.ts.map +1 -0
- package/dist/instrumentation/index.js +8 -0
- package/dist/instrumentation/index.js.map +1 -0
- package/dist/instrumentation/tracker.d.ts +28 -0
- package/dist/instrumentation/tracker.d.ts.map +1 -0
- package/dist/instrumentation/useInstrumentedClick.d.ts +31 -0
- package/dist/instrumentation/useInstrumentedClick.d.ts.map +1 -0
- package/dist/theme/components/AIComposeButton.d.ts +2 -0
- package/dist/theme/components/AIComposeButton.d.ts.map +1 -1
- package/dist/theme/components/Button.d.ts +2 -0
- package/dist/theme/components/Button.d.ts.map +1 -1
- package/dist/theme/components/CountdownPill.d.ts +15 -0
- package/dist/theme/components/CountdownPill.d.ts.map +1 -0
- package/dist/theme/components/IconButton.d.ts +2 -0
- package/dist/theme/components/IconButton.d.ts.map +1 -1
- package/dist/theme/components/countdown.d.ts +37 -0
- package/dist/theme/components/countdown.d.ts.map +1 -0
- package/dist/theme/components/countdown.test.d.ts +2 -0
- package/dist/theme/components/countdown.test.d.ts.map +1 -0
- package/dist/theme/components/index.d.ts +2 -0
- package/dist/theme/components/index.d.ts.map +1 -1
- package/dist/theme/index.cjs +83 -2
- package/dist/theme/index.cjs.map +1 -1
- package/dist/theme/index.js +83 -2
- package/dist/theme/index.js.map +1 -1
- package/dist/useInstrumentedClick-B7QAnoBt.js +68 -0
- package/dist/useInstrumentedClick-B7QAnoBt.js.map +1 -0
- package/dist/useInstrumentedClick-COxikkTF.cjs +67 -0
- package/dist/useInstrumentedClick-COxikkTF.cjs.map +1 -0
- package/package.json +6 -1
package/dist/index.cjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const useSidebar = require("./useSidebar-d1VZFhxd.cjs");
|
|
4
4
|
const utils_index = require("./utils/index.cjs");
|
|
5
|
+
const useInstrumentedClick = require("./useInstrumentedClick-COxikkTF.cjs");
|
|
5
6
|
exports.useDebounce = useSidebar.useDebounce;
|
|
6
7
|
exports.useDebouncedCallback = useSidebar.useDebouncedCallback;
|
|
7
8
|
exports.useDebouncedCallbackWithControl = useSidebar.useDebouncedCallbackWithControl;
|
|
@@ -9,4 +10,8 @@ exports.useSelection = useSidebar.useSelection;
|
|
|
9
10
|
exports.useSidebar = useSidebar.useSidebar;
|
|
10
11
|
exports.useTable = useSidebar.useTable;
|
|
11
12
|
exports.cn = utils_index.cn;
|
|
13
|
+
exports.TrackerProvider = useInstrumentedClick.TrackerProvider;
|
|
14
|
+
exports.noopTracker = useInstrumentedClick.noopTracker;
|
|
15
|
+
exports.useInstrumentedClick = useInstrumentedClick.useInstrumentedClick;
|
|
16
|
+
exports.useTracker = useInstrumentedClick.useTracker;
|
|
12
17
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAM7B,cAAc,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import { u, a, b, c, d, e } from "./useSidebar-BWe09WbE.js";
|
|
2
2
|
import { cn } from "./utils/index.js";
|
|
3
|
+
import { T, n, u as u2, a as a2 } from "./useInstrumentedClick-B7QAnoBt.js";
|
|
3
4
|
export {
|
|
5
|
+
T as TrackerProvider,
|
|
4
6
|
cn,
|
|
7
|
+
n as noopTracker,
|
|
5
8
|
u as useDebounce,
|
|
6
9
|
a as useDebouncedCallback,
|
|
7
10
|
b as useDebouncedCallbackWithControl,
|
|
11
|
+
u2 as useInstrumentedClick,
|
|
8
12
|
c as useSelection,
|
|
9
13
|
d as useSidebar,
|
|
10
|
-
e as useTable
|
|
14
|
+
e as useTable,
|
|
15
|
+
a2 as useTracker
|
|
11
16
|
};
|
|
12
17
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type Tracker } from './tracker';
|
|
3
|
+
export interface TrackerProviderProps {
|
|
4
|
+
tracker: Tracker;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function TrackerProvider({ tracker, children }: TrackerProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function useTracker(): Tracker;
|
|
9
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/instrumentation/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAWtD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,oBAAoB,2CAM1E;AAED,wBAAgB,UAAU,IAAI,OAAO,CAEpC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const useInstrumentedClick = require("../useInstrumentedClick-COxikkTF.cjs");
|
|
4
|
+
exports.TrackerProvider = useInstrumentedClick.TrackerProvider;
|
|
5
|
+
exports.noopTracker = useInstrumentedClick.noopTracker;
|
|
6
|
+
exports.useInstrumentedClick = useInstrumentedClick.useInstrumentedClick;
|
|
7
|
+
exports.useTracker = useInstrumentedClick.useTracker;
|
|
8
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* teja-ui instrumentation surface (W3 §7.5–7.6).
|
|
3
|
+
*
|
|
4
|
+
* FROZEN contract consumed by the app-side adapter. teja-ui carries no telemetry
|
|
5
|
+
* SDK; the host injects a `Tracker` via `<TrackerProvider>`.
|
|
6
|
+
*/
|
|
7
|
+
export { noopTracker, type Tracker, type SpanHandle } from './tracker';
|
|
8
|
+
export { TrackerProvider, useTracker, type TrackerProviderProps } from './context';
|
|
9
|
+
export { useInstrumentedClick, type InstrumentedClickMeta, } from './useInstrumentedClick';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/instrumentation/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,WAAW,EAAE,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACnF,OAAO,EACL,oBAAoB,EACpB,KAAK,qBAAqB,GAC3B,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tracker facade — the FROZEN telemetry contract teja-ui exposes (W3 §7.5).
|
|
3
|
+
*
|
|
4
|
+
* teja-ui carries NO OpenTelemetry / Sentry / PostHog dependency. Consuming
|
|
5
|
+
* apps inject a concrete `Tracker` via `<TrackerProvider>`; when no provider is
|
|
6
|
+
* mounted the components fall back to `noopTracker`, so an un-instrumented host
|
|
7
|
+
* sees ZERO behavior change. The app-side adapter (`frontend/src/lib/telemetry/
|
|
8
|
+
* uiTracker.ts`) is the only place that knows about the real sink.
|
|
9
|
+
*/
|
|
10
|
+
/** A single in-flight UI span (e.g. one button click). */
|
|
11
|
+
export interface SpanHandle {
|
|
12
|
+
setAttribute(key: string, value: string | number | boolean): void;
|
|
13
|
+
/**
|
|
14
|
+
* End the span. `outcome` records how the handler settled; `error` is the
|
|
15
|
+
* thrown/rejected value when `outcome === "error"` (recorded as an exception
|
|
16
|
+
* by the adapter, never swallowed by the hook).
|
|
17
|
+
*/
|
|
18
|
+
end(outcome: 'success' | 'error' | 'abandoned', error?: unknown): void;
|
|
19
|
+
}
|
|
20
|
+
export interface Tracker {
|
|
21
|
+
/** Start a span. Attributes are flat primitives so any sink can serialize them. */
|
|
22
|
+
startSpan(name: string, attrs: Record<string, string | number | boolean>): SpanHandle;
|
|
23
|
+
/** Fire-and-forget discrete event (no duration). */
|
|
24
|
+
track(event: string, attrs?: Record<string, string | number | boolean>): void;
|
|
25
|
+
}
|
|
26
|
+
/** No-op implementation: the default when no provider is mounted. */
|
|
27
|
+
export declare const noopTracker: Tracker;
|
|
28
|
+
//# sourceMappingURL=tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../src/instrumentation/tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,0DAA0D;AAC1D,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAClE;;;;OAIG;IACH,GAAG,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,OAAO;IACtB,mFAAmF;IACnF,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAC/C,UAAU,CAAC;IACd,oDAAoD;IACpD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;CAC/E;AAED,qEAAqE;AACrE,eAAO,MAAM,WAAW,EAAE,OAGzB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type SyntheticEvent } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* useInstrumentedClick (W3 §7.6).
|
|
4
|
+
*
|
|
5
|
+
* Wraps a click handler in a `ui.button.click` span. The span's lifecycle
|
|
6
|
+
* follows the handler:
|
|
7
|
+
* - sync handler → span ends `success` immediately (`ui.handler.async=false`)
|
|
8
|
+
* - async handler → span ends when the returned promise settles
|
|
9
|
+
* (`success`/`error`), recording `ui.handler.duration_ms`.
|
|
10
|
+
*
|
|
11
|
+
* Error semantics — the hook observes, never alters control flow:
|
|
12
|
+
* - sync throw → span ends `error`, then the error is RE-THROWN so the
|
|
13
|
+
* caller's try/catch / React error boundary still sees it.
|
|
14
|
+
* - async reject → span ends `error`; the rejection is left ON the original
|
|
15
|
+
* promise so the caller's own `.catch`/awaiter still receives it. The hook
|
|
16
|
+
* attaches a passive observer (it does not consume the rejection).
|
|
17
|
+
*
|
|
18
|
+
* Tracker comes from `useTracker()`, so an unmounted provider = noop = zero
|
|
19
|
+
* behavior change.
|
|
20
|
+
*/
|
|
21
|
+
export interface InstrumentedClickMeta {
|
|
22
|
+
/** Semantic id, e.g. "onboarding.step1.next". Highest-priority component.name. */
|
|
23
|
+
telemetryId?: string;
|
|
24
|
+
/** Fallback identity (the component's data-testid). */
|
|
25
|
+
testId?: string;
|
|
26
|
+
/** "Button" | "IconButton" | "AIComposeButton". */
|
|
27
|
+
kind: string;
|
|
28
|
+
variant?: string;
|
|
29
|
+
}
|
|
30
|
+
export declare function useInstrumentedClick<E extends SyntheticEvent>(onClick: ((e: E) => void | Promise<void>) | undefined, meta: InstrumentedClickMeta): ((e: E) => void) | undefined;
|
|
31
|
+
//# sourceMappingURL=useInstrumentedClick.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInstrumentedClick.d.ts","sourceRoot":"","sources":["../../src/instrumentation/useInstrumentedClick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAIzD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,cAAc,EAC3D,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,EACrD,IAAI,EAAE,qBAAqB,GAC1B,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAmE9B"}
|
|
@@ -9,6 +9,8 @@ export interface AIComposeButtonProps extends Omit<ButtonHTMLAttributes<HTMLButt
|
|
|
9
9
|
size?: AIComposeButtonSize;
|
|
10
10
|
children?: ReactNode;
|
|
11
11
|
testId?: string;
|
|
12
|
+
/** Semantic telemetry id for the click span (`component.name`). */
|
|
13
|
+
telemetryId?: string;
|
|
12
14
|
}
|
|
13
15
|
export declare const AIComposeButton: import("react").ForwardRefExoticComponent<AIComposeButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
14
16
|
//# sourceMappingURL=AIComposeButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIComposeButton.d.ts","sourceRoot":"","sources":["../../../src/theme/components/AIComposeButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAsB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AIComposeButton.d.ts","sourceRoot":"","sources":["../../../src/theme/components/AIComposeButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAsB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMlG;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACjE,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,oHA4C3B,CAAC"}
|
|
@@ -14,6 +14,8 @@ export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement
|
|
|
14
14
|
children?: ReactNode;
|
|
15
15
|
/** Forwarded as `data-testid` on the `<button>` element. */
|
|
16
16
|
testId?: string;
|
|
17
|
+
/** Semantic telemetry id for the click span (`component.name`). */
|
|
18
|
+
telemetryId?: string;
|
|
17
19
|
}
|
|
18
20
|
export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
19
21
|
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EAEzB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EAEzB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAE7C,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,WAAW,GACX,OAAO,GACP,QAAQ,GACR,MAAM,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAqC5C,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACjE,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,gDAAgD;IAChD,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,uCAAuC;IACvC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,MAAM,2GAyDjB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type IconName } from "./Icon";
|
|
2
|
+
import type { CountdownTone } from "./countdown";
|
|
3
|
+
export interface CountdownPillProps {
|
|
4
|
+
tone: CountdownTone;
|
|
5
|
+
/** Fully-resolved, already-localized text (e.g. "Starts in 2d 4h"). */
|
|
6
|
+
label: string;
|
|
7
|
+
/** Leading theme icon; default "clock". */
|
|
8
|
+
icon?: IconName;
|
|
9
|
+
/** Show the leading live dot; defaults to true unless tone is "ready". */
|
|
10
|
+
dot?: boolean;
|
|
11
|
+
testId?: string;
|
|
12
|
+
"data-testid"?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function CountdownPill({ tone, label, icon, dot, testId, "data-testid": dataTestId, }: CountdownPillProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=CountdownPill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CountdownPill.d.ts","sourceRoot":"","sources":["../../../src/theme/components/CountdownPill.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAmBjD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,aAAa,CAAC;IACpB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,IAAc,EACd,GAAG,EACH,MAAM,EACN,aAAa,EAAE,UAAU,GAC1B,EAAE,kBAAkB,2CAgBpB"}
|
|
@@ -12,6 +12,8 @@ export interface IconButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonEle
|
|
|
12
12
|
size?: IconButtonSize;
|
|
13
13
|
tone?: IconButtonTone;
|
|
14
14
|
testId?: string;
|
|
15
|
+
/** Semantic telemetry id for the click span (`component.name`). */
|
|
16
|
+
telemetryId?: string;
|
|
15
17
|
}
|
|
16
18
|
export declare const IconButton: import("react").ForwardRefExoticComponent<IconButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
17
19
|
//# sourceMappingURL=IconButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/theme/components/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAsB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/theme/components/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAsB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlG;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAChD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnD,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACjE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID,eAAO,MAAM,UAAU,+GA0CtB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure, localization-free formatter for "time until a scheduled event"
|
|
3
|
+
* countdowns (session start, telehealth join, etc.).
|
|
4
|
+
*
|
|
5
|
+
* Returns STRUCTURED parts (numbers + a tone + a granularity hint), never
|
|
6
|
+
* rendered English — so localized callers can build their own `t(...)` label
|
|
7
|
+
* while pre-i18n surfaces can format inline. The presentational pill that
|
|
8
|
+
* consumes this lives in `CountdownPill.tsx`.
|
|
9
|
+
*/
|
|
10
|
+
export type CountdownTone = "waiting" | "soon" | "ready";
|
|
11
|
+
export interface CountdownParts {
|
|
12
|
+
/** Urgency bucket: drives the pill color. "ready" once start has passed. */
|
|
13
|
+
tone: CountdownTone;
|
|
14
|
+
days: number;
|
|
15
|
+
hours: number;
|
|
16
|
+
minutes: number;
|
|
17
|
+
seconds: number;
|
|
18
|
+
/**
|
|
19
|
+
* Granularity the UI should render, so callers localize correctly:
|
|
20
|
+
* - "days" → "{days}d {hours}h"
|
|
21
|
+
* - "hours" → "{hours}h {minutes}m"
|
|
22
|
+
* - "minutes" → mm:ss (the live final hour)
|
|
23
|
+
* - "now" → start has passed
|
|
24
|
+
*/
|
|
25
|
+
unit: "days" | "hours" | "minutes" | "now";
|
|
26
|
+
/** Zero-padded mm:ss for the "minutes" unit (e.g. "04:38"). */
|
|
27
|
+
clock: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Structured countdown from `nowMs` → `startMs`.
|
|
31
|
+
*
|
|
32
|
+
* @param soonThresholdSeconds When the remaining time is at or below this many
|
|
33
|
+
* seconds (and start hasn't passed), tone becomes "soon" (amber). Defaults to
|
|
34
|
+
* 120s. Pass `0` to opt out of the "soon" state entirely.
|
|
35
|
+
*/
|
|
36
|
+
export declare function countdownParts(startMs: number, nowMs: number, soonThresholdSeconds?: number): CountdownParts;
|
|
37
|
+
//# sourceMappingURL=countdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"countdown.d.ts","sourceRoot":"","sources":["../../../src/theme/components/countdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC;IAC3C,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;CACf;AAMD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,oBAAoB,SAAM,GACzB,cAAc,CA+BhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"countdown.test.d.ts","sourceRoot":"","sources":["../../../src/theme/components/countdown.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { Icon, ICON_NAMES, type IconName, type IconProps } from './Icon';
|
|
2
2
|
export { Button, type ButtonProps, type ButtonVariant, type ButtonSize, } from './Button';
|
|
3
3
|
export { Badge, type BadgeProps, type BadgeTone, type BadgeSize, type BadgeColors } from './Badge';
|
|
4
|
+
export { CountdownPill, type CountdownPillProps } from './CountdownPill';
|
|
5
|
+
export { countdownParts, type CountdownParts, type CountdownTone } from './countdown';
|
|
4
6
|
export { Card, type CardProps } from './Card';
|
|
5
7
|
export { TejaMark, TejaLogo, type TejaMarkProps, type TejaLogoProps } from './Brand';
|
|
6
8
|
export { Field, type FieldProps } from './Field';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theme/components/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theme/components/index.ts"],"names":[],"mappings":"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"}
|
package/dist/theme/index.cjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const React = require("react");
|
|
5
|
+
const instrumentation = require("@teja-app/ui/instrumentation");
|
|
5
6
|
const ReactDOM = require("react-dom");
|
|
6
7
|
function _interopNamespaceDefault(e2) {
|
|
7
8
|
const n2 = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
@@ -674,9 +675,17 @@ const Button$1 = React.forwardRef(function Button2({
|
|
|
674
675
|
type = "button",
|
|
675
676
|
disabled,
|
|
676
677
|
testId,
|
|
678
|
+
telemetryId,
|
|
679
|
+
onClick,
|
|
677
680
|
...rest
|
|
678
681
|
}, ref) {
|
|
679
682
|
const dims = SIZE_DIMS$2[size2];
|
|
683
|
+
const instrumentedClick = instrumentation.useInstrumentedClick(onClick, {
|
|
684
|
+
telemetryId,
|
|
685
|
+
testId,
|
|
686
|
+
kind: "Button",
|
|
687
|
+
variant
|
|
688
|
+
});
|
|
680
689
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
681
690
|
"button",
|
|
682
691
|
{
|
|
@@ -684,6 +693,7 @@ const Button$1 = React.forwardRef(function Button2({
|
|
|
684
693
|
type,
|
|
685
694
|
disabled,
|
|
686
695
|
"data-testid": testId,
|
|
696
|
+
onClick: instrumentedClick,
|
|
687
697
|
style: {
|
|
688
698
|
height: dims.h,
|
|
689
699
|
padding: dims.pad,
|
|
@@ -785,6 +795,61 @@ function Badge({
|
|
|
785
795
|
children
|
|
786
796
|
] });
|
|
787
797
|
}
|
|
798
|
+
const TONE_COLORS = {
|
|
799
|
+
waiting: { bg: "var(--ai-soft)", fg: "var(--ai)", dot: "var(--ai)" },
|
|
800
|
+
soon: { bg: "var(--warning-soft)", fg: "var(--warning)", dot: "var(--warning)" },
|
|
801
|
+
ready: { bg: "var(--success-soft)", fg: "var(--success)", dot: "var(--success)" }
|
|
802
|
+
};
|
|
803
|
+
function CountdownPill({
|
|
804
|
+
tone,
|
|
805
|
+
label,
|
|
806
|
+
icon = "clock",
|
|
807
|
+
dot,
|
|
808
|
+
testId,
|
|
809
|
+
"data-testid": dataTestId
|
|
810
|
+
}) {
|
|
811
|
+
const showDot = dot ?? tone !== "ready";
|
|
812
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
813
|
+
Badge,
|
|
814
|
+
{
|
|
815
|
+
tone: "neutral",
|
|
816
|
+
colors: TONE_COLORS[tone],
|
|
817
|
+
dot: showDot,
|
|
818
|
+
testId,
|
|
819
|
+
"data-testid": dataTestId,
|
|
820
|
+
children: [
|
|
821
|
+
/* @__PURE__ */ jsxRuntime.jsx(Icon, { name: icon, size: 12 }),
|
|
822
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontFamily: "var(--font-mono)", fontWeight: 600 }, children: label })
|
|
823
|
+
]
|
|
824
|
+
}
|
|
825
|
+
);
|
|
826
|
+
}
|
|
827
|
+
const DAY_S = 86400;
|
|
828
|
+
const HOUR_S = 3600;
|
|
829
|
+
const MIN_S = 60;
|
|
830
|
+
function countdownParts(startMs, nowMs, soonThresholdSeconds = 120) {
|
|
831
|
+
const deltaMs = startMs - nowMs;
|
|
832
|
+
if (deltaMs <= 0) {
|
|
833
|
+
return {
|
|
834
|
+
tone: "ready",
|
|
835
|
+
days: 0,
|
|
836
|
+
hours: 0,
|
|
837
|
+
minutes: 0,
|
|
838
|
+
seconds: 0,
|
|
839
|
+
unit: "now",
|
|
840
|
+
clock: "00:00"
|
|
841
|
+
};
|
|
842
|
+
}
|
|
843
|
+
const total = Math.floor(deltaMs / 1e3);
|
|
844
|
+
const days = Math.floor(total / DAY_S);
|
|
845
|
+
const hours = Math.floor(total % DAY_S / HOUR_S);
|
|
846
|
+
const minutes = Math.floor(total % HOUR_S / MIN_S);
|
|
847
|
+
const seconds = total % MIN_S;
|
|
848
|
+
const unit = days > 0 ? "days" : hours > 0 ? "hours" : "minutes";
|
|
849
|
+
const clock = `${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}`;
|
|
850
|
+
const tone = total <= soonThresholdSeconds ? "soon" : "waiting";
|
|
851
|
+
return { tone, days, hours, minutes, seconds, unit, clock };
|
|
852
|
+
}
|
|
788
853
|
const Card = React.forwardRef(function Card2({
|
|
789
854
|
padding = 20,
|
|
790
855
|
children,
|
|
@@ -16523,8 +16588,14 @@ const Switch = React.forwardRef(function Switch2({ on = false, onChange, size: s
|
|
|
16523
16588
|
});
|
|
16524
16589
|
const SIZE_PX$1 = { sm: 22, md: 26, lg: 32 };
|
|
16525
16590
|
const IconButton = React.forwardRef(
|
|
16526
|
-
function IconButton2({ children, size: size2 = "md", tone = "default", style, testId, type = "button", ...rest }, ref) {
|
|
16591
|
+
function IconButton2({ children, size: size2 = "md", tone = "default", style, testId, telemetryId, onClick, type = "button", ...rest }, ref) {
|
|
16527
16592
|
const dim = SIZE_PX$1[size2];
|
|
16593
|
+
const instrumentedClick = instrumentation.useInstrumentedClick(onClick, {
|
|
16594
|
+
telemetryId,
|
|
16595
|
+
testId,
|
|
16596
|
+
kind: "IconButton",
|
|
16597
|
+
variant: tone
|
|
16598
|
+
});
|
|
16528
16599
|
const merged = {
|
|
16529
16600
|
width: dim,
|
|
16530
16601
|
height: dim,
|
|
@@ -16548,6 +16619,7 @@ const IconButton = React.forwardRef(
|
|
|
16548
16619
|
type,
|
|
16549
16620
|
"data-testid": testId,
|
|
16550
16621
|
"data-tone": tone,
|
|
16622
|
+
onClick: instrumentedClick,
|
|
16551
16623
|
style: merged,
|
|
16552
16624
|
...rest,
|
|
16553
16625
|
children
|
|
@@ -17240,8 +17312,14 @@ function AIBadge({
|
|
|
17240
17312
|
] });
|
|
17241
17313
|
}
|
|
17242
17314
|
const AIComposeButton = React.forwardRef(
|
|
17243
|
-
function AIComposeButton2({ size: size2 = "md", children = "Compose with AI", style, testId, type = "button", ...rest }, ref) {
|
|
17315
|
+
function AIComposeButton2({ size: size2 = "md", children = "Compose with AI", style, testId, telemetryId, onClick, type = "button", ...rest }, ref) {
|
|
17244
17316
|
const h2 = size2 === "sm" ? 28 : 32;
|
|
17317
|
+
const instrumentedClick = instrumentation.useInstrumentedClick(onClick, {
|
|
17318
|
+
telemetryId,
|
|
17319
|
+
testId,
|
|
17320
|
+
kind: "AIComposeButton",
|
|
17321
|
+
variant: size2
|
|
17322
|
+
});
|
|
17245
17323
|
const fz = size2 === "sm" ? 12 : 13;
|
|
17246
17324
|
const merged = {
|
|
17247
17325
|
height: h2,
|
|
@@ -17266,6 +17344,7 @@ const AIComposeButton = React.forwardRef(
|
|
|
17266
17344
|
type,
|
|
17267
17345
|
"data-testid": testId,
|
|
17268
17346
|
"data-size": size2,
|
|
17347
|
+
onClick: instrumentedClick,
|
|
17269
17348
|
style: merged,
|
|
17270
17349
|
...rest,
|
|
17271
17350
|
children: [
|
|
@@ -19086,6 +19165,7 @@ exports.Checkbox = Checkbox;
|
|
|
19086
19165
|
exports.Chip = Chip;
|
|
19087
19166
|
exports.Combobox = Combobox;
|
|
19088
19167
|
exports.ConfirmDialog = ConfirmDialog;
|
|
19168
|
+
exports.CountdownPill = CountdownPill;
|
|
19089
19169
|
exports.CountryPicker = CountryPicker;
|
|
19090
19170
|
exports.DEFAULT_LANG_OPTIONS = DEFAULT_LANG_OPTIONS;
|
|
19091
19171
|
exports.DENSITY_OPTIONS = DENSITY_OPTIONS;
|
|
@@ -19178,6 +19258,7 @@ exports.US_STATES = US_STATES;
|
|
|
19178
19258
|
exports.ViewToggle = ViewToggle;
|
|
19179
19259
|
exports.applyTheme = applyTheme;
|
|
19180
19260
|
exports.controlBoxStyle = controlBoxStyle;
|
|
19261
|
+
exports.countdownParts = countdownParts;
|
|
19181
19262
|
exports.ensureAIStyles = ensureAIStyles;
|
|
19182
19263
|
exports.ensureSidebarNavStyles = ensureSidebarNavStyles;
|
|
19183
19264
|
exports.ensureSkeletonStyles = ensureSkeletonStyles;
|