impact-nova 2.5.6 → 2.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/components/data-display/calendar/calendar-apply-validation.js +45 -33
  2. package/dist/components/data-display/calendar/calendar-day-picker-components.js +62 -54
  3. package/dist/components/data-display/calendar/calendar-day-picker-view.d.ts +1 -1
  4. package/dist/components/data-display/calendar/calendar-day-picker-view.js +88 -85
  5. package/dist/components/data-display/calendar/calendar-week-utils.js +23 -22
  6. package/dist/components/data-display/calendar/use-calendar-state.d.ts +1 -1
  7. package/dist/components/data-display/calendar/use-calendar-state.js +47 -47
  8. package/dist/components/flows/guidance/guidance-error-boundary.js +22 -14
  9. package/dist/components/flows/guidance/guidance-layer.js +34 -32
  10. package/dist/components/flows/guidance/help-center/assets/whats-new-guide-icon.svg.js +4 -0
  11. package/dist/components/flows/guidance/help-center/filter-help-center-guides.js +10 -7
  12. package/dist/components/flows/guidance/help-center/guide-catalog-section.d.ts +7 -0
  13. package/dist/components/flows/guidance/help-center/guide-catalog-section.js +24 -0
  14. package/dist/components/flows/guidance/help-center/guide-catalog-utils.d.ts +3 -0
  15. package/dist/components/flows/guidance/help-center/guide-catalog-utils.js +19 -0
  16. package/dist/components/flows/guidance/help-center/guide-catalog.d.ts +1 -1
  17. package/dist/components/flows/guidance/help-center/guide-catalog.js +89 -79
  18. package/dist/components/flows/guidance/help-center/help-center-guide-labels.d.ts +6 -0
  19. package/dist/components/flows/guidance/help-center/help-center-guide-labels.js +33 -0
  20. package/dist/components/flows/guidance/help-center/help-center-guide-row.d.ts +12 -0
  21. package/dist/components/flows/guidance/help-center/help-center-guide-row.js +57 -0
  22. package/dist/components/flows/guidance/help-center/help-center-guide-type-icons.d.ts +9 -0
  23. package/dist/components/flows/guidance/help-center/help-center-guide-type-icons.js +114 -0
  24. package/dist/components/flows/guidance/help-center/help-center-header.d.ts +1 -1
  25. package/dist/components/flows/guidance/help-center/help-center-header.js +20 -16
  26. package/dist/components/flows/guidance/help-center/help-center.constants.d.ts +1 -1
  27. package/dist/components/flows/guidance/help-center/help-center.constants.js +1 -1
  28. package/dist/components/flows/guidance/help-center/help-center.d.ts +3 -1
  29. package/dist/components/flows/guidance/help-center/help-center.js +74 -51
  30. package/dist/components/flows/guidance/help-center/help-center.types.d.ts +9 -1
  31. package/dist/components/flows/guidance/help-center/renderHelpCenterGuideTypeIcon.d.ts +4 -0
  32. package/dist/components/flows/guidance/help-center/renderHelpCenterGuideTypeIcon.js +18 -0
  33. package/dist/components/flows/guidance/help-center.d.ts +4 -2
  34. package/dist/components/flows/guidance/help-center.js +23 -14
  35. package/dist/components/flows/guidance/hooks/useGuidanceOverlayGeometry.js +19 -17
  36. package/dist/components/flows/guidance/index.d.ts +1 -1
  37. package/dist/components/flows/guidance/renderers/announcement-renderer.d.ts +1 -1
  38. package/dist/components/flows/guidance/renderers/announcement-renderer.js +20 -12
  39. package/dist/components/flows/guidance/renderers/guidance-card-shared.d.ts +9 -11
  40. package/dist/components/flows/guidance/renderers/guidance-card-shared.js +124 -177
  41. package/dist/components/flows/guidance/renderers/guidance-renderer-shared.d.ts +1 -1
  42. package/dist/components/flows/guidance/renderers/guidance-renderer-shared.js +57 -72
  43. package/dist/components/flows/guidance/renderers/guidance-tour-overlay.js +23 -23
  44. package/dist/components/flows/wizard/wizard.js +41 -38
  45. package/dist/components/layout/horizontal-scroller/horizontal-scroller.js +35 -53
  46. package/dist/form-react/registry/defaultFieldRegistrations.js +36 -28
  47. package/dist/form-react/types/fields.types.d.ts +3 -3
  48. package/dist/form-react/utils/date.utils.d.ts +3 -1
  49. package/dist/form-react/utils/date.utils.js +84 -55
  50. package/dist/i18n/defaultMessages.d.ts +10 -0
  51. package/dist/i18n/defaultMessages.js +17 -7
  52. package/dist/i18n/locales/de.js +13 -3
  53. package/dist/i18n/locales/es.js +13 -3
  54. package/dist/i18n/locales/hi.js +13 -3
  55. package/dist/i18n/locales/kn.js +13 -3
  56. package/dist/impact-nova.css +1 -1
  57. package/dist/lib/guidance/engine/guidance-engine.d.ts +7 -5
  58. package/dist/lib/guidance/engine/guidance-engine.js +115 -47
  59. package/dist/lib/guidance/triggers/trigger-registry.js +6 -6
  60. package/dist/lib/guidance/types/guidance.types.d.ts +11 -1
  61. package/dist/llms/rules/installation.js +1 -1
  62. package/dist/llms/rules/requirements.js +1 -1
  63. package/package.json +1 -1
@@ -1,118 +1,128 @@
1
- import { jsx as e, jsxs as o } from "react/jsx-runtime";
2
- import * as f from "react";
3
- import { useVirtualizer as x } from "@tanstack/react-virtual";
4
- import { Button as g } from "../../../primitives/button/button.js";
5
- import { cn as u } from "../../../../lib/utils.js";
6
- import { GUIDE_LIST_VIRTUALIZATION_THRESHOLD as b, GUIDE_LIST_ROW_GAP as N, GUIDE_CARD_ESTIMATE_HEIGHT as v } from "./help-center.constants.js";
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import * as x from "react";
3
+ import { useVirtualizer as T } from "@tanstack/react-virtual";
4
+ import { cn as h } from "../../../../lib/utils.js";
5
+ import { resolveGuideType as v } from "./guide-catalog-utils.js";
6
+ import { HelpCenterGuideRow as y } from "./help-center-guide-row.js";
7
+ import { GUIDE_LIST_VIRTUALIZATION_THRESHOLD as w, GUIDE_LIST_ROW_GAP as I, GUIDE_CARD_ESTIMATE_HEIGHT as E } from "./help-center.constants.js";
7
8
  /* empty css */
8
- function R({
9
- guides: t,
9
+ function z({
10
+ guides: e,
10
11
  onLaunchGuide: r,
11
- replayLabel: n = "Replay",
12
- emptyStateMessage: i = "No guides match your search.",
13
- getStepCountLabel: d = (a) => `${a} steps`,
14
- className: m
12
+ replayLabel: i = "Replay",
13
+ getLaunchLabel: c,
14
+ getGuideTypeLabel: d,
15
+ emptyStateMessage: s = "No guides match your search.",
16
+ scrollable: a = !0,
17
+ className: o
15
18
  }) {
16
- const a = f.useRef(null), p = t.length >= b, c = x({
17
- count: p ? t.length : 0,
18
- getScrollElement: () => a.current,
19
- estimateSize: () => v,
20
- gap: N,
19
+ const l = x.useRef(null), p = a && e.length >= w, m = T({
20
+ count: p ? e.length : 0,
21
+ getScrollElement: () => l.current,
22
+ estimateSize: () => E,
23
+ gap: I,
21
24
  overscan: 5
22
25
  });
23
- return t.length ? /* @__PURE__ */ e(
26
+ if (!e.length)
27
+ return /* @__PURE__ */ t(
28
+ "div",
29
+ {
30
+ className: h(
31
+ a ? "guidance-help-center-scroll min-h-0 flex-1 overflow-y-auto px-4 pb-4 pt-2" : "px-0 pb-0 pt-0",
32
+ o
33
+ ),
34
+ "data-component": "guidance-help-center-scroll",
35
+ children: /* @__PURE__ */ t("p", { className: "py-6 text-center text-sm text-content-secondary", children: s })
36
+ }
37
+ );
38
+ const f = e.map((n) => /* @__PURE__ */ t(
39
+ g,
40
+ {
41
+ guide: n,
42
+ onLaunchGuide: r,
43
+ replayLabel: i,
44
+ getLaunchLabel: c,
45
+ getGuideTypeLabel: d
46
+ },
47
+ n.id
48
+ ));
49
+ return a ? /* @__PURE__ */ t(
24
50
  "div",
25
51
  {
26
- ref: a,
27
- className: u(
28
- "guidance-help-center-scroll min-h-0 flex-1 overflow-y-auto px-4 pb-3 pt-3",
29
- m
52
+ ref: l,
53
+ className: h(
54
+ "guidance-help-center-scroll min-h-0 flex-1 overflow-y-auto px-4 pb-4 pt-2",
55
+ o
30
56
  ),
31
57
  "data-component": "guidance-help-center-scroll",
32
- children: p ? /* @__PURE__ */ e(
58
+ children: p ? /* @__PURE__ */ t(
33
59
  "div",
34
60
  {
35
61
  className: "relative w-full",
36
62
  "data-component": "guidance-guide-catalog",
37
- style: { height: c.getTotalSize() },
38
- children: c.getVirtualItems().map((l) => {
39
- const s = t[l.index];
40
- return s ? /* @__PURE__ */ e(
63
+ style: { height: m.getTotalSize() },
64
+ children: m.getVirtualItems().map((n) => {
65
+ const u = e[n.index];
66
+ return u ? /* @__PURE__ */ t(
41
67
  "div",
42
68
  {
43
- ref: c.measureElement,
44
- "data-index": l.index,
69
+ ref: m.measureElement,
70
+ "data-index": n.index,
45
71
  className: "absolute left-0 top-0 w-full",
46
- style: { transform: `translateY(${l.start}px)` },
47
- children: /* @__PURE__ */ e(
48
- h,
72
+ style: { transform: `translateY(${n.start}px)` },
73
+ children: /* @__PURE__ */ t(
74
+ g,
49
75
  {
50
- guide: s,
76
+ guide: u,
51
77
  onLaunchGuide: r,
52
- replayLabel: n,
53
- getStepCountLabel: d
78
+ replayLabel: i,
79
+ getLaunchLabel: c,
80
+ getGuideTypeLabel: d
54
81
  }
55
82
  )
56
83
  },
57
- s.id
84
+ u.id
58
85
  ) : null;
59
86
  })
60
87
  }
61
- ) : /* @__PURE__ */ e(
62
- "ul",
88
+ ) : /* @__PURE__ */ t(
89
+ "div",
63
90
  {
64
91
  className: "flex flex-col gap-2",
65
92
  "data-component": "guidance-guide-catalog",
66
- children: t.map((l) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
67
- h,
68
- {
69
- guide: l,
70
- onLaunchGuide: r,
71
- replayLabel: n,
72
- getStepCountLabel: d
73
- }
74
- ) }, l.id))
93
+ children: f
75
94
  }
76
95
  )
77
96
  }
78
- ) : /* @__PURE__ */ e(
97
+ ) : /* @__PURE__ */ t("div", { className: o, "data-component": "guidance-guide-catalog-embedded", children: /* @__PURE__ */ t(
79
98
  "div",
80
99
  {
81
- className: u(
82
- "guidance-help-center-scroll min-h-0 flex-1 overflow-y-auto px-4 pb-3 pt-3",
83
- m
84
- ),
85
- "data-component": "guidance-help-center-scroll",
86
- children: /* @__PURE__ */ e("p", { className: "rounded-lg border border-dashed border-border-subtle px-4 py-8 text-center text-sm text-content-secondary", children: i })
100
+ className: "flex flex-col gap-2",
101
+ "data-component": "guidance-guide-catalog",
102
+ children: f
87
103
  }
88
- );
104
+ ) });
89
105
  }
90
- function h({
91
- guide: t,
106
+ function g({
107
+ guide: e,
92
108
  onLaunchGuide: r,
93
- replayLabel: n,
94
- getStepCountLabel: i
109
+ replayLabel: i,
110
+ getLaunchLabel: c,
111
+ getGuideTypeLabel: d
95
112
  }) {
96
- return /* @__PURE__ */ e("article", { className: "rounded-lg border border-border-subtle bg-canvas-elevated px-3 py-2.5", children: /* @__PURE__ */ o("div", { className: "flex items-start justify-between gap-3", children: [
97
- /* @__PURE__ */ o("div", { className: "min-w-0 flex-1", children: [
98
- /* @__PURE__ */ o("div", { className: "flex min-w-0 items-center gap-2", children: [
99
- /* @__PURE__ */ e("h3", { className: "truncate text-sm font-semibold text-content-primary", children: t.metadata.title ?? t.id }),
100
- /* @__PURE__ */ e("span", { className: "shrink-0 rounded-full bg-brand-tint px-2 py-0.5 text-[11px] font-medium leading-none text-brand", children: i(t.steps.length) })
101
- ] }),
102
- t.metadata.description ? /* @__PURE__ */ e("p", { className: "mt-1 line-clamp-2 text-xs leading-relaxed text-content-secondary", children: t.metadata.description }) : null
103
- ] }),
104
- /* @__PURE__ */ e(
105
- g,
106
- {
107
- variant: "outline",
108
- size: "sm",
109
- className: "shrink-0",
110
- onClick: () => r(t.id),
111
- children: n
112
- }
113
- )
114
- ] }) });
113
+ const s = e.metadata.title ?? e.id, a = c?.(e) ?? i, o = d?.(e), l = v(e), p = o && l !== "whats-new" && !s.toLowerCase().includes(o.toLowerCase());
114
+ return /* @__PURE__ */ t(
115
+ y,
116
+ {
117
+ title: s,
118
+ description: e.metadata.description,
119
+ typeLabel: p ? o : void 0,
120
+ launchLabel: a,
121
+ guideType: l,
122
+ onLaunch: () => r(e.id)
123
+ }
124
+ );
115
125
  }
116
126
  export {
117
- R as GuideCatalog
127
+ z as GuideCatalog
118
128
  };
@@ -0,0 +1,6 @@
1
+ import { GuideManifest } from '../../../../lib/guidance';
2
+ type HelpCenterTranslate = (key: string, params?: Record<string, string | number>) => string;
3
+ export declare function getHelpCenterGuideTypeLabel(guide: GuideManifest, translate: HelpCenterTranslate): string;
4
+ export declare function getHelpCenterGuideLaunchLabel(guide: GuideManifest, translate: HelpCenterTranslate): string;
5
+ export declare function getHelpCenterGuideStepCountLabel(guide: GuideManifest, stepCount: number, translate: HelpCenterTranslate): string;
6
+ export {};
@@ -0,0 +1,33 @@
1
+ import { resolveGuideType as u } from "./guide-catalog-utils.js";
2
+ function h(t, e) {
3
+ switch (u(t)) {
4
+ case "whats-new":
5
+ return e("helpCenter.guideTypeWhatsNew");
6
+ case "how-to":
7
+ return e("helpCenter.guideTypeHowTo");
8
+ case "tip":
9
+ return e("helpCenter.guideTypeTip");
10
+ default:
11
+ return e("helpCenter.guideTypeTour");
12
+ }
13
+ }
14
+ function p(t, e) {
15
+ switch (u(t)) {
16
+ case "whats-new":
17
+ return e("helpCenter.launchWhatsNew");
18
+ case "how-to":
19
+ return e("helpCenter.launchHowTo");
20
+ case "tip":
21
+ return e("helpCenter.launchTip");
22
+ default:
23
+ return e("helpCenter.launchTour");
24
+ }
25
+ }
26
+ function o(t, e, n) {
27
+ return u(t) === "whats-new" ? n("helpCenter.highlightCount", { count: e }) : n("helpCenter.stepCount", { count: e });
28
+ }
29
+ export {
30
+ p as getHelpCenterGuideLaunchLabel,
31
+ o as getHelpCenterGuideStepCountLabel,
32
+ h as getHelpCenterGuideTypeLabel
33
+ };
@@ -0,0 +1,12 @@
1
+ import { GuideType } from '../../../../lib/guidance';
2
+ import * as React from 'react';
3
+ export interface HelpCenterGuideRowProps {
4
+ title: string;
5
+ description?: string;
6
+ typeLabel?: string;
7
+ launchLabel: string;
8
+ guideType?: GuideType;
9
+ onLaunch: () => void;
10
+ className?: string;
11
+ }
12
+ export declare function HelpCenterGuideRow({ title, description, typeLabel, launchLabel, guideType, onLaunch, className, }: HelpCenterGuideRowProps): React.ReactElement;
@@ -0,0 +1,57 @@
1
+ import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
+ import "react";
3
+ import { Badge as c } from "../../../data-display/badge/badge.js";
4
+ import { cn as m } from "../../../../lib/utils.js";
5
+ import { ChevronRight as d } from "impact-nova-icons";
6
+ import { renderHelpCenterGuideTypeIcon as u } from "./renderHelpCenterGuideTypeIcon.js";
7
+ function v({
8
+ title: r,
9
+ description: t,
10
+ typeLabel: s,
11
+ launchLabel: a,
12
+ guideType: i = "tour",
13
+ onLaunch: l,
14
+ className: o
15
+ }) {
16
+ return /* @__PURE__ */ n(
17
+ "button",
18
+ {
19
+ type: "button",
20
+ className: m(
21
+ "flex w-full items-center gap-3 rounded-lg border border-border-subtle bg-canvas-elevated px-3 py-3 text-left transition-colors",
22
+ "hover:bg-canvas-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand",
23
+ o
24
+ ),
25
+ onClick: l,
26
+ "aria-label": `${a}: ${r}`,
27
+ children: [
28
+ /* @__PURE__ */ e(
29
+ "span",
30
+ {
31
+ className: "flex h-9 w-9 shrink-0 items-center justify-center text-content-secondary",
32
+ "aria-hidden": "true",
33
+ children: u(i, { size: 22 })
34
+ }
35
+ ),
36
+ /* @__PURE__ */ n("span", { className: "min-w-0 flex-1", children: [
37
+ /* @__PURE__ */ n("span", { className: "flex flex-wrap items-center gap-x-2 gap-y-1", children: [
38
+ /* @__PURE__ */ e("span", { className: "text-sm font-semibold leading-snug text-content", children: r }),
39
+ s ? /* @__PURE__ */ e(c, { variant: "subtle", color: "neutral", size: "sm", shape: "square", children: s }) : null
40
+ ] }),
41
+ t ? /* @__PURE__ */ e("span", { className: "mt-1 block line-clamp-2 text-sm leading-relaxed text-content-secondary", children: t }) : null
42
+ ] }),
43
+ /* @__PURE__ */ e(
44
+ d,
45
+ {
46
+ size: 16,
47
+ className: "shrink-0 text-content-tertiary",
48
+ "aria-hidden": "true"
49
+ }
50
+ )
51
+ ]
52
+ }
53
+ );
54
+ }
55
+ export {
56
+ v as HelpCenterGuideRow
57
+ };
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ export interface HelpCenterGuideTypeIconProps {
3
+ size?: number;
4
+ className?: string;
5
+ }
6
+ export declare function GuidedTourGuideIcon({ size, className, }: HelpCenterGuideTypeIconProps): React.ReactElement;
7
+ export declare function WhatsNewGuideIcon({ size, className, }: HelpCenterGuideTypeIconProps): React.ReactElement;
8
+ export declare function HowToGuideIcon({ size, className, }: HelpCenterGuideTypeIconProps): React.ReactElement;
9
+ export declare function TipGuideIcon({ size, className, }: HelpCenterGuideTypeIconProps): React.ReactElement;
@@ -0,0 +1,114 @@
1
+ import { jsxs as n, jsx as r } from "react/jsx-runtime";
2
+ import "react";
3
+ import { cn as c } from "../../../../lib/utils.js";
4
+ import l from "./assets/whats-new-guide-icon.svg.js";
5
+ function t({
6
+ size: o = 20,
7
+ viewBox: e,
8
+ className: i,
9
+ children: u
10
+ }) {
11
+ return /* @__PURE__ */ r(
12
+ "svg",
13
+ {
14
+ width: o,
15
+ height: o,
16
+ viewBox: e,
17
+ fill: "none",
18
+ xmlns: "http://www.w3.org/2000/svg",
19
+ className: c("shrink-0", i),
20
+ "aria-hidden": "true",
21
+ children: u
22
+ }
23
+ );
24
+ }
25
+ function p({
26
+ size: o,
27
+ className: e
28
+ }) {
29
+ return /* @__PURE__ */ n(t, { size: o, viewBox: "0 0 24 24", className: e, children: [
30
+ /* @__PURE__ */ r("circle", { cx: "12", cy: "12", r: "9.5", stroke: "currentColor" }),
31
+ /* @__PURE__ */ r("circle", { cx: "12", cy: "12", r: "7.5", stroke: "currentColor" }),
32
+ /* @__PURE__ */ r("path", { d: "M4.5 12H6.5", stroke: "currentColor", strokeLinecap: "round" }),
33
+ /* @__PURE__ */ r("path", { d: "M17.5 12H19.5", stroke: "currentColor", strokeLinecap: "round" }),
34
+ /* @__PURE__ */ r("path", { d: "M12 4.5V6.5", stroke: "currentColor", strokeLinecap: "round" }),
35
+ /* @__PURE__ */ r("path", { d: "M12 17.5V19.5", stroke: "currentColor", strokeLinecap: "round" }),
36
+ /* @__PURE__ */ r(
37
+ "path",
38
+ {
39
+ d: "M8.54333 8.60832L10.492 13.4801C10.4971 13.4928 10.5072 13.5029 10.5199 13.508L15.3917 15.4567C15.4325 15.473 15.473 15.4325 15.4567 15.3917L13.508 10.5199C13.5029 10.5072 13.4928 10.4971 13.4801 10.492L8.60832 8.54333C8.56751 8.527 8.527 8.56751 8.54333 8.60832Z",
40
+ stroke: "currentColor",
41
+ strokeLinecap: "round"
42
+ }
43
+ ),
44
+ /* @__PURE__ */ r("path", { d: "M13 11L11 13", stroke: "currentColor", strokeLinecap: "round" })
45
+ ] });
46
+ }
47
+ function k({
48
+ size: o = 20,
49
+ className: e
50
+ }) {
51
+ return /* @__PURE__ */ r(
52
+ "img",
53
+ {
54
+ src: l,
55
+ width: o,
56
+ height: o,
57
+ alt: "",
58
+ className: c("shrink-0", e),
59
+ "aria-hidden": "true"
60
+ }
61
+ );
62
+ }
63
+ function C({
64
+ size: o,
65
+ className: e
66
+ }) {
67
+ return /* @__PURE__ */ r(t, { size: o, viewBox: "0 0 32 32", className: e, children: /* @__PURE__ */ r(
68
+ "path",
69
+ {
70
+ d: "M28.25 2c-0-0.69-0.56-1.25-1.25-1.25h-4.964c-0.020-0.001-0.037-0.012-0.058-0.012h-7.957c-0.021 0-0.038 0.011-0.058 0.012h-6.763c-0.028-0.001-0.061-0.001-0.093-0.001-1.817 0-3.297 1.443-3.357 3.246l-0 0.005v24.389c0.114 1.606 1.445 2.867 3.070 2.867 0.063 0 0.126-0.002 0.188-0.006l-0.009 0h20c0.69 0 1.25-0.56 1.25-1.25s-0.56-1.25-1.25-1.25v0h-19.8c-0.024 0.002-0.051 0.004-0.079 0.004-0.441 0-0.807-0.325-0.871-0.749l-0.001-0.005v-1.223c0-0.090 0.266-0.361 0.746-0.361l20.004 0.057c0 0 0 0 0.001 0 0.515 0 0.956-0.311 1.148-0.756l0.003-0.008 0.007-0.034c0.056-0.132 0.089-0.286 0.092-0.447v-0.001l-0-0.002 0-0.002zM25.75 23.969l-14.5-0.041v-20.678h1.521v9.948c0 0.69 0.56 1.25 1.25 1.25 0.301 0 0.577-0.107 0.793-0.284l-0.002 0.002 3.195-2.614 3.189 2.552c0.212 0.171 0.484 0.274 0.781 0.274 0.691 0 1.25-0.56 1.25-1.25v0-9.877h2.521zM20.729 3.25v7.276l-1.947-1.559c-0.212-0.171-0.484-0.274-0.781-0.274-0.301 0-0.578 0.107-0.794 0.284l0.002-0.002-1.938 1.585v-7.312zM6.25 24v-20c0.064-0.429 0.43-0.754 0.871-0.754 0.028 0 0.055 0.001 0.082 0.004l-0.003-0h1.55v20.671l-1.75-0.005c-0.267 0.002-0.525 0.033-0.774 0.089l0.024-0.005z",
71
+ fill: "currentColor"
72
+ }
73
+ ) });
74
+ }
75
+ function v({
76
+ size: o,
77
+ className: e
78
+ }) {
79
+ return /* @__PURE__ */ n(t, { size: o, viewBox: "0 0 24 24", className: e, children: [
80
+ /* @__PURE__ */ r(
81
+ "path",
82
+ {
83
+ d: "M9 18H15",
84
+ stroke: "currentColor",
85
+ strokeWidth: "1.5",
86
+ strokeLinecap: "round"
87
+ }
88
+ ),
89
+ /* @__PURE__ */ r(
90
+ "path",
91
+ {
92
+ d: "M10 21H14",
93
+ stroke: "currentColor",
94
+ strokeWidth: "1.5",
95
+ strokeLinecap: "round"
96
+ }
97
+ ),
98
+ /* @__PURE__ */ r(
99
+ "path",
100
+ {
101
+ d: "M12 3C8.68629 3 6 5.68629 6 9C6 10.6569 6.67157 12.1569 7.75736 13.2426C8.54301 14.0283 9 15.0609 9 16.2V17H15V16.2C15 15.0609 15.457 14.0283 16.2426 13.2426C17.3284 12.1569 18 10.6569 18 9C18 5.68629 15.3137 3 12 3Z",
102
+ stroke: "currentColor",
103
+ strokeWidth: "1.5",
104
+ strokeLinejoin: "round"
105
+ }
106
+ )
107
+ ] });
108
+ }
109
+ export {
110
+ p as GuidedTourGuideIcon,
111
+ C as HowToGuideIcon,
112
+ v as TipGuideIcon,
113
+ k as WhatsNewGuideIcon
114
+ };
@@ -1,3 +1,3 @@
1
1
  import { HelpCenterHeaderProps } from './help-center.types';
2
2
  import * as React from 'react';
3
- export declare function HelpCenterHeader({ title, children, className, }: HelpCenterHeaderProps): React.ReactElement;
3
+ export declare function HelpCenterHeader({ title, subtitle, children, className, }: HelpCenterHeaderProps): React.ReactElement;
@@ -1,34 +1,38 @@
1
- import { jsxs as n, jsx as e } from "react/jsx-runtime";
1
+ import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
2
  import "react";
3
- import { SheetTitle as s, SheetClose as c } from "../../../feedback/sheet/sheet.js";
4
- import { Button as l } from "../../../primitives/button/button.js";
3
+ import { SheetTitle as l, SheetClose as c } from "../../../feedback/sheet/sheet.js";
4
+ import { Button as d } from "../../../primitives/button/button.js";
5
5
  import { Cross as m } from "impact-nova-icons";
6
6
  import { useImpactNovaI18n as p } from "../../../../i18n/use-impact-nova-i18n.js";
7
- import { cn as d } from "../../../../lib/utils.js";
8
- function C({
7
+ import { cn as h } from "../../../../lib/utils.js";
8
+ function y({
9
9
  title: o,
10
- children: a,
10
+ subtitle: n,
11
+ children: s,
11
12
  className: i
12
13
  }) {
13
- const { t: r } = p(), t = o ?? r("helpCenter.title");
14
- return /* @__PURE__ */ n(
14
+ const { t: a } = p(), t = o ?? a("helpCenter.title");
15
+ return /* @__PURE__ */ r(
15
16
  "div",
16
17
  {
17
18
  "data-component": "guidance-help-center-header",
18
- className: d(
19
- "flex shrink-0 items-center justify-between gap-3 border-b bg-canvas-elevated px-4 py-[9px]",
19
+ className: h(
20
+ "relative z-10 flex shrink-0 items-center justify-between gap-3 border-b border-border-subtle bg-canvas-elevated px-4 py-3 shadow-sm",
20
21
  i
21
22
  ),
22
23
  children: [
23
- typeof t == "string" ? /* @__PURE__ */ e(s, { className: "shrink-0 text-lg font-bold text-content", children: t }) : t,
24
- /* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
25
- a,
24
+ /* @__PURE__ */ r("div", { className: "min-w-0 flex-1", children: [
25
+ typeof t == "string" ? /* @__PURE__ */ e(l, { className: "text-lg font-bold text-content", children: t }) : t,
26
+ n ? /* @__PURE__ */ e("p", { className: "mt-0.5 text-xs leading-snug text-content-secondary", children: n }) : null
27
+ ] }),
28
+ /* @__PURE__ */ r("div", { className: "flex shrink-0 items-center gap-2", children: [
29
+ s,
26
30
  /* @__PURE__ */ e(c, { asChild: !0, children: /* @__PURE__ */ e(
27
- l,
31
+ d,
28
32
  {
29
33
  variant: "secondary",
30
34
  size: "icon",
31
- "aria-label": r("aria.close"),
35
+ "aria-label": a("aria.close"),
32
36
  "data-component": "guidance-help-center-close",
33
37
  children: /* @__PURE__ */ e(m, { className: "!h-3 !w-3" })
34
38
  }
@@ -39,5 +43,5 @@ function C({
39
43
  );
40
44
  }
41
45
  export {
42
- C as HelpCenterHeader
46
+ y as HelpCenterHeader
43
47
  };
@@ -1,5 +1,5 @@
1
1
  export declare const HELP_CENTER_ALL_CATEGORY_VALUE = "all";
2
- export declare const GUIDE_CARD_ESTIMATE_HEIGHT = 72;
2
+ export declare const GUIDE_CARD_ESTIMATE_HEIGHT = 88;
3
3
  export declare const GUIDE_LIST_ROW_GAP = 8;
4
4
  /** Below this count, a simple list is rendered instead of windowing. */
5
5
  export declare const GUIDE_LIST_VIRTUALIZATION_THRESHOLD = 12;
@@ -1,4 +1,4 @@
1
- const _ = "all", E = 72, I = 8, T = 12;
1
+ const _ = "all", E = 88, I = 8, T = 12;
2
2
  export {
3
3
  E as GUIDE_CARD_ESTIMATE_HEIGHT,
4
4
  I as GUIDE_LIST_ROW_GAP,
@@ -1,10 +1,12 @@
1
- import { HelpCenterBodyProps, HelpCenterCategoryTabsProps, HelpCenterContentProps, HelpCenterFooterProps, HelpCenterProps } from './help-center.types';
1
+ import { HelpCenterBodyProps, HelpCenterCategoryTabsProps, HelpCenterContentProps, HelpCenterFooterProps, HelpCenterProps, HelpCenterSupportFooterProps } from './help-center.types';
2
2
  import * as React from 'react';
3
3
  export declare function HelpCenter({ open, onOpenChange, children, className, }: HelpCenterProps): React.ReactElement;
4
4
  export declare function HelpCenterContent({ children, className, }: HelpCenterContentProps): React.ReactElement;
5
5
  export declare function HelpCenterCategoryTabs({ categories, allCategoryLabel, className, }: HelpCenterCategoryTabsProps): React.ReactElement;
6
6
  export declare function HelpCenterBody({ children, className, }: HelpCenterBodyProps): React.ReactElement;
7
7
  export declare function HelpCenterFooter({ children, className, }: HelpCenterFooterProps): React.ReactElement;
8
+ export declare function HelpCenterSupportFooter({ ticketUrl, ticketLabel, message, }: HelpCenterSupportFooterProps): React.ReactElement;
8
9
  export { HelpCenterHeader } from './help-center-header';
9
10
  export { GuideCatalog } from './guide-catalog';
11
+ export { GuideCatalogSection } from './guide-catalog-section';
10
12
  export type { GuideCatalogProps } from './help-center.types';