impact-nova 2.2.7 → 2.2.9
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/components/data/ag-grid-react/ag-grid-header-dom.js +6 -8
- package/dist/components/data/ag-grid-react/ag-grid-tooltip-overflow.d.ts +1 -1
- package/dist/components/data/ag-grid-react/ag-grid-tooltip-overflow.js +25 -13
- package/dist/components/data/ag-grid-react/headers/components/section-renderers.js +19 -18
- package/dist/components/data/ag-grid-react/headers/custom-header.js +1 -1
- package/dist/components/data/ag-grid-react/headers/custom-inner-header-group.js +7 -7
- package/dist/components/data/ag-grid-react/info-system-story-columns.d.ts +38 -1
- package/dist/components/data/ag-grid-react/strip-column-min-width-constraints.d.ts +3 -0
- package/dist/components/data/data-table/data-table.d.ts +1 -1
- package/dist/components/data/data-table/data-table.js +41 -39
- package/dist/components/data/data-table/data-table.types.d.ts +1 -1
- package/dist/components/flows/filter-panel/filter-panel.js +101 -94
- package/dist/components/flows/filter-strip/filter-tag-list.js +96 -88
- package/dist/components/flows/guidance/adapters/ag-grid-adapter.d.ts +13 -0
- package/dist/components/flows/guidance/adapters/ag-grid-adapter.js +30 -0
- package/dist/components/flows/guidance/adapters/ag-grid.d.ts +2 -0
- package/dist/components/flows/guidance/adapters/ag-grid.js +6 -0
- package/dist/components/flows/guidance/adapters/dialog.d.ts +1 -0
- package/dist/components/flows/guidance/adapters/dialog.js +5 -0
- package/dist/components/flows/guidance/adapters/overlay-adapter.d.ts +5 -0
- package/dist/components/flows/guidance/adapters/overlay-adapter.js +21 -0
- package/dist/components/flows/guidance/engine.d.ts +1 -0
- package/dist/components/flows/guidance/engine.js +36 -0
- package/dist/components/flows/guidance/guidance-context.d.ts +29 -0
- package/dist/components/flows/guidance/guidance-context.js +35 -0
- package/dist/components/flows/guidance/guidance-error-boundary.d.ts +16 -0
- package/dist/components/flows/guidance/guidance-error-boundary.js +49 -0
- package/dist/components/flows/guidance/guidance-layer.d.ts +2 -0
- package/dist/components/flows/guidance/guidance-layer.js +71 -0
- package/dist/components/flows/guidance/guidance-provider.d.ts +3 -0
- package/dist/components/flows/guidance/guidance-provider.js +58 -0
- package/dist/components/flows/guidance/guidance-target.d.ts +7 -0
- package/dist/components/flows/guidance/guidance-target.js +27 -0
- package/dist/components/flows/guidance/guidance.types.d.ts +1 -0
- package/dist/components/flows/guidance/help-center/filter-help-center-guides.d.ts +7 -0
- package/dist/components/flows/guidance/help-center/filter-help-center-guides.js +11 -0
- package/dist/components/flows/guidance/help-center/guide-catalog.d.ts +3 -0
- package/dist/components/flows/guidance/help-center/guide-catalog.js +118 -0
- package/dist/components/flows/guidance/help-center/help-center-header.d.ts +3 -0
- package/dist/components/flows/guidance/help-center/help-center-header.js +43 -0
- package/dist/components/flows/guidance/help-center/help-center.constants.d.ts +5 -0
- package/dist/components/flows/guidance/help-center/help-center.constants.js +7 -0
- package/dist/components/flows/guidance/help-center/help-center.d.ts +10 -0
- package/dist/components/flows/guidance/help-center/help-center.js +95 -0
- package/dist/components/flows/guidance/help-center/help-center.story-helpers.d.ts +10 -0
- package/dist/components/flows/guidance/help-center/help-center.types.d.ts +39 -0
- package/dist/components/flows/guidance/help-center.d.ts +6 -0
- package/dist/components/flows/guidance/help-center.js +19 -0
- package/dist/components/flows/guidance/hooks/use-guidance.d.ts +19 -0
- package/dist/components/flows/guidance/hooks/use-guidance.js +50 -0
- package/dist/components/flows/guidance/hooks/use-help-center.d.ts +24 -0
- package/dist/components/flows/guidance/hooks/use-help-center.js +67 -0
- package/dist/components/flows/guidance/hooks/useGuidanceOverlayGeometry.d.ts +2 -0
- package/dist/components/flows/guidance/hooks/useGuidanceOverlayGeometry.js +30 -0
- package/dist/components/flows/guidance/index.d.ts +18 -0
- package/dist/components/flows/guidance/index.js +48 -0
- package/dist/components/flows/guidance/renderers/announcement-renderer.d.ts +3 -0
- package/dist/components/flows/guidance/renderers/announcement-renderer.js +40 -0
- package/dist/components/flows/guidance/renderers/coach-mark-renderer.d.ts +2 -0
- package/dist/components/flows/guidance/renderers/coach-mark-renderer.js +14 -0
- package/dist/components/flows/guidance/renderers/guidance-card-shared.d.ts +42 -0
- package/dist/components/flows/guidance/renderers/guidance-card-shared.js +213 -0
- package/dist/components/flows/guidance/renderers/guidance-renderer-shared.d.ts +48 -0
- package/dist/components/flows/guidance/renderers/guidance-renderer-shared.js +254 -0
- package/dist/components/flows/guidance/renderers/guidance-tour-overlay.d.ts +11 -0
- package/dist/components/flows/guidance/renderers/guidance-tour-overlay.js +217 -0
- package/dist/components/flows/guidance/renderers/renderer-registry.d.ts +6 -0
- package/dist/components/flows/guidance/renderers/renderer-registry.js +19 -0
- package/dist/components/flows/guidance/renderers/spotlight-renderer.d.ts +2 -0
- package/dist/components/flows/guidance/renderers/spotlight-renderer.js +14 -0
- package/dist/components/flows/guidance/renderers.d.ts +4 -0
- package/dist/components/flows/guidance/renderers.js +11 -0
- package/dist/components/flows/guidance/target.d.ts +3 -0
- package/dist/components/flows/guidance/target.js +6 -0
- package/dist/components/flows/guidance/triggers.d.ts +2 -0
- package/dist/components/flows/guidance/triggers.js +16 -0
- package/dist/components/flows/guidance/use-guidance-target.d.ts +5 -0
- package/dist/components/flows/guidance/use-guidance-target.js +16 -0
- package/dist/components/flows/guidance/utils/motion-settle.d.ts +2 -0
- package/dist/components/flows/guidance/utils/motion-settle.js +17 -0
- package/dist/components/forms/prompt/prompt.js +13 -13
- package/dist/i18n/defaultMessages.d.ts +13 -0
- package/dist/i18n/defaultMessages.js +23 -11
- package/dist/i18n/index.d.ts +1 -1
- package/dist/i18n/locales/de.js +12 -0
- package/dist/i18n/locales/es.js +12 -0
- package/dist/i18n/locales/hi.js +12 -0
- package/dist/i18n/locales/kn.js +12 -0
- package/dist/impact-nova-components.css +52 -10
- package/dist/impact-nova.css +1 -1
- package/dist/lib/guidance/analytics/analytics-adapter.d.ts +16 -0
- package/dist/lib/guidance/analytics/analytics-adapter.js +50 -0
- package/dist/lib/guidance/engine/guidance-engine.d.ts +74 -0
- package/dist/lib/guidance/engine/guidance-engine.js +384 -0
- package/dist/lib/guidance/engine/guide-registry.d.ts +21 -0
- package/dist/lib/guidance/engine/guide-registry.js +71 -0
- package/dist/lib/guidance/engine/manifest-validator.d.ts +4 -0
- package/dist/lib/guidance/engine/manifest-validator.js +102 -0
- package/dist/lib/guidance/engine/step-navigation.d.ts +5 -0
- package/dist/lib/guidance/engine/step-navigation.js +35 -0
- package/dist/lib/guidance/index.d.ts +12 -0
- package/dist/lib/guidance/storage/storage-adapter.d.ts +10 -0
- package/dist/lib/guidance/storage/storage-adapter.js +51 -0
- package/dist/lib/guidance/storage/storage-keys.d.ts +10 -0
- package/dist/lib/guidance/storage/storage-keys.js +23 -0
- package/dist/lib/guidance/targets/ref-registry.d.ts +12 -0
- package/dist/lib/guidance/targets/ref-registry.js +65 -0
- package/dist/lib/guidance/targets/target-resolver.d.ts +13 -0
- package/dist/lib/guidance/targets/target-resolver.js +85 -0
- package/dist/lib/guidance/triggers/built-in-triggers.d.ts +14 -0
- package/dist/lib/guidance/triggers/built-in-triggers.js +88 -0
- package/dist/lib/guidance/triggers/trigger-registry.d.ts +9 -0
- package/dist/lib/guidance/triggers/trigger-registry.js +44 -0
- package/dist/lib/guidance/types/guidance.types.d.ts +181 -0
- package/dist/lib/overflow/is-line-clamp-text-clipped.d.ts +2 -0
- package/dist/lib/overflow/is-line-clamp-text-clipped.js +33 -0
- package/dist/lib/overflow/is-text-overflowing.d.ts +1 -0
- package/dist/lib/overflow/is-text-overflowing.js +8 -3
- package/dist/llms/rules/installation.js +1 -1
- package/dist/llms/rules/requirements.js +1 -1
- package/package.json +51 -22
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { jsx as n, jsxs as s } from "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import { Sheet as m, SheetContent as d, SheetDescription as h, SheetBody as f, SheetFooter as u } from "../../../feedback/sheet/sheet.js";
|
|
4
|
+
import { TabsList as x, TabsTrigger as c } from "../../../primitives/tabs/tabs.js";
|
|
5
|
+
import { useImpactNovaI18n as p } from "../../../../i18n/use-impact-nova-i18n.js";
|
|
6
|
+
import { cn as r } from "../../../../lib/utils.js";
|
|
7
|
+
import { HELP_CENTER_ALL_CATEGORY_VALUE as v } from "./help-center.constants.js";
|
|
8
|
+
function L({
|
|
9
|
+
open: e,
|
|
10
|
+
onOpenChange: t,
|
|
11
|
+
children: l,
|
|
12
|
+
className: o
|
|
13
|
+
}) {
|
|
14
|
+
const { t: a } = p();
|
|
15
|
+
return /* @__PURE__ */ n(m, { open: e, onOpenChange: t, children: /* @__PURE__ */ s(
|
|
16
|
+
d,
|
|
17
|
+
{
|
|
18
|
+
"data-component": "guidance-help-center",
|
|
19
|
+
side: "right",
|
|
20
|
+
className: r(
|
|
21
|
+
"w-full max-w-xl overflow-hidden sm:max-w-2xl",
|
|
22
|
+
o
|
|
23
|
+
),
|
|
24
|
+
children: [
|
|
25
|
+
/* @__PURE__ */ n(h, { className: "sr-only", children: a("helpCenter.description") }),
|
|
26
|
+
l
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
) });
|
|
30
|
+
}
|
|
31
|
+
function T({
|
|
32
|
+
children: e,
|
|
33
|
+
className: t
|
|
34
|
+
}) {
|
|
35
|
+
return /* @__PURE__ */ n(
|
|
36
|
+
"div",
|
|
37
|
+
{
|
|
38
|
+
"data-component": "guidance-help-center-content",
|
|
39
|
+
className: r("flex h-full min-h-0 flex-col bg-canvas-elevated", t),
|
|
40
|
+
children: e
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
function E({
|
|
45
|
+
categories: e,
|
|
46
|
+
allCategoryLabel: t,
|
|
47
|
+
className: l
|
|
48
|
+
}) {
|
|
49
|
+
const { t: o } = p(), a = t ?? o("helpCenter.allCategory");
|
|
50
|
+
return /* @__PURE__ */ n(
|
|
51
|
+
"div",
|
|
52
|
+
{
|
|
53
|
+
"data-component": "guidance-help-center-toolbar",
|
|
54
|
+
className: r(
|
|
55
|
+
"guidance-help-center-toolbar relative z-10 shrink-0 bg-canvas-elevated px-4 pb-3 pt-3",
|
|
56
|
+
l
|
|
57
|
+
),
|
|
58
|
+
children: /* @__PURE__ */ s(x, { className: "h-auto w-full max-w-full flex-nowrap justify-start gap-1 overflow-x-auto p-1", children: [
|
|
59
|
+
/* @__PURE__ */ n(c, { value: v, children: a }),
|
|
60
|
+
e.map((i) => /* @__PURE__ */ n(c, { value: i.id, children: i.label }, i.id))
|
|
61
|
+
] })
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
function S({
|
|
66
|
+
children: e,
|
|
67
|
+
className: t
|
|
68
|
+
}) {
|
|
69
|
+
return /* @__PURE__ */ n(
|
|
70
|
+
f,
|
|
71
|
+
{
|
|
72
|
+
className: r("flex min-h-0 flex-1 flex-col overflow-hidden p-0", t),
|
|
73
|
+
children: e
|
|
74
|
+
}
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
function j({
|
|
78
|
+
children: e,
|
|
79
|
+
className: t
|
|
80
|
+
}) {
|
|
81
|
+
return /* @__PURE__ */ n(
|
|
82
|
+
u,
|
|
83
|
+
{
|
|
84
|
+
className: r("shrink-0 justify-start border-t px-4 py-2.5", t),
|
|
85
|
+
children: e
|
|
86
|
+
}
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
export {
|
|
90
|
+
L as HelpCenter,
|
|
91
|
+
S as HelpCenterBody,
|
|
92
|
+
E as HelpCenterCategoryTabs,
|
|
93
|
+
T as HelpCenterContent,
|
|
94
|
+
j as HelpCenterFooter
|
|
95
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { GuideManifest } from '../../../../lib/guidance';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
export declare const helpCenterDemoGuideManifests: GuideManifest[];
|
|
4
|
+
export interface HelpCenterComposedProps {
|
|
5
|
+
open: boolean;
|
|
6
|
+
onOpenChange: (open: boolean) => void;
|
|
7
|
+
supportTicketUrl?: string;
|
|
8
|
+
supportTicketLabel?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function HelpCenterComposed({ open, onOpenChange, supportTicketUrl, supportTicketLabel, }: HelpCenterComposedProps): React.ReactElement;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { GuideManifest } from '../../../../lib/guidance';
|
|
2
|
+
import { HelpCenterCategory } from '../hooks/use-help-center';
|
|
3
|
+
import type * as React from 'react';
|
|
4
|
+
export interface HelpCenterProps {
|
|
5
|
+
open: boolean;
|
|
6
|
+
onOpenChange: (open: boolean) => void;
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface HelpCenterContentProps {
|
|
11
|
+
children: React.ReactNode;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface HelpCenterHeaderProps {
|
|
15
|
+
title?: React.ReactNode;
|
|
16
|
+
children?: React.ReactNode;
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface HelpCenterCategoryTabsProps {
|
|
20
|
+
categories: HelpCenterCategory[];
|
|
21
|
+
allCategoryLabel?: string;
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface HelpCenterBodyProps {
|
|
25
|
+
children: React.ReactNode;
|
|
26
|
+
className?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface HelpCenterFooterProps {
|
|
29
|
+
children?: React.ReactNode;
|
|
30
|
+
className?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface GuideCatalogProps {
|
|
33
|
+
guides: GuideManifest[];
|
|
34
|
+
onLaunchGuide: (guideId: string) => void;
|
|
35
|
+
replayLabel?: string;
|
|
36
|
+
emptyStateMessage?: string;
|
|
37
|
+
getStepCountLabel?: (stepCount: number) => string;
|
|
38
|
+
className?: string;
|
|
39
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { HelpCenter, HelpCenterContent, HelpCenterHeader, HelpCenterCategoryTabs, HelpCenterBody, HelpCenterFooter, GuideCatalog, } from './help-center/help-center';
|
|
2
|
+
export { filterHelpCenterGuides } from './help-center/filter-help-center-guides';
|
|
3
|
+
export { HELP_CENTER_ALL_CATEGORY_VALUE } from './help-center/help-center.constants';
|
|
4
|
+
export { useHelpCenter, formatHelpCenterCategoryLabel } from './hooks/use-help-center';
|
|
5
|
+
export type { HelpCenterProps, HelpCenterContentProps, HelpCenterHeaderProps, HelpCenterCategoryTabsProps, HelpCenterBodyProps, HelpCenterFooterProps, GuideCatalogProps, } from './help-center/help-center.types';
|
|
6
|
+
export type { HelpCenterCategory } from './hooks/use-help-center';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { HelpCenter as t, HelpCenterBody as o, HelpCenterCategoryTabs as p, HelpCenterContent as C, HelpCenterFooter as l } from "./help-center/help-center.js";
|
|
2
|
+
import { filterHelpCenterGuides as H } from "./help-center/filter-help-center-guides.js";
|
|
3
|
+
import { HELP_CENTER_ALL_CATEGORY_VALUE as f } from "./help-center/help-center.constants.js";
|
|
4
|
+
import { formatHelpCenterCategoryLabel as x, useHelpCenter as E } from "./hooks/use-help-center.js";
|
|
5
|
+
import { GuideCatalog as d } from "./help-center/guide-catalog.js";
|
|
6
|
+
import { HelpCenterHeader as g } from "./help-center/help-center-header.js";
|
|
7
|
+
export {
|
|
8
|
+
d as GuideCatalog,
|
|
9
|
+
f as HELP_CENTER_ALL_CATEGORY_VALUE,
|
|
10
|
+
t as HelpCenter,
|
|
11
|
+
o as HelpCenterBody,
|
|
12
|
+
p as HelpCenterCategoryTabs,
|
|
13
|
+
C as HelpCenterContent,
|
|
14
|
+
l as HelpCenterFooter,
|
|
15
|
+
g as HelpCenterHeader,
|
|
16
|
+
H as filterHelpCenterGuides,
|
|
17
|
+
x as formatHelpCenterCategoryLabel,
|
|
18
|
+
E as useHelpCenter
|
|
19
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GuideManifest } from '../../../../lib/guidance';
|
|
2
|
+
export declare function useGuidance(): {
|
|
3
|
+
status: import('../../../../lib/guidance').GuidanceSessionStatus;
|
|
4
|
+
activeGuide: GuideManifest | undefined;
|
|
5
|
+
queue: number | null | undefined;
|
|
6
|
+
start: (guideId: string) => Promise<void>;
|
|
7
|
+
dismiss: (mode?: "session" | "forever" | "snoozed") => Promise<void>;
|
|
8
|
+
snooze: (guideId?: string) => Promise<void>;
|
|
9
|
+
replay: (guideId: string) => Promise<void>;
|
|
10
|
+
emit: (eventName: string) => void;
|
|
11
|
+
grantConsent: () => void;
|
|
12
|
+
preview: (guideId: string) => Promise<void>;
|
|
13
|
+
};
|
|
14
|
+
export declare function useGuideManifest(manifests: GuideManifest[], routeScope: string): void;
|
|
15
|
+
export declare function useGuidanceEvents(): {
|
|
16
|
+
onGuideStart: (handler: (guideId: string) => void) => import('../../../../lib/guidance').Unsubscribe;
|
|
17
|
+
onGuideEnd: (handler: (guideId: string, reason?: string) => void) => import('../../../../lib/guidance').Unsubscribe;
|
|
18
|
+
onStepChange: (handler: (guideId: string, stepId: string) => void) => import('../../../../lib/guidance').Unsubscribe;
|
|
19
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as r from "react";
|
|
2
|
+
import { useSyncExternalStore as a } from "react";
|
|
3
|
+
import { useGuidanceContext as o } from "../guidance-context.js";
|
|
4
|
+
function g() {
|
|
5
|
+
const { engine: t } = o(), n = a(
|
|
6
|
+
(e) => t.subscribe(e),
|
|
7
|
+
() => t.state,
|
|
8
|
+
() => ({ status: "idle" })
|
|
9
|
+
), s = n.guideId ? t.registry.get(n.guideId) : void 0;
|
|
10
|
+
return {
|
|
11
|
+
status: n.status,
|
|
12
|
+
activeGuide: s,
|
|
13
|
+
queue: n.status === "queued" ? n.position : null,
|
|
14
|
+
start: (e) => t.start(e, { manual: !0 }),
|
|
15
|
+
dismiss: (e) => t.dismiss(e),
|
|
16
|
+
snooze: (e) => t.snooze(e),
|
|
17
|
+
replay: (e) => t.replay(e),
|
|
18
|
+
emit: (e) => t.emitCustomEvent(e),
|
|
19
|
+
grantConsent: () => t.grantConsent(),
|
|
20
|
+
preview: (e) => t.replay(e)
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function m(t, n) {
|
|
24
|
+
const { registerGuide: s, unregisterRouteScope: e } = o(), u = t.map((i) => `${i.id}@${i.version}`).join("|");
|
|
25
|
+
r.useEffect(() => {
|
|
26
|
+
for (const i of t)
|
|
27
|
+
s(i, n);
|
|
28
|
+
return () => {
|
|
29
|
+
e(n);
|
|
30
|
+
};
|
|
31
|
+
}, [n, u, s, e]);
|
|
32
|
+
}
|
|
33
|
+
function f() {
|
|
34
|
+
const { engine: t } = o();
|
|
35
|
+
return {
|
|
36
|
+
onGuideStart: (n) => t.on("guideStart", ({ guideId: s }) => n(s)),
|
|
37
|
+
onGuideEnd: (n) => t.on(
|
|
38
|
+
"guideEnd",
|
|
39
|
+
({ guideId: s, reason: e }) => n(s, e)
|
|
40
|
+
),
|
|
41
|
+
onStepChange: (n) => t.on("stepChange", ({ guideId: s, stepId: e }) => {
|
|
42
|
+
e && n(s, e);
|
|
43
|
+
})
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
g as useGuidance,
|
|
48
|
+
f as useGuidanceEvents,
|
|
49
|
+
m as useGuideManifest
|
|
50
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { GuideManifest } from '../../../../lib/guidance';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
export interface HelpCenterCategory {
|
|
4
|
+
id: string;
|
|
5
|
+
label: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function formatHelpCenterCategoryLabel(categoryId: string): string;
|
|
8
|
+
export declare function useHelpCenter(options?: {
|
|
9
|
+
enabled?: boolean;
|
|
10
|
+
onOpenChange?: (open: boolean) => void;
|
|
11
|
+
getCategoryLabel?: (categoryId: string) => string;
|
|
12
|
+
}): {
|
|
13
|
+
isOpen: boolean;
|
|
14
|
+
open: () => void;
|
|
15
|
+
close: () => void;
|
|
16
|
+
guides: GuideManifest[];
|
|
17
|
+
allGuides: GuideManifest[];
|
|
18
|
+
categories: HelpCenterCategory[];
|
|
19
|
+
searchQuery: string;
|
|
20
|
+
search: (query: string) => void;
|
|
21
|
+
selectedCategory: string | null;
|
|
22
|
+
setSelectedCategory: React.Dispatch<React.SetStateAction<string | null>>;
|
|
23
|
+
launchGuide: (guideId: string) => void;
|
|
24
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as e from "react";
|
|
2
|
+
import { useSyncExternalStore as E } from "react";
|
|
3
|
+
import { useGuidanceContext as G } from "../guidance-context.js";
|
|
4
|
+
import { filterHelpCenterGuides as M } from "../help-center/filter-help-center-guides.js";
|
|
5
|
+
import { HELP_CENTER_ALL_CATEGORY_VALUE as O } from "../help-center/help-center.constants.js";
|
|
6
|
+
function _(o) {
|
|
7
|
+
return o.split(/[-_]/).map((r) => r.charAt(0).toUpperCase() + r.slice(1)).join(" ");
|
|
8
|
+
}
|
|
9
|
+
function x(o) {
|
|
10
|
+
const r = o?.enabled ?? !0, i = o?.onOpenChange, g = o?.getCategoryLabel ?? _, { engine: s } = G(), [y, p] = e.useState(!1), [c, C] = e.useState(""), [l, d] = e.useState(
|
|
11
|
+
null
|
|
12
|
+
), f = E(
|
|
13
|
+
(t) => r ? s.registry.subscribe(t) : () => {
|
|
14
|
+
},
|
|
15
|
+
() => r ? s.registry.getVersion() : 0,
|
|
16
|
+
() => 0
|
|
17
|
+
), a = e.useMemo(
|
|
18
|
+
() => r ? s.registry.getAll() : [],
|
|
19
|
+
// ponytail: guideRegistryVersion is the registry publish signal for useSyncExternalStore
|
|
20
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps -- intentional invalidation key
|
|
21
|
+
[r, s, f]
|
|
22
|
+
), m = e.useMemo(() => {
|
|
23
|
+
const t = /* @__PURE__ */ new Map();
|
|
24
|
+
for (const u of a) {
|
|
25
|
+
const n = u.metadata.category ?? "general";
|
|
26
|
+
t.set(n, g(n));
|
|
27
|
+
}
|
|
28
|
+
return Array.from(t.entries()).map(([u, n]) => ({
|
|
29
|
+
id: u,
|
|
30
|
+
label: n
|
|
31
|
+
}));
|
|
32
|
+
}, [a, g]), b = e.useMemo(
|
|
33
|
+
() => M(a, {
|
|
34
|
+
categoryValue: l ?? O,
|
|
35
|
+
searchQuery: c
|
|
36
|
+
}),
|
|
37
|
+
[a, c, l]
|
|
38
|
+
), h = e.useCallback(() => {
|
|
39
|
+
p(!0);
|
|
40
|
+
}, []), L = e.useCallback(() => {
|
|
41
|
+
p(!1);
|
|
42
|
+
}, []), S = e.useCallback((t) => {
|
|
43
|
+
C(t);
|
|
44
|
+
}, []), A = e.useCallback(
|
|
45
|
+
(t) => {
|
|
46
|
+
i?.(!1), s.replay(t);
|
|
47
|
+
},
|
|
48
|
+
[s, i]
|
|
49
|
+
);
|
|
50
|
+
return {
|
|
51
|
+
isOpen: y,
|
|
52
|
+
open: h,
|
|
53
|
+
close: L,
|
|
54
|
+
guides: b,
|
|
55
|
+
allGuides: a,
|
|
56
|
+
categories: m,
|
|
57
|
+
searchQuery: c,
|
|
58
|
+
search: S,
|
|
59
|
+
selectedCategory: l,
|
|
60
|
+
setSelectedCategory: d,
|
|
61
|
+
launchGuide: A
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export {
|
|
65
|
+
_ as formatHelpCenterCategoryLabel,
|
|
66
|
+
x as useHelpCenter
|
|
67
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as c from "react";
|
|
2
|
+
import { beginTourScrollSnapshot as m, needsGuidanceTargetScroll as l, scrollGuidanceTargetIntoView as f, getVisibleTargetRect as v } from "../renderers/guidance-renderer-shared.js";
|
|
3
|
+
import { hasRunningAnimations as p } from "../utils/motion-settle.js";
|
|
4
|
+
function T(e, u) {
|
|
5
|
+
const [d, s] = c.useState(null);
|
|
6
|
+
return c.useEffect(() => {
|
|
7
|
+
if (!e) {
|
|
8
|
+
s(null);
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
let i = !1, o = 0;
|
|
12
|
+
const r = () => {
|
|
13
|
+
i || s(v(e));
|
|
14
|
+
}, t = () => {
|
|
15
|
+
r(), !i && p(e) && (o = requestAnimationFrame(t));
|
|
16
|
+
};
|
|
17
|
+
m(e), l(e) && f(e), r(), o = requestAnimationFrame(t);
|
|
18
|
+
const a = new ResizeObserver(r);
|
|
19
|
+
a.observe(e);
|
|
20
|
+
const n = () => {
|
|
21
|
+
r();
|
|
22
|
+
};
|
|
23
|
+
return window.addEventListener("resize", n), document.addEventListener("scroll", n, !0), () => {
|
|
24
|
+
i = !0, cancelAnimationFrame(o), a.disconnect(), window.removeEventListener("resize", n), document.removeEventListener("scroll", n, !0);
|
|
25
|
+
};
|
|
26
|
+
}, [u, e]), d;
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
T as useGuidanceOverlayGeometry
|
|
30
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { GuidanceProvider } from './guidance-provider';
|
|
2
|
+
export { GuidanceContext, useGuidanceContext, createGuidanceEngine, } from './guidance-context';
|
|
3
|
+
export type { GuidanceProviderProps, GuidanceContextValue } from './guidance-context';
|
|
4
|
+
export { GuidanceTarget } from './guidance-target';
|
|
5
|
+
export { useGuidanceTarget } from './use-guidance-target';
|
|
6
|
+
export type { GuidanceTargetProps } from './guidance-target';
|
|
7
|
+
export { GuidanceLayer } from './guidance-layer';
|
|
8
|
+
export { GuidanceErrorBoundary, GuidanceDebugPanel } from './guidance-error-boundary';
|
|
9
|
+
export { useGuidance, useGuideManifest, useGuidanceEvents } from './hooks/use-guidance';
|
|
10
|
+
export { useHelpCenter, formatHelpCenterCategoryLabel } from './hooks/use-help-center';
|
|
11
|
+
export type { HelpCenterCategory } from './hooks/use-help-center';
|
|
12
|
+
export { HelpCenter, HelpCenterContent, HelpCenterHeader, HelpCenterCategoryTabs, HelpCenterBody, HelpCenterFooter, GuideCatalog, filterHelpCenterGuides, HELP_CENTER_ALL_CATEGORY_VALUE, } from './help-center';
|
|
13
|
+
export type { HelpCenterProps, HelpCenterContentProps, HelpCenterHeaderProps, HelpCenterCategoryTabsProps, HelpCenterBodyProps, HelpCenterFooterProps, GuideCatalogProps, } from './help-center';
|
|
14
|
+
export { createAgGridTargetAdapter, createAgGridReadyTriggerPlugin, emitAgGridReady, } from './adapters/ag-grid-adapter';
|
|
15
|
+
export type { AgGridTargetConfig } from './adapters/ag-grid-adapter';
|
|
16
|
+
export { createDialogOpenedTriggerPlugin, getOverlayScopeRoot, } from './adapters/overlay-adapter';
|
|
17
|
+
export { registerRenderer, getRenderer } from './renderers/renderer-registry';
|
|
18
|
+
export type { GuideManifest, Step, StepContent, TriggerExpression, GuidanceSessionState, GuidancePlugin, GuidanceStorageAdapter, GuidanceAnalyticsAdapter, RendererProps, RenderInstruction, } from '../../../lib/guidance';
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { GuidanceProvider as t } from "./guidance-provider.js";
|
|
2
|
+
import { GuidanceContext as a, createGuidanceEngine as n, useGuidanceContext as i } from "./guidance-context.js";
|
|
3
|
+
import { GuidanceTarget as d } from "./guidance-target.js";
|
|
4
|
+
import { useGuidanceTarget as g } from "./use-guidance-target.js";
|
|
5
|
+
import { GuidanceLayer as m } from "./guidance-layer.js";
|
|
6
|
+
import { GuidanceDebugPanel as G, GuidanceErrorBoundary as l } from "./guidance-error-boundary.js";
|
|
7
|
+
import { useGuidance as c, useGuidanceEvents as s, useGuideManifest as H } from "./hooks/use-guidance.js";
|
|
8
|
+
import { formatHelpCenterCategoryLabel as E, useHelpCenter as T } from "./hooks/use-help-center.js";
|
|
9
|
+
import { HelpCenter as R, HelpCenterBody as L, HelpCenterCategoryTabs as P, HelpCenterContent as _, HelpCenterFooter as b } from "./help-center/help-center.js";
|
|
10
|
+
import { filterHelpCenterGuides as O } from "./help-center/filter-help-center-guides.js";
|
|
11
|
+
import { HELP_CENTER_ALL_CATEGORY_VALUE as D } from "./help-center/help-center.constants.js";
|
|
12
|
+
import { createAgGridReadyTriggerPlugin as M, createAgGridTargetAdapter as N, emitAgGridReady as S } from "./adapters/ag-grid-adapter.js";
|
|
13
|
+
import { createDialogOpenedTriggerPlugin as V, getOverlayScopeRoot as Y } from "./adapters/overlay-adapter.js";
|
|
14
|
+
import { getRenderer as j, registerRenderer as k } from "./renderers/renderer-registry.js";
|
|
15
|
+
import { GuideCatalog as w } from "./help-center/guide-catalog.js";
|
|
16
|
+
import { HelpCenterHeader as I } from "./help-center/help-center-header.js";
|
|
17
|
+
export {
|
|
18
|
+
a as GuidanceContext,
|
|
19
|
+
G as GuidanceDebugPanel,
|
|
20
|
+
l as GuidanceErrorBoundary,
|
|
21
|
+
m as GuidanceLayer,
|
|
22
|
+
t as GuidanceProvider,
|
|
23
|
+
d as GuidanceTarget,
|
|
24
|
+
w as GuideCatalog,
|
|
25
|
+
D as HELP_CENTER_ALL_CATEGORY_VALUE,
|
|
26
|
+
R as HelpCenter,
|
|
27
|
+
L as HelpCenterBody,
|
|
28
|
+
P as HelpCenterCategoryTabs,
|
|
29
|
+
_ as HelpCenterContent,
|
|
30
|
+
b as HelpCenterFooter,
|
|
31
|
+
I as HelpCenterHeader,
|
|
32
|
+
M as createAgGridReadyTriggerPlugin,
|
|
33
|
+
N as createAgGridTargetAdapter,
|
|
34
|
+
V as createDialogOpenedTriggerPlugin,
|
|
35
|
+
n as createGuidanceEngine,
|
|
36
|
+
S as emitAgGridReady,
|
|
37
|
+
O as filterHelpCenterGuides,
|
|
38
|
+
E as formatHelpCenterCategoryLabel,
|
|
39
|
+
Y as getOverlayScopeRoot,
|
|
40
|
+
j as getRenderer,
|
|
41
|
+
k as registerRenderer,
|
|
42
|
+
c as useGuidance,
|
|
43
|
+
i as useGuidanceContext,
|
|
44
|
+
s as useGuidanceEvents,
|
|
45
|
+
g as useGuidanceTarget,
|
|
46
|
+
H as useGuideManifest,
|
|
47
|
+
T as useHelpCenter
|
|
48
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import { Dialog as d, DialogContent as l } from "../../../feedback/dialog/dialog.js";
|
|
4
|
+
import { GuidanceStepPanel as m } from "./guidance-card-shared.js";
|
|
5
|
+
function b({
|
|
6
|
+
instruction: e,
|
|
7
|
+
onNext: n,
|
|
8
|
+
onSkip: a,
|
|
9
|
+
onDismiss: t
|
|
10
|
+
}) {
|
|
11
|
+
const p = e.stepIndex + 1 >= e.totalSteps;
|
|
12
|
+
return /* @__PURE__ */ o(d, { open: !0, onOpenChange: (r) => !r && t(), children: /* @__PURE__ */ o(
|
|
13
|
+
l,
|
|
14
|
+
{
|
|
15
|
+
"data-component": "guidance-announcement",
|
|
16
|
+
hideClose: !0,
|
|
17
|
+
className: "max-w-[400px] gap-0 overflow-hidden p-0 sm:rounded-2xl sm:shadow-elevation-floating",
|
|
18
|
+
"aria-describedby": void 0,
|
|
19
|
+
children: /* @__PURE__ */ o(
|
|
20
|
+
m,
|
|
21
|
+
{
|
|
22
|
+
title: e.content.title,
|
|
23
|
+
body: e.content.body,
|
|
24
|
+
optionalFooter: e.content.footer,
|
|
25
|
+
stepIndex: e.stepIndex,
|
|
26
|
+
totalSteps: e.totalSteps,
|
|
27
|
+
skippable: e.skippable,
|
|
28
|
+
primaryActionLabel: p ? "Done" : "Next",
|
|
29
|
+
onSkip: a,
|
|
30
|
+
onDismiss: t,
|
|
31
|
+
onPrimaryAction: n,
|
|
32
|
+
showPrimaryAction: !0
|
|
33
|
+
}
|
|
34
|
+
)
|
|
35
|
+
}
|
|
36
|
+
) });
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
b as AnnouncementRenderer
|
|
40
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { GuidanceTourOverlay as e } from "./guidance-tour-overlay.js";
|
|
3
|
+
function c(r) {
|
|
4
|
+
return /* @__PURE__ */ o(
|
|
5
|
+
e,
|
|
6
|
+
{
|
|
7
|
+
...r,
|
|
8
|
+
overlayComponent: "guidance-coach-mark"
|
|
9
|
+
}
|
|
10
|
+
);
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
c as CoachMarkRenderer
|
|
14
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare function GuidanceCardCloseButton({ onClose, closeAriaLabel, className, }: {
|
|
3
|
+
onClose: () => void;
|
|
4
|
+
closeAriaLabel: string;
|
|
5
|
+
className?: string;
|
|
6
|
+
}): React.ReactElement;
|
|
7
|
+
export declare function GuidanceStepProgress({ activeStepIndex, totalSteps, }: {
|
|
8
|
+
activeStepIndex: number;
|
|
9
|
+
totalSteps: number;
|
|
10
|
+
}): React.ReactElement | null;
|
|
11
|
+
export declare function GuidanceStepProgressDots({ activeStepIndex, totalSteps, }: {
|
|
12
|
+
activeStepIndex: number;
|
|
13
|
+
totalSteps: number;
|
|
14
|
+
}): React.ReactElement;
|
|
15
|
+
export interface GuidanceTourNavFooterProps {
|
|
16
|
+
activeStepIndex: number;
|
|
17
|
+
totalSteps: number;
|
|
18
|
+
skippable: boolean;
|
|
19
|
+
primaryActionLabel: string;
|
|
20
|
+
onSkip: () => void;
|
|
21
|
+
onPrimaryAction: () => void;
|
|
22
|
+
showPrimaryAction: boolean;
|
|
23
|
+
footerHint?: string | null;
|
|
24
|
+
}
|
|
25
|
+
export declare function GuidanceTourNavFooter({ activeStepIndex, totalSteps, skippable, primaryActionLabel, onSkip, onPrimaryAction, showPrimaryAction, footerHint, }: GuidanceTourNavFooterProps): React.ReactElement;
|
|
26
|
+
export interface GuidanceStepPanelProps {
|
|
27
|
+
title: string;
|
|
28
|
+
body: string;
|
|
29
|
+
optionalFooter?: string;
|
|
30
|
+
stepIndex: number;
|
|
31
|
+
totalSteps: number;
|
|
32
|
+
skippable: boolean;
|
|
33
|
+
primaryActionLabel: string;
|
|
34
|
+
onSkip: () => void;
|
|
35
|
+
onDismiss: () => void;
|
|
36
|
+
onPrimaryAction: () => void;
|
|
37
|
+
showPrimaryAction: boolean;
|
|
38
|
+
footerHint?: string | null;
|
|
39
|
+
titleId?: string;
|
|
40
|
+
bodyId?: string;
|
|
41
|
+
}
|
|
42
|
+
export declare function GuidanceStepPanel({ title, body, optionalFooter, stepIndex, totalSteps, skippable, primaryActionLabel, onSkip, onDismiss, onPrimaryAction, showPrimaryAction, footerHint, titleId, bodyId, }: GuidanceStepPanelProps): React.ReactElement;
|