@scm-manager/ui-components 4.0.0-REACT19-20250920-130317 → 4.0.0-REACT19-20250922-115826
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/package.json +6 -11
- package/src/Tooltip.tsx +1 -1
- package/src/buttons/AddButton.tsx +1 -1
- package/src/buttons/CreateButton.tsx +1 -1
- package/src/buttons/DeleteButton.tsx +1 -1
- package/src/buttons/EditButton.tsx +1 -1
- package/src/buttons/LinkStyleButton.tsx +1 -1
- package/src/buttons/OpenInFullscreenButton.tsx +2 -3
- package/src/buttons/SubmitButton.tsx +1 -1
- package/src/index.ts +1 -2
- package/src/layout/GroupEntries.tsx +1 -1
- package/src/layout/NamespaceEntries.tsx +2 -2
- package/src/navigation/SecondaryNavigation.tsx +2 -2
- package/src/popover/Popover.tsx +1 -1
- package/src/repos/DiffButton.tsx +1 -1
- package/src/repos/JumpToFileButton.tsx +2 -2
- package/src/repos/RepositoryEntry.tsx +5 -8
- package/src/repos/RepositoryFlag.tsx +1 -3
- package/src/repos/changesets/ChangesetDescription.tsx +2 -2
- package/src/repos/changesets/ChangesetList.tsx +2 -2
- package/src/repos/changesets/ChangesetRow.tsx +1 -1
- package/src/repos/changesets/Changesets.stories.tsx +5 -18
- package/src/repos/diff/LazyDiffFile.tsx +12 -13
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scm-manager/ui-components",
|
|
3
|
-
"version": "4.0.0-REACT19-
|
|
3
|
+
"version": "4.0.0-REACT19-20250922-115826",
|
|
4
4
|
"description": "UI Components for SCM-Manager and its plugins",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"files": [
|
|
@@ -36,10 +36,8 @@
|
|
|
36
36
|
"@scm-manager/eslint-config": "^2.18.2",
|
|
37
37
|
"@scm-manager/prettier-config": "^2.12.0",
|
|
38
38
|
"@scm-manager/tsconfig": "^2.13.0",
|
|
39
|
-
"@scm-manager/ui-
|
|
40
|
-
"@scm-manager/ui-
|
|
41
|
-
"@scm-manager/ui-text": "4.0.0-REACT19-20250920-130317",
|
|
42
|
-
"@scm-manager/ui-types": "4.0.0-REACT19-20250920-130317",
|
|
39
|
+
"@scm-manager/ui-syntaxhighlighting": "4.0.0-REACT19-20250922-115826",
|
|
40
|
+
"@scm-manager/ui-types": "4.0.0-REACT19-20250922-115826",
|
|
43
41
|
"@storybook/addon-actions": "^9.0.8",
|
|
44
42
|
"@storybook/addon-docs": "^9.1.5",
|
|
45
43
|
"@storybook/addon-essentials": "^9.0.0-alpha.12",
|
|
@@ -70,12 +68,9 @@
|
|
|
70
68
|
"vitest": "^3.2.4"
|
|
71
69
|
},
|
|
72
70
|
"dependencies": {
|
|
73
|
-
"@scm-manager/ui-api": "4.0.0-REACT19-
|
|
74
|
-
"@scm-manager/ui-
|
|
75
|
-
"@scm-manager/ui-
|
|
76
|
-
"@scm-manager/ui-extensions": "4.0.0-REACT19-20250920-130317",
|
|
77
|
-
"@scm-manager/ui-layout": "4.0.0-REACT19-20250920-130317",
|
|
78
|
-
"@scm-manager/ui-overlays": "4.0.0-REACT19-20250920-130317",
|
|
71
|
+
"@scm-manager/ui-api": "4.0.0-REACT19-20250922-115826",
|
|
72
|
+
"@scm-manager/ui-core": "4.0.0-REACT19-20250922-115826",
|
|
73
|
+
"@scm-manager/ui-extensions": "4.0.0-REACT19-20250922-115826",
|
|
79
74
|
"deepmerge": "^4.2.2",
|
|
80
75
|
"hast-util-sanitize": "^3.0.2",
|
|
81
76
|
"react-diff-view": "2.6.0",
|
package/src/Tooltip.tsx
CHANGED
|
@@ -144,7 +144,7 @@ type Props = {
|
|
|
144
144
|
export type TooltipLocation = "bottom" | "right" | "top" | "left";
|
|
145
145
|
|
|
146
146
|
/**
|
|
147
|
-
* @deprecated
|
|
147
|
+
* @deprecated Use Tooltip from ui-core instead
|
|
148
148
|
*/
|
|
149
149
|
const Tooltip: FC<Props> = ({ className, message, location = "right", multiline, children, id }) => {
|
|
150
150
|
const [open, setOpen] = useState(false);
|
|
@@ -18,7 +18,7 @@ import React from "react";
|
|
|
18
18
|
import Button, { ButtonProps } from "./Button";
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
-
* @deprecated Use
|
|
21
|
+
* @deprecated Use Button from ui-core instead
|
|
22
22
|
*/
|
|
23
23
|
class AddButton extends React.Component<ButtonProps> {
|
|
24
24
|
render() {
|
|
@@ -18,7 +18,7 @@ import React from "react";
|
|
|
18
18
|
import Button, { ButtonProps } from "./Button";
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
-
* @deprecated Use
|
|
21
|
+
* @deprecated Use Button from ui-core instead
|
|
22
22
|
*/
|
|
23
23
|
class DeleteButton extends React.Component<ButtonProps> {
|
|
24
24
|
render() {
|
|
@@ -18,7 +18,7 @@ import React from "react";
|
|
|
18
18
|
import Button, { ButtonProps } from "./Button";
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
-
* @deprecated Use
|
|
21
|
+
* @deprecated Use Button from ui-core instead
|
|
22
22
|
*/
|
|
23
23
|
class EditButton extends React.Component<ButtonProps> {
|
|
24
24
|
render() {
|
|
@@ -18,7 +18,7 @@ import styled from "styled-components";
|
|
|
18
18
|
import NoStyleButton from "./NoStyleButton";
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
-
* @deprecated Use
|
|
21
|
+
* @deprecated Use Button from ui-core instead
|
|
22
22
|
*/
|
|
23
23
|
const LinkStyleButton = styled(NoStyleButton)`
|
|
24
24
|
text-decoration: underline;
|
|
@@ -14,12 +14,11 @@
|
|
|
14
14
|
* along with this program. If not, see https://www.gnu.org/licenses/.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import
|
|
18
|
-
import { FC, ReactNode, useState } from "react";
|
|
17
|
+
import React, { FC, ReactNode, useState } from "react";
|
|
19
18
|
import { useTranslation } from "react-i18next";
|
|
20
19
|
import styled from "styled-components";
|
|
20
|
+
import { Tooltip } from "@scm-manager/ui-core";
|
|
21
21
|
import FullscreenModal from "../modals/FullscreenModal";
|
|
22
|
-
import { Tooltip } from "@scm-manager/ui-overlays";
|
|
23
22
|
|
|
24
23
|
type Props = {
|
|
25
24
|
modalTitle: string;
|
|
@@ -23,7 +23,7 @@ type SubmitButtonProps = ButtonProps & {
|
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
* @deprecated Use
|
|
26
|
+
* @deprecated Use Button from ui-core instead
|
|
27
27
|
*/
|
|
28
28
|
class SubmitButton extends React.Component<SubmitButtonProps> {
|
|
29
29
|
static defaultProps = {
|
package/src/index.ts
CHANGED
|
@@ -74,8 +74,7 @@ export { default as CardColumn } from "./CardColumn";
|
|
|
74
74
|
export { default as CardColumnSmall } from "./CardColumnSmall";
|
|
75
75
|
export { default as CommaSeparatedList } from "./CommaSeparatedList";
|
|
76
76
|
export { default as PreformattedCodeBlock } from "./PreformattedCodeBlock";
|
|
77
|
-
export { SplitAndReplace, type Replacement } from "@scm-manager/ui-
|
|
78
|
-
export { useShortcut } from "@scm-manager/ui-shortcuts";
|
|
77
|
+
export { SplitAndReplace, useShortcut, type Replacement } from "@scm-manager/ui-core";
|
|
79
78
|
export { regExpPattern as changesetShortLinkRegex } from "./markdown/remarkChangesetShortLinkParser";
|
|
80
79
|
export * from "./markdown/PluginApi";
|
|
81
80
|
export * from "./devices";
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
|
|
17
17
|
import React, { FC, ReactNode } from "react";
|
|
18
18
|
import { useTranslation } from "react-i18next";
|
|
19
|
+
import { Link } from "react-router-dom";
|
|
19
20
|
import { useLocalStorage } from "@scm-manager/ui-api";
|
|
20
|
-
import { CardList, Collapsible } from "@scm-manager/ui-
|
|
21
|
+
import { CardList, Collapsible } from "@scm-manager/ui-core";
|
|
21
22
|
import { RepositoryGroup } from "@scm-manager/ui-types";
|
|
22
|
-
import { Link } from "react-router-dom";
|
|
23
23
|
import { Icon } from "../index";
|
|
24
24
|
|
|
25
25
|
type Props = {
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import React, { FC, ReactNode } from "react";
|
|
18
|
-
import styled from "styled-components";
|
|
19
18
|
import { useTranslation } from "react-i18next";
|
|
19
|
+
import styled from "styled-components";
|
|
20
|
+
import { Button } from "@scm-manager/ui-core";
|
|
20
21
|
import { useSecondaryNavigation } from "../useSecondaryNavigation";
|
|
21
|
-
import { Button } from "@scm-manager/ui-buttons";
|
|
22
22
|
|
|
23
23
|
type Props = {
|
|
24
24
|
label: string;
|
package/src/popover/Popover.tsx
CHANGED
package/src/repos/DiffButton.tsx
CHANGED
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import React, { FC } from "react";
|
|
18
|
-
import styled from "styled-components";
|
|
19
18
|
import { Link } from "react-router-dom";
|
|
20
|
-
import
|
|
19
|
+
import styled from "styled-components";
|
|
20
|
+
import { Tooltip } from "@scm-manager/ui-core";
|
|
21
21
|
import Icon from "../Icon";
|
|
22
22
|
|
|
23
23
|
const Button = styled(Link)`
|
|
@@ -15,18 +15,15 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import React, { FC } from "react";
|
|
18
|
+
import { useTranslation } from "react-i18next";
|
|
19
|
+
import { Link } from "react-router-dom";
|
|
20
|
+
import styled from "styled-components";
|
|
21
|
+
import { Card, Icon, Menu, useKeyboardIteratorTargetV2 } from "@scm-manager/ui-core";
|
|
22
|
+
import { ExtensionPoint, extensionPoints } from "@scm-manager/ui-extensions";
|
|
18
23
|
import { Repository } from "@scm-manager/ui-types";
|
|
19
24
|
import DateFromNow from "../DateFromNow";
|
|
20
25
|
import RepositoryAvatar from "./RepositoryAvatar";
|
|
21
|
-
import { ExtensionPoint, extensionPoints } from "@scm-manager/ui-extensions";
|
|
22
26
|
import RepositoryFlags from "./RepositoryFlags";
|
|
23
|
-
import styled from "styled-components";
|
|
24
|
-
import { useTranslation } from "react-i18next";
|
|
25
|
-
import { Card } from "@scm-manager/ui-layout";
|
|
26
|
-
import { Link } from "react-router-dom";
|
|
27
|
-
import { Menu } from "@scm-manager/ui-overlays";
|
|
28
|
-
import { Icon } from "@scm-manager/ui-buttons";
|
|
29
|
-
import { useKeyboardIteratorTargetV2 } from "@scm-manager/ui-core";
|
|
30
27
|
|
|
31
28
|
type DateProp = Date | string;
|
|
32
29
|
|
|
@@ -15,10 +15,8 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import React, { FC, ReactNode } from "react";
|
|
18
|
+
import { Card, CardVariant, Tooltip } from "@scm-manager/ui-core";
|
|
18
19
|
import { Color, Size } from "../styleConstants";
|
|
19
|
-
import { Card } from "@scm-manager/ui-layout";
|
|
20
|
-
import { CardVariant } from "@scm-manager/ui-core";
|
|
21
|
-
import { Tooltip } from "@scm-manager/ui-overlays";
|
|
22
20
|
import { TooltipLocation } from "../Tooltip";
|
|
23
21
|
|
|
24
22
|
type Props = {
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import React, { FC } from "react";
|
|
18
|
-
import {
|
|
18
|
+
import { Replacement, SplitAndReplace } from "@scm-manager/ui-core";
|
|
19
19
|
import { extensionPoints, useBinder } from "@scm-manager/ui-extensions";
|
|
20
|
-
import {
|
|
20
|
+
import { Changeset } from "@scm-manager/ui-types";
|
|
21
21
|
|
|
22
22
|
type Props = {
|
|
23
23
|
changeset: Changeset;
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
* along with this program. If not, see https://www.gnu.org/licenses/.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import ChangesetRow from "./ChangesetRow";
|
|
18
17
|
import React, { FC } from "react";
|
|
18
|
+
import { KeyboardIterator } from "@scm-manager/ui-core";
|
|
19
19
|
import { Branch, Changeset, File, Repository } from "@scm-manager/ui-types";
|
|
20
|
-
import
|
|
20
|
+
import ChangesetRow from "./ChangesetRow";
|
|
21
21
|
|
|
22
22
|
type Props = {
|
|
23
23
|
repository: Repository;
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
import React, { FC } from "react";
|
|
18
18
|
import classNames from "classnames";
|
|
19
19
|
import styled from "styled-components";
|
|
20
|
+
import { useKeyboardIteratorTarget } from "@scm-manager/ui-core";
|
|
20
21
|
import { ExtensionPoint, extensionPoints } from "@scm-manager/ui-extensions";
|
|
21
22
|
import { Branch, Changeset, File, Repository } from "@scm-manager/ui-types";
|
|
22
23
|
import ChangesetButtonGroup from "./ChangesetButtonGroup";
|
|
23
24
|
import SingleChangeset from "./SingleChangeset";
|
|
24
|
-
import { useKeyboardIteratorTarget } from "@scm-manager/ui-shortcuts";
|
|
25
25
|
|
|
26
26
|
type Props = {
|
|
27
27
|
repository: Repository;
|
|
@@ -26,9 +26,8 @@
|
|
|
26
26
|
// import hitchhiker from "../../__resources__/hitchhiker.png";
|
|
27
27
|
// import { Person } from "../../avatar/Avatar";
|
|
28
28
|
// import { Changeset } from "@scm-manager/ui-types";
|
|
29
|
-
// import { Replacement } from "@scm-manager/ui-
|
|
29
|
+
// import { Replacement, ShortcutDocsContextProvider } from "@scm-manager/ui-core";
|
|
30
30
|
// import ChangesetList from "./ChangesetList";
|
|
31
|
-
// import { ShortcutDocsContextProvider } from "@scm-manager/ui-shortcuts";
|
|
32
31
|
//
|
|
33
32
|
// const Wrapper = styled.div`
|
|
34
33
|
// margin: 25rem 4rem;
|
|
@@ -289,23 +288,19 @@
|
|
|
289
288
|
// ));
|
|
290
289
|
|
|
291
290
|
import React from "react";
|
|
291
|
+
import { MemoryRouter } from "react-router-dom";
|
|
292
292
|
import styled from "styled-components";
|
|
293
293
|
import type { Meta, StoryObj } from "@storybook/react";
|
|
294
|
+
import { Replacement, ShortcutDocsContextProvider } from "@scm-manager/ui-core";
|
|
294
295
|
import { Binder, BinderContext } from "@scm-manager/ui-extensions";
|
|
295
|
-
import { ShortcutDocsContextProvider } from "@scm-manager/ui-shortcuts";
|
|
296
296
|
import { Changeset } from "@scm-manager/ui-types";
|
|
297
|
-
import { Replacement } from "@scm-manager/ui-text";
|
|
298
|
-
|
|
299
|
-
import ChangesetRow from "./ChangesetRow";
|
|
300
|
-
import ChangesetList from "./ChangesetList";
|
|
301
297
|
import repository from "../../__resources__/repository";
|
|
302
298
|
import { five, four, one, three, two } from "../../__resources__/changesets";
|
|
303
299
|
// @ts-ignore
|
|
304
300
|
import hitchhiker from "../../__resources__/hitchhiker.png";
|
|
305
301
|
import { Person } from "../../avatar/Avatar";
|
|
306
|
-
import
|
|
307
|
-
|
|
308
|
-
// --- Helfer-Funktionen und Mock-Daten (aus der Original-Story übernommen) ---
|
|
302
|
+
import ChangesetRow from "./ChangesetRow";
|
|
303
|
+
import ChangesetList from "./ChangesetList";
|
|
309
304
|
|
|
310
305
|
const Wrapper = styled.div`
|
|
311
306
|
margin: 2rem 4rem;
|
|
@@ -340,8 +335,6 @@ function copy<T>(input: T): T {
|
|
|
340
335
|
return JSON.parse(JSON.stringify(input));
|
|
341
336
|
}
|
|
342
337
|
|
|
343
|
-
// --- Storybook Metadaten ---
|
|
344
|
-
|
|
345
338
|
const meta: Meta<typeof ChangesetRow> = {
|
|
346
339
|
title: "Repositories/Changesets",
|
|
347
340
|
component: ChangesetRow,
|
|
@@ -354,11 +347,8 @@ const meta: Meta<typeof ChangesetRow> = {
|
|
|
354
347
|
|
|
355
348
|
export default meta;
|
|
356
349
|
|
|
357
|
-
// --- Story-Definitionen ---
|
|
358
|
-
|
|
359
350
|
type Story = StoryObj<typeof meta>;
|
|
360
351
|
|
|
361
|
-
// Einfache Stories mit `args`
|
|
362
352
|
export const Default: Story = {
|
|
363
353
|
args: { repository, changeset: three },
|
|
364
354
|
};
|
|
@@ -375,7 +365,6 @@ export const WithMultipleCoAuthors: Story = {
|
|
|
375
365
|
args: { repository, changeset: four },
|
|
376
366
|
};
|
|
377
367
|
|
|
378
|
-
// Komplexe Stories mit `render`
|
|
379
368
|
export const WithAvatar: Story = {
|
|
380
369
|
render: () => withAvatarFactory(() => hitchhiker, three),
|
|
381
370
|
};
|
|
@@ -402,7 +391,6 @@ export const Replacements: Story = {
|
|
|
402
391
|
},
|
|
403
392
|
};
|
|
404
393
|
|
|
405
|
-
// Stories für Signaturen
|
|
406
394
|
export const WithUnknownSignature: Story = {
|
|
407
395
|
render: () => {
|
|
408
396
|
const changeset = copy(three);
|
|
@@ -469,7 +457,6 @@ export const WithMultipleSignaturesValid: Story = {
|
|
|
469
457
|
},
|
|
470
458
|
};
|
|
471
459
|
|
|
472
|
-
// Story für die ChangesetList
|
|
473
460
|
export const ListWithNavigation: Story = {
|
|
474
461
|
name: "List With Navigation",
|
|
475
462
|
render: () => (
|
|
@@ -17,25 +17,24 @@
|
|
|
17
17
|
import React, { FC, useCallback, useEffect, useMemo, useState } from "react";
|
|
18
18
|
import { useTranslation } from "react-i18next";
|
|
19
19
|
import classNames from "classnames";
|
|
20
|
-
import
|
|
21
|
-
import {
|
|
20
|
+
import styled from "styled-components";
|
|
21
|
+
import { useContentType } from "@scm-manager/ui-api";
|
|
22
|
+
import { ErrorNotification, Icon } from "@scm-manager/ui-core";
|
|
22
23
|
import { Hunk as HunkType, Link } from "@scm-manager/ui-types";
|
|
23
|
-
import
|
|
24
|
-
import DiffButton from "../DiffButton";
|
|
25
|
-
import { MenuContext } from "../../navigation/MenuContext";
|
|
24
|
+
import { ButtonGroup } from "../../buttons";
|
|
26
25
|
import OpenInFullscreenButton from "../../buttons/OpenInFullscreenButton";
|
|
27
|
-
import DiffExpander from "../DiffExpander";
|
|
28
26
|
import { Modal } from "../../modals";
|
|
29
|
-
import {
|
|
30
|
-
import
|
|
31
|
-
import
|
|
27
|
+
import { MenuContext } from "../../navigation";
|
|
28
|
+
import DiffButton from "../DiffButton";
|
|
29
|
+
import BinaryDiffFileContent, { canDisplayBinaryFile } from "./BinaryDiffFileContent";
|
|
30
|
+
import DiffExpander from "../DiffExpander";
|
|
31
|
+
import TokenizedDiffView from "../TokenizedDiffView";
|
|
32
32
|
import ChangeTag from "./ChangeTag";
|
|
33
|
-
import { getAnchorId, hasContent as determineHasContent, hoverFileTitle } from "./helpers";
|
|
34
33
|
import DiffFileHunk from "./DiffFileHunk";
|
|
34
|
+
import FileTitle from "./FileTitle";
|
|
35
|
+
import { getAnchorId, hasContent as determineHasContent, hoverFileTitle } from "./helpers";
|
|
36
|
+
import { DiffFilePanel, FullWidthTitleHeader, MarginlessModalContent, PanelHeading } from "./styledElements";
|
|
35
37
|
import { DiffFileProps } from "./types";
|
|
36
|
-
import { useContentType } from "@scm-manager/ui-api";
|
|
37
|
-
import BinaryDiffFileContent, { canDisplayBinaryFile } from "./BinaryDiffFileContent";
|
|
38
|
-
import styled from "styled-components";
|
|
39
38
|
|
|
40
39
|
type Props = DiffFileProps;
|
|
41
40
|
|