impact-ui 4.0.15 → 4.0.17
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/README.md +3 -1
- package/dist/_virtual/index13.js +2 -2
- package/dist/_virtual/index14.js +2 -2
- package/dist/_virtual/index15.js +2 -2
- package/dist/components/CreateItemFlow/CreateItemFlow.types.d.ts +39 -16
- package/dist/components/CreateItemFlow/CreateItemFlow.types.d.ts.map +1 -1
- package/dist/components/CreateItemFlow/index.d.ts +2 -1
- package/dist/components/CreateItemFlow/index.d.ts.map +1 -1
- package/dist/components/CreateItemFlow/index.js +116 -66
- package/dist/components/DatePicker/datePickerDropdown.d.ts.map +1 -1
- package/dist/components/DatePicker/datePickerDropdown.js +3 -0
- package/dist/components/DatePicker/datePickerFooter.d.ts +3 -1
- package/dist/components/DatePicker/datePickerFooter.d.ts.map +1 -1
- package/dist/components/DatePicker/datePickerFooter.js +24 -2
- package/dist/components/DateRangePicker/dateRangePickerDropdown.d.ts +1 -1
- package/dist/components/DateRangePicker/dateRangePickerDropdown.d.ts.map +1 -1
- package/dist/components/DateRangePicker/dateRangePickerDropdown.js +35 -12
- package/dist/components/DateRangePicker/dateRangePickerFooter.d.ts +1 -1
- package/dist/components/DateRangePicker/dateRangePickerFooter.d.ts.map +1 -1
- package/dist/components/DateRangePicker/dateRangePickerFooter.js +5 -3
- package/dist/components/DateRangePicker/index.d.ts.map +1 -1
- package/dist/components/DateRangePicker/index.js +2 -0
- package/dist/components/DynamicLayout/index.d.ts +9 -12
- package/dist/components/DynamicLayout/index.d.ts.map +1 -1
- package/dist/components/DynamicLayout/index.js +37 -34
- package/dist/components/Header/index.js +2 -2
- package/dist/components/NewCreateItemFlow/NewCreateItemFlow.types.d.ts +21 -0
- package/dist/components/NewCreateItemFlow/NewCreateItemFlow.types.d.ts.map +1 -0
- package/dist/components/NewCreateItemFlow/index.d.ts +5 -0
- package/dist/components/NewCreateItemFlow/index.d.ts.map +1 -0
- package/dist/components/NewCreateItemFlow/index.js +93 -0
- package/dist/components/NewDynamicLayout/NewDynamicLayout.types.d.ts +26 -0
- package/dist/components/NewDynamicLayout/NewDynamicLayout.types.d.ts.map +1 -0
- package/dist/components/NewDynamicLayout/index.d.ts +15 -0
- package/dist/components/NewDynamicLayout/index.d.ts.map +1 -0
- package/dist/components/NewDynamicLayout/index.js +45 -0
- package/dist/components/Notification/NotificationBody/NotificationList/NotificationListItem.d.ts.map +1 -1
- package/dist/components/Notification/NotificationBody/NotificationList/NotificationListItem.js +6 -31
- package/dist/components/Notification/NotificationBody/NotificationPanelContent.js +2 -2
- package/dist/components/Notification/NotificationBody/NotificationTaskList.js +1 -2
- package/dist/components/Notification/index.js +1 -1
- package/dist/components/Table/AgGridHeader.d.ts.map +1 -1
- package/dist/components/Table/AgGridHeader.js +3 -1
- package/dist/components/Table/NewAdvanceSearchModal/NewAdvanceSearchModalItem.js +1 -1
- package/dist/components/Table/Table.types.d.ts +4 -0
- package/dist/components/Table/Table.types.d.ts.map +1 -1
- package/dist/components/Table/filterUtils.d.ts +13 -0
- package/dist/components/Table/filterUtils.d.ts.map +1 -1
- package/dist/components/Table/filterUtils.js +18 -9
- package/dist/components/Table/index.d.ts.map +1 -1
- package/dist/components/Table/index.js +15 -5
- package/dist/components/Table/tableFunctions.d.ts +1 -0
- package/dist/components/Table/tableFunctions.d.ts.map +1 -1
- package/dist/components/Table/tableFunctions.js +2 -2
- package/dist/components/Table/tableHeader.d.ts +2 -1
- package/dist/components/Table/tableHeader.d.ts.map +1 -1
- package/dist/components/Table/tableHeader.js +2 -0
- package/dist/components/Table/tableMoreOptions.d.ts +2 -1
- package/dist/components/Table/tableMoreOptions.d.ts.map +1 -1
- package/dist/components/Table/tableMoreOptions.js +58 -14
- package/dist/components/Table/tableSettings.d.ts.map +1 -1
- package/dist/components/Table/tableSettings.js +3 -2
- package/dist/components/TableOld/index.d.ts.map +1 -1
- package/dist/components/TableOld/index.js +36 -10
- package/dist/components/TableOld/tableFunctions.d.ts +1 -0
- package/dist/components/TableOld/tableFunctions.d.ts.map +1 -1
- package/dist/components/TableOld/tableFunctions.js +2 -2
- package/dist/components/TableOld/tableHeader.d.ts +2 -1
- package/dist/components/TableOld/tableHeader.d.ts.map +1 -1
- package/dist/components/TableOld/tableHeader.js +2 -0
- package/dist/components/index.d.ts +5 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +4 -0
- package/dist/components/shared/tableColumnSettings/agGridColumnSettingsApi.d.ts +17 -0
- package/dist/components/shared/tableColumnSettings/agGridColumnSettingsApi.d.ts.map +1 -0
- package/dist/components/shared/tableColumnSettings/agGridColumnSettingsApi.js +52 -0
- package/dist/components/shared/tableColumnSettings/columnsSettingsColumnRow.d.ts +12 -0
- package/dist/components/shared/tableColumnSettings/columnsSettingsColumnRow.d.ts.map +1 -0
- package/dist/components/shared/tableColumnSettings/columnsSettingsColumnRow.js +264 -0
- package/dist/components/shared/tableColumnSettings/columnsSettingsVirtualList.d.ts +39 -0
- package/dist/components/shared/tableColumnSettings/columnsSettingsVirtualList.d.ts.map +1 -0
- package/dist/components/shared/tableColumnSettings/columnsSettingsVirtualList.js +298 -0
- package/dist/components/shared/tableColumnSettings/columnsTabV36.d.ts +2 -0
- package/dist/components/shared/tableColumnSettings/columnsTabV36.d.ts.map +1 -0
- package/dist/components/shared/tableColumnSettings/columnsTabV36.js +1531 -0
- package/dist/components/shared/tableColumnSettings/index.d.ts +4 -0
- package/dist/components/shared/tableColumnSettings/index.d.ts.map +1 -0
- package/dist/components/shared/tableColumnSettings/tableSettingsV36.d.ts +41 -0
- package/dist/components/shared/tableColumnSettings/tableSettingsV36.d.ts.map +1 -0
- package/dist/components/shared/tableColumnSettings/tableSettingsV36.js +328 -0
- package/dist/i18n/I18nContext.d.ts.map +1 -1
- package/dist/i18n/I18nContext.js +1 -0
- package/dist/locales/de-DE.json.d.ts +12 -0
- package/dist/locales/de-DE.json.js +12 -0
- package/dist/locales/en-US.json.d.ts +13 -1
- package/dist/locales/en-US.json.js +13 -1
- package/dist/locales/es-ES.json.d.ts +678 -0
- package/dist/locales/es-ES.json.js +611 -0
- package/dist/locales/index.d.ts.map +1 -1
- package/dist/locales/index.js +11 -3
- package/dist/mcp-component-registry.json +102 -60
- package/dist/node_modules/@impactsmartsuite/impact-icons/dist/index.js +128 -75
- package/dist/node_modules/call-bind/index.js +1 -1
- package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/moment/dist/locale/es.js +98 -0
- package/dist/node_modules/react-with-styles-interface-css/dist/index.js +1 -1
- package/dist/stories/LocaleDictionaryCollapse.d.ts.map +1 -1
- package/dist/stories/tableStoryDefaults.d.ts +18 -0
- package/dist/stories/tableStoryDefaults.d.ts.map +1 -0
- package/dist/stories/tableStoryManyColumns.d.ts +44 -0
- package/dist/stories/tableStoryManyColumns.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DynamicLayoutProps } from './DynamicLayout.types';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
[key: string]: unknown;
|
|
3
|
+
export type { DynamicLayoutProps, InjectedLayoutProps } from './DynamicLayout.types';
|
|
4
|
+
/**
|
|
5
|
+
* Two-panel layout: left panel (fixed width) and right content that receives
|
|
6
|
+
* contentRef and hasScroll for scroll detection.
|
|
7
|
+
*/
|
|
8
|
+
export declare function DynamicLayout({ leftPanel, rightContent, leftPanelWidth, className, showStepper, ...props }: DynamicLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare namespace DynamicLayout {
|
|
10
|
+
var displayName: string;
|
|
12
11
|
}
|
|
13
|
-
export declare const DynamicLayout: ({ title, description, leftPanel, rightContent, leftPanelWidth, className, footer, ...props }: DynamicLayoutProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
-
export {};
|
|
15
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DynamicLayout/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DynamicLayout/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,6BAA6B,CAAC;AAErC,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAErF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,YAAY,EACZ,cAAc,EACd,SAAc,EACd,WAAmB,EACnB,GAAG,KAAK,EACT,EAAE,kBAAkB,2CA+CpB;yBAtDe,aAAa"}
|
|
@@ -1,45 +1,48 @@
|
|
|
1
|
-
!function(){"use strict";try{if("undefined"!=typeof document){var
|
|
1
|
+
!function(){"use strict";try{if("undefined"!=typeof document){var t=document.createElement("style");t.appendChild(document.createTextNode('.dynamic-layout-container{background-color:#fff;border-radius:8px;box-shadow:0 0 4px #ababab40;box-sizing:border-box;display:flex;top:90px;right:230px;bottom:90px;left:230px;position:absolute}.dynamic-layout-container .left-panel{border-right:1px solid #d9dde7;box-sizing:border-box;padding:100px 48px;width:375px}.dynamic-layout-container .left-panel h1{color:#1a1a1a;font-size:24px;font-weight:600;margin-bottom:16px}.dynamic-layout-container .left-panel p{color:#666;font-size:14px;line-height:1.5}.dynamic-layout-container .right-content{background-color:#fff;border-radius:0 8px 8px 0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;padding:100px 120px;width:calc(100% - 375px)}.dynamic-layout-container .right-content.with-stepper{padding-top:50px}.dynamic-layout-container .right-content .content-wrapper{flex:1;overflow-y:auto}.dynamic-layout-container .right-content .content-wrapper.no-scroll+.actions:before{display:none}.dynamic-layout-container .right-content .content-wrapper .heading{margin-bottom:32px}.dynamic-layout-container .right-content .content-wrapper .heading h2{color:#1a1a1a;font-size:20px;font-weight:600;margin-bottom:8px}.dynamic-layout-container .right-content .content-wrapper .heading .field-label{color:#666;font-size:14px;margin-bottom:8px}.dynamic-layout-container .right-content .content-wrapper .form-section{margin-bottom:32px}.dynamic-layout-container .right-content .content-wrapper .form-section .field-group{display:flex;flex-wrap:wrap;gap:24px;justify-content:flex-start;margin-bottom:24px}.dynamic-layout-container .right-content .actions{background:#fff;display:flex;flex-wrap:wrap;justify-content:space-between;padding-top:12px;position:relative}.dynamic-layout-container .right-content .actions:before{background:#d9dde7;content:"";height:1px;left:-25px;position:absolute;right:-25px;top:0}@media screen and (min-width:1400px) and (max-width:1600px){.dynamic-layout-container{top:90px;right:150px;bottom:90px;left:150px}.dynamic-layout-container .right-content{padding:50px 90px}.dynamic-layout-container .left-panel-image{width:100%}}@media screen and (max-width:1399px){.dynamic-layout-container .left-panel{width:300px}.dynamic-layout-container .right-content{width:calc(100% - 300px)}.dynamic-layout-container{top:90px;right:100px;bottom:90px;left:100px}.dynamic-layout-container .right-content{padding:50px 60px}.dynamic-layout-container .left-panel-image{width:100%}}')),document.head.appendChild(t)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}}();
|
|
2
2
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
|
-
import React__default, { useRef } from "react";
|
|
3
|
+
import React__default, { useRef, useState, useLayoutEffect } from "react";
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
import Box from "../../node_modules/@mui/material/Box/Box.js";
|
|
7
|
-
const DynamicLayout = ({
|
|
8
|
-
title,
|
|
9
|
-
description,
|
|
5
|
+
function DynamicLayout({
|
|
10
6
|
leftPanel,
|
|
11
7
|
rightContent,
|
|
12
8
|
leftPanelWidth,
|
|
13
|
-
className,
|
|
14
|
-
|
|
9
|
+
className = "",
|
|
10
|
+
showStepper = false,
|
|
15
11
|
...props
|
|
16
|
-
})
|
|
12
|
+
}) {
|
|
17
13
|
const contentRef = useRef(null);
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
14
|
+
const [hasScroll, setHasScroll] = useState(false);
|
|
15
|
+
useLayoutEffect(() => {
|
|
16
|
+
const el = contentRef.current;
|
|
17
|
+
const checkScroll = () => {
|
|
18
|
+
if (!el) return;
|
|
19
|
+
setHasScroll(el.scrollHeight > el.clientHeight);
|
|
20
|
+
};
|
|
21
|
+
checkScroll();
|
|
22
|
+
window.addEventListener("resize", checkScroll);
|
|
23
|
+
const resizeObserver = typeof ResizeObserver !== "undefined" ? new ResizeObserver(checkScroll) : null;
|
|
24
|
+
if (resizeObserver && el) resizeObserver.observe(el);
|
|
25
|
+
const mutationObserver = typeof MutationObserver !== "undefined" ? new MutationObserver(checkScroll) : null;
|
|
26
|
+
if (mutationObserver && el) {
|
|
27
|
+
mutationObserver.observe(el, {
|
|
28
|
+
childList: true,
|
|
29
|
+
subtree: true,
|
|
30
|
+
characterData: true,
|
|
31
|
+
attributes: true
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return () => {
|
|
35
|
+
window.removeEventListener("resize", checkScroll);
|
|
36
|
+
resizeObserver == null ? void 0 : resizeObserver.disconnect();
|
|
37
|
+
mutationObserver == null ? void 0 : mutationObserver.disconnect();
|
|
38
|
+
};
|
|
39
|
+
}, [rightContent]);
|
|
40
|
+
return /* @__PURE__ */ jsxs("div", { className: `dynamic-layout-container ${className}`.trim(), ...props, children: [
|
|
41
|
+
/* @__PURE__ */ jsx("div", { className: "left-panel", style: { width: leftPanelWidth }, children: leftPanel }),
|
|
42
|
+
/* @__PURE__ */ jsx("div", { className: `right-content ${showStepper ? "with-stepper" : ""}`, children: React__default.cloneElement(rightContent, { contentRef, hasScroll }) })
|
|
41
43
|
] });
|
|
42
|
-
}
|
|
44
|
+
}
|
|
45
|
+
DynamicLayout.displayName = "DynamicLayout";
|
|
43
46
|
export {
|
|
44
47
|
DynamicLayout
|
|
45
48
|
};
|
|
@@ -19,8 +19,8 @@ const MessageIcon = getAssetUrl("icons/message-icon.svg");
|
|
|
19
19
|
const NotificationDNDIcon = getAssetUrl("icons/notification-dnd.svg");
|
|
20
20
|
const CommentIconHeaderSvg = getAssetUrl("icons/comment-gray.svg");
|
|
21
21
|
const GlobalIcon = getAssetUrl("icons/Globe.svg");
|
|
22
|
-
const FLAG_WIDTH =
|
|
23
|
-
const FLAG_HEIGHT =
|
|
22
|
+
const FLAG_WIDTH = 24;
|
|
23
|
+
const FLAG_HEIGHT = 20;
|
|
24
24
|
const renderLanguageFlag = (icon) => {
|
|
25
25
|
if (!icon) {
|
|
26
26
|
return /* @__PURE__ */ jsx("span", { className: "impact-header-language-flag-placeholder" });
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ReactNode, CSSProperties, Ref } from 'react';
|
|
2
|
+
import { ButtonProps } from '../Button/Button.types';
|
|
3
|
+
|
|
4
|
+
export interface NewCreateItemFlowProps {
|
|
5
|
+
leftPanelWidth?: string | number;
|
|
6
|
+
leftPanelContent?: ReactNode;
|
|
7
|
+
leftPanelImage?: ReactNode;
|
|
8
|
+
rightContent?: ReactNode;
|
|
9
|
+
title?: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
prevButtonProps?: Partial<ButtonProps>;
|
|
12
|
+
extraButtonProp?: ReactNode;
|
|
13
|
+
nextButtonProps?: Partial<ButtonProps>;
|
|
14
|
+
customCSS?: CSSProperties;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface RightContentPanelProps {
|
|
18
|
+
contentRef?: Ref<HTMLDivElement>;
|
|
19
|
+
children?: ReactNode;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=NewCreateItemFlow.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NewCreateItemFlow.types.d.ts","sourceRoot":"","sources":["../../../src/components/NewCreateItemFlow/NewCreateItemFlow.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,WAAW,sBAAsB;IACrC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { NewCreateItemFlowProps } from './NewCreateItemFlow.types';
|
|
3
|
+
|
|
4
|
+
export declare const NewCreateItemFlow: React.MemoExoticComponent<({ leftPanelWidth, leftPanelContent, leftPanelImage, rightContent, title, description, prevButtonProps, extraButtonProp, nextButtonProps, customCSS, className, }: NewCreateItemFlowProps) => import("react/jsx-runtime").JSX.Element>;
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/NewCreateItemFlow/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAOpC,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,iCAAiC,CAAC;AAiGzC,eAAO,MAAM,iBAAiB,+LAnD3B,sBAAsB,6CAmDwC,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
!function(){"use strict";try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode('@keyframes ia-shimmer-horizontal{0%{background-position:100% 0}to{background-position:0 0}}@keyframes ia-shimmer-vertical{0%{background-position:0 100%}to{background-position:0 0}}@property --ia-shimmer-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes ia-shimmer-circular{0%{--ia-shimmer-angle:0deg}to{--ia-shimmer-angle:360deg}}.ia-shimmer{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(90deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer{animation:none;background-image:linear-gradient(90deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--ltr{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(90deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--ltr{animation:none;background-image:linear-gradient(90deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--rtl{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:reverse;background-color:#e8edf5;background-image:linear-gradient(270deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--rtl{animation:none;background-image:linear-gradient(270deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--btt{animation:ia-shimmer-vertical 1.6s ease-in-out infinite;animation-direction:reverse;background-color:#e8edf5;background-image:linear-gradient(0deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:100% 300%}@media (prefers-reduced-motion:reduce){.ia-shimmer--btt{animation:none;background-image:linear-gradient(0deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--ttb{animation:ia-shimmer-vertical 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(0deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:100% 300%}@media (prefers-reduced-motion:reduce){.ia-shimmer--ttb{animation:none;background-image:linear-gradient(0deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--circular{background-color:#e8edf5;background-repeat:no-repeat;--ia-shimmer-angle:0deg;animation:ia-shimmer-circular 1.6s linear infinite;background-image:conic-gradient(from var(--ia-shimmer-angle),#eceef4 0deg,#e8edf5 80deg,#d5dbe8 160deg,#e8edf5 260deg,#eceef4 1turn);background-size:100% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--circular{animation:none;background-image:conic-gradient(from 0deg,#eceef4,#e8edf5,#d5dbe8,#e8edf5 1turn)}}:root{--ia-focus-color:#4259ee;--ia-focus-bg:#fff;--ia-focus-ring-width:2px;--ia-focus-ring-offset:2px;--ia-modal-backdrop:#0d152ccc}*,:after,:before{box-sizing:border-box}body,textarea{font-style:normal;font-weight:500}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font-size:100%;font:inherit;margin:0;padding:0;vertical-align:initial}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}body{font-family:Manrope,sans-serif}.impact-notification-separator{background-color:#d9dde7;display:inline-block;height:16px;width:1.5px}.impact-notification-horizontal-separator{background-color:#d9dde7;display:inline-block;height:1px;width:100%}ul.storybook-order-list{list-style-type:disc;padding-left:12px}ul.storybook-order-list li{font-size:12px;line-height:20px;padding-bottom:8px}ul.storybook-order-list li strong{font-weight:800}ul.storybook-order-child-list{list-style-type:circle;padding-left:20px}ul.storybook-order-child-list li{font-size:12px;line-height:20px;padding-bottom:8px}ul.storybook-order-child-list li strong{font-weight:800}.content-wrapper{flex:1;min-height:100%}.form-section{width:100%}.form-section .form-section-title{color:#0d152c;font-size:16px;font-weight:600;margin-bottom:12px}.form-section .form-filter-block{background:#f7f9fd;border-radius:8px;margin-top:20px;padding:12px}.form-section .form-filter-block .form-filter-title{color:#0d152c;font-size:14px;font-weight:600;margin-bottom:16px}.form-section .form-filter-block .form-filter-fields{display:flex;flex-wrap:wrap;gap:24px}')),document.head.appendChild(e)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}}();
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import React__default, { memo } from "react";
|
|
4
|
+
import default_1 from "../../node_modules/@mui/icons-material/ChevronLeft.js";
|
|
5
|
+
import default_1$1 from "../../node_modules/@mui/icons-material/ChevronRight.js";
|
|
6
|
+
import { getAssetUrl } from "../../utils/assetBase.js";
|
|
7
|
+
import { Button } from "../Button/index.js";
|
|
8
|
+
import { NewDynamicLayout } from "../NewDynamicLayout/index.js";
|
|
9
|
+
|
|
10
|
+
import { useTranslation } from "../../i18n/useTranslation.js";
|
|
11
|
+
const createFlowImage = getAssetUrl("icons/create-item-flow-img.webp");
|
|
12
|
+
const LeftPanelContent = ({ leftPanelContent, leftPanelImage }) => {
|
|
13
|
+
const { t } = useTranslation();
|
|
14
|
+
return /* @__PURE__ */ jsxs("div", { className: "left-panel-content", children: [
|
|
15
|
+
leftPanelContent,
|
|
16
|
+
leftPanelImage ? leftPanelImage : /* @__PURE__ */ jsx(
|
|
17
|
+
"img",
|
|
18
|
+
{
|
|
19
|
+
alt: t("createItemFlow.imageAlt"),
|
|
20
|
+
className: "left-panel-image",
|
|
21
|
+
src: createFlowImage
|
|
22
|
+
}
|
|
23
|
+
)
|
|
24
|
+
] });
|
|
25
|
+
};
|
|
26
|
+
const RightContentPanel = ({ contentRef, children }) => /* @__PURE__ */ jsx("div", { ref: contentRef, className: "content-wrapper", children });
|
|
27
|
+
const NewCreateItemFlowComponent = ({
|
|
28
|
+
leftPanelWidth,
|
|
29
|
+
leftPanelContent = null,
|
|
30
|
+
leftPanelImage = null,
|
|
31
|
+
rightContent,
|
|
32
|
+
title,
|
|
33
|
+
description = "",
|
|
34
|
+
prevButtonProps = {},
|
|
35
|
+
extraButtonProp,
|
|
36
|
+
nextButtonProps = {},
|
|
37
|
+
customCSS,
|
|
38
|
+
className
|
|
39
|
+
}) => {
|
|
40
|
+
const { t } = useTranslation();
|
|
41
|
+
const {
|
|
42
|
+
children: prevLabel = t("createItemFlow.back"),
|
|
43
|
+
icon: prevIcon,
|
|
44
|
+
...restPrevProps
|
|
45
|
+
} = prevButtonProps;
|
|
46
|
+
const {
|
|
47
|
+
children: nextLabel = t("createItemFlow.next"),
|
|
48
|
+
icon: nextIcon,
|
|
49
|
+
...restNextProps
|
|
50
|
+
} = nextButtonProps;
|
|
51
|
+
const resolvedTitle = title ?? t("createItemFlow.defaultTitle");
|
|
52
|
+
return /* @__PURE__ */ jsx(
|
|
53
|
+
NewDynamicLayout,
|
|
54
|
+
{
|
|
55
|
+
className,
|
|
56
|
+
description,
|
|
57
|
+
footer: /* @__PURE__ */ jsxs(React__default.Fragment, { children: [
|
|
58
|
+
/* @__PURE__ */ jsx(
|
|
59
|
+
Button,
|
|
60
|
+
{
|
|
61
|
+
icon: "icon" in prevButtonProps ? prevIcon : /* @__PURE__ */ jsx(default_1, {}),
|
|
62
|
+
variant: restPrevProps.variant ?? "tertiary",
|
|
63
|
+
...restPrevProps,
|
|
64
|
+
children: prevLabel
|
|
65
|
+
}
|
|
66
|
+
),
|
|
67
|
+
/* @__PURE__ */ jsxs("div", { className: "footer-right-group", children: [
|
|
68
|
+
extraButtonProp,
|
|
69
|
+
/* @__PURE__ */ jsx(
|
|
70
|
+
Button,
|
|
71
|
+
{
|
|
72
|
+
icon: "icon" in nextButtonProps ? nextIcon : /* @__PURE__ */ jsx(default_1$1, {}),
|
|
73
|
+
iconPlacement: nextButtonProps.iconPlacement ?? "right",
|
|
74
|
+
variant: restNextProps.variant ?? "primary",
|
|
75
|
+
...restNextProps,
|
|
76
|
+
children: nextLabel
|
|
77
|
+
}
|
|
78
|
+
)
|
|
79
|
+
] })
|
|
80
|
+
] }),
|
|
81
|
+
leftPanel: /* @__PURE__ */ jsx(LeftPanelContent, { leftPanelContent, leftPanelImage }),
|
|
82
|
+
leftPanelWidth,
|
|
83
|
+
rightContent: /* @__PURE__ */ jsx(RightContentPanel, { children: rightContent }),
|
|
84
|
+
style: customCSS,
|
|
85
|
+
title: resolvedTitle
|
|
86
|
+
}
|
|
87
|
+
);
|
|
88
|
+
};
|
|
89
|
+
const NewCreateItemFlow = memo(NewCreateItemFlowComponent);
|
|
90
|
+
NewCreateItemFlow.displayName = "NewCreateItemFlow";
|
|
91
|
+
export {
|
|
92
|
+
NewCreateItemFlow
|
|
93
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ReactElement, ReactNode } from 'react';
|
|
2
|
+
import { BaseComponentProps } from '../../types';
|
|
3
|
+
|
|
4
|
+
export interface InjectedLayoutProps {
|
|
5
|
+
contentRef: React.RefObject<HTMLDivElement | null>;
|
|
6
|
+
hasScroll: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface NewDynamicLayoutProps extends BaseComponentProps {
|
|
9
|
+
/**
|
|
10
|
+
* Left panel content (e.g. title, description, image)
|
|
11
|
+
*/
|
|
12
|
+
leftPanel: ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Right side content (single element; receives contentRef and hasScroll via cloneElement)
|
|
15
|
+
*/
|
|
16
|
+
rightContent: ReactElement<InjectedLayoutProps>;
|
|
17
|
+
/**
|
|
18
|
+
* Width of the left panel (e.g. "375px" or "300px")
|
|
19
|
+
*/
|
|
20
|
+
leftPanelWidth?: string | number;
|
|
21
|
+
/**
|
|
22
|
+
* Whether to show stepper styling on the right content area
|
|
23
|
+
*/
|
|
24
|
+
showStepper?: boolean;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=NewDynamicLayout.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NewDynamicLayout.types.d.ts","sourceRoot":"","sources":["../../../src/components/NewDynamicLayout/NewDynamicLayout.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACnD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAChD;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
|
|
3
|
+
interface NewDynamicLayoutProps {
|
|
4
|
+
title?: React.ReactNode;
|
|
5
|
+
description?: React.ReactNode;
|
|
6
|
+
leftPanel?: React.ReactNode;
|
|
7
|
+
rightContent: React.ReactElement;
|
|
8
|
+
leftPanelWidth?: string | number;
|
|
9
|
+
className?: string;
|
|
10
|
+
footer?: React.ReactNode;
|
|
11
|
+
[key: string]: unknown;
|
|
12
|
+
}
|
|
13
|
+
export declare const NewDynamicLayout: ({ title, description, leftPanel, rightContent, leftPanelWidth, className, footer, ...props }: NewDynamicLayoutProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/NewDynamicLayout/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAE1D,OAAO,gCAAgC,CAAC;AAGxC,UAAU,qBAAqB;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,gBAAgB,GAAI,8FAS9B,qBAAqB,4CAgCvB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
!function(){"use strict";try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode('@keyframes ia-shimmer-horizontal{0%{background-position:100% 0}to{background-position:0 0}}@keyframes ia-shimmer-vertical{0%{background-position:0 100%}to{background-position:0 0}}@property --ia-shimmer-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes ia-shimmer-circular{0%{--ia-shimmer-angle:0deg}to{--ia-shimmer-angle:360deg}}.ia-shimmer{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(90deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer{animation:none;background-image:linear-gradient(90deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--ltr{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(90deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--ltr{animation:none;background-image:linear-gradient(90deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--rtl{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:reverse;background-color:#e8edf5;background-image:linear-gradient(270deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--rtl{animation:none;background-image:linear-gradient(270deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--btt{animation:ia-shimmer-vertical 1.6s ease-in-out infinite;animation-direction:reverse;background-color:#e8edf5;background-image:linear-gradient(0deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:100% 300%}@media (prefers-reduced-motion:reduce){.ia-shimmer--btt{animation:none;background-image:linear-gradient(0deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--ttb{animation:ia-shimmer-vertical 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(0deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:100% 300%}@media (prefers-reduced-motion:reduce){.ia-shimmer--ttb{animation:none;background-image:linear-gradient(0deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--circular{background-color:#e8edf5;background-repeat:no-repeat;--ia-shimmer-angle:0deg;animation:ia-shimmer-circular 1.6s linear infinite;background-image:conic-gradient(from var(--ia-shimmer-angle),#eceef4 0deg,#e8edf5 80deg,#d5dbe8 160deg,#e8edf5 260deg,#eceef4 1turn);background-size:100% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--circular{animation:none;background-image:conic-gradient(from 0deg,#eceef4,#e8edf5,#d5dbe8,#e8edf5 1turn)}}:root{--ia-focus-color:#4259ee;--ia-focus-bg:#fff;--ia-focus-ring-width:2px;--ia-focus-ring-offset:2px;--ia-modal-backdrop:#0d152ccc}*,:after,:before{box-sizing:border-box}body,textarea{font-style:normal;font-weight:500}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font-size:100%;font:inherit;margin:0;padding:0;vertical-align:initial}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}body{font-family:Manrope,sans-serif}.impact-notification-separator{background-color:#d9dde7;display:inline-block;height:16px;width:1.5px}.impact-notification-horizontal-separator{background-color:#d9dde7;display:inline-block;height:1px;width:100%}ul.storybook-order-list{list-style-type:disc;padding-left:12px}ul.storybook-order-list li{font-size:12px;line-height:20px;padding-bottom:8px}ul.storybook-order-list li strong{font-weight:800}ul.storybook-order-child-list{list-style-type:circle;padding-left:20px}ul.storybook-order-child-list li{font-size:12px;line-height:20px;padding-bottom:8px}ul.storybook-order-child-list li strong{font-weight:800}.new-dynamic-layout-container{background-color:#fff;border-radius:24px!important;box-shadow:0 0 4px #ababab40;display:flex;flex-direction:column;top:0;right:24px;bottom:24px;left:24px;justify-content:center;position:absolute}.new-dynamic-layout-container .new-dynamic-layout-header{border-bottom:1px solid #d9dde7;display:flex;flex-direction:column;gap:8px;padding:24px}.new-dynamic-layout-container .new-dynamic-layout-header h1{color:#0d152c;font-size:24px;font-weight:800;line-height:36px}.new-dynamic-layout-container .new-dynamic-layout-header p{color:#7a8294;font-size:12px;font-weight:500;line-height:16px;text-transform:capitalize}.new-dynamic-layout-container .new-dynamic-layout-body{background-position:100% 0;background-repeat:no-repeat;background-size:contain;border-bottom-right-radius:24px;display:flex;flex:1;min-height:0;overflow:hidden;padding:24px}.new-dynamic-layout-container .new-dynamic-layout-body .left-panel{border-right:1px solid #d9dde7;padding-right:24px;width:var(--left-panel-width,220px)}.new-dynamic-layout-container .new-dynamic-layout-body .left-panel .left-panel-content{display:flex;flex-direction:column;height:100%;justify-content:space-between}.new-dynamic-layout-container .new-dynamic-layout-body .left-panel .left-panel-image{height:130px;margin:0 auto;width:132px}.new-dynamic-layout-container .new-dynamic-layout-body .right-column{display:flex;flex-direction:column;justify-content:space-between;min-height:0;padding-left:24px;width:calc(100% - var(--left-panel-width, 220px))}.new-dynamic-layout-container .new-dynamic-layout-body .right-column .right-content{display:flex;flex:1;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto}.new-dynamic-layout-container .new-dynamic-layout-body .right-column .new-dynamic-layout-footer{border-top:1px solid #d9dde7;display:flex;justify-content:space-between;padding-top:24px}.new-dynamic-layout-container .new-dynamic-layout-body .right-column .new-dynamic-layout-footer .footer-right-group{align-items:center;display:flex;gap:12px}@media screen and (min-width:1400px) and (max-width:1600px){.new-dynamic-layout-body{padding:20px}.left-panel-image{width:100%}}@media screen and (max-width:1399px){.new-dynamic-layout-body{padding:16px}.left-panel{flex-shrink:0;padding-right:16px;width:fit-content}.right-column{flex:1;padding-left:16px;width:auto}.left-panel-image{height:auto;max-width:132px;width:100%}}')),document.head.appendChild(e)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}}();
|
|
2
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
|
+
import React__default, { useRef } from "react";
|
|
4
|
+
|
|
5
|
+
import { getAssetUrl } from "../../utils/assetBase.js";
|
|
6
|
+
import Box from "../../node_modules/@mui/material/Box/Box.js";
|
|
7
|
+
const NewDynamicLayout = ({
|
|
8
|
+
title,
|
|
9
|
+
description,
|
|
10
|
+
leftPanel,
|
|
11
|
+
rightContent,
|
|
12
|
+
leftPanelWidth,
|
|
13
|
+
className,
|
|
14
|
+
footer,
|
|
15
|
+
...props
|
|
16
|
+
}) => {
|
|
17
|
+
const contentRef = useRef(null);
|
|
18
|
+
const contentBackgroundImage = getAssetUrl("images/review-tech-bg.webp");
|
|
19
|
+
return /* @__PURE__ */ jsxs(Box, { className: `new-dynamic-layout-container ${className || ""}`, ...props, children: [
|
|
20
|
+
/* @__PURE__ */ jsxs(Box, { className: "new-dynamic-layout-header", children: [
|
|
21
|
+
/* @__PURE__ */ jsx("h1", { children: title }),
|
|
22
|
+
description && /* @__PURE__ */ jsx("p", { children: description })
|
|
23
|
+
] }),
|
|
24
|
+
/* @__PURE__ */ jsxs(
|
|
25
|
+
Box,
|
|
26
|
+
{
|
|
27
|
+
className: "new-dynamic-layout-body",
|
|
28
|
+
style: leftPanelWidth ? {
|
|
29
|
+
"--left-panel-width": typeof leftPanelWidth === "number" ? `${leftPanelWidth}px` : leftPanelWidth
|
|
30
|
+
} : void 0,
|
|
31
|
+
sx: { backgroundImage: `url(${contentBackgroundImage})` },
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ jsx(Box, { className: "left-panel", children: leftPanel }),
|
|
34
|
+
/* @__PURE__ */ jsxs(Box, { className: "right-column", children: [
|
|
35
|
+
/* @__PURE__ */ jsx(Box, { className: "right-content", children: React__default.cloneElement(rightContent, { contentRef }) }),
|
|
36
|
+
footer && /* @__PURE__ */ jsx(Box, { className: "new-dynamic-layout-footer", children: footer })
|
|
37
|
+
] })
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
)
|
|
41
|
+
] });
|
|
42
|
+
};
|
|
43
|
+
export {
|
|
44
|
+
NewDynamicLayout
|
|
45
|
+
};
|
package/dist/components/Notification/NotificationBody/NotificationList/NotificationListItem.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationListItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/Notification/NotificationBody/NotificationList/NotificationListItem.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NotificationListItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/Notification/NotificationBody/NotificationList/NotificationListItem.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,wBAAwB,EAExB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAoGlC,UAAU,yBAAyB;IACjC,IAAI,EAAE,wBAAwB,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,qBAAqB,EAAE,CAAC;IAC5C,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,KAAK,IAAI,CAAC;IAClE,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAmDD,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,IAAI,EACJ,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,aAAqB,EACrB,qBAA6B,GAC9B,EAAE,yBAAyB,2CA0Y3B"}
|
package/dist/components/Notification/NotificationBody/NotificationList/NotificationListItem.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState, useRef, useCallback, useEffect, useMemo } from "react";
|
|
3
|
-
import { NotificationRead as NotificationRead_default, NotificationBookmark as NotificationBookmark_default, BookMarkedFill as BookMarkedFill_default } from "../../../../node_modules/@impactsmartsuite/impact-icons/dist/index.js";
|
|
4
3
|
import default_1$1 from "../../../../node_modules/@mui/icons-material/BookmarkBorderOutlined.js";
|
|
5
4
|
import default_1 from "../../../../node_modules/@mui/icons-material/DeleteOutlineOutlined.js";
|
|
6
5
|
import default_1$2 from "../../../../node_modules/@mui/icons-material/FileDownloadOutlined.js";
|
|
@@ -13,6 +12,9 @@ import { Tooltip } from "../../../Tooltip/index.js";
|
|
|
13
12
|
import { useTranslation } from "../../../../i18n/useTranslation.js";
|
|
14
13
|
const OpenInNewIcon = getAssetUrl("icons/OpenInNew.svg");
|
|
15
14
|
const SyncReloadIcon = getAssetUrl("icons/SyncReload.svg");
|
|
15
|
+
const NotificationReadIcon = getAssetUrl("icons/notification-read.svg");
|
|
16
|
+
const NotificationBookmarkIcon = getAssetUrl("icons/notification-bookmark.svg");
|
|
17
|
+
const BookMarkedFillIcon = getAssetUrl("icons/bookMarkedFill.svg");
|
|
16
18
|
const NOTIFICATION_DESCRIPTION_VISIBLE_MAX = 150;
|
|
17
19
|
function getVisibleTextLengthFromHtml(html) {
|
|
18
20
|
if (!html) {
|
|
@@ -299,32 +301,14 @@ function NotificationListItem({
|
|
|
299
301
|
list.titleIconsContent
|
|
300
302
|
] }),
|
|
301
303
|
showHeaderIcons && /* @__PURE__ */ jsx("span", { className: "impact-notification-separator" }),
|
|
302
|
-
list.showNOverdueIcon && /* @__PURE__ */ jsx(Tooltip, { orientation: "top", title: t("notification.noOverdue"), variant: "tertiary", children: /* @__PURE__ */ jsx(
|
|
303
|
-
NotificationRead_default,
|
|
304
|
-
{
|
|
305
|
-
"aria-hidden": void 0,
|
|
306
|
-
"aria-label": t("notification.readAlt"),
|
|
307
|
-
height: 16,
|
|
308
|
-
role: "img",
|
|
309
|
-
width: 16
|
|
310
|
-
}
|
|
311
|
-
) }),
|
|
304
|
+
list.showNOverdueIcon && /* @__PURE__ */ jsx(Tooltip, { orientation: "top", title: t("notification.noOverdue"), variant: "tertiary", children: /* @__PURE__ */ jsx("img", { alt: "notification-read", src: NotificationReadIcon }) }),
|
|
312
305
|
list.showFastApproachingIcon && /* @__PURE__ */ jsx(
|
|
313
306
|
Tooltip,
|
|
314
307
|
{
|
|
315
308
|
orientation: "top",
|
|
316
309
|
title: t("notification.fastApproaching"),
|
|
317
310
|
variant: "tertiary",
|
|
318
|
-
children: /* @__PURE__ */ jsx(
|
|
319
|
-
NotificationBookmark_default,
|
|
320
|
-
{
|
|
321
|
-
"aria-hidden": void 0,
|
|
322
|
-
"aria-label": t("notification.bookmarkAlt"),
|
|
323
|
-
height: 16,
|
|
324
|
-
role: "img",
|
|
325
|
-
width: 16
|
|
326
|
-
}
|
|
327
|
-
)
|
|
311
|
+
children: /* @__PURE__ */ jsx("img", { alt: "notification-bookmark", src: NotificationBookmarkIcon })
|
|
328
312
|
}
|
|
329
313
|
)
|
|
330
314
|
]
|
|
@@ -362,16 +346,7 @@ function NotificationListItem({
|
|
|
362
346
|
{
|
|
363
347
|
className: list.bookMarked ? "impact-notification-list-item-bookmark-btn" : void 0,
|
|
364
348
|
disabled: list.showBookMark,
|
|
365
|
-
icon: list.bookMarked ? /* @__PURE__ */ jsx(
|
|
366
|
-
BookMarkedFill_default,
|
|
367
|
-
{
|
|
368
|
-
"aria-hidden": void 0,
|
|
369
|
-
"aria-label": t("notification.bookmarked"),
|
|
370
|
-
height: 20,
|
|
371
|
-
role: "img",
|
|
372
|
-
width: 20
|
|
373
|
-
}
|
|
374
|
-
) : /* @__PURE__ */ jsx(default_1$1, {}),
|
|
349
|
+
icon: list.bookMarked ? /* @__PURE__ */ jsx("img", { alt: "bookmarked", src: BookMarkedFillIcon }) : /* @__PURE__ */ jsx(default_1$1, {}),
|
|
375
350
|
size: "small",
|
|
376
351
|
variant: "text",
|
|
377
352
|
onClick: (event) => {
|
|
@@ -54,7 +54,6 @@ function NotificationPanelContent({
|
|
|
54
54
|
isMultiSelectFilter: panel.isMultiSelectFilter,
|
|
55
55
|
isWithSearch,
|
|
56
56
|
listTypes,
|
|
57
|
-
onSearchChange,
|
|
58
57
|
moveToPendingDropdownOptions,
|
|
59
58
|
notificationList,
|
|
60
59
|
notificationPanels,
|
|
@@ -64,7 +63,8 @@ function NotificationPanelContent({
|
|
|
64
63
|
showBadgeLoader,
|
|
65
64
|
showNotificationListLoader,
|
|
66
65
|
type: panel.value,
|
|
67
|
-
onNotificationScrollToBottom
|
|
66
|
+
onNotificationScrollToBottom,
|
|
67
|
+
onSearchChange
|
|
68
68
|
}
|
|
69
69
|
);
|
|
70
70
|
}
|
|
@@ -102,8 +102,7 @@ function NotificationTaskList({
|
|
|
102
102
|
}, [debouncedSearch]);
|
|
103
103
|
const handleSearch = useCallback(
|
|
104
104
|
(event) => {
|
|
105
|
-
|
|
106
|
-
const value = ((_a2 = event == null ? void 0 : event.target) == null ? void 0 : _a2.value) ?? "";
|
|
105
|
+
const value = event.target.value ?? "";
|
|
107
106
|
setSearchInput(value);
|
|
108
107
|
debouncedSearch(value, event);
|
|
109
108
|
},
|
|
@@ -100,7 +100,6 @@ function Notification({
|
|
|
100
100
|
isHoverOnCard,
|
|
101
101
|
isWithSearch,
|
|
102
102
|
moveToPendingDropdownOptions,
|
|
103
|
-
onSearchChange,
|
|
104
103
|
notificationPanels: notificationPanels ?? [],
|
|
105
104
|
notificationTabs: notificationTabs ?? [],
|
|
106
105
|
scrollThreshold,
|
|
@@ -108,6 +107,7 @@ function Notification({
|
|
|
108
107
|
showBadgeLoader,
|
|
109
108
|
showNotificationListLoader,
|
|
110
109
|
onNotificationScrollToBottom,
|
|
110
|
+
onSearchChange,
|
|
111
111
|
onSettingButtonClick
|
|
112
112
|
}
|
|
113
113
|
) }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgGridHeader.d.ts","sourceRoot":"","sources":["../../../src/components/Table/AgGridHeader.tsx"],"names":[],"mappings":"AA8BA,iBAAS,YAAY,CAAC,EACpB,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,oBAA2B,EAC3B,GAAG,IAAI,EACR;;;;;;;;;;CAAA,
|
|
1
|
+
{"version":3,"file":"AgGridHeader.d.ts","sourceRoot":"","sources":["../../../src/components/Table/AgGridHeader.tsx"],"names":[],"mappings":"AA8BA,iBAAS,YAAY,CAAC,EACpB,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,oBAA2B,EAC3B,GAAG,IAAI,EACR;;;;;;;;;;CAAA,kDAi9BA;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -649,7 +649,9 @@ function AgGridHeader({
|
|
|
649
649
|
iconClickOnDisabled: (_X = (_W = rest.column) == null ? void 0 : _W.colDef) == null ? void 0 : _X.toShowDuplicateColumnInAdvanceSearch,
|
|
650
650
|
inputProps: {
|
|
651
651
|
...isNumericSearchColumn ? {
|
|
652
|
-
|
|
652
|
+
// "text" so Shift+Minus (_) is not blocked by decimal inputMode; keys are
|
|
653
|
+
// still validated in handleNumericKeyDown / isPartialNumericInput.
|
|
654
|
+
inputMode: "text",
|
|
653
655
|
onKeyDown: handleNumericKeyDown,
|
|
654
656
|
onPaste: (e) => {
|
|
655
657
|
handleNumericPaste(e, applySearchText);
|
|
@@ -277,7 +277,7 @@ const NewAdvanceSearchModalItem = ({
|
|
|
277
277
|
Input,
|
|
278
278
|
{
|
|
279
279
|
inputProps: isNumericColumn ? {
|
|
280
|
-
inputMode: "
|
|
280
|
+
inputMode: "text",
|
|
281
281
|
onKeyDown: handleNumericKeyDown,
|
|
282
282
|
onPaste: (event) => {
|
|
283
283
|
handleNumericPaste(event, valueField.onChange);
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { AgGridReactProps } from 'ag-grid-react';
|
|
3
3
|
|
|
4
|
+
/** Columns tab in table settings: legacy nested tree, or TableV36-style lazy mount + virtualization. */
|
|
5
|
+
export type ColumnSettingsMode = 'legacy' | 'v36';
|
|
4
6
|
/** Table wraps AG Grid but uses string tokens for row density; omit AG Grid's numeric-only `rowHeight`. */
|
|
5
7
|
export interface TableProps extends Omit<AgGridReactProps, 'rowHeight'> {
|
|
8
|
+
/** @default 'legacy' */
|
|
9
|
+
columnSettingsMode?: ColumnSettingsMode;
|
|
6
10
|
tableHeader?: string;
|
|
7
11
|
rowHeight?: 'comfort' | 'compact' | number;
|
|
8
12
|
height?: string | number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.types.d.ts","sourceRoot":"","sources":["../../../src/components/Table/Table.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,2GAA2G;AAC3G,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClD,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
|
|
1
|
+
{"version":3,"file":"Table.types.d.ts","sourceRoot":"","sources":["../../../src/components/Table/Table.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,wGAAwG;AACxG,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,KAAK,CAAC;AAElD,2GAA2G;AAC3G,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC;IACrE,wBAAwB;IACxB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClD,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
|
|
@@ -30,10 +30,18 @@ export declare const roundedFilterValueGetter: (decimals?: number) => (params: a
|
|
|
30
30
|
/**
|
|
31
31
|
* Matches any value that is, or could still become, a decimal number.
|
|
32
32
|
* Intermediate states such as "", "-", "1." are allowed so the user can keep typing.
|
|
33
|
+
* Underscores are also allowed between digits (and trailing, mid-type) since they are
|
|
34
|
+
* used as a digit-group separator by some data sources — e.g. "124_56", "1_234_567" —
|
|
35
|
+
* mirroring the underscore support already in `cleanNumericValue`/`GROUPED_DIGITS`.
|
|
33
36
|
* @param {string} value - The candidate input value
|
|
34
37
|
* @returns {boolean} - true when the value may be entered into a numeric field
|
|
35
38
|
*/
|
|
36
39
|
export declare const isPartialNumericInput: (value: any) => boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Maps a keydown event to the character that would be inserted into a numeric field.
|
|
42
|
+
* Shift+Minus is often reported as key "-" (not "_"), which must still become "_".
|
|
43
|
+
*/
|
|
44
|
+
export declare const resolveNumericKeyInsert: (event: any) => any;
|
|
37
45
|
/**
|
|
38
46
|
* Inserts a pasted value into a numeric field, reading it the way it was rendered:
|
|
39
47
|
* currency symbols, thousands separators and percent signs are dropped, accounting
|
|
@@ -57,6 +65,11 @@ export declare const handleNumericPaste: (event: any, applyValue: any) => void;
|
|
|
57
65
|
* Rejecting the key press rather than the resulting value keeps the caret in place;
|
|
58
66
|
* pasting is handled by handleNumericPaste, and drag-drop by the isPartialNumericInput
|
|
59
67
|
* check on change.
|
|
68
|
+
*
|
|
69
|
+
* The resulting value (current value with this key spliced in at the caret/selection) is
|
|
70
|
+
* checked against `isPartialNumericInput` directly, rather than hand-rolling per-character
|
|
71
|
+
* rules, so every character this gate accepts — digits, one ".", a leading "-", and now
|
|
72
|
+
* "_" as a digit-group separator — stays in lockstep with what onChange/paste allow.
|
|
60
73
|
* @param {object} event - React keyboard event from a numeric input
|
|
61
74
|
*/
|
|
62
75
|
export declare const handleNumericKeyDown: (event: any) => void;
|