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.
Files changed (121) hide show
  1. package/dist/components/data/ag-grid-react/ag-grid-header-dom.js +6 -8
  2. package/dist/components/data/ag-grid-react/ag-grid-tooltip-overflow.d.ts +1 -1
  3. package/dist/components/data/ag-grid-react/ag-grid-tooltip-overflow.js +25 -13
  4. package/dist/components/data/ag-grid-react/headers/components/section-renderers.js +19 -18
  5. package/dist/components/data/ag-grid-react/headers/custom-header.js +1 -1
  6. package/dist/components/data/ag-grid-react/headers/custom-inner-header-group.js +7 -7
  7. package/dist/components/data/ag-grid-react/info-system-story-columns.d.ts +38 -1
  8. package/dist/components/data/ag-grid-react/strip-column-min-width-constraints.d.ts +3 -0
  9. package/dist/components/data/data-table/data-table.d.ts +1 -1
  10. package/dist/components/data/data-table/data-table.js +41 -39
  11. package/dist/components/data/data-table/data-table.types.d.ts +1 -1
  12. package/dist/components/flows/filter-panel/filter-panel.js +101 -94
  13. package/dist/components/flows/filter-strip/filter-tag-list.js +96 -88
  14. package/dist/components/flows/guidance/adapters/ag-grid-adapter.d.ts +13 -0
  15. package/dist/components/flows/guidance/adapters/ag-grid-adapter.js +30 -0
  16. package/dist/components/flows/guidance/adapters/ag-grid.d.ts +2 -0
  17. package/dist/components/flows/guidance/adapters/ag-grid.js +6 -0
  18. package/dist/components/flows/guidance/adapters/dialog.d.ts +1 -0
  19. package/dist/components/flows/guidance/adapters/dialog.js +5 -0
  20. package/dist/components/flows/guidance/adapters/overlay-adapter.d.ts +5 -0
  21. package/dist/components/flows/guidance/adapters/overlay-adapter.js +21 -0
  22. package/dist/components/flows/guidance/engine.d.ts +1 -0
  23. package/dist/components/flows/guidance/engine.js +36 -0
  24. package/dist/components/flows/guidance/guidance-context.d.ts +29 -0
  25. package/dist/components/flows/guidance/guidance-context.js +35 -0
  26. package/dist/components/flows/guidance/guidance-error-boundary.d.ts +16 -0
  27. package/dist/components/flows/guidance/guidance-error-boundary.js +49 -0
  28. package/dist/components/flows/guidance/guidance-layer.d.ts +2 -0
  29. package/dist/components/flows/guidance/guidance-layer.js +71 -0
  30. package/dist/components/flows/guidance/guidance-provider.d.ts +3 -0
  31. package/dist/components/flows/guidance/guidance-provider.js +58 -0
  32. package/dist/components/flows/guidance/guidance-target.d.ts +7 -0
  33. package/dist/components/flows/guidance/guidance-target.js +27 -0
  34. package/dist/components/flows/guidance/guidance.types.d.ts +1 -0
  35. package/dist/components/flows/guidance/help-center/filter-help-center-guides.d.ts +7 -0
  36. package/dist/components/flows/guidance/help-center/filter-help-center-guides.js +11 -0
  37. package/dist/components/flows/guidance/help-center/guide-catalog.d.ts +3 -0
  38. package/dist/components/flows/guidance/help-center/guide-catalog.js +118 -0
  39. package/dist/components/flows/guidance/help-center/help-center-header.d.ts +3 -0
  40. package/dist/components/flows/guidance/help-center/help-center-header.js +43 -0
  41. package/dist/components/flows/guidance/help-center/help-center.constants.d.ts +5 -0
  42. package/dist/components/flows/guidance/help-center/help-center.constants.js +7 -0
  43. package/dist/components/flows/guidance/help-center/help-center.d.ts +10 -0
  44. package/dist/components/flows/guidance/help-center/help-center.js +95 -0
  45. package/dist/components/flows/guidance/help-center/help-center.story-helpers.d.ts +10 -0
  46. package/dist/components/flows/guidance/help-center/help-center.types.d.ts +39 -0
  47. package/dist/components/flows/guidance/help-center.d.ts +6 -0
  48. package/dist/components/flows/guidance/help-center.js +19 -0
  49. package/dist/components/flows/guidance/hooks/use-guidance.d.ts +19 -0
  50. package/dist/components/flows/guidance/hooks/use-guidance.js +50 -0
  51. package/dist/components/flows/guidance/hooks/use-help-center.d.ts +24 -0
  52. package/dist/components/flows/guidance/hooks/use-help-center.js +67 -0
  53. package/dist/components/flows/guidance/hooks/useGuidanceOverlayGeometry.d.ts +2 -0
  54. package/dist/components/flows/guidance/hooks/useGuidanceOverlayGeometry.js +30 -0
  55. package/dist/components/flows/guidance/index.d.ts +18 -0
  56. package/dist/components/flows/guidance/index.js +48 -0
  57. package/dist/components/flows/guidance/renderers/announcement-renderer.d.ts +3 -0
  58. package/dist/components/flows/guidance/renderers/announcement-renderer.js +40 -0
  59. package/dist/components/flows/guidance/renderers/coach-mark-renderer.d.ts +2 -0
  60. package/dist/components/flows/guidance/renderers/coach-mark-renderer.js +14 -0
  61. package/dist/components/flows/guidance/renderers/guidance-card-shared.d.ts +42 -0
  62. package/dist/components/flows/guidance/renderers/guidance-card-shared.js +213 -0
  63. package/dist/components/flows/guidance/renderers/guidance-renderer-shared.d.ts +48 -0
  64. package/dist/components/flows/guidance/renderers/guidance-renderer-shared.js +254 -0
  65. package/dist/components/flows/guidance/renderers/guidance-tour-overlay.d.ts +11 -0
  66. package/dist/components/flows/guidance/renderers/guidance-tour-overlay.js +217 -0
  67. package/dist/components/flows/guidance/renderers/renderer-registry.d.ts +6 -0
  68. package/dist/components/flows/guidance/renderers/renderer-registry.js +19 -0
  69. package/dist/components/flows/guidance/renderers/spotlight-renderer.d.ts +2 -0
  70. package/dist/components/flows/guidance/renderers/spotlight-renderer.js +14 -0
  71. package/dist/components/flows/guidance/renderers.d.ts +4 -0
  72. package/dist/components/flows/guidance/renderers.js +11 -0
  73. package/dist/components/flows/guidance/target.d.ts +3 -0
  74. package/dist/components/flows/guidance/target.js +6 -0
  75. package/dist/components/flows/guidance/triggers.d.ts +2 -0
  76. package/dist/components/flows/guidance/triggers.js +16 -0
  77. package/dist/components/flows/guidance/use-guidance-target.d.ts +5 -0
  78. package/dist/components/flows/guidance/use-guidance-target.js +16 -0
  79. package/dist/components/flows/guidance/utils/motion-settle.d.ts +2 -0
  80. package/dist/components/flows/guidance/utils/motion-settle.js +17 -0
  81. package/dist/components/forms/prompt/prompt.js +13 -13
  82. package/dist/i18n/defaultMessages.d.ts +13 -0
  83. package/dist/i18n/defaultMessages.js +23 -11
  84. package/dist/i18n/index.d.ts +1 -1
  85. package/dist/i18n/locales/de.js +12 -0
  86. package/dist/i18n/locales/es.js +12 -0
  87. package/dist/i18n/locales/hi.js +12 -0
  88. package/dist/i18n/locales/kn.js +12 -0
  89. package/dist/impact-nova-components.css +52 -10
  90. package/dist/impact-nova.css +1 -1
  91. package/dist/lib/guidance/analytics/analytics-adapter.d.ts +16 -0
  92. package/dist/lib/guidance/analytics/analytics-adapter.js +50 -0
  93. package/dist/lib/guidance/engine/guidance-engine.d.ts +74 -0
  94. package/dist/lib/guidance/engine/guidance-engine.js +384 -0
  95. package/dist/lib/guidance/engine/guide-registry.d.ts +21 -0
  96. package/dist/lib/guidance/engine/guide-registry.js +71 -0
  97. package/dist/lib/guidance/engine/manifest-validator.d.ts +4 -0
  98. package/dist/lib/guidance/engine/manifest-validator.js +102 -0
  99. package/dist/lib/guidance/engine/step-navigation.d.ts +5 -0
  100. package/dist/lib/guidance/engine/step-navigation.js +35 -0
  101. package/dist/lib/guidance/index.d.ts +12 -0
  102. package/dist/lib/guidance/storage/storage-adapter.d.ts +10 -0
  103. package/dist/lib/guidance/storage/storage-adapter.js +51 -0
  104. package/dist/lib/guidance/storage/storage-keys.d.ts +10 -0
  105. package/dist/lib/guidance/storage/storage-keys.js +23 -0
  106. package/dist/lib/guidance/targets/ref-registry.d.ts +12 -0
  107. package/dist/lib/guidance/targets/ref-registry.js +65 -0
  108. package/dist/lib/guidance/targets/target-resolver.d.ts +13 -0
  109. package/dist/lib/guidance/targets/target-resolver.js +85 -0
  110. package/dist/lib/guidance/triggers/built-in-triggers.d.ts +14 -0
  111. package/dist/lib/guidance/triggers/built-in-triggers.js +88 -0
  112. package/dist/lib/guidance/triggers/trigger-registry.d.ts +9 -0
  113. package/dist/lib/guidance/triggers/trigger-registry.js +44 -0
  114. package/dist/lib/guidance/types/guidance.types.d.ts +181 -0
  115. package/dist/lib/overflow/is-line-clamp-text-clipped.d.ts +2 -0
  116. package/dist/lib/overflow/is-line-clamp-text-clipped.js +33 -0
  117. package/dist/lib/overflow/is-text-overflowing.d.ts +1 -0
  118. package/dist/lib/overflow/is-text-overflowing.js +8 -3
  119. package/dist/llms/rules/installation.js +1 -1
  120. package/dist/llms/rules/requirements.js +1 -1
  121. package/package.json +51 -22
@@ -5,7 +5,7 @@ import { createCompoundPart as C } from "../../../lib/primitives/create-compound
5
5
  import { cn as o } from "../../../lib/utils.js";
6
6
  import { MultiColorFilter as F, Cross as P, InfoBadge as u } from "impact-nova-icons";
7
7
  import { Button as D } from "../../primitives/button/button.js";
8
- import { Tooltip as d, TooltipTrigger as f, TooltipContent as h } from "../../feedback/tooltip/tooltip.js";
8
+ import { Tooltip as c, TooltipTrigger as f, TooltipContent as h } from "../../feedback/tooltip/tooltip.js";
9
9
  import { Kbd as S } from "../../primitives/kbd/kbd.js";
10
10
  import { OverflowTooltip as j } from "../../feedback/tooltip/overflow-tooltip.js";
11
11
  import { useImpactNovaI18n as v } from "../../../i18n/use-impact-nova-i18n.js";
@@ -16,7 +16,7 @@ const O = ({
16
16
  children: n,
17
17
  className: l
18
18
  }) => {
19
- const { t: c } = v();
19
+ const { t: d } = v();
20
20
  return /* @__PURE__ */ a(
21
21
  "div",
22
22
  {
@@ -45,7 +45,7 @@ const O = ({
45
45
  variant: "secondary",
46
46
  size: "icon",
47
47
  tabIndex: -1,
48
- "aria-label": c("aria.close"),
48
+ "aria-label": d("aria.close"),
49
49
  "data-component": "filter-panel-close",
50
50
  children: /* @__PURE__ */ e(P, { className: "h-3 w-3" })
51
51
  }
@@ -58,7 +58,7 @@ const O = ({
58
58
  open: i,
59
59
  onOpenChange: n,
60
60
  title: l = "Filter panel",
61
- children: c,
61
+ children: d,
62
62
  header: s,
63
63
  sidebar: p,
64
64
  className: m,
@@ -86,7 +86,7 @@ const O = ({
86
86
  s || /* @__PURE__ */ e(O, { title: l }),
87
87
  /* @__PURE__ */ a("div", { className: "flex flex-1 overflow-hidden", children: [
88
88
  p,
89
- /* @__PURE__ */ e("div", { className: "flex flex-col flex-1 overflow-hidden", children: c })
89
+ /* @__PURE__ */ e("div", { className: "flex flex-col flex-1 overflow-hidden", children: d })
90
90
  ] })
91
91
  ] })
92
92
  ]
@@ -95,7 +95,7 @@ const O = ({
95
95
  items: i,
96
96
  activeTab: n,
97
97
  onTabChange: l,
98
- className: c
98
+ className: d
99
99
  }) => {
100
100
  const { t: s } = v(), p = I(), m = (t) => {
101
101
  t !== n && p(), l(t);
@@ -106,97 +106,104 @@ const O = ({
106
106
  "data-component": "filter-panel-sidebar",
107
107
  className: o(
108
108
  "flex w-[200px] shrink-0 flex-col border-r bg-navigation-canvas",
109
- c
109
+ d
110
110
  ),
111
- children: /* @__PURE__ */ e("div", { className: "flex flex-1 flex-col py-2 gap-1 overflow-y-auto", children: i.map((t) => {
112
- const r = n === t.id;
113
- return /* @__PURE__ */ a(b.Fragment, { children: [
114
- t.separator && /* @__PURE__ */ e("div", { className: "my-2 h-px bg-stroke-hairline" }),
115
- /* @__PURE__ */ a(
116
- "button",
117
- {
118
- type: "button",
119
- autoFocus: r,
120
- onClick: () => m(t.id),
121
- "data-component": "filter-panel-sidebar-item",
122
- "data-active": r ? "true" : "false",
123
- "data-tab": t.id,
124
- "data-shortcut-id": t.shortcutId,
125
- className: o(
126
- "group flex items-center justify-between px-3 py-[6px] mx-2 rounded-lg text-left text-sm font-medium transition-colors",
127
- r ? "bg-canvas-accent text-brand" : "text-content-secondary hover:bg-canvas-accent"
128
- ),
129
- children: [
130
- /* @__PURE__ */ a("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: [
131
- /* @__PURE__ */ e(
132
- "span",
133
- {
134
- className: o(
135
- "shrink-0",
136
- r ? "text-brand" : "text-content-secondary"
137
- ),
138
- children: t.icon
139
- }
111
+ children: /* @__PURE__ */ e(
112
+ "div",
113
+ {
114
+ "data-component": "filter-panel-sidebar-nav",
115
+ className: "flex max-h-full min-h-0 flex-col gap-1 overflow-y-auto py-2",
116
+ children: i.map((t) => {
117
+ const r = n === t.id;
118
+ return /* @__PURE__ */ a(b.Fragment, { children: [
119
+ t.separator && /* @__PURE__ */ e("div", { className: "my-2 h-px bg-stroke-hairline" }),
120
+ /* @__PURE__ */ a(
121
+ "button",
122
+ {
123
+ type: "button",
124
+ autoFocus: r,
125
+ onClick: () => m(t.id),
126
+ "data-component": "filter-panel-sidebar-item",
127
+ "data-active": r ? "true" : "false",
128
+ "data-tab": t.id,
129
+ "data-shortcut-id": t.shortcutId,
130
+ className: o(
131
+ "group flex items-center justify-between px-3 py-[6px] mx-2 rounded-lg text-left text-sm font-medium transition-colors",
132
+ r ? "bg-canvas-accent text-brand" : "text-content-secondary hover:bg-canvas-accent"
140
133
  ),
141
- /* @__PURE__ */ a("div", { className: "flex items-center gap-1 min-w-0", children: [
142
- /* @__PURE__ */ e(
143
- j,
144
- {
145
- triggerClassName: "truncate font-['Manrope'] block min-w-0",
146
- content: t.tooltipKeybinding ? /* @__PURE__ */ a("span", { className: "flex items-center gap-2", children: [
147
- t.label,
148
- " ",
149
- /* @__PURE__ */ e(
150
- S,
151
- {
152
- keybinding: t.tooltipKeybinding,
153
- size: "sm"
154
- }
155
- )
156
- ] }) : t.label,
157
- side: "right",
158
- variant: "tertiary",
159
- children: t.label
160
- }
161
- ),
162
- t.isRequired && /* @__PURE__ */ e("span", { className: "shrink-0 text-danger", children: "*" })
163
- ] })
164
- ] }),
165
- /* @__PURE__ */ a("div", { className: "flex items-center gap-1 shrink-0 ml-1", children: [
166
- t.count !== void 0 && t.count > 0 && /* @__PURE__ */ a(d, { children: [
167
- /* @__PURE__ */ e(f, { asChild: !0, children: /* @__PURE__ */ e(
168
- "span",
169
- {
170
- className: o(
171
- "inline-flex h-5 min-w-5 items-center justify-center rounded-full px-1.5 text-[11px] font-medium tabular-nums leading-none shrink-0",
172
- r ? "bg-canvas-elevated text-brand border border-stroke-subtle" : "bg-brand-tint border border-stroke-subtle"
134
+ children: [
135
+ /* @__PURE__ */ a("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: [
136
+ /* @__PURE__ */ e(
137
+ "span",
138
+ {
139
+ className: o(
140
+ "shrink-0",
141
+ r ? "text-brand" : "text-content-secondary"
142
+ ),
143
+ children: t.icon
144
+ }
145
+ ),
146
+ /* @__PURE__ */ a("div", { className: "flex items-center gap-1 min-w-0", children: [
147
+ /* @__PURE__ */ e(
148
+ j,
149
+ {
150
+ triggerClassName: "truncate font-['Manrope'] block min-w-0",
151
+ content: t.tooltipKeybinding ? /* @__PURE__ */ a("span", { className: "flex items-center gap-2", children: [
152
+ t.label,
153
+ " ",
154
+ /* @__PURE__ */ e(
155
+ S,
156
+ {
157
+ keybinding: t.tooltipKeybinding,
158
+ size: "sm"
159
+ }
160
+ )
161
+ ] }) : t.label,
162
+ side: "right",
163
+ variant: "tertiary",
164
+ children: t.label
165
+ }
173
166
  ),
174
- children: t.count
175
- }
176
- ) }),
177
- /* @__PURE__ */ e(h, { variant: "tertiary", side: "top", children: s(
178
- t.countBadgeContext === "savedFiltersTotal" ? "filterPanel.savedFiltersAvailableCount" : "filterPanel.filtersAppliedCount",
179
- { count: t.count }
180
- ) })
181
- ] }),
182
- t.hasError && /* @__PURE__ */ a(d, { children: [
183
- /* @__PURE__ */ e(f, { asChild: !0, children: /* @__PURE__ */ e(u, { className: "h-5 w-5 shrink-0 text-danger" }) }),
184
- /* @__PURE__ */ e(h, { variant: "tertiary", children: s("filterPanel.tabContainsErrors") })
185
- ] }),
186
- t.hasWarning && /* @__PURE__ */ a(d, { children: [
187
- /* @__PURE__ */ e(f, { asChild: !0, children: /* @__PURE__ */ e(u, { className: "h-5 w-5 shrink-0 text-warning" }) }),
188
- /* @__PURE__ */ e(h, { variant: "tertiary", children: s("filterPanel.tabHasWarnings") })
189
- ] }),
190
- t.hasInfo && /* @__PURE__ */ a(d, { children: [
191
- /* @__PURE__ */ e(f, { asChild: !0, children: /* @__PURE__ */ e(u, { className: "h-5 w-5 shrink-0 text-content-icon" }) }),
192
- /* @__PURE__ */ e(h, { variant: "tertiary", children: s("filterPanel.additionalInfoAvailable") })
193
- ] })
194
- ] })
195
- ]
196
- }
197
- )
198
- ] }, t.id);
199
- }) })
167
+ t.isRequired && /* @__PURE__ */ e("span", { className: "shrink-0 text-danger", children: "*" })
168
+ ] })
169
+ ] }),
170
+ /* @__PURE__ */ a("div", { className: "flex items-center gap-1 shrink-0 ml-1", children: [
171
+ t.count !== void 0 && t.count > 0 && /* @__PURE__ */ a(c, { children: [
172
+ /* @__PURE__ */ e(f, { asChild: !0, children: /* @__PURE__ */ e(
173
+ "span",
174
+ {
175
+ className: o(
176
+ "inline-flex h-5 min-w-5 items-center justify-center rounded-full px-1.5 text-[11px] font-medium tabular-nums leading-none shrink-0",
177
+ r ? "bg-canvas-elevated text-brand border border-stroke-subtle" : "bg-brand-tint border border-stroke-subtle"
178
+ ),
179
+ children: t.count
180
+ }
181
+ ) }),
182
+ /* @__PURE__ */ e(h, { variant: "tertiary", side: "top", children: s(
183
+ t.countBadgeContext === "savedFiltersTotal" ? "filterPanel.savedFiltersAvailableCount" : "filterPanel.filtersAppliedCount",
184
+ { count: t.count }
185
+ ) })
186
+ ] }),
187
+ t.hasError && /* @__PURE__ */ a(c, { children: [
188
+ /* @__PURE__ */ e(f, { asChild: !0, children: /* @__PURE__ */ e(u, { className: "h-5 w-5 shrink-0 text-danger" }) }),
189
+ /* @__PURE__ */ e(h, { variant: "tertiary", children: s("filterPanel.tabContainsErrors") })
190
+ ] }),
191
+ t.hasWarning && /* @__PURE__ */ a(c, { children: [
192
+ /* @__PURE__ */ e(f, { asChild: !0, children: /* @__PURE__ */ e(u, { className: "h-5 w-5 shrink-0 text-warning" }) }),
193
+ /* @__PURE__ */ e(h, { variant: "tertiary", children: s("filterPanel.tabHasWarnings") })
194
+ ] }),
195
+ t.hasInfo && /* @__PURE__ */ a(c, { children: [
196
+ /* @__PURE__ */ e(f, { asChild: !0, children: /* @__PURE__ */ e(u, { className: "h-5 w-5 shrink-0 text-content-icon" }) }),
197
+ /* @__PURE__ */ e(h, { variant: "tertiary", children: s("filterPanel.additionalInfoAvailable") })
198
+ ] })
199
+ ] })
200
+ ]
201
+ }
202
+ )
203
+ ] }, t.id);
204
+ })
205
+ }
206
+ )
200
207
  }
201
208
  );
202
209
  }, Q = C("filter-panel", {
@@ -1,27 +1,27 @@
1
- import { jsx as o, jsxs as r } from "react/jsx-runtime";
1
+ import { jsx as o, jsxs as t } from "react/jsx-runtime";
2
2
  import * as N from "react";
3
- import { cn as O } from "../../../lib/utils.js";
3
+ import { cn as k } from "../../../lib/utils.js";
4
4
  import { HorizontalScroller as $ } from "../../layout/horizontal-scroller/horizontal-scroller.js";
5
- import { TagGroup as A } from "../../primitives/tag-group/tag-group.js";
6
- import { Tag as C } from "../../primitives/tag/tag.js";
7
- import { Tooltip as T, TooltipTrigger as k, TooltipContent as z } from "../../feedback/tooltip/tooltip.js";
8
- import { OverflowTooltip as P } from "../../feedback/tooltip/overflow-tooltip.js";
9
- import { PopoverContent as j, Popover as R, PopoverTrigger as B } from "../../feedback/popover/popover.js";
10
- import { Button as F } from "../../primitives/button/button.js";
11
- import { Checkmark as I, Copy as L, Cross as V } from "impact-nova-icons";
12
- const S = "whitespace-nowrap bg-accent text-brand hover:bg-accent/80 border-0 px-2 text-xs font-medium font-['Manrope'] cursor-pointer focus:!ring-inset focus:!ring-offset-0 focus:!ring-brand data-[state=open]:!ring-inset data-[state=open]:!ring-offset-0 data-[state=open]:!ring-brand", E = ({
13
- remainingValues: a,
14
- viewAllTrigger: c = "expand",
15
- onViewAll: u,
16
- onItemRemove: v,
17
- isRemovable: f,
5
+ import { TagGroup as I } from "../../primitives/tag-group/tag-group.js";
6
+ import { Tag as T } from "../../primitives/tag/tag.js";
7
+ import { Tooltip as P, TooltipTrigger as z, TooltipContent as S } from "../../feedback/tooltip/tooltip.js";
8
+ import { OverflowTooltip as R } from "../../feedback/tooltip/overflow-tooltip.js";
9
+ import { PopoverContent as j, Popover as F, PopoverTrigger as V } from "../../feedback/popover/popover.js";
10
+ import { Button as B } from "../../primitives/button/button.js";
11
+ import { Checkmark as L, Copy as E, Cross as M } from "impact-nova-icons";
12
+ const O = "whitespace-nowrap bg-accent text-brand hover:bg-accent/80 border-0 px-2 text-xs font-medium font-['Manrope'] cursor-pointer focus:!ring-inset focus:!ring-offset-0 focus:!ring-brand data-[state=open]:!ring-inset data-[state=open]:!ring-offset-0 data-[state=open]:!ring-brand", A = 3, q = "max-h-[180px] min-h-0 overflow-y-auto", D = "group relative flex shrink-0 min-w-0 items-stretch overflow-hidden rounded px-3 py-2 text-[14px] font-medium leading-[20px] text-foreground hover:bg-secondary", G = ({
13
+ remainingValues: s,
14
+ viewAllTrigger: d = "expand",
15
+ onViewAll: f,
16
+ onItemRemove: g,
17
+ isRemovable: x,
18
18
  isCopyable: e = !1,
19
- externalCopyFunction: m
19
+ externalCopyFunction: h
20
20
  }) => {
21
- const [s, g] = N.useState(!1), [n, d] = N.useState(null), x = (t, l, i) => {
22
- navigator.clipboard.writeText(String(l)), d(i), t.currentTarget.blur(), setTimeout(() => d(null), 1500);
23
- }, w = s ? a : a.slice(0, 3), b = a.length > 3, h = () => {
24
- c === "custom" ? u?.() : g(!0);
21
+ const [a, u] = N.useState(!1), [r, l] = N.useState(null), w = (n, i, c) => {
22
+ navigator.clipboard.writeText(String(i)), l(c), n.currentTarget.blur(), setTimeout(() => l(null), 1500);
23
+ }, b = a ? s : s.slice(0, A), y = s.length > A, v = () => {
24
+ d === "custom" ? f?.() : u(!0);
25
25
  };
26
26
  return /* @__PURE__ */ o(
27
27
  j,
@@ -29,157 +29,165 @@ const S = "whitespace-nowrap bg-accent text-brand hover:bg-accent/80 border-0 px
29
29
  className: "w-[200px] p-0 rounded-[8px] bg-canvas-elevated shadow-elevation-floating border-none",
30
30
  align: "start",
31
31
  sideOffset: 8,
32
- onOpenAutoFocus: (t) => t.preventDefault(),
33
- children: /* @__PURE__ */ r("div", { className: "flex flex-col py-2 px-[6px]", children: [
32
+ "data-component": "filter-popover-content",
33
+ onOpenAutoFocus: (n) => n.preventDefault(),
34
+ onCloseAutoFocus: () => {
35
+ u(!1), l(null);
36
+ },
37
+ children: /* @__PURE__ */ t("div", { className: "flex flex-col py-2 px-[6px]", children: [
34
38
  /* @__PURE__ */ o(
35
39
  "div",
36
40
  {
37
- className: `flex flex-col gap-1 mb-2 ${s ? "max-h-[180px] overflow-y-auto" : ""}`,
38
- children: w.map((t, l) => {
39
- const i = String(t), y = !!(e || f);
40
- return /* @__PURE__ */ r(
41
+ className: k(
42
+ "mb-2",
43
+ a && q
44
+ ),
45
+ tabIndex: a ? 0 : void 0,
46
+ children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-1", children: b.map((n, i) => {
47
+ const c = String(n), C = !!(e || x);
48
+ return /* @__PURE__ */ t(
41
49
  "div",
42
50
  {
43
- className: "group relative flex min-w-0 items-stretch overflow-hidden rounded px-3 py-2 text-[14px] font-medium leading-[20px] text-foreground hover:bg-secondary",
51
+ className: D,
44
52
  children: [
45
53
  /* @__PURE__ */ o(
46
- P,
54
+ R,
47
55
  {
48
- triggerClassName: O(
56
+ triggerClassName: k(
49
57
  "block min-w-0 flex-1 self-stretch truncate overflow-hidden",
50
- y && "pe-0 group-hover:pe-10"
58
+ C && "pe-0 group-hover:pe-10"
51
59
  ),
52
- content: i,
60
+ content: c,
53
61
  side: "right",
54
62
  variant: "tertiary",
55
- children: i
63
+ children: c
56
64
  }
57
65
  ),
58
- y ? /* @__PURE__ */ r("div", { className: "pointer-events-none absolute end-2 top-1/2 z-10 flex -translate-y-1/2 items-center gap-1 opacity-0 transition-opacity group-hover:pointer-events-auto group-hover:opacity-100 focus-within:pointer-events-auto focus-within:opacity-100", children: [
66
+ C ? /* @__PURE__ */ t("div", { className: "pointer-events-none absolute end-2 top-1/2 z-10 flex -translate-y-1/2 items-center gap-1 opacity-0 transition-opacity group-hover:pointer-events-auto group-hover:opacity-100 focus-within:pointer-events-auto focus-within:opacity-100", children: [
59
67
  e ? /* @__PURE__ */ o(
60
68
  "button",
61
69
  {
62
70
  type: "button",
63
- onClick: (p) => {
64
- p.stopPropagation(), m ? m({ e: p, val: t, index: l }) : x(p, t, l);
71
+ onClick: (m) => {
72
+ m.stopPropagation(), h ? h({ e: m, val: n, index: i }) : w(m, n, i);
65
73
  },
66
- "aria-label": `Copy ${i}`,
74
+ "aria-label": `Copy ${c}`,
67
75
  className: "flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-content-icon hover:bg-scrim-hover hover:text-content-secondary",
68
- children: n === l ? /* @__PURE__ */ o(I, { size: 12, className: "text-success" }) : /* @__PURE__ */ o(L, { size: 12 })
76
+ children: r === i ? /* @__PURE__ */ o(L, { size: 12, className: "text-success" }) : /* @__PURE__ */ o(E, { size: 12 })
69
77
  }
70
78
  ) : null,
71
- f ? /* @__PURE__ */ o(
79
+ x ? /* @__PURE__ */ o(
72
80
  "button",
73
81
  {
74
82
  type: "button",
75
- onClick: (p) => {
76
- p.stopPropagation(), v(t);
83
+ onClick: (m) => {
84
+ m.stopPropagation(), g(n);
77
85
  },
78
- "aria-label": `Remove ${i}`,
86
+ "aria-label": `Remove ${c}`,
79
87
  className: "flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-content-icon hover:bg-scrim-hover hover:text-content-secondary",
80
- children: /* @__PURE__ */ o(V, { size: 12 })
88
+ children: /* @__PURE__ */ o(M, { size: 12 })
81
89
  }
82
90
  ) : null
83
91
  ] }) : null
84
92
  ]
85
93
  },
86
- l
94
+ i
87
95
  );
88
- })
96
+ }) })
89
97
  }
90
98
  ),
91
- !s && b && /* @__PURE__ */ r("div", { className: "flex flex-col gap-2", children: [
99
+ !a && y && /* @__PURE__ */ t("div", { className: "flex flex-col gap-2", children: [
92
100
  /* @__PURE__ */ o("div", { className: "h-px bg-stroke-hairline w-full" }),
93
101
  /* @__PURE__ */ o(
94
- F,
102
+ B,
95
103
  {
96
104
  variant: "secondary",
97
105
  size: "md",
98
106
  className: "w-full justify-center",
99
- onClick: h,
100
- children: c === "custom" ? "View all" : `View all (${a.length})`
107
+ onClick: v,
108
+ children: d === "custom" ? "View all" : `View all (${s.length})`
101
109
  }
102
110
  )
103
111
  ] })
104
112
  ] })
105
113
  }
106
114
  );
107
- }, X = ({
108
- filters: a,
109
- onFilterRemove: c,
110
- onOverflowClick: u,
111
- onViewAll: v
115
+ }, ee = ({
116
+ filters: s,
117
+ onFilterRemove: d,
118
+ onOverflowClick: f,
119
+ onViewAll: g
112
120
  }) => /* @__PURE__ */ o("div", { className: "flex flex-1 items-center min-w-0", children: /* @__PURE__ */ o(
113
121
  $,
114
122
  {
115
- items: a,
116
- renderItem: (e, m) => {
117
- const s = Array.isArray(e.value) ? e.value : [e.value], g = s.slice(0, 2), n = s.slice(2), d = !!e.overflow, x = e.overflow?.label ? e.overflow.label : e.overflow?.count ? `+${e.overflow.count}` : null, w = n.length > 0, b = d || w, h = `+${n.length}`;
118
- return /* @__PURE__ */ r("div", { className: "flex items-center px-1", children: [
119
- m > 0 && /* @__PURE__ */ o("div", { className: "mx-3 h-4 w-px bg-stroke-hairline shrink-0" }),
120
- /* @__PURE__ */ r("div", { className: "flex items-center gap-2", children: [
121
- /* @__PURE__ */ r("span", { className: "text-xs font-medium leading-[21px] text-secondary-foreground whitespace-nowrap", children: [
123
+ items: s,
124
+ renderItem: (e, h) => {
125
+ const a = Array.isArray(e.value) ? e.value : [e.value], u = a.slice(0, 2), r = a.slice(2), l = !!e.overflow, w = e.overflow?.label ? e.overflow.label : e.overflow?.count ? `+${e.overflow.count}` : null, b = r.length > 0, y = l || b, v = `+${r.length}`;
126
+ return /* @__PURE__ */ t("div", { className: "flex items-center px-1", children: [
127
+ h > 0 && /* @__PURE__ */ o("div", { className: "mx-3 h-4 w-px bg-stroke-hairline shrink-0" }),
128
+ /* @__PURE__ */ t("div", { className: "flex items-center gap-2", children: [
129
+ /* @__PURE__ */ t("span", { className: "text-xs font-medium leading-[21px] text-secondary-foreground whitespace-nowrap", children: [
122
130
  e.label,
123
131
  e.required && /* @__PURE__ */ o("span", { className: "text-validation ms-0.5", children: "*" })
124
132
  ] }),
125
- /* @__PURE__ */ r("div", { className: "flex items-center gap-1", children: [
133
+ /* @__PURE__ */ t("div", { className: "flex items-center gap-1", children: [
126
134
  /* @__PURE__ */ o(
127
- A,
135
+ I,
128
136
  {
129
137
  spacing: "sm",
130
- tags: g.map((t) => ({
131
- label: String(t),
138
+ tags: u.map((p) => ({
139
+ label: String(p),
132
140
  variant: "secondary",
133
141
  size: "md",
134
142
  shape: "rounded",
135
143
  removable: e.removable,
136
- onRemove: () => c(e.id, t)
144
+ onRemove: () => d(e.id, p)
137
145
  }))
138
146
  }
139
147
  ),
140
- b && (d ? /* @__PURE__ */ r(T, { children: [
141
- /* @__PURE__ */ o(k, { asChild: !0, children: /* @__PURE__ */ o(
142
- C,
148
+ y && (l ? /* @__PURE__ */ t(P, { children: [
149
+ /* @__PURE__ */ o(z, { asChild: !0, children: /* @__PURE__ */ o(
150
+ T,
143
151
  {
144
152
  asButton: !0,
145
153
  variant: "secondary",
146
154
  size: "md",
147
155
  shape: "rounded",
148
- className: S,
149
- "aria-label": `${e.overflow?.count || n.length} more filters for ${e.label}`,
150
- onClick: () => u?.(e.id),
151
- children: x || h
156
+ className: O,
157
+ "aria-label": `${e.overflow?.count || r.length} more filters for ${e.label}`,
158
+ onClick: () => f?.(e.id),
159
+ children: w || v
152
160
  }
153
161
  ) }),
154
- /* @__PURE__ */ r(z, { variant: "tertiary", side: "top", children: [
155
- e.overflow?.count || n.length,
162
+ /* @__PURE__ */ t(S, { variant: "tertiary", side: "top", children: [
163
+ e.overflow?.count || r.length,
156
164
  " more filters"
157
165
  ] })
158
- ] }) : /* @__PURE__ */ r(R, { children: [
159
- /* @__PURE__ */ r(T, { children: [
160
- /* @__PURE__ */ o(k, { asChild: !0, children: /* @__PURE__ */ o(B, { asChild: !0, children: /* @__PURE__ */ o(
161
- C,
166
+ ] }) : /* @__PURE__ */ t(F, { children: [
167
+ /* @__PURE__ */ t(P, { children: [
168
+ /* @__PURE__ */ o(z, { asChild: !0, children: /* @__PURE__ */ o(V, { asChild: !0, children: /* @__PURE__ */ o(
169
+ T,
162
170
  {
163
171
  asButton: !0,
164
172
  variant: "secondary",
165
173
  size: "md",
166
174
  shape: "rounded",
167
- className: S,
168
- children: h
175
+ className: O,
176
+ children: v
169
177
  }
170
178
  ) }) }),
171
- /* @__PURE__ */ r(z, { variant: "tertiary", side: "top", children: [
172
- n.length,
179
+ /* @__PURE__ */ t(S, { variant: "tertiary", side: "top", children: [
180
+ r.length,
173
181
  " more filters"
174
182
  ] })
175
183
  ] }),
176
184
  /* @__PURE__ */ o(
177
- E,
185
+ G,
178
186
  {
179
- remainingValues: n,
187
+ remainingValues: r,
180
188
  viewAllTrigger: e.viewAllTrigger,
181
- onViewAll: v,
182
- onItemRemove: (t) => c(e.id, t),
189
+ onViewAll: g,
190
+ onItemRemove: (p) => d(e.id, p),
183
191
  isRemovable: e.removable,
184
192
  isCopyable: e.copyable
185
193
  }
@@ -194,6 +202,6 @@ const S = "whitespace-nowrap bg-accent text-brand hover:bg-accent/80 border-0 px
194
202
  }
195
203
  ) });
196
204
  export {
197
- E as FilterPopoverContent,
198
- X as FilterTagList
205
+ G as FilterPopoverContent,
206
+ ee as FilterTagList
199
207
  };
@@ -0,0 +1,13 @@
1
+ import { GuidancePlugin } from '../../../../lib/guidance';
2
+ export interface AgGridTargetConfig {
3
+ gridApi: {
4
+ ensureIndexVisible: (rowIndex: number, position?: string) => void;
5
+ };
6
+ rowIndex?: number;
7
+ columnId?: string;
8
+ }
9
+ export declare function createAgGridTargetAdapter(): GuidancePlugin<AgGridTargetConfig>;
10
+ export declare function createAgGridReadyTriggerPlugin(): GuidancePlugin<{
11
+ gridId: string;
12
+ }>;
13
+ export declare function emitAgGridReady(emit: (eventName: string) => void, gridId: string): void;
@@ -0,0 +1,30 @@
1
+ function a() {
2
+ return {
3
+ type: "adapter.ag-grid",
4
+ resolve: (r, e) => {
5
+ if (e.rowIndex !== void 0 && e.gridApi.ensureIndexVisible(e.rowIndex, "middle"), typeof document > "u")
6
+ return null;
7
+ const d = e.columnId ? `[col-id="${e.columnId}"]` : `[data-guidance-target="${r.targetDescriptor.targetId}"]`, t = document.querySelector(d);
8
+ return {
9
+ targetId: r.targetDescriptor.targetId,
10
+ element: t,
11
+ rect: t?.getBoundingClientRect() ?? null,
12
+ source: "adapter"
13
+ };
14
+ }
15
+ };
16
+ }
17
+ function i() {
18
+ return {
19
+ type: "trigger.ag-grid-ready",
20
+ evaluate: (r, e) => r.customEvents.has(`ag-grid.ready.${e.gridId}`)
21
+ };
22
+ }
23
+ function n(r, e) {
24
+ r(`ag-grid.ready.${e}`);
25
+ }
26
+ export {
27
+ i as createAgGridReadyTriggerPlugin,
28
+ a as createAgGridTargetAdapter,
29
+ n as emitAgGridReady
30
+ };
@@ -0,0 +1,2 @@
1
+ export { createAgGridTargetAdapter, createAgGridReadyTriggerPlugin, emitAgGridReady, } from './ag-grid-adapter';
2
+ export type { AgGridTargetConfig } from './ag-grid-adapter';
@@ -0,0 +1,6 @@
1
+ import { createAgGridReadyTriggerPlugin as g, createAgGridTargetAdapter as a, emitAgGridReady as d } from "./ag-grid-adapter.js";
2
+ export {
3
+ g as createAgGridReadyTriggerPlugin,
4
+ a as createAgGridTargetAdapter,
5
+ d as emitAgGridReady
6
+ };
@@ -0,0 +1 @@
1
+ export { createDialogOpenedTriggerPlugin, getOverlayScopeRoot, } from './overlay-adapter';
@@ -0,0 +1,5 @@
1
+ import { createDialogOpenedTriggerPlugin as r, getOverlayScopeRoot as g } from "./overlay-adapter.js";
2
+ export {
3
+ r as createDialogOpenedTriggerPlugin,
4
+ g as getOverlayScopeRoot
5
+ };
@@ -0,0 +1,5 @@
1
+ import { GuidancePlugin } from '../../../../lib/guidance';
2
+ export declare function createDialogOpenedTriggerPlugin(): GuidancePlugin<{
3
+ dialogId?: string;
4
+ }>;
5
+ export declare function getOverlayScopeRoot(): HTMLElement | null;