@itwin/grouping-mapping-widget 0.7.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/lib/cjs/widget/components/BlockingOverlay.js +1 -2
  2. package/lib/cjs/widget/components/BlockingOverlay.js.map +1 -1
  3. package/lib/cjs/widget/components/BlockingOverlay.scss +8 -10
  4. package/lib/cjs/widget/components/GroupPropertyAction.d.ts +1 -1
  5. package/lib/cjs/widget/components/GroupPropertyAction.js +149 -302
  6. package/lib/cjs/widget/components/GroupPropertyAction.js.map +1 -1
  7. package/lib/cjs/widget/components/GroupPropertyAction.scss +82 -8
  8. package/lib/cjs/widget/components/GroupPropertyUtils.d.ts +21 -0
  9. package/lib/cjs/widget/components/GroupPropertyUtils.js +287 -0
  10. package/lib/cjs/widget/components/GroupPropertyUtils.js.map +1 -0
  11. package/lib/cjs/widget/components/GroupingMapping.scss +4 -1
  12. package/lib/cjs/widget/components/HorizontalTile.d.ts +5 -3
  13. package/lib/cjs/widget/components/HorizontalTile.js +9 -6
  14. package/lib/cjs/widget/components/HorizontalTile.js.map +1 -1
  15. package/lib/cjs/widget/components/HorizontalTile.scss +46 -22
  16. package/lib/cjs/widget/components/SelectProject.js +2 -0
  17. package/lib/cjs/widget/components/SelectProject.js.map +1 -1
  18. package/lib/cjs/widget/components/SortableHorizontalTile.d.ts +8 -0
  19. package/lib/cjs/widget/components/SortableHorizontalTile.js +51 -0
  20. package/lib/cjs/widget/components/SortableHorizontalTile.js.map +1 -0
  21. package/lib/esm/widget/components/BlockingOverlay.js +1 -2
  22. package/lib/esm/widget/components/BlockingOverlay.js.map +1 -1
  23. package/lib/esm/widget/components/BlockingOverlay.scss +8 -10
  24. package/lib/esm/widget/components/GroupPropertyAction.d.ts +1 -1
  25. package/lib/esm/widget/components/GroupPropertyAction.js +151 -304
  26. package/lib/esm/widget/components/GroupPropertyAction.js.map +1 -1
  27. package/lib/esm/widget/components/GroupPropertyAction.scss +82 -8
  28. package/lib/esm/widget/components/GroupPropertyUtils.d.ts +21 -0
  29. package/lib/esm/widget/components/GroupPropertyUtils.js +280 -0
  30. package/lib/esm/widget/components/GroupPropertyUtils.js.map +1 -0
  31. package/lib/esm/widget/components/GroupingMapping.scss +4 -1
  32. package/lib/esm/widget/components/HorizontalTile.d.ts +5 -3
  33. package/lib/esm/widget/components/HorizontalTile.js +9 -6
  34. package/lib/esm/widget/components/HorizontalTile.js.map +1 -1
  35. package/lib/esm/widget/components/HorizontalTile.scss +46 -22
  36. package/lib/esm/widget/components/SelectProject.js +2 -0
  37. package/lib/esm/widget/components/SelectProject.js.map +1 -1
  38. package/lib/esm/widget/components/SortableHorizontalTile.d.ts +8 -0
  39. package/lib/esm/widget/components/SortableHorizontalTile.js +30 -0
  40. package/lib/esm/widget/components/SortableHorizontalTile.js.map +1 -0
  41. package/package.json +8 -3
@@ -5,6 +5,9 @@
5
5
  @import "~@itwin/itwinui-css/scss/variables";
6
6
 
7
7
  .gmw-group-mapping-container {
8
+ position: absolute;
9
+ right: 0;
10
+ left: 0;
8
11
  display: flex;
9
12
  flex-direction: column;
10
13
  padding: $iui-baseline $iui-m;
@@ -15,4 +18,4 @@
15
18
 
16
19
  .gmw-field-legend {
17
20
  color: $iui-color-system-gray;
18
- }
21
+ }
@@ -1,13 +1,15 @@
1
1
  import type { ReactNode } from "react";
2
2
  import "./HorizontalTile.scss";
3
- interface HorizontalTileProps {
3
+ export interface HorizontalTileProps {
4
4
  title: string;
5
5
  actionGroup: ReactNode;
6
6
  subText?: string;
7
+ onClick?: () => void;
7
8
  onClickTitle?: () => void;
8
9
  titleTooltip?: string;
9
10
  subtextToolTip?: string;
11
+ selected?: boolean;
12
+ dragHandle?: ReactNode;
10
13
  }
11
- export declare const HorizontalTile: ({ title, subText, onClickTitle, titleTooltip, subtextToolTip, actionGroup }: HorizontalTileProps) => JSX.Element;
12
- export {};
14
+ export declare const HorizontalTile: (props: HorizontalTileProps) => JSX.Element;
13
15
  //# sourceMappingURL=HorizontalTile.d.ts.map
@@ -7,12 +7,15 @@ exports.HorizontalTile = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const itwinui_react_1 = require("@itwin/itwinui-react");
9
9
  require("./HorizontalTile.scss");
10
- const HorizontalTile = ({ title, subText, onClickTitle, titleTooltip, subtextToolTip, actionGroup }) => {
11
- return (react_1.default.createElement("div", { className: "gmw-horizontal-tile-container", "data-testid": "gmw-horizontal-tile" },
12
- react_1.default.createElement("div", { className: "gmw-body" },
13
- react_1.default.createElement(itwinui_react_1.Text, { className: `gmw-body-text ${onClickTitle ? "iui-anchor" : ""}`, onClick: onClickTitle, variant: "body", title: titleTooltip }, title),
14
- subText && react_1.default.createElement(itwinui_react_1.Text, { className: "gmw-body-text", isMuted: true, title: subtextToolTip, variant: "small" }, subText)),
15
- react_1.default.createElement("div", { className: "gmw-action-button", "data-testid": "tile-action-button" }, actionGroup)));
10
+ const classnames_1 = __importDefault(require("classnames"));
11
+ const HorizontalTile = (props) => {
12
+ return (react_1.default.createElement("div", { className: classnames_1.default("gmw-horizontal-tile-container", { "gmw-horizontal-tile-selected": props.selected }), onClick: props.onClick, "data-testid": "gmw-horizontal-tile" },
13
+ react_1.default.createElement("div", { className: "gmw-body-container" },
14
+ props.dragHandle,
15
+ react_1.default.createElement("div", { className: "gmw-body" },
16
+ react_1.default.createElement(itwinui_react_1.Text, { className: classnames_1.default("gmw-body-text", { "iui-anchor": !!props.onClickTitle }), onClick: props.onClickTitle, variant: "body", title: props.titleTooltip }, props.title),
17
+ props.subText && react_1.default.createElement(itwinui_react_1.Text, { className: "gmw-body-text", isMuted: true, title: props.subtextToolTip, variant: "small" }, props.subText))),
18
+ react_1.default.createElement("div", { className: "gmw-action-button", "data-testid": "tile-action-button" }, props.actionGroup)));
16
19
  };
17
20
  exports.HorizontalTile = HorizontalTile;
18
21
  //# sourceMappingURL=HorizontalTile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalTile.js","sourceRoot":"","sources":["../../../../src/widget/components/HorizontalTile.tsx"],"names":[],"mappings":";;;;;;AAKA,kDAA0B;AAC1B,wDAA4C;AAC5C,iCAA+B;AAWxB,MAAM,cAAc,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAsB,EAAE,EAAE;IAEhI,OAAO,CACL,uCAAK,SAAS,EAAC,+BAA+B,iBAAa,qBAAqB;QAC9E,uCAAK,SAAS,EAAC,UAAU;YACvB,8BAAC,oBAAI,IAAC,SAAS,EAAE,iBAAiB,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAC,MAAM,EAAC,KAAK,EAAE,YAAY,IAAG,KAAK,CAAQ;YAC9I,OAAO,IAAI,8BAAC,oBAAI,IAAC,SAAS,EAAC,eAAe,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAC,OAAO,IAAE,OAAO,CAAQ,CAC9G;QACN,uCAAK,SAAS,EAAC,mBAAmB,iBAAa,oBAAoB,IAChE,WAAW,CACR,CACF,CACP,CAAC;AAEJ,CAAC,CAAC;AAdW,QAAA,cAAc,kBAczB","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type { ReactNode } from \"react\";\nimport React from \"react\";\nimport { Text } from \"@itwin/itwinui-react\";\nimport \"./HorizontalTile.scss\";\n\ninterface HorizontalTileProps {\n title: string;\n actionGroup: ReactNode;\n subText?: string;\n onClickTitle?: () => void;\n titleTooltip?: string;\n subtextToolTip?: string;\n}\n\nexport const HorizontalTile = ({ title, subText, onClickTitle, titleTooltip, subtextToolTip, actionGroup}: HorizontalTileProps) => {\n\n return (\n <div className=\"gmw-horizontal-tile-container\" data-testid=\"gmw-horizontal-tile\">\n <div className=\"gmw-body\">\n <Text className={`gmw-body-text ${onClickTitle ? \"iui-anchor\" : \"\"}`} onClick={onClickTitle} variant=\"body\" title={titleTooltip}>{title}</Text>\n {subText && <Text className=\"gmw-body-text\" isMuted={true} title={subtextToolTip} variant=\"small\">{subText}</Text>}\n </div>\n <div className=\"gmw-action-button\" data-testid=\"tile-action-button\">\n {actionGroup}\n </div>\n </div>\n );\n\n};\n"]}
1
+ {"version":3,"file":"HorizontalTile.js","sourceRoot":"","sources":["../../../../src/widget/components/HorizontalTile.tsx"],"names":[],"mappings":";;;;;;AAKA,kDAA0B;AAC1B,wDAA4C;AAC5C,iCAA+B;AAC/B,4DAAoC;AAc7B,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IAE3D,OAAO,CACL,uCAAK,SAAS,EAAE,oBAAU,CAAC,+BAA+B,EAAE,EAAE,8BAA8B,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,iBAAc,qBAAqB;QACxK,uCAAK,SAAS,EAAC,oBAAoB;YAChC,KAAK,CAAC,UAAU;YACjB,uCAAK,SAAS,EAAC,UAAU;gBACvB,8BAAC,oBAAI,IAAC,SAAS,EAAE,oBAAU,CAAC,eAAe,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,EAAC,MAAM,EAAC,KAAK,EAAE,KAAK,CAAC,YAAY,IAAG,KAAK,CAAC,KAAK,CAAQ;gBAChL,KAAK,CAAC,OAAO,IAAI,8BAAC,oBAAI,IAAC,SAAS,EAAC,eAAe,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAC,OAAO,IAAE,KAAK,CAAC,OAAO,CAAQ,CAChI,CACF;QACN,uCAAK,SAAS,EAAC,mBAAmB,iBAAa,oBAAoB,IAChE,KAAK,CAAC,WAAW,CACd,CACF,CACP,CAAC;AAEJ,CAAC,CAAC;AAjBW,QAAA,cAAc,kBAiBzB","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type { ReactNode } from \"react\";\nimport React from \"react\";\nimport { Text } from \"@itwin/itwinui-react\";\nimport \"./HorizontalTile.scss\";\nimport classNames from \"classnames\";\n\nexport interface HorizontalTileProps {\n title: string;\n actionGroup: ReactNode;\n subText?: string;\n onClick?: () => void;\n onClickTitle?: () => void;\n titleTooltip?: string;\n subtextToolTip?: string;\n selected?: boolean;\n dragHandle?: ReactNode;\n}\n\nexport const HorizontalTile = (props: HorizontalTileProps) => {\n\n return (\n <div className={classNames(\"gmw-horizontal-tile-container\", { \"gmw-horizontal-tile-selected\": props.selected })} onClick={props.onClick} data-testid=\"gmw-horizontal-tile\">\n <div className=\"gmw-body-container\">\n {props.dragHandle}\n <div className=\"gmw-body\">\n <Text className={classNames(\"gmw-body-text\", { \"iui-anchor\": !!props.onClickTitle })} onClick={props.onClickTitle} variant=\"body\" title={props.titleTooltip}>{props.title}</Text>\n {props.subText && <Text className=\"gmw-body-text\" isMuted={true} title={props.subtextToolTip} variant=\"small\">{props.subText}</Text>}\n </div>\n </div>\n <div className=\"gmw-action-button\" data-testid=\"tile-action-button\">\n {props.actionGroup}\n </div>\n </div>\n );\n\n};\n"]}
@@ -2,31 +2,55 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- @import '~@itwin/itwinui-css/scss/variables';
5
+ @import "~@itwin/itwinui-css/scss/variables";
6
+ @import "~@itwin/itwinui-css/scss/icon/index";
6
7
 
7
- .gmw-horizontal-tile-container {
8
- display: flex;
9
- justify-content: space-between;
10
- border-radius: 5px;
11
- background-color: var(--iui-color-background-2);
12
- height: $iui-baseline * 4;
13
- padding: 5.5px $iui-s;
14
- .gmw-body {
8
+ .gmw-horizontal-tile {
9
+ &-container {
15
10
  display: flex;
16
- flex-direction: column;
17
- min-width: 0;
18
- justify-content: center;
19
- &-text {
20
- overflow: hidden;
21
- white-space: nowrap;
22
- text-overflow: ellipsis;
11
+ justify-content: space-between;
12
+ border-radius: 5px;
13
+ background-color: var(--iui-color-background-2);
14
+ min-height: $iui-baseline * 4;
15
+ padding: 5.5px $iui-s;
16
+
17
+ .gmw-body-container {
18
+ display: flex;
19
+ min-width: 0;
20
+ .gmw-drag-icon {
21
+ @include iui-icons-large();
22
+ justify-content: center;
23
+ height: 100%;
24
+ }
25
+ .gmw-body {
26
+ display: flex;
27
+ flex-direction: column;
28
+ min-width: 0;
29
+ justify-content: center;
30
+ &-text {
31
+ overflow: hidden;
32
+ white-space: nowrap;
33
+ text-overflow: ellipsis;
34
+ }
35
+ }
36
+ }
37
+ .gmw-action-button {
38
+ margin-left: 0;
39
+ align-self: center;
40
+ min-width: 36px;
41
+ margin-right: $iui-xs;
42
+ flex-shrink: 0;
23
43
  }
24
44
  }
25
- .gmw-action-button {
26
- margin-left: 0;
27
- align-self: center;
28
- min-width: 36px;
29
- margin-right: $iui-xs;
30
- flex-shrink: 0;
45
+
46
+ &-selected {
47
+ @include themed {
48
+ border: 1px solid t(iui-color-foreground-primary);
49
+ background: linear-gradient(
50
+ rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6)),
51
+ rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6))
52
+ ),
53
+ linear-gradient(t(iui-color-background-1), t(iui-color-background-1));
54
+ }
31
55
  }
32
56
  }
@@ -49,6 +49,8 @@ const SelectProject = ({ onSelect, onCancel }) => {
49
49
  void fetchAccessToken();
50
50
  }, [getAccessToken]);
51
51
  const startSearch = react_1.useCallback(() => {
52
+ if (!searchInput)
53
+ return;
52
54
  setActiveSearchInput(searchInput);
53
55
  setSearched(true);
54
56
  }, [searchInput]);
@@ -1 +1 @@
1
- {"version":3,"file":"SelectProject.js","sourceRoot":"","sources":["../../../../src/widget/components/SelectProject.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n ApiOverrides,\n IModelFull,\n ProjectFull,\n} from \"@itwin/imodel-browser-react\";\nimport { ProjectGrid } from \"@itwin/imodel-browser-react\";\nimport {\n SvgCalendar,\n SvgClose,\n SvgList,\n SvgSearch,\n SvgStarHollow,\n} from \"@itwin/itwinui-icons-react\";\nimport {\n Button,\n HorizontalTabs,\n IconButton,\n LabeledInput,\n Tab,\n} from \"@itwin/itwinui-react\";\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { useGroupingMappingApiConfig } from \"./context/GroupingApiConfigContext\";\nimport \"./SelectProject.scss\";\n\nconst tabsWithIcons = [\n <Tab\n key=\"favorite\"\n label=\"Favorite projects\"\n startIcon={<SvgStarHollow />}\n />,\n <Tab key=\"recents\" label=\"Recent projects\" startIcon={<SvgCalendar />} />,\n <Tab key=\"all\" label=\"My projects\" startIcon={<SvgList />} />,\n];\ninterface SelectProjectProps {\n onSelect: (project: ProjectFull) => void;\n onCancel: () => void;\n}\nconst SelectProject = ({ onSelect, onCancel }: SelectProjectProps) => {\n const { getAccessToken, prefix } = useGroupingMappingApiConfig();\n const [projectType, setProjectType] = useState<number>(0);\n const [searchInput, setSearchInput] = useState<string>(\"\");\n const [activeSearchInput, setActiveSearchInput] = useState<string>(\"\");\n const [accessToken, setAccessToken] = useState<AccessToken>();\n const [apiOverrides, setApiOverrides] = useState<ApiOverrides<IModelFull[]>>({\n serverEnvironmentPrefix: prefix,\n });\n const [searched, setSearched] = useState<boolean>(false);\n\n useEffect(\n () => setApiOverrides({ serverEnvironmentPrefix: prefix }),\n [prefix]\n );\n\n useEffect(() => {\n const fetchAccessToken = async () => {\n const accessToken = await getAccessToken();\n setAccessToken(accessToken);\n };\n void fetchAccessToken();\n }, [getAccessToken]);\n\n const startSearch = useCallback(() => {\n setActiveSearchInput(searchInput);\n setSearched(true);\n }, [searchInput]);\n\n const clearSearch = useCallback(() => {\n setSearchInput(\"\");\n setActiveSearchInput(\"\");\n setSearched(false);\n }, []);\n\n useEffect(() => {\n if (searchInput.length === 0) {\n setSearched(false);\n clearSearch();\n }\n }, [searchInput, setSearched, clearSearch]);\n\n return (\n <div className=\"gmw-select-project-grid-container\">\n <HorizontalTabs\n labels={tabsWithIcons}\n onTabSelected={setProjectType}\n activeIndex={projectType}\n type={\"borderless\"}\n contentClassName=\"gmw-grid-holding-tab\"\n >\n <LabeledInput\n displayStyle=\"inline\"\n iconDisplayStyle=\"inline\"\n className=\"gmw-search-input\"\n label=\"Search\"\n value={searchInput}\n placeholder=\"Search....\"\n onChange={(event) => {\n const {\n target: { value },\n } = event;\n setSearchInput(value);\n }}\n onKeyDown={(event) => {\n if (event.key === \"Enter\") {\n startSearch();\n }\n }}\n svgIcon={\n searched ? (\n <IconButton onClick={clearSearch} styleType=\"borderless\">\n <SvgClose />\n </IconButton>\n ) : (\n <IconButton onClick={startSearch} styleType=\"borderless\">\n <SvgSearch />\n </IconButton>\n )\n }\n />\n </HorizontalTabs>\n <div className=\"gmw-project-grid\">\n <ProjectGrid\n onThumbnailClick={onSelect}\n accessToken={accessToken}\n apiOverrides={apiOverrides}\n filterOptions={activeSearchInput}\n requestType={\n projectType === 0 ? \"favorites\" : projectType === 1 ? \"recents\" : \"\"\n }\n />\n </div>\n <div className=\"gmw-select-project-action-panel\">\n <Button onClick={onCancel}>Cancel</Button>\n </div>\n </div>\n );\n};\n\nexport default SelectProject;\n"]}
1
+ {"version":3,"file":"SelectProject.js","sourceRoot":"","sources":["../../../../src/widget/components/SelectProject.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport type { AccessToken } from \"@itwin/core-bentley\";\nimport type {\n ApiOverrides,\n IModelFull,\n ProjectFull,\n} from \"@itwin/imodel-browser-react\";\nimport { ProjectGrid } from \"@itwin/imodel-browser-react\";\nimport {\n SvgCalendar,\n SvgClose,\n SvgList,\n SvgSearch,\n SvgStarHollow,\n} from \"@itwin/itwinui-icons-react\";\nimport {\n Button,\n HorizontalTabs,\n IconButton,\n LabeledInput,\n Tab,\n} from \"@itwin/itwinui-react\";\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { useGroupingMappingApiConfig } from \"./context/GroupingApiConfigContext\";\nimport \"./SelectProject.scss\";\n\nconst tabsWithIcons = [\n <Tab\n key=\"favorite\"\n label=\"Favorite projects\"\n startIcon={<SvgStarHollow />}\n />,\n <Tab key=\"recents\" label=\"Recent projects\" startIcon={<SvgCalendar />} />,\n <Tab key=\"all\" label=\"My projects\" startIcon={<SvgList />} />,\n];\ninterface SelectProjectProps {\n onSelect: (project: ProjectFull) => void;\n onCancel: () => void;\n}\nconst SelectProject = ({ onSelect, onCancel }: SelectProjectProps) => {\n const { getAccessToken, prefix } = useGroupingMappingApiConfig();\n const [projectType, setProjectType] = useState<number>(0);\n const [searchInput, setSearchInput] = useState<string>(\"\");\n const [activeSearchInput, setActiveSearchInput] = useState<string>(\"\");\n const [accessToken, setAccessToken] = useState<AccessToken>();\n const [apiOverrides, setApiOverrides] = useState<ApiOverrides<IModelFull[]>>({\n serverEnvironmentPrefix: prefix,\n });\n const [searched, setSearched] = useState<boolean>(false);\n\n useEffect(\n () => setApiOverrides({ serverEnvironmentPrefix: prefix }),\n [prefix]\n );\n\n useEffect(() => {\n const fetchAccessToken = async () => {\n const accessToken = await getAccessToken();\n setAccessToken(accessToken);\n };\n void fetchAccessToken();\n }, [getAccessToken]);\n\n const startSearch = useCallback(() => {\n if (!searchInput) return;\n setActiveSearchInput(searchInput);\n setSearched(true);\n }, [searchInput]);\n\n const clearSearch = useCallback(() => {\n setSearchInput(\"\");\n setActiveSearchInput(\"\");\n setSearched(false);\n }, []);\n\n useEffect(() => {\n if (searchInput.length === 0) {\n setSearched(false);\n clearSearch();\n }\n }, [searchInput, setSearched, clearSearch]);\n\n return (\n <div className=\"gmw-select-project-grid-container\">\n <HorizontalTabs\n labels={tabsWithIcons}\n onTabSelected={setProjectType}\n activeIndex={projectType}\n type={\"borderless\"}\n contentClassName=\"gmw-grid-holding-tab\"\n >\n <LabeledInput\n displayStyle=\"inline\"\n iconDisplayStyle=\"inline\"\n className=\"gmw-search-input\"\n label=\"Search\"\n value={searchInput}\n placeholder=\"Search....\"\n onChange={(event) => {\n const {\n target: { value },\n } = event;\n setSearchInput(value);\n }}\n onKeyDown={(event) => {\n if (event.key === \"Enter\") {\n startSearch();\n }\n }}\n svgIcon={\n searched ? (\n <IconButton onClick={clearSearch} styleType=\"borderless\">\n <SvgClose />\n </IconButton>\n ) : (\n <IconButton onClick={startSearch} styleType=\"borderless\">\n <SvgSearch />\n </IconButton>\n )\n }\n />\n </HorizontalTabs>\n <div className=\"gmw-project-grid\">\n <ProjectGrid\n onThumbnailClick={onSelect}\n accessToken={accessToken}\n apiOverrides={apiOverrides}\n filterOptions={activeSearchInput}\n requestType={\n projectType === 0 ? \"favorites\" : projectType === 1 ? \"recents\" : \"\"\n }\n />\n </div>\n <div className=\"gmw-select-project-action-panel\">\n <Button onClick={onCancel}>Cancel</Button>\n </div>\n </div>\n );\n};\n\nexport default SelectProject;\n"]}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import type { HorizontalTileProps } from "./HorizontalTile";
3
+ interface SortableHorizontalTileProps extends HorizontalTileProps {
4
+ id: string;
5
+ }
6
+ declare const SortableHorizontalTile: ({ id, ...props }: SortableHorizontalTileProps) => JSX.Element;
7
+ export default SortableHorizontalTile;
8
+ //# sourceMappingURL=SortableHorizontalTile.d.ts.map
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ /*---------------------------------------------------------------------------------------------
23
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
24
+ * See LICENSE.md in the project root for license terms and full copyright notice.
25
+ *--------------------------------------------------------------------------------------------*/
26
+ const react_1 = __importStar(require("react"));
27
+ const sortable_1 = require("@dnd-kit/sortable");
28
+ const HorizontalTile_1 = require("./HorizontalTile");
29
+ const utilities_1 = require("@dnd-kit/utilities");
30
+ const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
31
+ const SortableHorizontalTile = ({ id, ...props }) => {
32
+ const { attributes, listeners, isDragging, setNodeRef, transform, transition, } = sortable_1.useSortable({ id });
33
+ const style = {
34
+ transform: utilities_1.CSS.Transform.toString(transform),
35
+ transition,
36
+ };
37
+ react_1.useEffect(() => {
38
+ if (!isDragging) {
39
+ return;
40
+ }
41
+ document.body.style.cursor = "grabbing";
42
+ return () => {
43
+ document.body.style.cursor = "";
44
+ };
45
+ }, [isDragging]);
46
+ return (react_1.default.createElement("div", { ref: setNodeRef, ...attributes, style: { ...style, visibility: isDragging ? "hidden" : "visible" } },
47
+ react_1.default.createElement(HorizontalTile_1.HorizontalTile, { dragHandle: react_1.default.createElement("div", { className: "gmw-drag-icon", style: { cursor: "grab" }, title: "Drag & Drop", ...listeners },
48
+ react_1.default.createElement(itwinui_icons_react_1.SvgDragHandleVertical, null)), ...props })));
49
+ };
50
+ exports.default = SortableHorizontalTile;
51
+ //# sourceMappingURL=SortableHorizontalTile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortableHorizontalTile.js","sourceRoot":"","sources":["../../../../src/widget/components/SortableHorizontalTile.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;+FAG+F;AAC/F,+CAAyC;AACzC,gDAAgD;AAEhD,qDAAkD;AAClD,kDAAyC;AACzC,oEAAmE;AAMnE,MAAM,sBAAsB,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAA+B,EAAE,EAAE;IAC/E,MAAM,EACJ,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,GACX,GAAG,sBAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAExB,MAAM,KAAK,GAAG;QACZ,SAAS,EAAE,eAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,UAAU;KACX,CAAC;IAEF,iBAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;QACxC,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,CACL,uCACE,GAAG,EAAE,UAAU,KACX,UAAU,EACd,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE;QAElE,8BAAC,+BAAc,IACb,UAAU,EACR,uCAAK,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAC,aAAa,KAAK,SAAS;gBACzF,8BAAC,2CAAqB,OAAG,CACrB,KAEJ,KAAK,GACT,CACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,sBAAsB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport React, { useEffect } from \"react\";\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport type { HorizontalTileProps } from \"./HorizontalTile\";\nimport { HorizontalTile } from \"./HorizontalTile\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { SvgDragHandleVertical } from \"@itwin/itwinui-icons-react\";\n\ninterface SortableHorizontalTileProps extends HorizontalTileProps {\n id: string;\n}\n\nconst SortableHorizontalTile = ({ id, ...props }: SortableHorizontalTileProps) => {\n const {\n attributes,\n listeners,\n isDragging,\n setNodeRef,\n transform,\n transition,\n } = useSortable({ id });\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n };\n\n useEffect(() => {\n if (!isDragging) {\n return;\n }\n document.body.style.cursor = \"grabbing\";\n return () => {\n document.body.style.cursor = \"\";\n };\n }, [isDragging]);\n\n return (\n <div\n ref={setNodeRef}\n {...attributes}\n style={{ ...style, visibility: isDragging ? \"hidden\" : \"visible\" }}\n >\n <HorizontalTile\n dragHandle={\n <div className=\"gmw-drag-icon\" style={{ cursor: \"grab\" }} title=\"Drag & Drop\" {...listeners}>\n <SvgDragHandleVertical />\n </div>\n }\n {...props}\n />\n </div>\n );\n};\n\nexport default SortableHorizontalTile;\n"]}
@@ -8,7 +8,6 @@ import { LoadingSpinner } from "./utils";
8
8
  import "./BlockingOverlay.scss";
9
9
  export const BlockingOverlay = ({ isVisible }) => {
10
10
  return (React.createElement("div", { className: classnames("gmw-group-mapping-blocking-overlay", isVisible && "gmw-visible") },
11
- React.createElement("div", { className: "gmw-group-mapping-blocking-overlay-spinner" },
12
- React.createElement(LoadingSpinner, null))));
11
+ React.createElement(LoadingSpinner, null)));
13
12
  };
14
13
  //# sourceMappingURL=BlockingOverlay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockingOverlay.js","sourceRoot":"","sources":["../../../../src/widget/components/BlockingOverlay.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,wBAAwB,CAAC;AAMhC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,SAAS,EAAwB,EAAE,EAAE;IACrE,OAAO,CACL,6BAAK,SAAS,EAAE,UAAU,CAAC,oCAAoC,EAAE,SAAS,IAAI,aAAa,CAAC;QAC1F,6BAAK,SAAS,EAAC,4CAA4C;YACzD,oBAAC,cAAc,OAAG,CACd,CACF,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport { LoadingSpinner } from \"./utils\";\nimport \"./BlockingOverlay.scss\";\n\nexport interface BlockingOverlayProps {\n isVisible: boolean;\n}\n\nexport const BlockingOverlay = ({ isVisible }: BlockingOverlayProps) => {\n return (\n <div className={classnames(\"gmw-group-mapping-blocking-overlay\", isVisible && \"gmw-visible\")}>\n <div className=\"gmw-group-mapping-blocking-overlay-spinner\">\n <LoadingSpinner />\n </div>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"BlockingOverlay.js","sourceRoot":"","sources":["../../../../src/widget/components/BlockingOverlay.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,wBAAwB,CAAC;AAMhC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,SAAS,EAAwB,EAAE,EAAE;IACrE,OAAO,CACL,6BAAK,SAAS,EAAE,UAAU,CAAC,oCAAoC,EAAE,SAAS,IAAI,aAAa,CAAC;QAC1F,oBAAC,cAAc,OAAG,CACd,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport classnames from \"classnames\";\nimport React from \"react\";\nimport { LoadingSpinner } from \"./utils\";\nimport \"./BlockingOverlay.scss\";\n\nexport interface BlockingOverlayProps {\n isVisible: boolean;\n}\n\nexport const BlockingOverlay = ({ isVisible }: BlockingOverlayProps) => {\n return (\n <div className={classnames(\"gmw-group-mapping-blocking-overlay\", isVisible && \"gmw-visible\")}>\n <LoadingSpinner />\n </div>\n );\n};\n"]}
@@ -2,14 +2,18 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- @import '~@itwin/itwinui-css/scss/variables';
5
+ @import "~@itwin/itwinui-css/scss/variables";
6
6
 
7
7
  .gmw-group-mapping-blocking-overlay {
8
8
  background-color: black;
9
9
  position: absolute;
10
- height: inherit;
11
- right: 6px;
12
- left: 6px;
10
+ display: flex;
11
+ justify-content: center;
12
+ align-items: center;
13
+ top: $iui-baseline;
14
+ bottom: $iui-baseline;
15
+ right: $iui-s;
16
+ left: $iui-s;
13
17
  opacity: 60%;
14
18
  z-index: 9999;
15
19
  visibility: hidden;
@@ -18,9 +22,3 @@
18
22
  visibility: visible;
19
23
  }
20
24
  }
21
-
22
- .gmw-group-mapping-blocking-overlay-spinner {
23
- display: flex;
24
- justify-content: center;
25
- height: inherit;
26
- }
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import type { KeySet } from "@itwin/presentation-common";
3
3
  import type { SelectOption } from "@itwin/itwinui-react";
4
- import "./GroupPropertyAction.scss";
5
4
  import { QuantityType } from "@itwin/insights-client";
5
+ import "./GroupPropertyAction.scss";
6
6
  interface GroupPropertyActionProps {
7
7
  iModelId: string;
8
8
  mappingId: string;