impact-nova 3.0.0-alpha.1 → 3.0.0-alpha.3
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/_virtual/index.js +4 -4
- package/dist/_virtual/index2.js +4 -4
- package/dist/components/data/ag-grid-react/ag-grid.types.d.ts +5 -0
- package/dist/components/data/ag-grid-react/cell-renderers/cell-renderer-utils.js +12 -10
- package/dist/components/data/ag-grid-react/cell-renderers/link-with-batch-cell-renderer.js +0 -2
- package/dist/components/data/ag-grid-react/cell-renderers/select-display-renderer.d.ts +8 -0
- package/dist/components/data/ag-grid-react/cell-renderers/select-display-renderer.js +56 -42
- package/dist/components/data/ag-grid-react/cell-renderers/types.d.ts +4 -0
- package/dist/components/data/ag-grid-react/headers/advanced-filter/advanced-filter-dialog.js +29 -31
- package/dist/components/data/ag-grid-react/headers/components/lazy-tooltip.js +6 -8
- package/dist/components/data/ag-grid-react/index.d.ts +1 -1
- package/dist/components/data/ag-grid-react/index.js +115 -111
- package/dist/components/data/expandable-list-item/expandable-list-item-attributes.js +6 -8
- package/dist/components/data/expandable-list-item/index.d.ts +2 -0
- package/dist/components/data/expandable-list-item/index.js +20 -16
- package/dist/components/data/expandable-list-item/product-card-hero.d.ts +15 -0
- package/dist/components/data/expandable-list-item/product-card-iris-insight-trigger.d.ts +8 -0
- package/dist/components/data/expandable-list-item/product-card-iris-insight-trigger.js +41 -0
- package/dist/components/data/expandable-list-item/product-card-metrics-toggle.d.ts +13 -0
- package/dist/components/data/expandable-list-item/product-card-metrics-toggle.js +27 -0
- package/dist/components/data/expandable-list-item/sku-picker-chrome.d.ts +35 -0
- package/dist/components/data/expandable-list-item/sku-picker-chrome.js +142 -0
- package/dist/components/data/expandable-list-item/virtualized-responsive-grid.sku-picker.d.ts +3 -2
- package/dist/components/data-display/calendar/fiscal-period-caption-select.js +2 -4
- package/dist/components/feedback/popover/popover.js +1 -1
- package/dist/components/feedback/tooltip/button-icon-tooltip.js +6 -8
- package/dist/components/feedback/tooltip/tab-tooltip-render.js +4 -6
- package/dist/components/flows/guidance/renderers/guidance-card-shared.js +1 -1
- package/dist/components/flows/iris-chat/iris-chat-artifact.js +6 -6
- package/dist/components/flows/iris-chat/iris-chat-composer.js +9 -9
- package/dist/components/flows/iris-chat/iris-chat-markdown.js +8 -8
- package/dist/components/flows/iris-chat/iris-chat-menu.js +1 -1
- package/dist/components/flows/iris-chat/iris-chat-thread.js +1 -1
- package/dist/components/flows/iris-chat/iris-chat.js +1 -1
- package/dist/components/forms/combobox/combobox.js +1 -1
- package/dist/components/forms/select/components/SelectTriggerValue.js +6 -6
- package/dist/components/layout/breadcrumb/breadcrumb.js +1 -1
- package/dist/form-react/Fields/VirtualizedListField.d.ts +3 -0
- package/dist/form-react/Fields/VirtualizedListField.js +169 -0
- package/dist/form-react/fields.d.ts +1 -0
- package/dist/form-react/fields.js +28 -26
- package/dist/form-react/registry/defaultFieldRegistrations.d.ts +1 -1
- package/dist/form-react/registry/defaultFieldRegistrations.js +13 -12
- package/dist/form-react/types/fields.types.d.ts +21 -1
- package/dist/form-react/types/fieldsOutput.types.d.ts +4 -1
- package/dist/form-react/utils/fieldDefaults.utils.js +1 -1
- package/dist/impact-nova-components.css +85 -0
- package/dist/impact-nova.css +1 -1
- package/dist/index.js +356 -352
- package/dist/lib/overflow/is-text-overflowing.js +24 -6
- package/dist/llms/rules/installation.js +1 -1
- package/dist/llms/rules/requirements.js +1 -1
- package/dist/node_modules/hast-util-to-jsx-runtime/lib/index.js +1 -1
- package/dist/node_modules/unified/lib/index.js +1 -1
- package/dist/providers/app-providers.js +11 -13
- package/package.json +3 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type SkuPickerView = "card" | "list";
|
|
3
|
+
export type SkuPickerGridProps = {
|
|
4
|
+
/** Fold the toolbar and choices behind the title row. */
|
|
5
|
+
collapsible?: boolean;
|
|
6
|
+
/** Start folded. Ignored unless `collapsible` is set. */
|
|
7
|
+
defaultCollapsed?: boolean;
|
|
8
|
+
/** Title in the header. Default: SKU. */
|
|
9
|
+
title?: string;
|
|
10
|
+
required?: boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare function SkuPickerChrome(props: {
|
|
13
|
+
view: SkuPickerView;
|
|
14
|
+
search: string;
|
|
15
|
+
sortAlphabetically: boolean;
|
|
16
|
+
selectedCount: number;
|
|
17
|
+
/** True when every choice Select All would touch is already selected. */
|
|
18
|
+
allSelected?: boolean;
|
|
19
|
+
previewCodes: string[];
|
|
20
|
+
onSearchChange: (value: string) => void;
|
|
21
|
+
onViewChange: (view: SkuPickerView) => void;
|
|
22
|
+
onToggleSort: () => void;
|
|
23
|
+
onSelectAll: () => void;
|
|
24
|
+
onClear: () => void;
|
|
25
|
+
children: ReactNode;
|
|
26
|
+
footer?: ReactNode;
|
|
27
|
+
collapsible?: boolean;
|
|
28
|
+
defaultCollapsed?: boolean;
|
|
29
|
+
title?: string;
|
|
30
|
+
required?: boolean;
|
|
31
|
+
emptyLabel?: string;
|
|
32
|
+
searchLabel?: string;
|
|
33
|
+
/** Story picker keeps the back control. Form fields omit it. */
|
|
34
|
+
showBack?: boolean;
|
|
35
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { jsx as t, jsxs as l } from "react/jsx-runtime";
|
|
2
|
+
import { Search as s, CardView as m, ListFilter as u, TextFormat as h, Back as b } from "impact-nova-icons";
|
|
3
|
+
import "react";
|
|
4
|
+
import { Badge as f } from "../../data-display/badge/badge.js";
|
|
5
|
+
import { ButtonIconTooltip as r } from "../../feedback/tooltip/button-icon-tooltip.js";
|
|
6
|
+
import { Input as v } from "../../forms/input/input.js";
|
|
7
|
+
import { Accordion as x, AccordionItem as g, AccordionTrigger as w, AccordionContent as C } from "../../primitives/accordion/accordion.js";
|
|
8
|
+
import { Button as i } from "../../primitives/button/button.js";
|
|
9
|
+
import { cn as N } from "../../../lib/utils.js";
|
|
10
|
+
const d = "picker";
|
|
11
|
+
function S(e) {
|
|
12
|
+
return N(
|
|
13
|
+
e && "border-brand bg-accent text-brand hover:bg-accent hover:text-brand"
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
function y(e) {
|
|
17
|
+
if (e.selectedCount === 0)
|
|
18
|
+
return /* @__PURE__ */ t("p", { className: "text-xs font-medium text-content-muted", children: e.emptyLabel });
|
|
19
|
+
const a = Math.max(0, e.selectedCount - e.previewCodes.length);
|
|
20
|
+
return /* @__PURE__ */ l("div", { className: "flex min-w-0 items-center gap-1", children: [
|
|
21
|
+
/* @__PURE__ */ t("p", { className: "truncate text-xs font-medium text-content-muted", children: e.previewCodes.join(", ") }),
|
|
22
|
+
a > 0 ? /* @__PURE__ */ l(f, { variant: "subtle", color: "primary", size: "sm", shape: "square", children: [
|
|
23
|
+
"+",
|
|
24
|
+
a
|
|
25
|
+
] }) : null
|
|
26
|
+
] });
|
|
27
|
+
}
|
|
28
|
+
function V(e) {
|
|
29
|
+
const a = e.title ?? "SKU", n = /* @__PURE__ */ t(
|
|
30
|
+
y,
|
|
31
|
+
{
|
|
32
|
+
selectedCount: e.selectedCount,
|
|
33
|
+
previewCodes: e.previewCodes,
|
|
34
|
+
emptyLabel: e.emptyLabel ?? "No SKUs selected"
|
|
35
|
+
}
|
|
36
|
+
), c = /* @__PURE__ */ l("div", { className: "flex items-center justify-between gap-3", children: [
|
|
37
|
+
/* @__PURE__ */ l("div", { className: "flex items-center gap-3", children: [
|
|
38
|
+
/* @__PURE__ */ t(
|
|
39
|
+
v,
|
|
40
|
+
{
|
|
41
|
+
size: "default",
|
|
42
|
+
className: "w-[200px]",
|
|
43
|
+
placeholder: "Search",
|
|
44
|
+
value: e.search,
|
|
45
|
+
onChange: (o) => e.onSearchChange(o.target.value),
|
|
46
|
+
prefix: /* @__PURE__ */ t(s, { className: "size-4 text-content-placeholder", "aria-hidden": !0 }),
|
|
47
|
+
"aria-label": e.searchLabel ?? "Search SKUs"
|
|
48
|
+
}
|
|
49
|
+
),
|
|
50
|
+
/* @__PURE__ */ t(
|
|
51
|
+
r,
|
|
52
|
+
{
|
|
53
|
+
label: e.view === "card" ? "Switch to list view" : "Switch to card view",
|
|
54
|
+
children: /* @__PURE__ */ t(
|
|
55
|
+
i,
|
|
56
|
+
{
|
|
57
|
+
type: "button",
|
|
58
|
+
size: "icon",
|
|
59
|
+
variant: "tertiary",
|
|
60
|
+
"aria-label": e.view === "card" ? "Switch to list view" : "Switch to card view",
|
|
61
|
+
"aria-pressed": e.view === "list",
|
|
62
|
+
onClick: () => e.onViewChange(e.view === "card" ? "list" : "card"),
|
|
63
|
+
children: e.view === "card" ? /* @__PURE__ */ t(m, {}) : /* @__PURE__ */ t(u, {})
|
|
64
|
+
}
|
|
65
|
+
)
|
|
66
|
+
}
|
|
67
|
+
),
|
|
68
|
+
/* @__PURE__ */ t(r, { label: "Sort Alphabetically", children: /* @__PURE__ */ t(
|
|
69
|
+
i,
|
|
70
|
+
{
|
|
71
|
+
type: "button",
|
|
72
|
+
size: "icon",
|
|
73
|
+
variant: "tertiary",
|
|
74
|
+
"aria-label": "Sort alphabetically",
|
|
75
|
+
"aria-pressed": e.sortAlphabetically,
|
|
76
|
+
className: S(e.sortAlphabetically),
|
|
77
|
+
onClick: e.onToggleSort,
|
|
78
|
+
children: /* @__PURE__ */ t(h, {})
|
|
79
|
+
}
|
|
80
|
+
) })
|
|
81
|
+
] }),
|
|
82
|
+
/* @__PURE__ */ l("div", { className: "flex items-center gap-3", children: [
|
|
83
|
+
/* @__PURE__ */ t(
|
|
84
|
+
i,
|
|
85
|
+
{
|
|
86
|
+
type: "button",
|
|
87
|
+
variant: "link",
|
|
88
|
+
onClick: e.onSelectAll,
|
|
89
|
+
disabled: e.allSelected === !0,
|
|
90
|
+
children: "Select All"
|
|
91
|
+
}
|
|
92
|
+
),
|
|
93
|
+
/* @__PURE__ */ t(
|
|
94
|
+
i,
|
|
95
|
+
{
|
|
96
|
+
type: "button",
|
|
97
|
+
variant: "link",
|
|
98
|
+
onClick: e.onClear,
|
|
99
|
+
disabled: e.selectedCount === 0,
|
|
100
|
+
children: "Clear"
|
|
101
|
+
}
|
|
102
|
+
)
|
|
103
|
+
] })
|
|
104
|
+
] });
|
|
105
|
+
return e.collapsible ? /* @__PURE__ */ t(
|
|
106
|
+
x,
|
|
107
|
+
{
|
|
108
|
+
type: "single",
|
|
109
|
+
collapsible: !0,
|
|
110
|
+
defaultValue: e.defaultCollapsed ? void 0 : d,
|
|
111
|
+
className: "w-full",
|
|
112
|
+
children: /* @__PURE__ */ l(g, { value: d, className: "border border-stroke-subtle", children: [
|
|
113
|
+
/* @__PURE__ */ t(w, { headingLevel: 3, rightActions: n, children: /* @__PURE__ */ l("span", { className: "truncate text-sm font-semibold leading-6 text-content-title", children: [
|
|
114
|
+
a,
|
|
115
|
+
e.required ? /* @__PURE__ */ t("span", { className: "text-destructive", children: " *" }) : null
|
|
116
|
+
] }) }),
|
|
117
|
+
/* @__PURE__ */ l(C, { className: "flex flex-col gap-3", children: [
|
|
118
|
+
c,
|
|
119
|
+
e.children,
|
|
120
|
+
e.footer
|
|
121
|
+
] })
|
|
122
|
+
] })
|
|
123
|
+
}
|
|
124
|
+
) : /* @__PURE__ */ l("div", { className: "flex w-full flex-col gap-3 overflow-hidden rounded-lg border border-stroke-subtle bg-canvas-elevated px-4 py-2", children: [
|
|
125
|
+
/* @__PURE__ */ l("div", { className: "flex items-center justify-between gap-3", children: [
|
|
126
|
+
/* @__PURE__ */ l("div", { className: "flex items-center gap-3", children: [
|
|
127
|
+
e.showBack === !1 ? null : /* @__PURE__ */ t(i, { type: "button", size: "icon", variant: "ghost", "aria-label": "Back", children: /* @__PURE__ */ t(b, {}) }),
|
|
128
|
+
/* @__PURE__ */ l("p", { className: "text-sm font-semibold leading-6 text-content-title", children: [
|
|
129
|
+
a,
|
|
130
|
+
e.required ? /* @__PURE__ */ t("span", { className: "text-destructive", children: " *" }) : null
|
|
131
|
+
] })
|
|
132
|
+
] }),
|
|
133
|
+
n
|
|
134
|
+
] }),
|
|
135
|
+
c,
|
|
136
|
+
e.children,
|
|
137
|
+
e.footer
|
|
138
|
+
] });
|
|
139
|
+
}
|
|
140
|
+
export {
|
|
141
|
+
V as SkuPickerChrome
|
|
142
|
+
};
|
package/dist/components/data/expandable-list-item/virtualized-responsive-grid.sku-picker.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function
|
|
1
|
+
import { SkuPickerGridProps } from './sku-picker-chrome';
|
|
2
|
+
export declare function ClientSkuPickerGrid(props?: SkuPickerGridProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare function ServerSkuPickerGrid(props?: SkuPickerGridProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -2,10 +2,8 @@ import { jsx as t, jsxs as v } from "react/jsx-runtime";
|
|
|
2
2
|
import * as f from "react";
|
|
3
3
|
import { Select as C } from "../../forms/select/select.js";
|
|
4
4
|
import { Tooltip as O, TooltipTrigger as S, TooltipContent as b } from "../../feedback/tooltip/tooltip.js";
|
|
5
|
-
import "clsx";
|
|
6
|
-
import "tailwind-merge";
|
|
7
5
|
import { formatPeriodTooltip as g, formatPeriodOption as T, formatPeriodCell as x } from "./calendar-fiscal-labels.js";
|
|
8
|
-
function
|
|
6
|
+
function N({
|
|
9
7
|
periods: i,
|
|
10
8
|
selectedPeriod: o,
|
|
11
9
|
placeholder: m,
|
|
@@ -61,5 +59,5 @@ function w({
|
|
|
61
59
|
) : p;
|
|
62
60
|
}
|
|
63
61
|
export {
|
|
64
|
-
|
|
62
|
+
N as FiscalPeriodCaptionSelect
|
|
65
63
|
};
|
|
@@ -3,8 +3,8 @@ import * as p from "react";
|
|
|
3
3
|
import * as a from "@radix-ui/react-popover";
|
|
4
4
|
import { Cross as N } from "impact-nova-icons";
|
|
5
5
|
import { Tooltip as g, TooltipTrigger as u, TooltipContent as P } from "../tooltip/tooltip.js";
|
|
6
|
-
import { cn as n } from "../../../lib/utils.js";
|
|
7
6
|
import { wrapRadixPart as d, createCompoundPart as x } from "../../../lib/primitives/create-compound.js";
|
|
7
|
+
import { cn as n } from "../../../lib/utils.js";
|
|
8
8
|
import { useImpactNovaI18n as m } from "../../../i18n/use-impact-nova-i18n.js";
|
|
9
9
|
import { useOverlayNestedLayerDismiss as C, useOverlayPortalContainer as b } from "../../../lib/overlay/overlay-portal-context.js";
|
|
10
10
|
import { OVERLAY_NESTED_FLOATING_INSTANT_HIDE_CLASS as T } from "../../../lib/overlay/overlay-host.constants.js";
|
|
@@ -1,25 +1,23 @@
|
|
|
1
1
|
import { jsxs as n, jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { Kbd as
|
|
4
|
-
import { Tooltip as
|
|
5
|
-
|
|
6
|
-
import "tailwind-merge";
|
|
7
|
-
function h({
|
|
3
|
+
import { Kbd as s } from "../../primitives/kbd/kbd.js";
|
|
4
|
+
import { Tooltip as m, TooltipTrigger as a, TooltipContent as l } from "./tooltip.js";
|
|
5
|
+
function T({
|
|
8
6
|
children: o,
|
|
9
7
|
label: r,
|
|
10
8
|
side: e = "top",
|
|
11
9
|
keybinding: i,
|
|
12
10
|
disabled: p
|
|
13
11
|
}) {
|
|
14
|
-
return r ? /* @__PURE__ */ n(
|
|
12
|
+
return r ? /* @__PURE__ */ n(m, { children: [
|
|
15
13
|
/* @__PURE__ */ t(a, { asChild: !0, children: p ? /* @__PURE__ */ t("span", { tabIndex: -1, className: "inline-block outline-none", children: o }) : o }),
|
|
16
14
|
/* @__PURE__ */ t(l, { variant: "tertiary", side: e, children: i ? /* @__PURE__ */ n("span", { className: "flex items-center gap-2", children: [
|
|
17
15
|
r,
|
|
18
16
|
" ",
|
|
19
|
-
/* @__PURE__ */ t(
|
|
17
|
+
/* @__PURE__ */ t(s, { keybinding: i, size: "sm" })
|
|
20
18
|
] }) : r })
|
|
21
19
|
] }) : o;
|
|
22
20
|
}
|
|
23
21
|
export {
|
|
24
|
-
|
|
22
|
+
T as ButtonIconTooltip
|
|
25
23
|
};
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { Tooltip as l, TooltipTrigger as n, TooltipContent as o } from "./tooltip.js";
|
|
3
3
|
import "react";
|
|
4
|
-
|
|
5
|
-
import "tailwind-merge";
|
|
6
|
-
const m = (i, r, a) => /* @__PURE__ */ t(l, { children: [
|
|
4
|
+
const p = (i, r, a) => /* @__PURE__ */ t(l, { children: [
|
|
7
5
|
/* @__PURE__ */ e(n, { asChild: !0, children: /* @__PURE__ */ e("span", { className: "inline-flex items-center justify-center h-full w-full", children: i }) }),
|
|
8
6
|
/* @__PURE__ */ e(o, { variant: "tertiary", className: a, children: r })
|
|
9
|
-
] }),
|
|
7
|
+
] }), h = (i, r) => /* @__PURE__ */ t(l, { children: [
|
|
10
8
|
/* @__PURE__ */ e(n, { asChild: !0, children: /* @__PURE__ */ e("span", { className: "inline-flex items-center", children: i }) }),
|
|
11
9
|
/* @__PURE__ */ e(o, { side: "top", variant: "tertiary", children: r })
|
|
12
10
|
] });
|
|
13
11
|
export {
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
h as defaultAccordionTooltipRender,
|
|
13
|
+
p as defaultTabTooltipRender
|
|
16
14
|
};
|
|
@@ -6,9 +6,9 @@ import { GuidanceActionTapIcon as O } from "./guidance-action-tap-icon.js";
|
|
|
6
6
|
import { GuidanceStepKeybinding as S, GuidanceShortcutReferenceList as M } from "./guidance-shortcut-display.js";
|
|
7
7
|
import { Button as h } from "../../../primitives/button/button.js";
|
|
8
8
|
import { Tooltip as R, TooltipTrigger as U, TooltipContent as $ } from "../../../feedback/tooltip/tooltip.js";
|
|
9
|
-
import { cn as m } from "../../../../lib/utils.js";
|
|
10
9
|
import { Progress as D } from "../../../primitives/progress/progress.js";
|
|
11
10
|
import { useImpactNovaI18n as g } from "../../../../i18n/use-impact-nova-i18n.js";
|
|
11
|
+
import { cn as m } from "../../../../lib/utils.js";
|
|
12
12
|
const J = "Skip", A = "Back";
|
|
13
13
|
function Q({
|
|
14
14
|
activeStepIndex: r,
|
|
@@ -3,10 +3,10 @@ import { Download as y, ThreeDots as v } from "impact-nova-icons";
|
|
|
3
3
|
import { Checkbox as C } from "../../forms/checkbox/checkbox.js";
|
|
4
4
|
import { DropdownMenu as w, DropdownMenuTrigger as j, DropdownMenuContent as k, DropdownMenuItem as p } from "../../feedback/dropdown-menu/dropdown-menu.js";
|
|
5
5
|
import { ButtonIconTooltip as x } from "../../feedback/tooltip/button-icon-tooltip.js";
|
|
6
|
-
import { cn as f } from "../../../lib/utils.js";
|
|
7
6
|
import { Button as b } from "../../primitives/button/button.js";
|
|
8
7
|
import { useImpactNovaI18n as I } from "../../../i18n/use-impact-nova-i18n.js";
|
|
9
|
-
import { createComponent as
|
|
8
|
+
import { createComponent as f } from "../../../lib/primitives/create-component.js";
|
|
9
|
+
import { cn as u } from "../../../lib/utils.js";
|
|
10
10
|
function N(o, i) {
|
|
11
11
|
const a = o.map((l) => l.header).join(","), n = i.map(
|
|
12
12
|
(l) => o.map((t) => {
|
|
@@ -21,7 +21,7 @@ function S(o, i, a) {
|
|
|
21
21
|
const n = new Blob([N(i, a)], { type: "text/csv;charset=utf-8" }), l = URL.createObjectURL(n), t = document.createElement("a");
|
|
22
22
|
t.href = l, t.download = `${o.replaceAll(/\s+/g, "-").toLowerCase()}.csv`, t.click(), URL.revokeObjectURL(l);
|
|
23
23
|
}
|
|
24
|
-
const O =
|
|
24
|
+
const O = f(
|
|
25
25
|
"IrisChatArtifact",
|
|
26
26
|
({ className: o, title: i, columns: a, rows: n, onDownload: l, onMore: t }, d) => {
|
|
27
27
|
const { t: c } = I(), m = () => {
|
|
@@ -35,7 +35,7 @@ const O = u(
|
|
|
35
35
|
{
|
|
36
36
|
ref: d,
|
|
37
37
|
"data-component": "iris-chat-artifact",
|
|
38
|
-
className:
|
|
38
|
+
className: u("min-w-0 w-full max-w-full overflow-hidden rounded-xl border border-stroke-subtle", o),
|
|
39
39
|
children: [
|
|
40
40
|
/* @__PURE__ */ r("header", { className: "flex items-center justify-between gap-2 px-3 py-2", children: [
|
|
41
41
|
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold text-content", children: i }),
|
|
@@ -90,14 +90,14 @@ const O = u(
|
|
|
90
90
|
}
|
|
91
91
|
);
|
|
92
92
|
}
|
|
93
|
-
), $ =
|
|
93
|
+
), $ = f(
|
|
94
94
|
"IrisChatScenario",
|
|
95
95
|
({ className: o, title: i, rows: a, notes: n }, l) => /* @__PURE__ */ r(
|
|
96
96
|
"section",
|
|
97
97
|
{
|
|
98
98
|
ref: l,
|
|
99
99
|
"data-component": "iris-chat-scenario",
|
|
100
|
-
className:
|
|
100
|
+
className: u("flex flex-col gap-2 rounded-xl bg-secondary p-3", o),
|
|
101
101
|
children: [
|
|
102
102
|
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold text-content", children: i }),
|
|
103
103
|
a.length > 0 ? /* @__PURE__ */ e("dl", { className: "flex flex-col gap-2", children: a.map((t) => /* @__PURE__ */ r(
|
|
@@ -2,12 +2,12 @@ import { jsxs as l, jsx as t } from "react/jsx-runtime";
|
|
|
2
2
|
import { useRef as A, useState as F, useEffect as le } from "react";
|
|
3
3
|
import { ChevronRight as ce } from "impact-nova-icons";
|
|
4
4
|
import { ButtonIconTooltip as h } from "../../feedback/tooltip/button-icon-tooltip.js";
|
|
5
|
-
import { cn as ue } from "../../../lib/utils.js";
|
|
6
5
|
import { Button as p } from "../../primitives/button/button.js";
|
|
7
|
-
import { DropdownMenu as P, DropdownMenuTrigger as _, DropdownMenuContent as W, DropdownMenuItem as V, DropdownMenuRadioGroup as
|
|
8
|
-
import { useImpactNovaI18n as
|
|
6
|
+
import { DropdownMenu as P, DropdownMenuTrigger as _, DropdownMenuContent as W, DropdownMenuItem as V, DropdownMenuRadioGroup as ue, DropdownMenuRadioItem as de } from "../../feedback/dropdown-menu/dropdown-menu.js";
|
|
7
|
+
import { useImpactNovaI18n as he } from "../../../i18n/use-impact-nova-i18n.js";
|
|
9
8
|
import { useControllableState as G } from "@radix-ui/react-use-controllable-state";
|
|
10
|
-
import { createComponent as
|
|
9
|
+
import { createComponent as pe } from "../../../lib/primitives/create-component.js";
|
|
10
|
+
import { cn as me } from "../../../lib/utils.js";
|
|
11
11
|
import { useIrisChatOptional as fe } from "./iris-chat-context.js";
|
|
12
12
|
import { IrisChatAddIcon as q, IrisChatAttachIcon as ge, IrisChatMicIcon as Ce, IrisChatStopIcon as be, IrisChatSendIcon as ve } from "./iris-chat-icons.js";
|
|
13
13
|
import { IrisChatAttachment as ye } from "./iris-chat-thread.js";
|
|
@@ -15,7 +15,7 @@ import { irisChatComposerVariants as we } from "./iris-chat.variants.js";
|
|
|
15
15
|
const xe = [
|
|
16
16
|
{ label: "Auto", value: "auto" },
|
|
17
17
|
{ label: "Fast", value: "fast" }
|
|
18
|
-
], $e =
|
|
18
|
+
], $e = pe(
|
|
19
19
|
"IrisChatComposer",
|
|
20
20
|
({
|
|
21
21
|
className: a,
|
|
@@ -35,7 +35,7 @@ const xe = [
|
|
|
35
35
|
onAttach: ee,
|
|
36
36
|
onMicClick: K
|
|
37
37
|
}, te) => {
|
|
38
|
-
const { t: n } =
|
|
38
|
+
const { t: n } = he(), $ = fe(), C = $?.placement === "minimized" || $?.placement === "composer" ? "inline" : "stacked", [ie, x] = G({
|
|
39
39
|
prop: s,
|
|
40
40
|
defaultProp: H,
|
|
41
41
|
onChange: J
|
|
@@ -100,7 +100,7 @@ const xe = [
|
|
|
100
100
|
"data-component": "iris-chat-composer",
|
|
101
101
|
"data-layout": C,
|
|
102
102
|
"data-pending": f ? "" : void 0,
|
|
103
|
-
className:
|
|
103
|
+
className: me(
|
|
104
104
|
we({ layout: C }),
|
|
105
105
|
R && "iris-edge-wash-shell--menu iris-edge-wash-shell--fluid",
|
|
106
106
|
a
|
|
@@ -231,11 +231,11 @@ const xe = [
|
|
|
231
231
|
}
|
|
232
232
|
) }),
|
|
233
233
|
/* @__PURE__ */ t(W, { align: "end", children: /* @__PURE__ */ t(
|
|
234
|
-
|
|
234
|
+
ue,
|
|
235
235
|
{
|
|
236
236
|
value: D,
|
|
237
237
|
onValueChange: ne,
|
|
238
|
-
children: U.map((e) => /* @__PURE__ */ t(
|
|
238
|
+
children: U.map((e) => /* @__PURE__ */ t(de, { value: e.value, children: e.label }, e.value))
|
|
239
239
|
}
|
|
240
240
|
) })
|
|
241
241
|
] }),
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as t, jsxs as s } from "react/jsx-runtime";
|
|
2
2
|
import { useState as c } from "react";
|
|
3
3
|
import { ButtonIconTooltip as p } from "../../feedback/tooltip/button-icon-tooltip.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { Button as m } from "../../primitives/button/button.js";
|
|
5
|
+
import { useImpactNovaI18n as l } from "../../../i18n/use-impact-nova-i18n.js";
|
|
6
|
+
import { createComponent as d } from "../../../lib/primitives/create-component.js";
|
|
7
|
+
import { cn as f } from "../../../lib/utils.js";
|
|
8
8
|
import { IrisChatCopyIcon as h } from "./iris-chat-icons.js";
|
|
9
9
|
import { irisChatMarkdownVariants as u } from "./iris-chat.variants.js";
|
|
10
10
|
import { Markdown as C } from "../../../node_modules/react-markdown/lib/index.js";
|
|
@@ -13,10 +13,10 @@ function n(r) {
|
|
|
13
13
|
return typeof r == "string" || typeof r == "number" ? String(r) : Array.isArray(r) ? r.map(n).join("") : r && typeof r == "object" && "props" in r ? n(r.props.children) : "";
|
|
14
14
|
}
|
|
15
15
|
function y({ children: r }) {
|
|
16
|
-
const { t: o } =
|
|
16
|
+
const { t: o } = l(), [e, i] = c(!1), a = n(r);
|
|
17
17
|
return /* @__PURE__ */ s("div", { className: "relative", children: [
|
|
18
18
|
/* @__PURE__ */ t(p, { label: o(e ? "irisChat.copied" : "irisChat.copyCode"), children: /* @__PURE__ */ t(
|
|
19
|
-
|
|
19
|
+
m,
|
|
20
20
|
{
|
|
21
21
|
type: "button",
|
|
22
22
|
variant: "ghost",
|
|
@@ -34,14 +34,14 @@ function y({ children: r }) {
|
|
|
34
34
|
/* @__PURE__ */ t("pre", { children: r })
|
|
35
35
|
] });
|
|
36
36
|
}
|
|
37
|
-
const B =
|
|
37
|
+
const B = d(
|
|
38
38
|
"IrisChatMarkdown",
|
|
39
39
|
({ className: r, children: o }, e) => /* @__PURE__ */ t(
|
|
40
40
|
"div",
|
|
41
41
|
{
|
|
42
42
|
ref: e,
|
|
43
43
|
"data-component": "iris-chat-markdown",
|
|
44
|
-
className:
|
|
44
|
+
className: f(u(), r),
|
|
45
45
|
children: /* @__PURE__ */ t(
|
|
46
46
|
C,
|
|
47
47
|
{
|
|
@@ -3,12 +3,12 @@ import { useRef as S, useState as y } from "react";
|
|
|
3
3
|
import { FunnelShow as I, ThreeDots as L, Pin as M, Pencil as A, Bin as D, ChevronRight as T } from "impact-nova-icons";
|
|
4
4
|
import { DropdownMenu as g, DropdownMenuTrigger as v, DropdownMenuContent as b, DropdownMenuItem as f } from "../../feedback/dropdown-menu/dropdown-menu.js";
|
|
5
5
|
import { ButtonIconTooltip as N } from "../../feedback/tooltip/button-icon-tooltip.js";
|
|
6
|
-
import { cn as C } from "../../../lib/utils.js";
|
|
7
6
|
import { Button as x } from "../../primitives/button/button.js";
|
|
8
7
|
import { Accordion as j, AccordionItem as k, AccordionTrigger as R, AccordionContent as E } from "../../primitives/accordion/accordion.js";
|
|
9
8
|
import { useImpactNovaI18n as w } from "../../../i18n/use-impact-nova-i18n.js";
|
|
10
9
|
import { useVirtualizedList as B } from "../../../lib/virtualized/useVirtualizedList.js";
|
|
11
10
|
import { createComponent as O } from "../../../lib/primitives/create-component.js";
|
|
11
|
+
import { cn as C } from "../../../lib/utils.js";
|
|
12
12
|
import { IrisChatAttachIcon as $ } from "./iris-chat-icons.js";
|
|
13
13
|
const z = ["type", "status", "lastActivity"], ee = O(
|
|
14
14
|
"IrisChatMenu",
|
|
@@ -3,12 +3,12 @@ import { useState as g } from "react";
|
|
|
3
3
|
import { Cross as U, ChevronRight as z } from "impact-nova-icons";
|
|
4
4
|
import { Popover as K, PopoverTrigger as H, PopoverContent as L, PopoverHeader as R, PopoverTitle as V, PopoverBody as q } from "../../feedback/popover/popover.js";
|
|
5
5
|
import { ButtonIconTooltip as f } from "../../feedback/tooltip/button-icon-tooltip.js";
|
|
6
|
-
import { cn as c } from "../../../lib/utils.js";
|
|
7
6
|
import { Alert as J, AlertIcon as Q, AlertTitle as X, AlertDescription as Y } from "../../feedback/alert/alert.js";
|
|
8
7
|
import { Button as p } from "../../primitives/button/button.js";
|
|
9
8
|
import { IrisAlanGradientIcon as _ } from "../../primitives/iris/iris-alan-gradient-icon.js";
|
|
10
9
|
import { useImpactNovaI18n as b } from "../../../i18n/use-impact-nova-i18n.js";
|
|
11
10
|
import { createComponent as d } from "../../../lib/primitives/create-component.js";
|
|
11
|
+
import { cn as c } from "../../../lib/utils.js";
|
|
12
12
|
import { IrisChatLikeIcon as Z, IrisChatDislikeIcon as E, IrisChatCopyIcon as $, IrisChatSpeakIcon as ee, IrisChatRetryIcon as te, IrisChatAttachIcon as ae, IrisChatSuggestIcon as se } from "./iris-chat-icons.js";
|
|
13
13
|
import { useIrisChatOptional as re } from "./iris-chat-context.js";
|
|
14
14
|
import { irisChatMessageVariants as ie } from "./iris-chat.variants.js";
|
|
@@ -4,7 +4,6 @@ import { Slot as P } from "@radix-ui/react-slot";
|
|
|
4
4
|
import { Back as k, Cross as w, Draw as T } from "impact-nova-icons";
|
|
5
5
|
import { Popover as y, PopoverTrigger as R, PopoverContent as M, PopoverHeader as O, PopoverTitle as D, PopoverBody as F } from "../../feedback/popover/popover.js";
|
|
6
6
|
import { ButtonIconTooltip as L } from "../../feedback/tooltip/button-icon-tooltip.js";
|
|
7
|
-
import { cn as m } from "../../../lib/utils.js";
|
|
8
7
|
import { Button as S } from "../../primitives/button/button.js";
|
|
9
8
|
import { IrisButton as V } from "../../primitives/iris/iris.js";
|
|
10
9
|
import { IrisAlanGradientIcon as N } from "../../primitives/iris/iris-alan-gradient-icon.js";
|
|
@@ -12,6 +11,7 @@ import { useImpactNovaI18n as p } from "../../../i18n/use-impact-nova-i18n.js";
|
|
|
12
11
|
import { useComposedRefs as j } from "../../../lib/compose-refs.js";
|
|
13
12
|
import { useControllableState as b } from "@radix-ui/react-use-controllable-state";
|
|
14
13
|
import { createComponent as c } from "../../../lib/primitives/create-component.js";
|
|
14
|
+
import { cn as m } from "../../../lib/utils.js";
|
|
15
15
|
import { IrisChatProvider as A, useIrisChat as g, useIrisChatOptional as E } from "./iris-chat-context.js";
|
|
16
16
|
import { IrisChatHamburgerIcon as G, IrisChatMinimizeIcon as q } from "./iris-chat-icons.js";
|
|
17
17
|
import { irisChatRootVariants as J, irisChatHeaderVariants as K, irisChatPanelVariants as Q } from "./iris-chat.variants.js";
|
|
@@ -3,9 +3,9 @@ import { useId as Z, useMemo as z, useState as k, useCallback as c, useRef as T,
|
|
|
3
3
|
import * as E from "@radix-ui/react-popover";
|
|
4
4
|
import { Cross as Le } from "impact-nova-icons";
|
|
5
5
|
import { Tooltip as Ae, TooltipTrigger as Ne, TooltipContent as Se } from "../../feedback/tooltip/tooltip.js";
|
|
6
|
-
import { cn as O } from "../../../lib/utils.js";
|
|
7
6
|
import { useImpactNovaI18n as Pe } from "../../../i18n/use-impact-nova-i18n.js";
|
|
8
7
|
import { createComponent as Te } from "../../../lib/primitives/create-component.js";
|
|
8
|
+
import { cn as O } from "../../../lib/utils.js";
|
|
9
9
|
import { useFieldChrome as Ee } from "../../../lib/primitives/use-field-chrome.js";
|
|
10
10
|
import { useOverlayNestedLayerDismiss as Oe, useOverlayPortalContainer as He } from "../../../lib/overlay/overlay-portal-context.js";
|
|
11
11
|
import { OVERLAY_NESTED_FLOATING_INSTANT_HIDE_CLASS as Re } from "../../../lib/overlay/overlay-host.constants.js";
|
|
@@ -7,23 +7,23 @@ function C({
|
|
|
7
7
|
isMulti: u,
|
|
8
8
|
isDisabled: p,
|
|
9
9
|
internalValue: o,
|
|
10
|
-
totalCount:
|
|
10
|
+
totalCount: a,
|
|
11
11
|
totalOptionsCount: g,
|
|
12
12
|
formatSelectedCount: v,
|
|
13
|
-
resolveOptionLabel:
|
|
13
|
+
resolveOptionLabel: s,
|
|
14
14
|
placeholder: c
|
|
15
15
|
}) {
|
|
16
16
|
const n = x(
|
|
17
|
-
"text-[14px] font-
|
|
17
|
+
"text-[14px] font-normal truncate min-w-0 block",
|
|
18
18
|
p ? "text-disabled-foreground" : "text-foreground"
|
|
19
19
|
);
|
|
20
20
|
if (u) {
|
|
21
21
|
const e = o || [];
|
|
22
22
|
let t = 0;
|
|
23
|
-
if (h(e) ? t = Math.max(0, (typeof
|
|
23
|
+
if (h(e) ? t = Math.max(0, (typeof a == "number" ? a : g) - e.excludedValues.length) : d(e) && (t = e.length), t === 0)
|
|
24
24
|
return c;
|
|
25
25
|
if (t === 1 && d(e)) {
|
|
26
|
-
const i =
|
|
26
|
+
const i = s(e[0]);
|
|
27
27
|
return /* @__PURE__ */ r(
|
|
28
28
|
m,
|
|
29
29
|
{
|
|
@@ -40,7 +40,7 @@ function C({
|
|
|
40
40
|
const l = o;
|
|
41
41
|
if (!l)
|
|
42
42
|
return c;
|
|
43
|
-
const f =
|
|
43
|
+
const f = s(l);
|
|
44
44
|
return /* @__PURE__ */ r(
|
|
45
45
|
m,
|
|
46
46
|
{
|
|
@@ -4,9 +4,9 @@ import { Slot as y } from "@radix-ui/react-slot";
|
|
|
4
4
|
import { ThreeDots as H } from "impact-nova-icons";
|
|
5
5
|
import { ClickMeArrow as L } from "../../ui/local-raster-icons/rasterIcons.js";
|
|
6
6
|
import { Tooltip as g, TooltipTrigger as w, TooltipContent as B } from "../../feedback/tooltip/tooltip.js";
|
|
7
|
-
import { cn as n } from "../../../lib/utils.js";
|
|
8
7
|
import { createComponent as s } from "../../../lib/primitives/create-component.js";
|
|
9
8
|
import { createCompoundPart as W } from "../../../lib/primitives/create-compound.js";
|
|
9
|
+
import { cn as n } from "../../../lib/utils.js";
|
|
10
10
|
import { useImpactNovaI18n as x } from "../../../i18n/use-impact-nova-i18n.js";
|
|
11
11
|
const C = h.createContext({}), N = (e, a) => {
|
|
12
12
|
const r = e.split(/\s+/);
|