impact-ui 4.0.0-alpha.13 → 4.0.0-alpha.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index14.js +2 -2
- package/dist/_virtual/index15.js +2 -2
- package/dist/_virtual/index3.js +2 -4
- package/dist/_virtual/index4.js +3 -3
- package/dist/_virtual/index5.js +4 -2
- package/dist/components/Accordion/index.d.ts.map +1 -1
- package/dist/components/Accordion/index.js +43 -30
- package/dist/components/Alert/index.js +1 -1
- package/dist/components/Breadcrumbs/index.d.ts +1 -1
- package/dist/components/Breadcrumbs/index.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/index.js +8 -1
- package/dist/components/ButtonGroup/index.d.ts +1 -1
- package/dist/components/ButtonGroup/index.d.ts.map +1 -1
- package/dist/components/ButtonGroup/index.js +4 -0
- package/dist/components/Chart/Chart.types.d.ts +2 -2
- package/dist/components/Chart/index.d.ts +1 -1
- package/dist/components/Chart/index.d.ts.map +1 -1
- package/dist/components/Chart/index.js +7 -1
- package/dist/components/Chatbot/index.d.ts.map +1 -1
- package/dist/components/Chatbot/index.js +9 -6
- package/dist/components/Checkbox/Checkbox.types.d.ts +2 -0
- package/dist/components/Checkbox/Checkbox.types.d.ts.map +1 -1
- package/dist/components/Checkbox/Default.d.ts +1 -1
- package/dist/components/Checkbox/Default.d.ts.map +1 -1
- package/dist/components/Checkbox/Default.js +4 -0
- package/dist/components/DatePicker/datePickerInput.d.ts +2 -0
- package/dist/components/DatePicker/datePickerInput.d.ts.map +1 -1
- package/dist/components/DatePicker/datePickerInput.js +4 -0
- package/dist/components/DatePicker/index.d.ts.map +1 -1
- package/dist/components/DatePicker/index.js +4 -0
- package/dist/components/DateRangePicker/dateRangePickerInput.d.ts +3 -1
- package/dist/components/DateRangePicker/dateRangePickerInput.d.ts.map +1 -1
- package/dist/components/DateRangePicker/dateRangePickerInput.js +8 -0
- package/dist/components/DateRangePicker/index.d.ts.map +1 -1
- package/dist/components/DateRangePicker/index.js +7 -1
- package/dist/components/EmptyState/EmptyState.types.d.ts +2 -2
- package/dist/components/EmptyState/index.d.ts +1 -2
- package/dist/components/EmptyState/index.d.ts.map +1 -1
- package/dist/components/EmptyState/index.js +33 -20
- package/dist/components/FileUpload/FileUpload.types.d.ts +10 -2
- package/dist/components/FileUpload/FileUpload.types.d.ts.map +1 -1
- package/dist/components/FileUpload/TemplatePreview.d.ts +9 -0
- package/dist/components/FileUpload/TemplatePreview.d.ts.map +1 -0
- package/dist/components/FileUpload/TemplatePreview.js +31 -0
- package/dist/components/FileUpload/fileUploadUtils.d.ts +4 -0
- package/dist/components/FileUpload/fileUploadUtils.d.ts.map +1 -0
- package/dist/components/FileUpload/fileUploadUtils.js +14 -0
- package/dist/components/FileUpload/index.d.ts +1 -1
- package/dist/components/FileUpload/index.d.ts.map +1 -1
- package/dist/components/FileUpload/index.js +114 -10
- package/dist/components/FileUpload/useFileUploadTemplateState.d.ts +14 -0
- package/dist/components/FileUpload/useFileUploadTemplateState.d.ts.map +1 -0
- package/dist/components/FileUpload/useFileUploadTemplateState.js +46 -0
- package/dist/components/FiltersStrip/FiltersStrip.types.d.ts +2 -2
- package/dist/components/FiltersStrip/index.d.ts +1 -1
- package/dist/components/FiltersStrip/index.d.ts.map +1 -1
- package/dist/components/FiltersStrip/index.js +7 -1
- package/dist/components/Header/Header.types.d.ts +2 -2
- package/dist/components/Header/index.d.ts +1 -1
- package/dist/components/Header/index.d.ts.map +1 -1
- package/dist/components/Header/index.js +139 -128
- package/dist/components/Input/InputWithIcon.d.ts +1 -1
- package/dist/components/Input/InputWithIcon.d.ts.map +1 -1
- package/dist/components/Input/InputWithIcon.js +20 -2
- package/dist/components/Input/VanillaInput.d.ts +1 -1
- package/dist/components/Input/VanillaInput.d.ts.map +1 -1
- package/dist/components/Input/VanillaInput.js +20 -2
- package/dist/components/Loader/Loader.types.d.ts +2 -2
- package/dist/components/Loader/index.d.ts +1 -1
- package/dist/components/Loader/index.d.ts.map +1 -1
- package/dist/components/Loader/index.js +55 -36
- package/dist/components/Menu/Menu.types.d.ts +3 -1
- package/dist/components/Menu/Menu.types.d.ts.map +1 -1
- package/dist/components/Menu/index.d.ts.map +1 -1
- package/dist/components/Menu/index.js +6 -3
- package/dist/components/Portal/index.d.ts +1 -1
- package/dist/components/Portal/index.d.ts.map +1 -1
- package/dist/components/Portal/index.js +2 -1
- package/dist/components/ProgressBar/ProgressBar.types.d.ts +2 -2
- package/dist/components/ProgressBar/index.d.ts +1 -1
- package/dist/components/ProgressBar/index.d.ts.map +1 -1
- package/dist/components/ProgressBar/index.js +29 -13
- package/dist/components/RadioButtonGroup/index.d.ts +1 -1
- package/dist/components/RadioButtonGroup/index.d.ts.map +1 -1
- package/dist/components/RadioButtonGroup/index.js +9 -1
- package/dist/components/Select/Select.types.d.ts +3 -0
- package/dist/components/Select/Select.types.d.ts.map +1 -1
- package/dist/components/Select/index.d.ts.map +1 -1
- package/dist/components/Select/index.js +7 -3
- package/dist/components/Sidebar/index.d.ts +1 -1
- package/dist/components/Sidebar/index.d.ts.map +1 -1
- package/dist/components/Sidebar/index.js +3 -0
- package/dist/components/Slider/index.d.ts +1 -1
- package/dist/components/Slider/index.d.ts.map +1 -1
- package/dist/components/Slider/index.js +2 -1
- package/dist/components/Switch/index.d.ts.map +1 -1
- package/dist/components/Switch/index.js +6 -2
- package/dist/components/Tag/Tag.types.d.ts +4 -0
- package/dist/components/Tag/Tag.types.d.ts.map +1 -1
- package/dist/components/Tag/filled.d.ts +1 -1
- package/dist/components/Tag/filled.d.ts.map +1 -1
- package/dist/components/Tag/filled.js +18 -2
- package/dist/components/Tag/index.d.ts.map +1 -1
- package/dist/components/Tag/index.js +28 -27
- package/dist/components/Tag/solid.d.ts +1 -1
- package/dist/components/Tag/solid.d.ts.map +1 -1
- package/dist/components/Tag/solid.js +9 -1
- package/dist/components/Tag/stroke.d.ts +1 -1
- package/dist/components/Tag/stroke.d.ts.map +1 -1
- package/dist/components/Tag/stroke.js +9 -1
- package/dist/components/TagGroup/TagGroup.types.d.ts +2 -2
- package/dist/components/TagGroup/index.d.ts +1 -1
- package/dist/components/TagGroup/index.d.ts.map +1 -1
- package/dist/components/TagGroup/index.js +10 -1
- package/dist/components/TextArea/index.d.ts +1 -1
- package/dist/components/TextArea/index.d.ts.map +1 -1
- package/dist/components/TextArea/index.js +26 -38
- package/dist/components/Tooltip/index.d.ts.map +1 -1
- package/dist/components/Tooltip/index.js +3 -3
- package/dist/components/common/HelperText/HelperText.types.d.ts +2 -2
- package/dist/components/common/HelperText/index.d.ts +1 -1
- package/dist/components/common/HelperText/index.d.ts.map +1 -1
- package/dist/components/common/HelperText/index.js +10 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/mcp-component-registry.json +31 -1
- package/dist/node_modules/@mui/system/colorManipulator.js +2 -2
- package/dist/node_modules/call-bind/index.js +1 -1
- package/dist/node_modules/is-symbol/index.js +1 -1
- package/dist/node_modules/react-is/index.js +1 -1
- package/dist/storybook-utils/rootAttributes.d.ts +33 -0
- package/dist/storybook-utils/rootAttributes.d.ts.map +1 -0
- package/dist/storybook-utils.d.ts +2 -1
- package/dist/storybook-utils.d.ts.map +1 -1
- package/dist/test-utils/itForwardsRootId.d.ts +15 -0
- package/dist/test-utils/itForwardsRootId.d.ts.map +1 -0
- package/dist/test-utils/rootAttributes.d.ts +22 -0
- package/dist/test-utils/rootAttributes.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/pickRootDomAttributes.d.ts +18 -0
- package/dist/utils/pickRootDomAttributes.d.ts.map +1 -0
- package/package.json +3 -1
|
@@ -15,27 +15,40 @@ function EmptyState({
|
|
|
15
15
|
primaryButtonProps = {},
|
|
16
16
|
secondaryButtonProps = {},
|
|
17
17
|
className = "",
|
|
18
|
-
|
|
18
|
+
id,
|
|
19
|
+
"data-testid": dataTestId,
|
|
20
|
+
"aria-label": ariaLabel = "Empty state",
|
|
21
|
+
role = "region"
|
|
19
22
|
}) {
|
|
20
|
-
return /* @__PURE__ */ jsxs(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
23
|
+
return /* @__PURE__ */ jsxs(
|
|
24
|
+
"div",
|
|
25
|
+
{
|
|
26
|
+
"aria-label": ariaLabel,
|
|
27
|
+
className: `impact_emptystate ${className}`.trim(),
|
|
28
|
+
"data-testid": dataTestId,
|
|
29
|
+
id,
|
|
30
|
+
role,
|
|
31
|
+
children: [
|
|
32
|
+
/* @__PURE__ */ jsx("div", { className: `impact_center_svg ${emptyStateIcon ? "impact_center_svg_with_icon" : ""}`, children: emptyStateIcon ?? /* @__PURE__ */ jsx(EmptyStateImage, {}) }),
|
|
33
|
+
/* @__PURE__ */ jsx("div", { className: "impact_heading", children: heading }),
|
|
34
|
+
description ? /* @__PURE__ */ jsx("div", { className: "impact_paragraph", children: description }) : null,
|
|
35
|
+
/* @__PURE__ */ jsxs("div", { className: "bottom_cta_container", children: [
|
|
36
|
+
emptyStateBottomOptions,
|
|
37
|
+
secondaryButtonLabel != null && /* @__PURE__ */ jsx(
|
|
38
|
+
Button,
|
|
39
|
+
{
|
|
40
|
+
className: "secondary_btn",
|
|
41
|
+
variant: "secondary",
|
|
42
|
+
onClick: onSecondaryButtonClick,
|
|
43
|
+
...secondaryButtonProps,
|
|
44
|
+
children: secondaryButtonLabel
|
|
45
|
+
}
|
|
46
|
+
),
|
|
47
|
+
primaryButtonLabel != null && /* @__PURE__ */ jsx(Button, { className: "primary_btn", onClick: onPrimaryButtonClick, ...primaryButtonProps, children: primaryButtonLabel })
|
|
48
|
+
] })
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
);
|
|
39
52
|
}
|
|
40
53
|
EmptyState.displayName = "EmptyState";
|
|
41
54
|
export {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { RootComponentProps } from '../../types';
|
|
3
3
|
import { ButtonProps } from '../Button';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -29,12 +29,20 @@ export interface ValidFileTypeConfig {
|
|
|
29
29
|
*/
|
|
30
30
|
export declare const FILE_TYPE_MIME_MAP: Record<string, string[]>;
|
|
31
31
|
export declare const SIZE_CONVENTIONS: readonly ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
|
|
32
|
-
export interface FileUploadProps extends
|
|
32
|
+
export interface FileUploadProps extends RootComponentProps {
|
|
33
33
|
fileList: FileUploadItem[];
|
|
34
34
|
onFileListChange: (list: FileUploadItem[]) => void;
|
|
35
35
|
disabled?: boolean;
|
|
36
36
|
numberOfFiles?: number;
|
|
37
37
|
validFileTypes?: ValidFileTypeConfig[];
|
|
38
|
+
/** Column labels for template download menu; enables Template Preview grid when set */
|
|
39
|
+
options?: string[];
|
|
40
|
+
/** Initial selected template columns (mapped to camelCase internally) */
|
|
41
|
+
selectedValues?: string[];
|
|
42
|
+
/** Called when the primary template format button is clicked in the options menu (e.g. xlsx) */
|
|
43
|
+
onMenuPrimaryButtonClick?: (fileType: string, selectedColumns: string[]) => void;
|
|
44
|
+
/** Called when the secondary template format button is clicked in the options menu (e.g. csv) */
|
|
45
|
+
onTertiaryButtonClick?: (selectedColumns: string[]) => void;
|
|
38
46
|
primaryButtonLabel?: ReactNode;
|
|
39
47
|
secondaryButtonLabel?: ReactNode;
|
|
40
48
|
onPrimaryButtonClick?: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUpload.types.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/FileUpload.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CA2B9C,CAAC;AAEX,eAAO,MAAM,gBAAgB,gEAAiE,CAAC;AAE/F,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,gBAAgB,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,kBAAkB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,wBAAwB,CAAC,EAAE,SAAS,CAAC;CACtC"}
|
|
1
|
+
{"version":3,"file":"FileUpload.types.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/FileUpload.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CA2B9C,CAAC;AAEX,eAAO,MAAM,gBAAgB,gEAAiE,CAAC;AAE/F,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,gBAAgB,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gGAAgG;IAChG,wBAAwB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACjF,iGAAiG;IACjG,qBAAqB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5D,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,kBAAkB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,wBAAwB,CAAC,EAAE,SAAS,CAAC;CACtC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface TemplatePreviewProps {
|
|
2
|
+
selectedColumns: string[];
|
|
3
|
+
}
|
|
4
|
+
export declare function TemplatePreview({ selectedColumns }: TemplatePreviewProps): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare namespace TemplatePreview {
|
|
6
|
+
var displayName: string;
|
|
7
|
+
}
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=TemplatePreview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplatePreview.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/TemplatePreview.tsx"],"names":[],"mappings":"AAAA,UAAU,oBAAoB;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AASD,wBAAgB,eAAe,CAAC,EAAE,eAAe,EAAE,EAAE,oBAAoB,2CA0CxE;yBA1Ce,eAAe"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
const COLUMN_LETTERS = Array.from({ length: 9 }, (_, i) => String.fromCharCode(65 + i));
|
|
3
|
+
function formatCellLabel(value) {
|
|
4
|
+
if (!value) return "";
|
|
5
|
+
return value.charAt(0).toUpperCase() + value.slice(1);
|
|
6
|
+
}
|
|
7
|
+
function TemplatePreview({ selectedColumns }) {
|
|
8
|
+
return /* @__PURE__ */ jsxs("div", { className: "ia-template-preview", "data-testid": "file-upload-template-preview", children: [
|
|
9
|
+
/* @__PURE__ */ jsx("h3", { className: "ia-template-preview__title", children: "Template Preview" }),
|
|
10
|
+
/* @__PURE__ */ jsx("div", { className: "ia-template-preview__grid-wrapper", children: /* @__PURE__ */ jsxs("table", { className: "ia-template-preview__table", children: [
|
|
11
|
+
/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
|
|
12
|
+
/* @__PURE__ */ jsx("th", { className: "ia-template-preview__row-header" }),
|
|
13
|
+
COLUMN_LETTERS.map((letter) => /* @__PURE__ */ jsx("th", { className: "ia-template-preview__col-header", children: letter }, letter))
|
|
14
|
+
] }) }),
|
|
15
|
+
/* @__PURE__ */ jsxs("tbody", { children: [
|
|
16
|
+
/* @__PURE__ */ jsxs("tr", { children: [
|
|
17
|
+
/* @__PURE__ */ jsx("td", { className: "ia-template-preview__row-header", children: "1" }),
|
|
18
|
+
COLUMN_LETTERS.map((_, i) => /* @__PURE__ */ jsx("td", { className: "ia-template-preview__cell", children: selectedColumns[i] ? /* @__PURE__ */ jsx("div", { className: "ia-template-preview__cell-value", children: formatCellLabel(selectedColumns[i] ?? "") }) : null }, i))
|
|
19
|
+
] }),
|
|
20
|
+
[2, 3].map((row) => /* @__PURE__ */ jsxs("tr", { children: [
|
|
21
|
+
/* @__PURE__ */ jsx("td", { className: "ia-template-preview__row-header", children: row }),
|
|
22
|
+
COLUMN_LETTERS.map((_, i) => /* @__PURE__ */ jsx("td", { className: "ia-template-preview__cell" }, i))
|
|
23
|
+
] }, row))
|
|
24
|
+
] })
|
|
25
|
+
] }) })
|
|
26
|
+
] });
|
|
27
|
+
}
|
|
28
|
+
TemplatePreview.displayName = "TemplatePreview";
|
|
29
|
+
export {
|
|
30
|
+
TemplatePreview
|
|
31
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Converts display labels (e.g. "Product Name") to camelCase keys for template preview cells */
|
|
2
|
+
export declare function toCamelCase(value: string): string;
|
|
3
|
+
export declare function toCamelCaseLabels(labels: readonly string[] | undefined): string[];
|
|
4
|
+
//# sourceMappingURL=fileUploadUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileUploadUtils.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/fileUploadUtils.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAEjF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
function toCamelCase(value) {
|
|
2
|
+
return value.trim().split(/\s+/).map((word, index) => {
|
|
3
|
+
const lower = word.toLowerCase();
|
|
4
|
+
if (index === 0) return lower;
|
|
5
|
+
return lower.charAt(0).toUpperCase() + lower.slice(1);
|
|
6
|
+
}).join("");
|
|
7
|
+
}
|
|
8
|
+
function toCamelCaseLabels(labels) {
|
|
9
|
+
return (labels ?? []).map((label) => toCamelCase(label));
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
toCamelCase,
|
|
13
|
+
toCamelCaseLabels
|
|
14
|
+
};
|
|
@@ -2,7 +2,7 @@ import { FileUploadProps } from './FileUpload.types';
|
|
|
2
2
|
|
|
3
3
|
export type { FileUploadProps, FileUploadItem, ValidFileTypeConfig } from './FileUpload.types';
|
|
4
4
|
export { FILE_TYPE_MIME_MAP, SIZE_CONVENTIONS } from './FileUpload.types';
|
|
5
|
-
export declare function FileUpload({ fileList, onFileListChange, disabled, numberOfFiles: numFiles, validFileTypes, primaryButtonLabel, secondaryButtonLabel, onPrimaryButtonClick, primaryButtonProps, onSecondaryButtonClick, secondaryButtonProps, onClose, customFailedActionButton, className, 'data-testid': dataTestId, }: FileUploadProps): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare function FileUpload({ fileList, onFileListChange, disabled, numberOfFiles: numFiles, validFileTypes, primaryButtonLabel, secondaryButtonLabel, onPrimaryButtonClick, primaryButtonProps, onSecondaryButtonClick, secondaryButtonProps, onClose, customFailedActionButton, options: templateColumnOptions, selectedValues: templateColumnSelections, onMenuPrimaryButtonClick: onTemplateMenuPrimaryClick, onTertiaryButtonClick: onTemplateMenuTertiaryClick, className, id, 'data-testid': dataTestId, 'aria-label': ariaLabel, role, }: FileUploadProps): import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export declare namespace FileUpload {
|
|
7
7
|
var displayName: string;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/index.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,0BAA0B,CAAC;AAGlC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE1E,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,gBAAgB,EAChB,QAAgB,EAChB,aAAa,EAAE,QAAY,EAC3B,cAA2F,EAC3F,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,OAAO,EACP,wBAAwB,EACxB,OAAO,EAAE,qBAAqB,EAC9B,cAAc,EAAE,wBAAwB,EACxC,wBAAwB,EAAE,0BAA0B,EACpD,qBAAqB,EAAE,2BAA2B,EAClD,SAAS,EACT,EAAE,EACF,aAAa,EAAE,UAAU,EACzB,YAAY,EAAE,SAAyB,EACvC,IAAe,GAChB,EAAE,eAAe,2CAqjBjB;yBA5kBe,UAAU"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
!function(){"use strict";try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode(".ia-fileUpload-container{align-items:stretch;background-color:#fff;border-radius:16px;box-shadow:0 0 16px 2px #0000000f;display:flex;flex-direction:column;gap:16px;min-height:274px;padding:16px;width:550px}.ia-fileUpload-container .ia-fileUpload-container-header{align-items:center;display:flex;justify-content:space-between}.ia-fileUpload-container .ia-fileUpload-container-header .ia-fileUpload-container-header-title{display:flex;flex-direction:column;gap:2px}.ia-fileUpload-container .ia-fileUpload-container-header .ia-fileUpload-container-header-title .ia-fileUpload-container-header-title-primary{color:#0d152c;font-family:Manrope,sans-serif;font-size:16px;font-weight:800;line-height:24px}.ia-fileUpload-container .ia-fileUpload-container-header .ia-fileUpload-container-header-title .ia-fileUpload-container-header-title-secondary{color:#7a8294;font-family:Manrope,sans-serif;font-size:14px;font-weight:500;line-height:20px}.ia-fileUpload-container .ia-fileUpload-container-header .ia-fileUpload-container-header-closeIcon{color:#60697d;cursor:pointer}.ia-fileUpload{align-items:center;background-color:initial;background-position:50% 24px;background-repeat:no-repeat;background-size:55px;border:1px dashed #b3bdf8;border-radius:8px;display:flex;flex-direction:column;gap:8px;height:148px;justify-content:flex-end;margin:auto;padding:24px 16px;position:relative;width:100%}.ia-fileUpload input{height:calc(2px + 100%);left:-1px;opacity:0;position:absolute;top:-1px;width:calc(2px + 100%)}.ia-fileUpload .ia-fileUpload-label{color:#1f2b4d;font-size:14px;font-weight:500;line-height:20px;text-align:center}.ia-fileUpload.ia-fileUpload-error{background-position:50% 24px;background-size:55px;border:1px solid #e15554;box-shadow:inset 0 0 20px #e155541f}.ia-fileUpload.ia-fileUpload-error .ia-fileUpload-label{color:#e15554}.ia-fileUpload.ia-fileUpload-disabled{opacity:.5;pointer-events:none}.ia-fileUpload.ia-fileUpload-dragOver{background:none;border:1px solid #4259ee;box-shadow:inset 0 0 96px 23px #4259ee24;justify-content:center}.ia-fileUpload.ia-fileUpload-dragOver .ia-fileUpload-dragOverLabel{color:#1f2b4d;font-family:Manrope,sans-serif;font-size:14px;font-weight:700;line-height:21px}.ia-fileUpload .ia-fileUpload-label-secondary{color:#7a8294;font-size:12px;font-weight:500;line-height:16px;text-align:center}.ia-fileUpload .ia-fileUpload-label-primary,.ia-fileUpload-validFileType{align-items:center;display:flex;gap:4px}.ia-fileUpload-validFileType{color:#60697d;font-size:14px;font-weight:500;height:16px;line-height:16.1px}.ia-fileUpload-validFileType .ia-fileUpload-validFileType-container{position:relative}.ia-fileUpload-validFileType .ia-fileUpload-validFileType-container .ia-fileUpload-validFileType-arrow{cursor:pointer;height:11px;margin-top:2px;width:11px}.ia-fileUpload-validFileType .ia-fileUpload-validFileType-container .ia-fileUpload-validFileType-arrow.rotate{transform:rotate(180deg)}.ia-fileUpload-validFileType .ia-fileUpload-validFileType-menu{background-color:#fff;border-radius:8px;bottom:32px;box-shadow:0 0 4px #0000001f;display:flex;flex-direction:column;gap:5px;left:0;padding-bottom:16px;padding-top:16px;position:absolute;width:100px;z-index:99}.ia-fileUpload-validFileType .ia-fileUpload-validFileType-menu .ia-fileUpload-validFileType-menu-item{align-items:center;color:#1f2b4d;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:25px;line-height:20px;padding-left:18px;text-align:left}.ia-fileUpload-validFileType .ia-fileUpload-validFileType-menu .ia-fileUpload-validFileType-menu-item:hover{background-color:#f5f6fa}.ia-fileUpload-previewItem{align-items:stretch;border:1px solid #e7e7e7;border-radius:12px;display:flex;flex-direction:column;gap:8px;justify-content:space-between;padding:16px}.ia-fileUpload-previewItem img{max-height:36px;max-width:36px}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress{display:flex;gap:8px;justify-content:space-between;z-index:99}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details{display:flex;gap:8px}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details .ia-fileUpload-previewItemIcon{background-repeat:no-repeat;height:36px;width:36px}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details .ia-fileUpload-previewItem-info{display:flex;flex-direction:column;gap:2px;justify-content:space-between}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details .ia-fileUpload-previewItem-info .ia-fileUpload-previewItem-name{color:#0b0b0b;font-size:12px;font-weight:700;line-height:18px}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details .ia-fileUpload-previewItem-info .ia-fileUpload-previewItem-name.ia-fileUpload-previewItem-name-failed{color:#7a8294}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details .ia-fileUpload-previewItem-info .ia-fileUpload-previewItem-size{color:#6d6d6d;font-size:12px;font-weight:500;line-height:16px}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details .ia-fileUpload-previewItem-info .ia-fileUpload-previewItem-size.uploadFailed{color:#e15554}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details .ia-fileUpload-previewItem-info .ia-fileUpload-previewItem-size.uploading{color:#0000}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details .ia-fileUpload-previewItem-info .ia-fileUpload-previewItem-size.disabled{color:#7a8294}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-actions{align-items:center;display:flex;gap:14px}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-actions .ia-fileUpload-previewItem-action{color:#4259ee;cursor:pointer}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-actions .ia-fileUpload-previewItem-action.removeIcon{color:#60697d}.ia-fileUpload-previewItem .ia-fileUpload-progress .progressbar_layout{margin:0}.ia-fileUpload-previewItem .ia-fileUpload-progress .progressbar_label_container{margin:-24px 0 8px}.ia-fileUpload-actions{display:flex;gap:16px;justify-content:flex-end}")),document.head.appendChild(e)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}}();
|
|
1
|
+
!function(){"use strict";try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode(".ia-fileUpload-container{align-items:stretch;background-color:#fff;border-radius:16px;box-shadow:0 0 16px 2px #0000000f;display:flex;flex-direction:column;gap:16px;min-height:274px;padding:16px;width:550px}.ia-fileUpload-container .ia-fileUpload-container-header{align-items:center;display:flex;justify-content:space-between}.ia-fileUpload-container .ia-fileUpload-container-header .ia-fileUpload-container-header-title{display:flex;flex-direction:column;gap:2px}.ia-fileUpload-container .ia-fileUpload-container-header .ia-fileUpload-container-header-title .ia-fileUpload-container-header-title-primary{color:#0d152c;font-family:Manrope,sans-serif;font-size:16px;font-weight:800;line-height:24px}.ia-fileUpload-container .ia-fileUpload-container-header .ia-fileUpload-container-header-title .ia-fileUpload-container-header-title-secondary{color:#7a8294;font-family:Manrope,sans-serif;font-size:14px;font-weight:500;line-height:20px}.ia-fileUpload-container .ia-fileUpload-container-header .ia-fileUpload-container-header-closeIcon{color:#60697d;cursor:pointer}.ia-fileUpload{align-items:center;background-color:initial;background-position:50% 24px;background-repeat:no-repeat;background-size:55px;border:1px dashed #b3bdf8;border-radius:8px;display:flex;flex-direction:column;gap:8px;height:148px;justify-content:flex-end;margin:auto;padding:24px 16px;position:relative;width:100%}.ia-fileUpload input{height:calc(2px + 100%);left:-1px;opacity:0;position:absolute;top:-1px;width:calc(2px + 100%)}.ia-fileUpload .ia-fileUpload-label{color:#1f2b4d;font-size:14px;font-weight:500;line-height:20px;text-align:center}.ia-fileUpload.ia-fileUpload-error{background-position:50% 24px;background-size:55px;border:1px solid #e15554;box-shadow:inset 0 0 20px #e155541f}.ia-fileUpload.ia-fileUpload-error .ia-fileUpload-label{color:#e15554}.ia-fileUpload.ia-fileUpload-disabled{opacity:.5;pointer-events:none}.ia-fileUpload.ia-fileUpload-dragOver{background:none;border:1px solid #4259ee;box-shadow:inset 0 0 96px 23px #4259ee24;justify-content:center}.ia-fileUpload.ia-fileUpload-dragOver .ia-fileUpload-dragOverLabel{color:#1f2b4d;font-family:Manrope,sans-serif;font-size:14px;font-weight:700;line-height:21px}.ia-fileUpload .ia-fileUpload-label-secondary{color:#7a8294;font-size:12px;font-weight:500;line-height:16px;text-align:center}.ia-fileUpload .ia-fileUpload-label-primary,.ia-fileUpload-validFileType{align-items:center;display:flex;gap:4px}.ia-fileUpload-validFileType{color:#60697d;font-size:14px;font-weight:500;height:16px;line-height:16.1px}.ia-fileUpload-validFileType .ia-fileUpload-validFileType-container{position:relative}.ia-fileUpload-validFileType .ia-fileUpload-validFileType-container .ia-fileUpload-validFileType-arrow{cursor:pointer;height:11px;margin-top:2px;width:11px}.ia-fileUpload-validFileType .ia-fileUpload-validFileType-container .ia-fileUpload-validFileType-arrow.rotate{transform:rotate(180deg)}.ia-fileUpload-validFileType .ia-fileUpload-validFileType-menu{background-color:#fff;border-radius:8px;bottom:32px;box-shadow:0 0 4px #0000001f;display:flex;flex-direction:column;gap:5px;left:0;padding-bottom:16px;padding-top:16px;position:absolute;width:100px;z-index:99}.ia-fileUpload-validFileType .ia-fileUpload-validFileType-menu .ia-fileUpload-validFileType-menu-item{align-items:center;color:#1f2b4d;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:25px;line-height:20px;padding-left:18px;text-align:left}.ia-fileUpload-validFileType .ia-fileUpload-validFileType-menu .ia-fileUpload-validFileType-menu-item:hover{background-color:#f5f6fa}.ia-fileUpload-previewItem{align-items:stretch;border:1px solid #e7e7e7;border-radius:12px;display:flex;flex-direction:column;gap:8px;justify-content:space-between;padding:16px}.ia-fileUpload-previewItem img{max-height:36px;max-width:36px}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress{display:flex;gap:8px;justify-content:space-between;z-index:99}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details{display:flex;gap:8px}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details .ia-fileUpload-previewItemIcon{background-repeat:no-repeat;height:36px;width:36px}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details .ia-fileUpload-previewItem-info{display:flex;flex-direction:column;gap:2px;justify-content:space-between}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details .ia-fileUpload-previewItem-info .ia-fileUpload-previewItem-name{color:#0b0b0b;font-size:12px;font-weight:700;line-height:18px}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details .ia-fileUpload-previewItem-info .ia-fileUpload-previewItem-name.ia-fileUpload-previewItem-name-failed{color:#7a8294}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details .ia-fileUpload-previewItem-info .ia-fileUpload-previewItem-size{color:#6d6d6d;font-size:12px;font-weight:500;line-height:16px}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details .ia-fileUpload-previewItem-info .ia-fileUpload-previewItem-size.uploadFailed{color:#e15554}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details .ia-fileUpload-previewItem-info .ia-fileUpload-previewItem-size.uploading{color:#0000}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-details .ia-fileUpload-previewItem-info .ia-fileUpload-previewItem-size.disabled{color:#7a8294}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-actions{align-items:center;display:flex;gap:14px}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-actions .ia-fileUpload-previewItem-action{color:#4259ee;cursor:pointer}.ia-fileUpload-previewItem .ia-fileUpload-previewItem-exceptProgress .ia-fileUpload-previewItem-actions .ia-fileUpload-previewItem-action.removeIcon{color:#60697d}.ia-fileUpload-previewItem .ia-fileUpload-progress .progressbar_layout{margin:0}.ia-fileUpload-previewItem .ia-fileUpload-progress .progressbar_label_container{margin:-24px 0 8px}.ia-fileUpload-actions{display:flex;gap:16px;justify-content:flex-end}.ia-fileUpload-validFileType-menu .MuiPaper-root{min-width:226px}.ia-fileUpload-validFileType-menu .MuiPaper-root .ia-btn-icon{margin-bottom:0}.ia-template-preview{background-color:#f5f6fa;border-radius:8px;box-shadow:0 0 16px 2px #0000000f;padding:12px}.ia-template-preview .ia-template-preview__title{color:#0d152c;font-size:14px;font-weight:800;line-height:21px;margin:0 0 10px}.ia-template-preview .ia-template-preview__grid-wrapper{border:1px solid #d9dde7;border-radius:4px;overflow-x:auto}.ia-template-preview .ia-template-preview__table{background-color:#fff;border-collapse:collapse;table-layout:fixed;width:100%}.ia-template-preview .ia-template-preview__table td,.ia-template-preview .ia-template-preview__table th{border:1px solid #d9dde7;font-size:12px;line-height:20px;padding:0;text-align:center}.ia-template-preview .ia-template-preview__col-header,.ia-template-preview .ia-template-preview__row-header{background-color:#f3f4f6;color:#6b7280;font-size:12px;font-weight:500}.ia-template-preview .ia-template-preview__row-header{max-width:28px;min-width:28px!important;width:28px}.ia-template-preview .ia-template-preview__cell{background-color:#fff}.ia-template-preview .ia-template-preview__cell-value{color:#0d152c;font-size:12px;font-weight:600;overflow:hidden;padding-inline:2px;text-overflow:ellipsis;white-space:nowrap}")),document.head.appendChild(e)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}}();
|
|
2
2
|
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { useRef, useState, useEffect, useCallback, useMemo } from "react";
|
|
4
4
|
import default_1 from "../../node_modules/@mui/icons-material/Clear.js";
|
|
5
5
|
import { Button } from "../Button/index.js";
|
|
6
|
+
import { Menu } from "../Menu/index.js";
|
|
6
7
|
import { ProgressBar } from "../ProgressBar/index.js";
|
|
7
8
|
import { FILE_TYPE_MIME_MAP, SIZE_CONVENTIONS } from "./FileUpload.types.js";
|
|
8
9
|
import { loadFileUploadAssets } from "./fileUploadAssets.loader.js";
|
|
10
|
+
import { TemplatePreview } from "./TemplatePreview.js";
|
|
11
|
+
import { useFileUploadTemplateState } from "./useFileUploadTemplateState.js";
|
|
9
12
|
|
|
10
13
|
function FileUpload({
|
|
11
14
|
fileList,
|
|
@@ -21,8 +24,15 @@ function FileUpload({
|
|
|
21
24
|
secondaryButtonProps,
|
|
22
25
|
onClose,
|
|
23
26
|
customFailedActionButton,
|
|
27
|
+
options: templateColumnOptions,
|
|
28
|
+
selectedValues: templateColumnSelections,
|
|
29
|
+
onMenuPrimaryButtonClick: onTemplateMenuPrimaryClick,
|
|
30
|
+
onTertiaryButtonClick: onTemplateMenuTertiaryClick,
|
|
24
31
|
className,
|
|
25
|
-
|
|
32
|
+
id,
|
|
33
|
+
"data-testid": dataTestId,
|
|
34
|
+
"aria-label": ariaLabel = "File upload",
|
|
35
|
+
role = "region"
|
|
26
36
|
}) {
|
|
27
37
|
var _a;
|
|
28
38
|
const wrapperRef = useRef(null);
|
|
@@ -32,7 +42,22 @@ function FileUpload({
|
|
|
32
42
|
const [isError, setIsError] = useState(false);
|
|
33
43
|
const [isDraggedOver, setIsDraggedOver] = useState(false);
|
|
34
44
|
const [showDownLoadMenu, setShowDownLoadMenu] = useState(false);
|
|
45
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
46
|
+
const [anchorEl, setAnchorEl] = useState(null);
|
|
35
47
|
const numberOfFiles = numFiles >= 1 ? Math.floor(numFiles) : 1;
|
|
48
|
+
const {
|
|
49
|
+
selected,
|
|
50
|
+
hasTemplateOptions,
|
|
51
|
+
menuOptions,
|
|
52
|
+
handleMenuSelectionChange,
|
|
53
|
+
handleMenuPrimaryClick,
|
|
54
|
+
handleMenuTertiaryClick
|
|
55
|
+
} = useFileUploadTemplateState({
|
|
56
|
+
options: templateColumnOptions,
|
|
57
|
+
selectedValues: templateColumnSelections,
|
|
58
|
+
onMenuPrimaryButtonClick: onTemplateMenuPrimaryClick,
|
|
59
|
+
onTertiaryButtonClick: onTemplateMenuTertiaryClick
|
|
60
|
+
});
|
|
36
61
|
const [assets, setAssets] = useState(null);
|
|
37
62
|
useEffect(() => {
|
|
38
63
|
void loadFileUploadAssets().then(setAssets);
|
|
@@ -126,6 +151,17 @@ function FileUpload({
|
|
|
126
151
|
if (!Array.isArray(validFileTypes)) return null;
|
|
127
152
|
return validFileTypes.find((vft) => vft.templateDownloader) ?? null;
|
|
128
153
|
}, [validFileTypes]);
|
|
154
|
+
const selectedFileType = useMemo(() => {
|
|
155
|
+
var _a2, _b;
|
|
156
|
+
return ((_a2 = validFileTypes.find((vft) => vft.fileType === "xlsx")) == null ? void 0 : _a2.fileType) ?? ((_b = validFileTypes[0]) == null ? void 0 : _b.fileType) ?? "xlsx";
|
|
157
|
+
}, [validFileTypes]);
|
|
158
|
+
const tertiaryFileType = useMemo(() => {
|
|
159
|
+
var _a2;
|
|
160
|
+
return (_a2 = validFileTypes.find((vft) => vft.fileType !== "xlsx")) == null ? void 0 : _a2.fileType;
|
|
161
|
+
}, [validFileTypes]);
|
|
162
|
+
const handleMenuClose = useCallback(() => {
|
|
163
|
+
setIsOpen(false);
|
|
164
|
+
}, []);
|
|
129
165
|
const handleTemplateDownloadMenu = useCallback(() => {
|
|
130
166
|
setShowDownLoadMenu((prev) => !prev);
|
|
131
167
|
}, []);
|
|
@@ -133,22 +169,41 @@ function FileUpload({
|
|
|
133
169
|
const target = event.target;
|
|
134
170
|
if (!target.closest(".ia-fileUpload-validFileType-container") && !target.closest(".ia-fileUpload-validFileType-menu-item")) {
|
|
135
171
|
setShowDownLoadMenu(false);
|
|
172
|
+
setIsOpen(false);
|
|
136
173
|
}
|
|
137
174
|
}, []);
|
|
138
175
|
useEffect(() => {
|
|
176
|
+
const handleEscape = (event) => {
|
|
177
|
+
if (event.key === "Escape") {
|
|
178
|
+
setShowDownLoadMenu(false);
|
|
179
|
+
}
|
|
180
|
+
};
|
|
139
181
|
if (showDownLoadMenu) {
|
|
140
182
|
document.addEventListener("click", handleClickOutside);
|
|
183
|
+
document.addEventListener("keydown", handleEscape);
|
|
141
184
|
}
|
|
142
185
|
return () => {
|
|
143
186
|
document.removeEventListener("click", handleClickOutside);
|
|
187
|
+
document.removeEventListener("keydown", handleEscape);
|
|
144
188
|
};
|
|
145
189
|
}, [showDownLoadMenu, handleClickOutside]);
|
|
190
|
+
useEffect(() => {
|
|
191
|
+
if (isOpen) {
|
|
192
|
+
document.addEventListener("click", handleClickOutside);
|
|
193
|
+
}
|
|
194
|
+
return () => {
|
|
195
|
+
document.removeEventListener("click", handleClickOutside);
|
|
196
|
+
};
|
|
197
|
+
}, [isOpen, handleClickOutside]);
|
|
146
198
|
return /* @__PURE__ */ jsxs(
|
|
147
199
|
"div",
|
|
148
200
|
{
|
|
149
201
|
ref: containerRef,
|
|
202
|
+
"aria-label": ariaLabel,
|
|
150
203
|
className: `ia-fileUpload-container ${className ?? ""}`.trim(),
|
|
151
204
|
"data-testid": dataTestId,
|
|
205
|
+
id,
|
|
206
|
+
role,
|
|
152
207
|
children: [
|
|
153
208
|
/* @__PURE__ */ jsxs("div", { className: "ia-fileUpload-container-header", children: [
|
|
154
209
|
/* @__PURE__ */ jsxs("div", { className: "ia-fileUpload-container-header-title", children: [
|
|
@@ -246,15 +301,27 @@ function FileUpload({
|
|
|
246
301
|
/* @__PURE__ */ jsxs(
|
|
247
302
|
"div",
|
|
248
303
|
{
|
|
304
|
+
"aria-expanded": validFileTypes.length > 1 || templateColumnOptions ? showDownLoadMenu || isOpen : void 0,
|
|
305
|
+
"aria-haspopup": validFileTypes.length > 1 || templateColumnOptions ? "menu" : void 0,
|
|
306
|
+
"aria-label": "Download template",
|
|
249
307
|
role: "button",
|
|
250
308
|
style: { display: "flex", alignItems: "center", gap: "4px" },
|
|
251
309
|
tabIndex: 0,
|
|
252
|
-
onClick:
|
|
310
|
+
onClick: (e) => {
|
|
311
|
+
var _a2;
|
|
312
|
+
setIsOpen(true);
|
|
313
|
+
setAnchorEl(e.currentTarget);
|
|
314
|
+
if (validFileTypes.length > 1 || templateColumnOptions) {
|
|
315
|
+
handleTemplateDownloadMenu();
|
|
316
|
+
} else {
|
|
317
|
+
(_a2 = templateDownloader.templateDownloader) == null ? void 0 : _a2.call(templateDownloader);
|
|
318
|
+
}
|
|
319
|
+
},
|
|
253
320
|
onKeyDown: (e) => {
|
|
254
321
|
var _a2;
|
|
255
322
|
if (e.key === "Enter" || e.key === " ") {
|
|
256
323
|
e.preventDefault();
|
|
257
|
-
if (validFileTypes.length > 1) {
|
|
324
|
+
if (validFileTypes.length > 1 || templateColumnOptions) {
|
|
258
325
|
handleTemplateDownloadMenu();
|
|
259
326
|
} else {
|
|
260
327
|
(_a2 = templateDownloader.templateDownloader) == null ? void 0 : _a2.call(templateDownloader);
|
|
@@ -262,33 +329,69 @@ function FileUpload({
|
|
|
262
329
|
}
|
|
263
330
|
},
|
|
264
331
|
children: [
|
|
265
|
-
/* @__PURE__ */ jsx(Button, { "data-fileUpload": "templateDownload", variant: "url", children: "Download template" }),
|
|
332
|
+
/* @__PURE__ */ jsx(Button, { "data-fileUpload": "templateDownload", tabIndex: -1, variant: "url", children: "Download template" }),
|
|
266
333
|
assets && /* @__PURE__ */ jsx(
|
|
267
334
|
"img",
|
|
268
335
|
{
|
|
269
336
|
alt: "",
|
|
270
|
-
|
|
271
|
-
|
|
337
|
+
"aria-hidden": "true",
|
|
338
|
+
className: `ia-fileUpload-validFileType-arrow ${(validFileTypes.length > 1 || templateColumnOptions) && showDownLoadMenu ? "rotate" : ""}`,
|
|
339
|
+
src: validFileTypes.length > 1 || templateColumnOptions ? assets.downArrow : assets.uploadDownloadIcon
|
|
340
|
+
}
|
|
341
|
+
),
|
|
342
|
+
templateColumnOptions && isOpen && /* @__PURE__ */ jsx(
|
|
343
|
+
Menu,
|
|
344
|
+
{
|
|
345
|
+
withActionButtons: true,
|
|
346
|
+
withCheckbox: true,
|
|
347
|
+
anchorEl,
|
|
348
|
+
customHeaderProps: {
|
|
349
|
+
onSelectionChange: handleMenuSelectionChange,
|
|
350
|
+
selectedItems: selected
|
|
351
|
+
},
|
|
352
|
+
iconPlacement: "left",
|
|
353
|
+
menuContainerClassName: "ia-fileUpload-validFileType-menu",
|
|
354
|
+
MenuProps: {
|
|
355
|
+
anchorOrigin: {
|
|
356
|
+
vertical: "top",
|
|
357
|
+
horizontal: "left"
|
|
358
|
+
},
|
|
359
|
+
transformOrigin: {
|
|
360
|
+
vertical: "bottom",
|
|
361
|
+
horizontal: "left"
|
|
362
|
+
}
|
|
363
|
+
},
|
|
364
|
+
open: isOpen,
|
|
365
|
+
options: menuOptions,
|
|
366
|
+
primaryButtonProps: { label: selectedFileType },
|
|
367
|
+
tertiaryButtonLabel: tertiaryFileType,
|
|
368
|
+
onClose: handleMenuClose,
|
|
369
|
+
onPrimaryButtonClick: () => {
|
|
370
|
+
handleMenuPrimaryClick(selectedFileType);
|
|
371
|
+
},
|
|
372
|
+
onTertiaryButtonClick: handleMenuTertiaryClick
|
|
272
373
|
}
|
|
273
374
|
)
|
|
274
375
|
]
|
|
275
376
|
}
|
|
276
377
|
),
|
|
277
|
-
showDownLoadMenu && /* @__PURE__ */ jsx("div", { className: "ia-fileUpload-validFileType-menu", children: validFileTypes.map((vft) => /* @__PURE__ */ jsx(
|
|
378
|
+
showDownLoadMenu && !templateColumnOptions && /* @__PURE__ */ jsx("div", { className: "ia-fileUpload-validFileType-menu", role: "menu", children: validFileTypes.map((vft) => /* @__PURE__ */ jsx(
|
|
278
379
|
"span",
|
|
279
380
|
{
|
|
280
381
|
className: "ia-fileUpload-validFileType-menu-item",
|
|
281
|
-
role: "
|
|
382
|
+
role: "menuitem",
|
|
282
383
|
tabIndex: 0,
|
|
283
384
|
onClick: () => {
|
|
284
385
|
var _a2;
|
|
285
|
-
|
|
386
|
+
(_a2 = vft.templateDownloader) == null ? void 0 : _a2.call(vft);
|
|
387
|
+
setShowDownLoadMenu(false);
|
|
286
388
|
},
|
|
287
389
|
onKeyDown: (e) => {
|
|
288
390
|
var _a2;
|
|
289
391
|
if (e.key === "Enter" || e.key === " ") {
|
|
290
392
|
e.preventDefault();
|
|
291
393
|
(_a2 = vft.templateDownloader) == null ? void 0 : _a2.call(vft);
|
|
394
|
+
setShowDownLoadMenu(false);
|
|
292
395
|
}
|
|
293
396
|
},
|
|
294
397
|
children: `.${vft.fileType}`
|
|
@@ -297,6 +400,7 @@ function FileUpload({
|
|
|
297
400
|
)) })
|
|
298
401
|
] })
|
|
299
402
|
] }) : null,
|
|
403
|
+
hasTemplateOptions && templateDownloader ? /* @__PURE__ */ jsx(TemplatePreview, { selectedColumns: selected }) : null,
|
|
300
404
|
fileList.map((item) => {
|
|
301
405
|
let fileSize = item.file.size;
|
|
302
406
|
let i = 0;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { MenuOption } from '../Menu';
|
|
2
|
+
import { FileUploadProps } from './FileUpload.types';
|
|
3
|
+
|
|
4
|
+
type FileUploadTemplateProps = Pick<FileUploadProps, 'options' | 'selectedValues' | 'onMenuPrimaryButtonClick' | 'onTertiaryButtonClick'>;
|
|
5
|
+
export declare function useFileUploadTemplateState({ options: templateColumnOptions, selectedValues: templateColumnSelections, onMenuPrimaryButtonClick: onTemplateMenuPrimaryClick, onTertiaryButtonClick: onTemplateMenuTertiaryClick, }: FileUploadTemplateProps): {
|
|
6
|
+
selected: string[];
|
|
7
|
+
hasTemplateOptions: boolean;
|
|
8
|
+
menuOptions: MenuOption[];
|
|
9
|
+
handleMenuSelectionChange: (items: string[]) => void;
|
|
10
|
+
handleMenuPrimaryClick: (selectedFileType: string) => void;
|
|
11
|
+
handleMenuTertiaryClick: () => void;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=useFileUploadTemplateState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFileUploadTemplateState.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/useFileUploadTemplateState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,KAAK,uBAAuB,GAAG,IAAI,CACjC,eAAe,EACf,SAAS,GAAG,gBAAgB,GAAG,0BAA0B,GAAG,uBAAuB,CACpF,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,EACzC,OAAO,EAAE,qBAAqB,EAC9B,cAAc,EAAE,wBAAwB,EACxC,wBAAwB,EAAE,0BAA0B,EACpD,qBAAqB,EAAE,2BAA2B,GACnD,EAAE,uBAAuB;;;;uCAmB8B,MAAM,EAAE;+CAKzC,MAAM;;EAkB5B"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { useState, useMemo, useEffect, useCallback } from "react";
|
|
2
|
+
import { toCamelCaseLabels, toCamelCase } from "./fileUploadUtils.js";
|
|
3
|
+
function useFileUploadTemplateState({
|
|
4
|
+
options: templateColumnOptions,
|
|
5
|
+
selectedValues: templateColumnSelections,
|
|
6
|
+
onMenuPrimaryButtonClick: onTemplateMenuPrimaryClick,
|
|
7
|
+
onTertiaryButtonClick: onTemplateMenuTertiaryClick
|
|
8
|
+
}) {
|
|
9
|
+
const [selected, setSelected] = useState(
|
|
10
|
+
() => toCamelCaseLabels(templateColumnSelections)
|
|
11
|
+
);
|
|
12
|
+
const hasTemplateOptions = ((templateColumnOptions == null ? void 0 : templateColumnOptions.length) ?? 0) > 0;
|
|
13
|
+
const menuOptions = useMemo(() => {
|
|
14
|
+
if (!templateColumnOptions) return [];
|
|
15
|
+
return templateColumnOptions.map((item) => ({
|
|
16
|
+
label: item,
|
|
17
|
+
value: toCamelCase(item)
|
|
18
|
+
}));
|
|
19
|
+
}, [templateColumnOptions]);
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
setSelected(toCamelCaseLabels(templateColumnSelections));
|
|
22
|
+
}, [templateColumnSelections]);
|
|
23
|
+
const handleMenuSelectionChange = useCallback((items) => {
|
|
24
|
+
setSelected(items);
|
|
25
|
+
}, []);
|
|
26
|
+
const handleMenuPrimaryClick = useCallback(
|
|
27
|
+
(selectedFileType) => {
|
|
28
|
+
onTemplateMenuPrimaryClick == null ? void 0 : onTemplateMenuPrimaryClick(selectedFileType, selected);
|
|
29
|
+
},
|
|
30
|
+
[onTemplateMenuPrimaryClick, selected]
|
|
31
|
+
);
|
|
32
|
+
const handleMenuTertiaryClick = useCallback(() => {
|
|
33
|
+
onTemplateMenuTertiaryClick == null ? void 0 : onTemplateMenuTertiaryClick(selected);
|
|
34
|
+
}, [onTemplateMenuTertiaryClick, selected]);
|
|
35
|
+
return {
|
|
36
|
+
selected,
|
|
37
|
+
hasTemplateOptions,
|
|
38
|
+
menuOptions,
|
|
39
|
+
handleMenuSelectionChange,
|
|
40
|
+
handleMenuPrimaryClick,
|
|
41
|
+
handleMenuTertiaryClick
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export {
|
|
45
|
+
useFileUploadTemplateState
|
|
46
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RootComponentProps } from '../../types';
|
|
2
2
|
|
|
3
3
|
export interface FilterTagValue {
|
|
4
4
|
label: string;
|
|
@@ -23,7 +23,7 @@ export interface SavedFilterListOption {
|
|
|
23
23
|
label: string;
|
|
24
24
|
value: string;
|
|
25
25
|
}
|
|
26
|
-
export interface FiltersStripProps extends
|
|
26
|
+
export interface FiltersStripProps extends RootComponentProps {
|
|
27
27
|
/** Currently selected saved filter label */
|
|
28
28
|
selectedFilter?: string;
|
|
29
29
|
/** Callback when saved filter selection changes */
|
|
@@ -7,7 +7,7 @@ export { AppliedFilters } from './AppliedFilters';
|
|
|
7
7
|
/**
|
|
8
8
|
* Horizontal strip with saved/recent filter dropdown and filter tags. Optional "All Filters" button.
|
|
9
9
|
*/
|
|
10
|
-
export declare function FiltersStrip({ selectedFilter, setSelectedFilter, recentFilters, savedFiltersBadge, savedFilterLists, filterTags, handleBadgeChange, handleApplyFilter, handleCancelFilter, filterButtonLabel, filterButtonClick, filterButtonProps, hideSelectedFilterBadge, savedFilterSelectedBadge, handleSavedRecentFilterDropdown, filterDropDownLabel, className, 'data-testid': dataTestId, }: FiltersStripProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function FiltersStrip({ selectedFilter, setSelectedFilter, recentFilters, savedFiltersBadge, savedFilterLists, filterTags, handleBadgeChange, handleApplyFilter, handleCancelFilter, filterButtonLabel, filterButtonClick, filterButtonProps, hideSelectedFilterBadge, savedFilterSelectedBadge, handleSavedRecentFilterDropdown, filterDropDownLabel, className, id, 'data-testid': dataTestId, 'aria-label': ariaLabel, role, }: FiltersStripProps): import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
export declare namespace FiltersStrip {
|
|
12
12
|
var displayName: string;
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FiltersStrip/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,4BAA4B,CAAC;AAEpC,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAC3B,cAAmB,EACnB,iBAA4B,EAC5B,aAAkB,EAClB,iBAAsB,EACtB,gBAAqB,EACrB,UAAe,EACf,iBAA4B,EAC5B,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiC,EACjC,iBAAiB,EACjB,iBAAiB,EACjB,uBAA+B,EAC/B,wBAA+B,EAC/B,+BAA0C,EAC1C,mBAAmB,EACnB,SAAS,EACT,aAAa,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FiltersStrip/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,4BAA4B,CAAC;AAEpC,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAC3B,cAAmB,EACnB,iBAA4B,EAC5B,aAAkB,EAClB,iBAAsB,EACtB,gBAAqB,EACrB,UAAe,EACf,iBAA4B,EAC5B,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiC,EACjC,iBAAiB,EACjB,iBAAiB,EACjB,uBAA+B,EAC/B,wBAA+B,EAC/B,+BAA0C,EAC1C,mBAAmB,EACnB,SAAS,EACT,EAAE,EACF,aAAa,EAAE,UAAU,EACzB,YAAY,EAAE,SAAqB,EACnC,IAAe,GAChB,EAAE,iBAAiB,2CA+GnB;yBArIe,YAAY"}
|
|
@@ -29,7 +29,10 @@ function FiltersStrip({
|
|
|
29
29
|
},
|
|
30
30
|
filterDropDownLabel,
|
|
31
31
|
className,
|
|
32
|
-
|
|
32
|
+
id,
|
|
33
|
+
"data-testid": dataTestId,
|
|
34
|
+
"aria-label": ariaLabel = "Filters",
|
|
35
|
+
role = "region"
|
|
33
36
|
}) {
|
|
34
37
|
const [showSeparator, setShowSeparator] = useState(false);
|
|
35
38
|
const [currDropShow, setCurrDropShow] = useState(null);
|
|
@@ -45,8 +48,11 @@ function FiltersStrip({
|
|
|
45
48
|
return /* @__PURE__ */ jsxs(
|
|
46
49
|
"div",
|
|
47
50
|
{
|
|
51
|
+
"aria-label": ariaLabel,
|
|
48
52
|
className: `impact-info-panel-container ${className ?? ""}`.trim(),
|
|
49
53
|
"data-testid": dataTestId,
|
|
54
|
+
id,
|
|
55
|
+
role,
|
|
50
56
|
children: [
|
|
51
57
|
/* @__PURE__ */ jsxs("div", { className: "impact-info-panel-left-container", children: [
|
|
52
58
|
hasDropDown && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { RootComponentProps } from '../../types';
|
|
3
3
|
import { AvatarProps } from '../Avatar/Avatar.types';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -14,7 +14,7 @@ export interface HeaderDropMenuOption {
|
|
|
14
14
|
* Header component props.
|
|
15
15
|
* Avatar props can be extended via avatarProps; dropMenuOptions drive the avatar dropdown menu.
|
|
16
16
|
*/
|
|
17
|
-
export interface HeaderProps extends
|
|
17
|
+
export interface HeaderProps extends RootComponentProps {
|
|
18
18
|
/** Title shown next to the logo */
|
|
19
19
|
title?: ReactNode;
|
|
20
20
|
/** User name shown in avatar and default menu option */
|
|
@@ -4,7 +4,7 @@ export type { HeaderProps, HeaderDropMenuOption } from './Header.types';
|
|
|
4
4
|
/**
|
|
5
5
|
* App header with logo, title, actions (help, message, notification, chatbot) and avatar menu.
|
|
6
6
|
*/
|
|
7
|
-
export declare function Header({ title, userName, handleLogoClick, showNotificationIcon, notificationIndicator, handleNotificationClick, showHelpIcon, handleHelpClick, showMessageIcon, handleMessageClick, showChatBotIcon, handleChatBotClick, isMessageIconDisabled, isNotificationDnd, dropMenuOptions, isChatBotDisabled, centerComponent, avatarProps, avatarType, className, 'data-testid': dataTestId, }: HeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare function Header({ title, userName, handleLogoClick, showNotificationIcon, notificationIndicator, handleNotificationClick, showHelpIcon, handleHelpClick, showMessageIcon, handleMessageClick, showChatBotIcon, handleChatBotClick, isMessageIconDisabled, isNotificationDnd, dropMenuOptions, isChatBotDisabled, centerComponent, avatarProps, avatarType, className, id, 'data-testid': dataTestId, role, }: HeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export declare namespace Header {
|
|
9
9
|
var displayName: string;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Header/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,sBAAsB,CAAC;AAS9B,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAExE;;GAEG;AACH,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,QAAQ,EACR,eAAe,EACf,oBAA2B,EAC3B,qBAA4B,EAC5B,uBAAuB,EACvB,YAAmB,EACnB,eAAe,EACf,eAAsB,EACtB,kBAAkB,EAClB,eAAsB,EACtB,kBAAkB,EAClB,qBAA6B,EAC7B,iBAAyB,EACzB,eAAoE,EACpE,iBAAyB,EACzB,eAAe,EACf,WAAW,EACX,UAA6B,EAC7B,SAAS,EACT,aAAa,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Header/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,sBAAsB,CAAC;AAS9B,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAExE;;GAEG;AACH,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,QAAQ,EACR,eAAe,EACf,oBAA2B,EAC3B,qBAA4B,EAC5B,uBAAuB,EACvB,YAAmB,EACnB,eAAe,EACf,eAAsB,EACtB,kBAAkB,EAClB,eAAsB,EACtB,kBAAkB,EAClB,qBAA6B,EAC7B,iBAAyB,EACzB,eAAoE,EACpE,iBAAyB,EACzB,eAAe,EACf,WAAW,EACX,UAA6B,EAC7B,SAAS,EACT,EAAE,EACF,aAAa,EAAE,UAAU,EACzB,IAAe,GAChB,EAAE,WAAW,2CAuIb;yBA/Je,MAAM"}
|