@activecollab/components 2.0.435 → 2.0.437
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/ConfirmDialog/ConfirmDialog.js +6 -5
- package/dist/cjs/components/ConfirmDialog/ConfirmDialog.js.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.js +65 -43
- package/dist/cjs/components/Dialog/Dialog.js.map +1 -1
- package/dist/cjs/components/Dialog/DialogActions.js +13 -5
- package/dist/cjs/components/Dialog/DialogActions.js.map +1 -1
- package/dist/cjs/components/Dialog/DialogContent.js +4 -5
- package/dist/cjs/components/Dialog/DialogContent.js.map +1 -1
- package/dist/cjs/components/Dialog/DialogContext.js +14 -7
- package/dist/cjs/components/Dialog/DialogContext.js.map +1 -1
- package/dist/cjs/components/Dialog/DialogTitle.js +19 -5
- package/dist/cjs/components/Dialog/DialogTitle.js.map +1 -1
- package/dist/cjs/components/Dialog/Styles.js +55 -13
- package/dist/cjs/components/Dialog/Styles.js.map +1 -1
- package/dist/cjs/components/Dialog/index.js +11 -0
- package/dist/cjs/components/Dialog/index.js.map +1 -1
- package/dist/cjs/components/Modal/Modal.js +3 -2
- package/dist/cjs/components/Modal/Modal.js.map +1 -1
- package/dist/cjs/components/Transitions/Fade/Fade.js +11 -2
- package/dist/cjs/components/Transitions/Fade/Fade.js.map +1 -1
- package/dist/cjs/components/Transitions/SlideFromTop/SlideFromTop.js +46 -30
- package/dist/cjs/components/Transitions/SlideFromTop/SlideFromTop.js.map +1 -1
- package/dist/cjs/components/Wizard/Step.js +4 -1
- package/dist/cjs/components/Wizard/Step.js.map +1 -1
- package/dist/cjs/components/Wizard/Wizard.js +14 -2
- package/dist/cjs/components/Wizard/Wizard.js.map +1 -1
- package/dist/cjs/presentation/shared/ConnectRepositoryDialog.js +0 -3
- package/dist/cjs/presentation/shared/ConnectRepositoryDialog.js.map +1 -1
- package/dist/cjs/presentation/shared/LinkBranchOrPullRequestDialog.js +0 -3
- package/dist/cjs/presentation/shared/LinkBranchOrPullRequestDialog.js.map +1 -1
- package/dist/cjs/presentation/shared/TwoFactorDialogs.js +0 -9
- package/dist/cjs/presentation/shared/TwoFactorDialogs.js.map +1 -1
- package/dist/esm/components/ConfirmDialog/ConfirmDialog.d.ts +3 -0
- package/dist/esm/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -1
- package/dist/esm/components/ConfirmDialog/ConfirmDialog.js +6 -5
- package/dist/esm/components/ConfirmDialog/ConfirmDialog.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.d.ts +7 -2
- package/dist/esm/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/esm/components/Dialog/Dialog.js +65 -48
- package/dist/esm/components/Dialog/Dialog.js.map +1 -1
- package/dist/esm/components/Dialog/DialogActions.d.ts.map +1 -1
- package/dist/esm/components/Dialog/DialogActions.js +10 -5
- package/dist/esm/components/Dialog/DialogActions.js.map +1 -1
- package/dist/esm/components/Dialog/DialogContent.d.ts +5 -1
- package/dist/esm/components/Dialog/DialogContent.d.ts.map +1 -1
- package/dist/esm/components/Dialog/DialogContent.js +4 -5
- package/dist/esm/components/Dialog/DialogContent.js.map +1 -1
- package/dist/esm/components/Dialog/DialogContext.d.ts +11 -1
- package/dist/esm/components/Dialog/DialogContext.d.ts.map +1 -1
- package/dist/esm/components/Dialog/DialogContext.js +10 -8
- package/dist/esm/components/Dialog/DialogContext.js.map +1 -1
- package/dist/esm/components/Dialog/DialogTitle.d.ts +4 -1
- package/dist/esm/components/Dialog/DialogTitle.d.ts.map +1 -1
- package/dist/esm/components/Dialog/DialogTitle.js +20 -6
- package/dist/esm/components/Dialog/DialogTitle.js.map +1 -1
- package/dist/esm/components/Dialog/Styles.d.ts +19 -2
- package/dist/esm/components/Dialog/Styles.d.ts.map +1 -1
- package/dist/esm/components/Dialog/Styles.js +47 -11
- package/dist/esm/components/Dialog/Styles.js.map +1 -1
- package/dist/esm/components/Dialog/index.d.ts +1 -0
- package/dist/esm/components/Dialog/index.d.ts.map +1 -1
- package/dist/esm/components/Dialog/index.js +1 -0
- package/dist/esm/components/Dialog/index.js.map +1 -1
- package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
- package/dist/esm/components/Modal/Modal.js +3 -2
- package/dist/esm/components/Modal/Modal.js.map +1 -1
- package/dist/esm/components/Transitions/Fade/Fade.d.ts.map +1 -1
- package/dist/esm/components/Transitions/Fade/Fade.js +11 -2
- package/dist/esm/components/Transitions/Fade/Fade.js.map +1 -1
- package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.d.ts +2 -0
- package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.d.ts.map +1 -1
- package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.js +46 -30
- package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.js.map +1 -1
- package/dist/esm/components/Wizard/Step.d.ts +4 -0
- package/dist/esm/components/Wizard/Step.d.ts.map +1 -1
- package/dist/esm/components/Wizard/Step.js +4 -1
- package/dist/esm/components/Wizard/Step.js.map +1 -1
- package/dist/esm/components/Wizard/Wizard.d.ts +3 -0
- package/dist/esm/components/Wizard/Wizard.d.ts.map +1 -1
- package/dist/esm/components/Wizard/Wizard.js +14 -2
- package/dist/esm/components/Wizard/Wizard.js.map +1 -1
- package/dist/esm/presentation/shared/ConnectRepositoryDialog.d.ts.map +1 -1
- package/dist/esm/presentation/shared/ConnectRepositoryDialog.js +0 -3
- package/dist/esm/presentation/shared/ConnectRepositoryDialog.js.map +1 -1
- package/dist/esm/presentation/shared/LinkBranchOrPullRequestDialog.d.ts.map +1 -1
- package/dist/esm/presentation/shared/LinkBranchOrPullRequestDialog.js +0 -3
- package/dist/esm/presentation/shared/LinkBranchOrPullRequestDialog.js.map +1 -1
- package/dist/esm/presentation/shared/TwoFactorDialogs.d.ts.map +1 -1
- package/dist/esm/presentation/shared/TwoFactorDialogs.js +0 -9
- package/dist/esm/presentation/shared/TwoFactorDialogs.js.map +1 -1
- package/dist/index.js +257 -116
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideFromTop.js","names":["React","cloneElement","Transition","
|
|
1
|
+
{"version":3,"file":"SlideFromTop.js","names":["React","cloneElement","Transition","DEFAULT_DISTANCE","buildStyles","distance","away","base","transitionProperty","transitionTimingFunction","transform","opacity","entering","transitionDuration","entered","exiting","exited","SlideFromTop","_ref","_ref$in","in","inProp","onEnter","onExited","children","style","_ref$timeout","timeout","_ref$distance","styles","handleEnter","node","isAppearing","offsetHeight","createElement","appear","state","_extends","visibility","undefined","props","displayName"],"sources":["../../../../../src/components/Transitions/SlideFromTop/SlideFromTop.tsx"],"sourcesContent":["import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\n\nimport { TransitionProps } from \"../types\";\n\ninterface ISlideFromTop extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n /** How far above its resting place the element starts. A fixed travel, not a share of its height. */\n distance?: number;\n}\n\nconst DEFAULT_DISTANCE = 25;\n\nconst buildStyles = (distance: number) => {\n const away = `translateY(-${distance}px)`;\n\n return {\n base: {\n transitionProperty: \"opacity, transform\",\n transitionTimingFunction: \"ease-out\",\n transform: away,\n opacity: 0,\n },\n entering: {\n opacity: 1,\n transform: \"translateY(0)\",\n transitionDuration: \".3s\",\n },\n entered: {\n opacity: 1,\n transform: \"translateY(0)\",\n transitionDuration: \".3s\",\n },\n exiting: { opacity: 0, transform: away, transitionDuration: \".2s\" },\n exited: { opacity: 0, transform: away, transitionDuration: \".2s\" },\n };\n};\n\nexport const SlideFromTop: FC<ISlideFromTop> = ({\n in: inProp = false,\n onEnter,\n onExited,\n children,\n style,\n timeout = 400,\n distance = DEFAULT_DISTANCE,\n}) => {\n const styles = buildStyles(distance);\n\n // React flushes the state change that follows onEnter before the browser paints, so without a\n // forced layout here the element never holds its starting style and the transition is skipped.\n const handleEnter = (node: HTMLElement, isAppearing: boolean) => {\n if (node) {\n void node.offsetHeight;\n }\n onEnter?.(node, isAppearing);\n };\n\n return (\n <Transition\n appear\n in={inProp}\n timeout={timeout}\n onEnter={handleEnter}\n onExited={onExited}\n >\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...styles.base,\n ...styles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nSlideFromTop.displayName = \"SlideFromTop\";\n"],"mappings":";AAAA,OAAOA,KAAK,IAAsBC,YAAY,QAAQ,OAAO;AAC7D,SAASC,UAAU,QAAQ,wBAAwB;AAWnD,MAAMC,gBAAgB,GAAG,EAAE;AAE3B,MAAMC,WAAW,GAAIC,QAAgB,IAAK;EACxC,MAAMC,IAAI,oBAAkBD,QAAQ,QAAK;EAEzC,OAAO;IACLE,IAAI,EAAE;MACJC,kBAAkB,EAAE,oBAAoB;MACxCC,wBAAwB,EAAE,UAAU;MACpCC,SAAS,EAAEJ,IAAI;MACfK,OAAO,EAAE;IACX,CAAC;IACDC,QAAQ,EAAE;MACRD,OAAO,EAAE,CAAC;MACVD,SAAS,EAAE,eAAe;MAC1BG,kBAAkB,EAAE;IACtB,CAAC;IACDC,OAAO,EAAE;MACPH,OAAO,EAAE,CAAC;MACVD,SAAS,EAAE,eAAe;MAC1BG,kBAAkB,EAAE;IACtB,CAAC;IACDE,OAAO,EAAE;MAAEJ,OAAO,EAAE,CAAC;MAAED,SAAS,EAAEJ,IAAI;MAAEO,kBAAkB,EAAE;IAAM,CAAC;IACnEG,MAAM,EAAE;MAAEL,OAAO,EAAE,CAAC;MAAED,SAAS,EAAEJ,IAAI;MAAEO,kBAAkB,EAAE;IAAM;EACnE,CAAC;AACH,CAAC;AAED,OAAO,MAAMI,YAA+B,GAAGC,IAAA,IAQzC;EAAA,IAAAC,OAAA,GAAAD,IAAA,CAPJE,EAAE;IAAEC,MAAM,GAAAF,OAAA,cAAG,KAAK,GAAAA,OAAA;IAClBG,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IACPC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IACRC,KAAK,GAAAP,IAAA,CAALO,KAAK;IAAAC,YAAA,GAAAR,IAAA,CACLS,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,GAAG,GAAAA,YAAA;IAAAE,aAAA,GAAAV,IAAA,CACbb,QAAQ;IAARA,QAAQ,GAAAuB,aAAA,cAAGzB,gBAAgB,GAAAyB,aAAA;EAE3B,MAAMC,MAAM,GAAGzB,WAAW,CAACC,QAAQ,CAAC;;EAEpC;EACA;EACA,MAAMyB,WAAW,GAAGA,CAACC,IAAiB,EAAEC,WAAoB,KAAK;IAC/D,IAAID,IAAI,EAAE;MACR,KAAKA,IAAI,CAACE,YAAY;IACxB;IACAX,OAAO,YAAPA,OAAO,CAAGS,IAAI,EAAEC,WAAW,CAAC;EAC9B,CAAC;EAED,oBACEhC,KAAA,CAAAkC,aAAA,CAAChC,UAAU;IACTiC,MAAM;IACNf,EAAE,EAAEC,MAAO;IACXM,OAAO,EAAEA,OAAQ;IACjBL,OAAO,EAAEQ,WAAY;IACrBP,QAAQ,EAAEA;EAAS,GAEjBa,KAAK,IAAmB;IACxB,oBAAOnC,YAAY,CAACuB,QAAQ,EAAE;MAC5BC,KAAK,EAAAY,QAAA;QACHC,UAAU,EAAEF,KAAK,KAAK,QAAQ,IAAI,CAACf,MAAM,GAAG,QAAQ,GAAGkB;MAAS,GAC7DV,MAAM,CAACtB,IAAI,EACXsB,MAAM,CAACO,KAAK,CAAC,EACbX,KAAK,EACLD,QAAQ,CAACgB,KAAK,CAACf,KAAK;IAE3B,CAAC,CAAC;EACJ,CACU,CAAC;AAEjB,CAAC;AAEDR,YAAY,CAACwB,WAAW,GAAG,cAAc","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { FC, ReactNode } from "react";
|
|
2
|
+
import { DialogSize } from "../Dialog/Styles";
|
|
2
3
|
export interface IStep {
|
|
3
4
|
index?: number;
|
|
4
5
|
isLast?: boolean;
|
|
@@ -14,6 +15,9 @@ export interface IStep {
|
|
|
14
15
|
disableBackButton?: boolean;
|
|
15
16
|
customRightHeader?: ReactNode;
|
|
16
17
|
skip?: boolean;
|
|
18
|
+
/** Read by Wizard off the active step and passed to the dialog. */
|
|
19
|
+
size?: DialogSize;
|
|
20
|
+
height?: string;
|
|
17
21
|
}
|
|
18
22
|
export declare const Step: FC<IStep>;
|
|
19
23
|
//# sourceMappingURL=Step.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Step.d.ts","sourceRoot":"","sources":["../../../../src/components/Wizard/Step.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,SAAS,EAAe,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Step.d.ts","sourceRoot":"","sources":["../../../../src/components/Wizard/Step.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,SAAS,EAAe,MAAM,OAAO,CAAC;AAW1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,CA4E1B,CAAC"}
|
|
@@ -2,6 +2,7 @@ import React, { useCallback } from "react";
|
|
|
2
2
|
import { StepActionButton } from "./StepActionButton";
|
|
3
3
|
import { StyledStepTitle, StyledStepHeaderLeft, StyledStepHeader, StyledCustomStep } from "./Styles";
|
|
4
4
|
import { Dialog } from "../Dialog";
|
|
5
|
+
import { useDialogClose } from "../Dialog/DialogContext";
|
|
5
6
|
import { IconButton } from "../IconButton";
|
|
6
7
|
import { ArrowBackMobileIcon, CancelCrossIcon } from "../Icons";
|
|
7
8
|
import { Caption2, Header3 } from "../Typography";
|
|
@@ -25,6 +26,8 @@ export const Step = _ref => {
|
|
|
25
26
|
customRightHeader = _ref.customRightHeader,
|
|
26
27
|
_ref$skip = _ref.skip,
|
|
27
28
|
skip = _ref$skip === void 0 ? false : _ref$skip;
|
|
29
|
+
// The close button goes through the dialog so the exit transition runs before the caller unmounts.
|
|
30
|
+
const closeDialog = useDialogClose(onClose);
|
|
28
31
|
const onActionButtonClick = useCallback(() => {
|
|
29
32
|
if (isLast && onClose) {
|
|
30
33
|
return onClose();
|
|
@@ -37,7 +40,7 @@ export const Step = _ref => {
|
|
|
37
40
|
className: "tw--ml-3 tw-mr-2",
|
|
38
41
|
disabled: changingStepInProgress
|
|
39
42
|
}, /*#__PURE__*/React.createElement(ArrowBackMobileIcon, null)) : null, /*#__PURE__*/React.createElement(StyledStepTitle, null, /*#__PURE__*/React.createElement(Caption2, null, title), /*#__PURE__*/React.createElement(Header3, null, subtitle))), customRightHeader ? customRightHeader : /*#__PURE__*/React.createElement(IconButton, {
|
|
40
|
-
onClick:
|
|
43
|
+
onClick: closeDialog,
|
|
41
44
|
variant: "text gray",
|
|
42
45
|
disabled: changingStepInProgress
|
|
43
46
|
}, /*#__PURE__*/React.createElement(CancelCrossIcon, null))), /*#__PURE__*/React.createElement(Dialog.ContentDivider, null), shouldRenderNextButton ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dialog.Content, null, children), /*#__PURE__*/React.createElement(Dialog.ContentDivider, null), /*#__PURE__*/React.createElement(Dialog.Actions, null, /*#__PURE__*/React.createElement(StepActionButton, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Step.js","names":["React","useCallback","StepActionButton","StyledStepTitle","StyledStepHeaderLeft","StyledStepHeader","StyledCustomStep","Dialog","IconButton","ArrowBackMobileIcon","CancelCrossIcon","Caption2","Header3","Step","_ref","index","isLast","subtitle","title","onNextButtonClick","onPreviousButtonClick","onClose","children","_ref$actionLabel","actionLabel","_ref$shouldRenderNext","shouldRenderNextButton","_ref$changingStepInPr","changingStepInProgress","_ref$disableBackButto","disableBackButton","customRightHeader","_ref$skip","skip","onActionButtonClick","createElement","Fragment","onClick","variant","className","disabled","ContentDivider","Content","Actions","displayName"],"sources":["../../../../src/components/Wizard/Step.tsx"],"sourcesContent":["import React, { FC, ReactNode, useCallback } from \"react\";\n\nimport { StepActionButton } from \"./StepActionButton\";\nimport {\n StyledStepTitle,\n StyledStepHeaderLeft,\n StyledStepHeader,\n StyledCustomStep,\n} from \"./Styles\";\nimport { Dialog } from \"../Dialog\";\nimport { IconButton } from \"../IconButton\";\nimport { ArrowBackMobileIcon, CancelCrossIcon } from \"../Icons\";\nimport { Caption2, Header3 } from \"../Typography\";\n\nexport interface IStep {\n index?: number;\n isLast?: boolean;\n subtitle: string;\n title?: string;\n onNextButtonClick?: () => void;\n onPreviousButtonClick?: () => void;\n onClose?: () => void;\n children: ReactNode;\n actionLabel?: string;\n shouldRenderNextButton?: boolean;\n changingStepInProgress?: boolean;\n disableBackButton?: boolean;\n customRightHeader?: ReactNode;\n skip?: boolean;\n}\n\nexport const Step: FC<IStep> = ({\n index,\n isLast,\n subtitle,\n title,\n onNextButtonClick,\n onPreviousButtonClick,\n onClose,\n children,\n actionLabel = \"Proceed\",\n shouldRenderNextButton = true,\n changingStepInProgress = false,\n disableBackButton = false,\n customRightHeader,\n skip = false,\n}) => {\n const onActionButtonClick = useCallback(() => {\n if (isLast && onClose) {\n return onClose();\n }\n\n return onNextButtonClick && onNextButtonClick();\n }, [isLast, onClose, onNextButtonClick]);\n\n return !skip ? (\n <>\n <StyledStepHeader>\n <StyledStepHeaderLeft>\n {!disableBackButton && index && index > 0 ? (\n <IconButton\n onClick={onPreviousButtonClick}\n variant=\"text gray\"\n className=\"tw--ml-3 tw-mr-2\"\n disabled={changingStepInProgress}\n >\n <ArrowBackMobileIcon />\n </IconButton>\n ) : null}\n <StyledStepTitle>\n <Caption2>{title}</Caption2>\n <Header3>{subtitle}</Header3>\n </StyledStepTitle>\n </StyledStepHeaderLeft>\n {customRightHeader ? (\n customRightHeader\n ) : (\n <IconButton\n onClick={
|
|
1
|
+
{"version":3,"file":"Step.js","names":["React","useCallback","StepActionButton","StyledStepTitle","StyledStepHeaderLeft","StyledStepHeader","StyledCustomStep","Dialog","useDialogClose","IconButton","ArrowBackMobileIcon","CancelCrossIcon","Caption2","Header3","Step","_ref","index","isLast","subtitle","title","onNextButtonClick","onPreviousButtonClick","onClose","children","_ref$actionLabel","actionLabel","_ref$shouldRenderNext","shouldRenderNextButton","_ref$changingStepInPr","changingStepInProgress","_ref$disableBackButto","disableBackButton","customRightHeader","_ref$skip","skip","closeDialog","onActionButtonClick","createElement","Fragment","onClick","variant","className","disabled","ContentDivider","Content","Actions","displayName"],"sources":["../../../../src/components/Wizard/Step.tsx"],"sourcesContent":["import React, { FC, ReactNode, useCallback } from \"react\";\n\nimport { StepActionButton } from \"./StepActionButton\";\nimport {\n StyledStepTitle,\n StyledStepHeaderLeft,\n StyledStepHeader,\n StyledCustomStep,\n} from \"./Styles\";\nimport { Dialog } from \"../Dialog\";\nimport { useDialogClose } from \"../Dialog/DialogContext\";\nimport { DialogSize } from \"../Dialog/Styles\";\nimport { IconButton } from \"../IconButton\";\nimport { ArrowBackMobileIcon, CancelCrossIcon } from \"../Icons\";\nimport { Caption2, Header3 } from \"../Typography\";\n\nexport interface IStep {\n index?: number;\n isLast?: boolean;\n subtitle: string;\n title?: string;\n onNextButtonClick?: () => void;\n onPreviousButtonClick?: () => void;\n onClose?: () => void;\n children: ReactNode;\n actionLabel?: string;\n shouldRenderNextButton?: boolean;\n changingStepInProgress?: boolean;\n disableBackButton?: boolean;\n customRightHeader?: ReactNode;\n skip?: boolean;\n /** Read by Wizard off the active step and passed to the dialog. */\n size?: DialogSize;\n height?: string;\n}\n\nexport const Step: FC<IStep> = ({\n index,\n isLast,\n subtitle,\n title,\n onNextButtonClick,\n onPreviousButtonClick,\n onClose,\n children,\n actionLabel = \"Proceed\",\n shouldRenderNextButton = true,\n changingStepInProgress = false,\n disableBackButton = false,\n customRightHeader,\n skip = false,\n}) => {\n // The close button goes through the dialog so the exit transition runs before the caller unmounts.\n const closeDialog = useDialogClose(onClose);\n\n const onActionButtonClick = useCallback(() => {\n if (isLast && onClose) {\n return onClose();\n }\n\n return onNextButtonClick && onNextButtonClick();\n }, [isLast, onClose, onNextButtonClick]);\n\n return !skip ? (\n <>\n <StyledStepHeader>\n <StyledStepHeaderLeft>\n {!disableBackButton && index && index > 0 ? (\n <IconButton\n onClick={onPreviousButtonClick}\n variant=\"text gray\"\n className=\"tw--ml-3 tw-mr-2\"\n disabled={changingStepInProgress}\n >\n <ArrowBackMobileIcon />\n </IconButton>\n ) : null}\n <StyledStepTitle>\n <Caption2>{title}</Caption2>\n <Header3>{subtitle}</Header3>\n </StyledStepTitle>\n </StyledStepHeaderLeft>\n {customRightHeader ? (\n customRightHeader\n ) : (\n <IconButton\n onClick={closeDialog}\n variant=\"text gray\"\n disabled={changingStepInProgress}\n >\n <CancelCrossIcon />\n </IconButton>\n )}\n </StyledStepHeader>\n <Dialog.ContentDivider />\n {shouldRenderNextButton ? (\n <>\n <Dialog.Content>{children}</Dialog.Content>\n <Dialog.ContentDivider />\n <Dialog.Actions>\n <StepActionButton\n isLast={isLast}\n actionLabel={actionLabel}\n onNextButtonClick={onActionButtonClick}\n />\n </Dialog.Actions>\n </>\n ) : (\n <StyledCustomStep>{children}</StyledCustomStep>\n )}\n </>\n ) : null;\n};\n\nStep.displayName = \"Step\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { ReactNode } from "react";
|
|
2
|
+
import { DialogSize } from "../Dialog/Styles";
|
|
2
3
|
export interface IWizard {
|
|
3
4
|
title: string;
|
|
4
5
|
open: boolean;
|
|
@@ -6,6 +7,8 @@ export interface IWizard {
|
|
|
6
7
|
children: ReactNode;
|
|
7
8
|
disableCloseOnEsc?: boolean;
|
|
8
9
|
dialogClassName?: string;
|
|
10
|
+
size?: DialogSize;
|
|
11
|
+
height?: string;
|
|
9
12
|
}
|
|
10
13
|
export declare const Wizard: React.ForwardRefExoticComponent<IWizard & React.RefAttributes<HTMLDivElement>>;
|
|
11
14
|
//# sourceMappingURL=Wizard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wizard.d.ts","sourceRoot":"","sources":["../../../../src/components/Wizard/Wizard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAKZ,SAAS,EAKV,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Wizard.d.ts","sourceRoot":"","sources":["../../../../src/components/Wizard/Wizard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAKZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAKf,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,MAAM,gFA0GlB,CAAC"}
|
|
@@ -3,13 +3,18 @@ import { WizardContextProvider } from "./context";
|
|
|
3
3
|
import { Step } from "./Step";
|
|
4
4
|
import { Dialog } from "../Dialog";
|
|
5
5
|
export const Wizard = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
6
|
+
var _activeStepProps$size, _activeStepProps$heig;
|
|
6
7
|
let title = _ref.title,
|
|
7
8
|
open = _ref.open,
|
|
8
9
|
onClose = _ref.onClose,
|
|
9
10
|
_ref$disableCloseOnEs = _ref.disableCloseOnEsc,
|
|
10
11
|
disableCloseOnEsc = _ref$disableCloseOnEs === void 0 ? false : _ref$disableCloseOnEs,
|
|
11
12
|
children = _ref.children,
|
|
12
|
-
dialogClassName = _ref.dialogClassName
|
|
13
|
+
dialogClassName = _ref.dialogClassName,
|
|
14
|
+
_ref$size = _ref.size,
|
|
15
|
+
size = _ref$size === void 0 ? "m" : _ref$size,
|
|
16
|
+
_ref$height = _ref.height,
|
|
17
|
+
height = _ref$height === void 0 ? "fluid" : _ref$height;
|
|
13
18
|
const childrenCollection = useMemo(() => React.Children.toArray(children), [children]);
|
|
14
19
|
const _useState = useState(0),
|
|
15
20
|
activeStep = _useState[0],
|
|
@@ -42,6 +47,11 @@ export const Wizard = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
42
47
|
}
|
|
43
48
|
setActiveStep(index);
|
|
44
49
|
}, [activeStep, childrenCollection]);
|
|
50
|
+
const activeStepProps = useMemo(() => {
|
|
51
|
+
var _element$props;
|
|
52
|
+
const element = childrenCollection[activeStep];
|
|
53
|
+
return (_element$props = element == null ? void 0 : element.props) != null ? _element$props : {};
|
|
54
|
+
}, [activeStep, childrenCollection]);
|
|
45
55
|
const renderActiveStep = useMemo(() => {
|
|
46
56
|
const element = childrenCollection[activeStep];
|
|
47
57
|
if ((element == null ? void 0 : element.type) === Step) {
|
|
@@ -71,7 +81,9 @@ export const Wizard = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
71
81
|
open: open,
|
|
72
82
|
onClose: onClose,
|
|
73
83
|
disableCloseOnEsc: disableCloseOnEsc,
|
|
74
|
-
className: dialogClassName
|
|
84
|
+
className: dialogClassName,
|
|
85
|
+
size: (_activeStepProps$size = activeStepProps.size) != null ? _activeStepProps$size : size,
|
|
86
|
+
height: (_activeStepProps$heig = activeStepProps.height) != null ? _activeStepProps$heig : height
|
|
75
87
|
}, renderActiveStep));
|
|
76
88
|
});
|
|
77
89
|
Wizard.displayName = "Wizard";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wizard.js","names":["React","forwardRef","useCallback","useEffect","useMemo","useState","WizardContextProvider","Step","Dialog","Wizard","_ref","ref","title","open","onClose","_ref$disableCloseOnEs","disableCloseOnEsc","children","dialogClassName","childrenCollection","Children","toArray","_useState","activeStep","setActiveStep","_useState2","changingStepInProgress","setChangingStepInProgress","goNext","index","findIndex","step","_stepEl$props","stepEl","props","skip","goPrevious","i","length","_step$props","
|
|
1
|
+
{"version":3,"file":"Wizard.js","names":["React","forwardRef","useCallback","useEffect","useMemo","useState","WizardContextProvider","Step","Dialog","Wizard","_ref","ref","_activeStepProps$size","_activeStepProps$heig","title","open","onClose","_ref$disableCloseOnEs","disableCloseOnEsc","children","dialogClassName","_ref$size","size","_ref$height","height","childrenCollection","Children","toArray","_useState","activeStep","setActiveStep","_useState2","changingStepInProgress","setChangingStepInProgress","goNext","index","findIndex","step","_stepEl$props","stepEl","props","skip","goPrevious","i","length","_step$props","activeStepProps","_element$props","element","renderActiveStep","type","cloneElement","isLast","onNextButtonClick","onPreviousButtonClick","createElement","value","close","className","displayName"],"sources":["../../../../src/components/Wizard/Wizard.tsx"],"sourcesContent":["import React, {\n forwardRef,\n ReactChild,\n ReactElement,\n ReactFragment,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\n\nimport { WizardContextProvider } from \"./context\";\nimport { Step } from \"./Step\";\nimport { Dialog } from \"../Dialog\";\nimport { DialogSize } from \"../Dialog/Styles\";\n\nexport interface IWizard {\n title: string;\n open: boolean;\n onClose: () => void;\n children: ReactNode;\n disableCloseOnEsc?: boolean;\n dialogClassName?: string;\n size?: DialogSize;\n height?: string;\n}\n\nexport const Wizard = forwardRef<HTMLDivElement, IWizard>(\n (\n {\n title,\n open,\n onClose,\n disableCloseOnEsc = false,\n children,\n dialogClassName,\n size = \"m\",\n height = \"fluid\",\n },\n ref\n ) => {\n const childrenCollection = useMemo(\n () => React.Children.toArray(children),\n [children]\n );\n\n const [activeStep, setActiveStep] = useState(0);\n const [changingStepInProgress, setChangingStepInProgress] = useState(false);\n\n useEffect(() => {\n if (open) {\n setActiveStep(0);\n }\n }, [open]);\n\n const goNext = useCallback(() => {\n const index = childrenCollection.findIndex(\n (step: ReactChild | ReactFragment, index) => {\n const stepEl = step as ReactElement;\n return !stepEl?.props?.skip && index > activeStep;\n }\n );\n setActiveStep(index);\n }, [activeStep, childrenCollection]);\n\n const goPrevious = useCallback(() => {\n let index = 0;\n for (let i = childrenCollection.length - 1; i >= 0; i--) {\n const step = childrenCollection[i] as ReactElement;\n if (!step?.props?.skip && i < activeStep) {\n index = i;\n break;\n }\n }\n setActiveStep(index);\n }, [activeStep, childrenCollection]);\n\n const activeStepProps = useMemo(() => {\n const element = childrenCollection[activeStep] as ReactElement;\n return (element?.props ?? {}) as { size?: DialogSize; height?: string };\n }, [activeStep, childrenCollection]);\n\n const renderActiveStep = useMemo(() => {\n const element = childrenCollection[activeStep] as ReactElement;\n\n if (element?.type === Step) {\n return React.cloneElement(element, {\n index: activeStep,\n isLast: childrenCollection.length - 1 === activeStep,\n title,\n onNextButtonClick: goNext,\n onPreviousButtonClick: goPrevious,\n onClose,\n changingStepInProgress: changingStepInProgress,\n });\n }\n\n return null;\n }, [\n activeStep,\n changingStepInProgress,\n childrenCollection,\n goNext,\n goPrevious,\n onClose,\n title,\n ]);\n\n return (\n <WizardContextProvider\n value={{\n activeStep,\n setActiveStep,\n goNext,\n goPrevious,\n close: onClose,\n setChangingStepInProgress,\n }}\n >\n <Dialog\n ref={ref}\n open={open}\n onClose={onClose}\n disableCloseOnEsc={disableCloseOnEsc}\n className={dialogClassName}\n size={activeStepProps.size ?? size}\n height={activeStepProps.height ?? height}\n >\n {renderActiveStep}\n </Dialog>\n </WizardContextProvider>\n );\n }\n);\n\nWizard.displayName = \"Wizard\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectRepositoryDialog.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/ConnectRepositoryDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,YAAY,EAKb,MAAM,OAAO,CAAC;AA8Bf,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,4EAA4E;AAC5E,eAAO,MAAM,YAAY,GAAI,SAAS,iBAAiB,KAAG,MACd,CAAC;AAE7C,+EAA+E;AAC/E,eAAO,MAAM,cAAc,GAAI,UAAU,iBAAiB,KAAG,YAQ5D,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,EAAE,UAAU,EAGnC,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,EAAE,UAAU,EAQ5C,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,wBAAwB,EAAE,UAAU,EAahD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,cAAc,UAAU,EAAE,EAC1B,aAAa,UAAU,EAAE;;;;;;;;GAgBsB,CAAC;AAwBlD,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,gBAAgB,GAAI,qFAQ9B,qBAAqB,KAAG,YA8C1B,CAAC;AAwBF,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mEAAmE;IACnE,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,iFAAiF;IACjF,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,uBAAuB,GAAI,0DAMrC,4BAA4B,KAAG,
|
|
1
|
+
{"version":3,"file":"ConnectRepositoryDialog.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/ConnectRepositoryDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,YAAY,EAKb,MAAM,OAAO,CAAC;AA8Bf,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,4EAA4E;AAC5E,eAAO,MAAM,YAAY,GAAI,SAAS,iBAAiB,KAAG,MACd,CAAC;AAE7C,+EAA+E;AAC/E,eAAO,MAAM,cAAc,GAAI,UAAU,iBAAiB,KAAG,YAQ5D,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,EAAE,UAAU,EAGnC,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,EAAE,UAAU,EAQ5C,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,wBAAwB,EAAE,UAAU,EAahD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,cAAc,UAAU,EAAE,EAC1B,aAAa,UAAU,EAAE;;;;;;;;GAgBsB,CAAC;AAwBlD,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,gBAAgB,GAAI,qFAQ9B,qBAAqB,KAAG,YA8C1B,CAAC;AAwBF,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mEAAmE;IACnE,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,iFAAiF;IACjF,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,uBAAuB,GAAI,0DAMrC,4BAA4B,KAAG,YAwEjC,CAAC"}
|
|
@@ -231,9 +231,6 @@ export const ConnectRepositoryDialog = _ref2 => {
|
|
|
231
231
|
color: "tertiary"
|
|
232
232
|
}, "Issues from this repository will create and update tasks in this project."))), /*#__PURE__*/React.createElement(Dialog.ContentDivider, null), /*#__PURE__*/React.createElement(Dialog.Actions, null, /*#__PURE__*/React.createElement(Button, {
|
|
233
233
|
variant: "primary",
|
|
234
|
-
style: {
|
|
235
|
-
marginRight: 12
|
|
236
|
-
},
|
|
237
234
|
onClick: handleConnect
|
|
238
235
|
}, "Connect"), /*#__PURE__*/React.createElement(Button, {
|
|
239
236
|
variant: "secondary",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectRepositoryDialog.js","names":["React","useCallback","useEffect","useRef","useState","styled","createGlobalStyle","Button","Checkbox","Dialog","GitHubIcon","GitIcon","GitLabIcon","Label","Select","SelectTrigger","Body2","SANS","serviceLabel","service","connectionIcon","createElement","CONNECTIONS","id","name","PROJECT_REPOSITORIES","connectionId","CONNECTABLE_REPOSITORIES","buildRepoOptions","repositories","connections","map","c","options","filter","r","sort","a","b","localeCompare","icon","group","length","RepoMenuGlobalStyle","p","$cls","$w","RepoSelectWrap","div","withConfig","displayName","componentId","RepositorySelect","_ref","_repositories$find$na","_repositories$find","selected","onChange","invalid","_ref$placeholder","placeholder","className","wrapRef","_useState","menuWidth","setMenuWidth","_useState2","Math","random","toString","slice","menuCls","measure","current","offsetWidth","selectedName","find","ref","undefined","v","String","selectClassName","onSelectOpen","forceCloseMenu","target","typographyProps","color","StyledConnectBody","ConnectRepositoryDialog","_ref2","open","onClose","onConnect","_ref2$repositories","_ref2$connections","_useState3","setSelected","_useState4","issueSync","setIssueSync","_useState5","attempted","setAttempted","handleConnect","repo","disableCloseOnEsc","Title","ContentDivider","Content","size","checked","e","htmlFor","weight","Actions","variant","style","marginRight","onClick"],"sources":["../../../../src/presentation/shared/ConnectRepositoryDialog.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport styled, { createGlobalStyle } from \"styled-components\";\n\nimport { Button } from \"../../components/Button\";\nimport { Checkbox } from \"../../components/Checkbox\";\nimport { Dialog } from \"../../components/Dialog\";\nimport { GitHubIcon, GitIcon, GitLabIcon } from \"../../components/Icons\";\nimport { Label } from \"../../components/Label\";\nimport { Select } from \"../../components/Select\";\nimport { SelectTrigger } from \"../../components/SelectTrigger\";\nimport { Body2 } from \"../../components/Typography\";\n\n/**\n * \"Connect Repository\" — the project-side counterpart to the \"Connect Project\"\n * dialog on the Repositories page (Apps & Integrations). Same operation from\n * the other end: pick a repository, choose which features to enable, and make\n * the connection. Built as a shared component because more than one story links\n * a repository this way.\n *\n * Also exports `RepositorySelect`, the grouped repository picker (repositories\n * grouped under their connection name, everything sorted by name, filterable\n * via the built-in search) reused wherever a repository is chosen.\n */\n\nconst SANS =\n '-apple-system, BlinkMacSystemFont, \"Roboto\", \"Helvetica Neue\", Arial, sans-serif';\n\n/* ---- Data model + mock data ----------------------------------------- */\n\nexport type ConnectionService = \"github\" | \"gitlab\";\n\nexport interface Connection {\n id: string;\n /** Org / group name, e.g. \"ActiveCollab\" or \"a51-ops\". */\n name: string;\n service: ConnectionService;\n}\n\n/** Human-readable provider label used in the group header \"name (type)\". */\nexport const serviceLabel = (service: ConnectionService): string =>\n service === \"github\" ? \"GitHub\" : \"GitLab\";\n\n/** Provider glyph for a connection: GitHub / GitLab, Git for anything else. */\nexport const connectionIcon = (service?: ConnectionService): ReactElement => {\n if (service === \"github\") {\n return <GitHubIcon />;\n }\n if (service === \"gitlab\") {\n return <GitLabIcon />;\n }\n return <GitIcon />;\n};\n\nexport interface Repository {\n id: string;\n /** Full repository path, e.g. activecollab/backend. */\n name: string;\n connectionId: string;\n}\n\nexport const CONNECTIONS: Connection[] = [\n { id: \"gh-ac\", name: \"ActiveCollab\", service: \"github\" },\n { id: \"gl-ops\", name: \"a51-ops\", service: \"gitlab\" },\n];\n\n/** Repositories already connected to the project (shown in link pickers). */\nexport const PROJECT_REPOSITORIES: Repository[] = [\n { id: \"backend\", name: \"activecollab/backend\", connectionId: \"gh-ac\" },\n { id: \"frontend\", name: \"activecollab/frontend\", connectionId: \"gh-ac\" },\n {\n id: \"infra\",\n name: \"activecollab/infrastructure\",\n connectionId: \"gl-ops\",\n },\n];\n\n/** Repositories available to connect (not yet linked to the project). */\nexport const CONNECTABLE_REPOSITORIES: Repository[] = [\n { id: \"mobile\", name: \"activecollab/mobile\", connectionId: \"gh-ac\" },\n {\n id: \"design-system\",\n name: \"activecollab/design-system\",\n connectionId: \"gh-ac\",\n },\n {\n id: \"deploy-scripts\",\n name: \"a51-ops/deploy-scripts\",\n connectionId: \"gl-ops\",\n },\n { id: \"runners\", name: \"a51-ops/ci-runners\", connectionId: \"gl-ops\" },\n];\n\n/**\n * Build grouped Select options — groups and options both sorted by name. Each\n * repository option carries a leading provider icon (GitHub / GitLab / Git) via\n * the Select's `icon` slot; the group header is just the connection name, since\n * the icon now conveys the service (no \"(GitHub)\" / \"(GitLab)\" suffix).\n */\nexport const buildRepoOptions = (\n repositories: Repository[],\n connections: Connection[]\n) =>\n [...connections]\n .map((c) => ({\n id: c.id,\n name: c.name,\n options: repositories\n .filter((r) => r.connectionId === c.id)\n .sort((a, b) => a.name.localeCompare(b.name))\n .map((r) => ({\n id: r.id,\n name: r.name,\n icon: connectionIcon(c.service),\n })),\n }))\n .filter((group) => group.options.length > 0)\n .sort((a, b) => a.name.localeCompare(b.name));\n\n/* ---- RepositorySelect ------------------------------------------------ */\n\n/**\n * The grouped repository menu renders through a portal, so the \"match the\n * trigger width\" override has to be global, scoped to this instance's class.\n */\nconst RepoMenuGlobalStyle = createGlobalStyle<{ $cls: string; $w?: number }>`\n .c-select.${(p) => p.$cls} {\n ${(p) =>\n p.$w ? `width: ${p.$w}px !important; max-width: none !important;` : \"\"}\n }\n`;\n\nconst RepoSelectWrap = styled.div`\n font-family: ${SANS};\n\n .repo-trigger {\n width: 100%;\n max-width: none;\n }\n`;\n\nexport interface RepositorySelectProps {\n repositories: Repository[];\n connections: Connection[];\n selected: string | null;\n onChange: (id: string) => void;\n invalid?: boolean;\n placeholder?: string;\n className?: string;\n}\n\nexport const RepositorySelect = ({\n repositories,\n connections,\n selected,\n onChange,\n invalid,\n placeholder = \"Choose repository\",\n className,\n}: RepositorySelectProps): ReactElement => {\n const wrapRef = useRef<HTMLDivElement>(null);\n const [menuWidth, setMenuWidth] = useState<number | undefined>();\n const [menuCls] = useState(\n () => `repo-select-menu-${Math.random().toString(36).slice(2)}`\n );\n\n const measure = useCallback(() => {\n if (wrapRef.current) {\n setMenuWidth(wrapRef.current.offsetWidth);\n }\n }, []);\n\n useEffect(() => {\n measure();\n }, [measure]);\n\n const options = buildRepoOptions(repositories, connections);\n const selectedName =\n repositories.find((r) => r.id === selected)?.name ?? placeholder;\n\n return (\n <RepoSelectWrap ref={wrapRef} className={className}>\n <RepoMenuGlobalStyle $cls={menuCls} $w={menuWidth} />\n <Select\n options={options}\n selected={selected === null ? undefined : selected}\n onChange={(v) => onChange(String(v))}\n placeholder=\"Search repositories\"\n selectClassName={menuCls}\n onSelectOpen={measure}\n forceCloseMenu\n target={\n <SelectTrigger\n className=\"repo-trigger\"\n invalid={invalid}\n typographyProps={\n selected === null ? { color: \"tertiary\" } : undefined\n }\n >\n {selectedName}\n </SelectTrigger>\n }\n />\n </RepoSelectWrap>\n );\n};\n\n/* ---- ConnectRepositoryDialog ---------------------------------------- */\n\nconst StyledConnectBody = styled.div`\n font-family: ${SANS};\n\n .cr-field {\n margin-bottom: 16px;\n }\n .cr-label {\n display: block;\n margin-bottom: 6px;\n }\n .cr-check {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n .cr-check-hint {\n margin-top: 6px;\n }\n`;\n\nexport interface ConnectRepositoryDialogProps {\n open: boolean;\n onClose: () => void;\n /** Called with the connected repository when the user confirms. */\n onConnect: (repository: Repository) => void;\n /** Repositories that can be connected (defaults to the mock connectable set). */\n repositories?: Repository[];\n connections?: Connection[];\n}\n\nexport const ConnectRepositoryDialog = ({\n open,\n onClose,\n onConnect,\n repositories = CONNECTABLE_REPOSITORIES,\n connections = CONNECTIONS,\n}: ConnectRepositoryDialogProps): ReactElement => {\n const [selected, setSelected] = useState<string | null>(null);\n const [issueSync, setIssueSync] = useState(false);\n const [attempted, setAttempted] = useState(false);\n\n // Reset the form each time the dialog opens.\n useEffect(() => {\n if (open) {\n setSelected(null);\n setIssueSync(false);\n setAttempted(false);\n }\n }, [open]);\n\n const invalid = attempted && selected === null;\n\n const handleConnect = () => {\n const repo = repositories.find((r) => r.id === selected);\n if (!repo) {\n setAttempted(true);\n return;\n }\n onConnect(repo);\n onClose();\n };\n\n return (\n <Dialog open={open} onClose={onClose} disableCloseOnEsc>\n <Dialog.Title>Connect Repository</Dialog.Title>\n <Dialog.ContentDivider />\n <Dialog.Content>\n <StyledConnectBody>\n <div className=\"cr-field\">\n <Label size=\"small\" className=\"cr-label\" invalid={invalid}>\n Repository\n </Label>\n <RepositorySelect\n repositories={repositories}\n connections={connections}\n selected={selected}\n onChange={setSelected}\n invalid={invalid}\n />\n </div>\n\n <div className=\"cr-check\">\n <Checkbox\n id=\"cr-issue-sync\"\n checked={issueSync}\n onChange={(e) => setIssueSync(e.target.checked)}\n />\n <Label htmlFor=\"cr-issue-sync\" weight=\"regular\">\n Enable issue sync\n </Label>\n </div>\n <Body2 className=\"cr-check-hint\" color=\"tertiary\">\n Issues from this repository will create and update tasks in this\n project.\n </Body2>\n </StyledConnectBody>\n </Dialog.Content>\n <Dialog.ContentDivider />\n <Dialog.Actions>\n <Button\n variant=\"primary\"\n style={{ marginRight: 12 }}\n onClick={handleConnect}\n >\n Connect\n </Button>\n <Button variant=\"secondary\" onClick={onClose}>\n Cancel\n </Button>\n </Dialog.Actions>\n </Dialog>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ConnectRepositoryDialog.js","names":["React","useCallback","useEffect","useRef","useState","styled","createGlobalStyle","Button","Checkbox","Dialog","GitHubIcon","GitIcon","GitLabIcon","Label","Select","SelectTrigger","Body2","SANS","serviceLabel","service","connectionIcon","createElement","CONNECTIONS","id","name","PROJECT_REPOSITORIES","connectionId","CONNECTABLE_REPOSITORIES","buildRepoOptions","repositories","connections","map","c","options","filter","r","sort","a","b","localeCompare","icon","group","length","RepoMenuGlobalStyle","p","$cls","$w","RepoSelectWrap","div","withConfig","displayName","componentId","RepositorySelect","_ref","_repositories$find$na","_repositories$find","selected","onChange","invalid","_ref$placeholder","placeholder","className","wrapRef","_useState","menuWidth","setMenuWidth","_useState2","Math","random","toString","slice","menuCls","measure","current","offsetWidth","selectedName","find","ref","undefined","v","String","selectClassName","onSelectOpen","forceCloseMenu","target","typographyProps","color","StyledConnectBody","ConnectRepositoryDialog","_ref2","open","onClose","onConnect","_ref2$repositories","_ref2$connections","_useState3","setSelected","_useState4","issueSync","setIssueSync","_useState5","attempted","setAttempted","handleConnect","repo","disableCloseOnEsc","Title","ContentDivider","Content","size","checked","e","htmlFor","weight","Actions","variant","onClick"],"sources":["../../../../src/presentation/shared/ConnectRepositoryDialog.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport styled, { createGlobalStyle } from \"styled-components\";\n\nimport { Button } from \"../../components/Button\";\nimport { Checkbox } from \"../../components/Checkbox\";\nimport { Dialog } from \"../../components/Dialog\";\nimport { GitHubIcon, GitIcon, GitLabIcon } from \"../../components/Icons\";\nimport { Label } from \"../../components/Label\";\nimport { Select } from \"../../components/Select\";\nimport { SelectTrigger } from \"../../components/SelectTrigger\";\nimport { Body2 } from \"../../components/Typography\";\n\n/**\n * \"Connect Repository\" — the project-side counterpart to the \"Connect Project\"\n * dialog on the Repositories page (Apps & Integrations). Same operation from\n * the other end: pick a repository, choose which features to enable, and make\n * the connection. Built as a shared component because more than one story links\n * a repository this way.\n *\n * Also exports `RepositorySelect`, the grouped repository picker (repositories\n * grouped under their connection name, everything sorted by name, filterable\n * via the built-in search) reused wherever a repository is chosen.\n */\n\nconst SANS =\n '-apple-system, BlinkMacSystemFont, \"Roboto\", \"Helvetica Neue\", Arial, sans-serif';\n\n/* ---- Data model + mock data ----------------------------------------- */\n\nexport type ConnectionService = \"github\" | \"gitlab\";\n\nexport interface Connection {\n id: string;\n /** Org / group name, e.g. \"ActiveCollab\" or \"a51-ops\". */\n name: string;\n service: ConnectionService;\n}\n\n/** Human-readable provider label used in the group header \"name (type)\". */\nexport const serviceLabel = (service: ConnectionService): string =>\n service === \"github\" ? \"GitHub\" : \"GitLab\";\n\n/** Provider glyph for a connection: GitHub / GitLab, Git for anything else. */\nexport const connectionIcon = (service?: ConnectionService): ReactElement => {\n if (service === \"github\") {\n return <GitHubIcon />;\n }\n if (service === \"gitlab\") {\n return <GitLabIcon />;\n }\n return <GitIcon />;\n};\n\nexport interface Repository {\n id: string;\n /** Full repository path, e.g. activecollab/backend. */\n name: string;\n connectionId: string;\n}\n\nexport const CONNECTIONS: Connection[] = [\n { id: \"gh-ac\", name: \"ActiveCollab\", service: \"github\" },\n { id: \"gl-ops\", name: \"a51-ops\", service: \"gitlab\" },\n];\n\n/** Repositories already connected to the project (shown in link pickers). */\nexport const PROJECT_REPOSITORIES: Repository[] = [\n { id: \"backend\", name: \"activecollab/backend\", connectionId: \"gh-ac\" },\n { id: \"frontend\", name: \"activecollab/frontend\", connectionId: \"gh-ac\" },\n {\n id: \"infra\",\n name: \"activecollab/infrastructure\",\n connectionId: \"gl-ops\",\n },\n];\n\n/** Repositories available to connect (not yet linked to the project). */\nexport const CONNECTABLE_REPOSITORIES: Repository[] = [\n { id: \"mobile\", name: \"activecollab/mobile\", connectionId: \"gh-ac\" },\n {\n id: \"design-system\",\n name: \"activecollab/design-system\",\n connectionId: \"gh-ac\",\n },\n {\n id: \"deploy-scripts\",\n name: \"a51-ops/deploy-scripts\",\n connectionId: \"gl-ops\",\n },\n { id: \"runners\", name: \"a51-ops/ci-runners\", connectionId: \"gl-ops\" },\n];\n\n/**\n * Build grouped Select options — groups and options both sorted by name. Each\n * repository option carries a leading provider icon (GitHub / GitLab / Git) via\n * the Select's `icon` slot; the group header is just the connection name, since\n * the icon now conveys the service (no \"(GitHub)\" / \"(GitLab)\" suffix).\n */\nexport const buildRepoOptions = (\n repositories: Repository[],\n connections: Connection[]\n) =>\n [...connections]\n .map((c) => ({\n id: c.id,\n name: c.name,\n options: repositories\n .filter((r) => r.connectionId === c.id)\n .sort((a, b) => a.name.localeCompare(b.name))\n .map((r) => ({\n id: r.id,\n name: r.name,\n icon: connectionIcon(c.service),\n })),\n }))\n .filter((group) => group.options.length > 0)\n .sort((a, b) => a.name.localeCompare(b.name));\n\n/* ---- RepositorySelect ------------------------------------------------ */\n\n/**\n * The grouped repository menu renders through a portal, so the \"match the\n * trigger width\" override has to be global, scoped to this instance's class.\n */\nconst RepoMenuGlobalStyle = createGlobalStyle<{ $cls: string; $w?: number }>`\n .c-select.${(p) => p.$cls} {\n ${(p) =>\n p.$w ? `width: ${p.$w}px !important; max-width: none !important;` : \"\"}\n }\n`;\n\nconst RepoSelectWrap = styled.div`\n font-family: ${SANS};\n\n .repo-trigger {\n width: 100%;\n max-width: none;\n }\n`;\n\nexport interface RepositorySelectProps {\n repositories: Repository[];\n connections: Connection[];\n selected: string | null;\n onChange: (id: string) => void;\n invalid?: boolean;\n placeholder?: string;\n className?: string;\n}\n\nexport const RepositorySelect = ({\n repositories,\n connections,\n selected,\n onChange,\n invalid,\n placeholder = \"Choose repository\",\n className,\n}: RepositorySelectProps): ReactElement => {\n const wrapRef = useRef<HTMLDivElement>(null);\n const [menuWidth, setMenuWidth] = useState<number | undefined>();\n const [menuCls] = useState(\n () => `repo-select-menu-${Math.random().toString(36).slice(2)}`\n );\n\n const measure = useCallback(() => {\n if (wrapRef.current) {\n setMenuWidth(wrapRef.current.offsetWidth);\n }\n }, []);\n\n useEffect(() => {\n measure();\n }, [measure]);\n\n const options = buildRepoOptions(repositories, connections);\n const selectedName =\n repositories.find((r) => r.id === selected)?.name ?? placeholder;\n\n return (\n <RepoSelectWrap ref={wrapRef} className={className}>\n <RepoMenuGlobalStyle $cls={menuCls} $w={menuWidth} />\n <Select\n options={options}\n selected={selected === null ? undefined : selected}\n onChange={(v) => onChange(String(v))}\n placeholder=\"Search repositories\"\n selectClassName={menuCls}\n onSelectOpen={measure}\n forceCloseMenu\n target={\n <SelectTrigger\n className=\"repo-trigger\"\n invalid={invalid}\n typographyProps={\n selected === null ? { color: \"tertiary\" } : undefined\n }\n >\n {selectedName}\n </SelectTrigger>\n }\n />\n </RepoSelectWrap>\n );\n};\n\n/* ---- ConnectRepositoryDialog ---------------------------------------- */\n\nconst StyledConnectBody = styled.div`\n font-family: ${SANS};\n\n .cr-field {\n margin-bottom: 16px;\n }\n .cr-label {\n display: block;\n margin-bottom: 6px;\n }\n .cr-check {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n .cr-check-hint {\n margin-top: 6px;\n }\n`;\n\nexport interface ConnectRepositoryDialogProps {\n open: boolean;\n onClose: () => void;\n /** Called with the connected repository when the user confirms. */\n onConnect: (repository: Repository) => void;\n /** Repositories that can be connected (defaults to the mock connectable set). */\n repositories?: Repository[];\n connections?: Connection[];\n}\n\nexport const ConnectRepositoryDialog = ({\n open,\n onClose,\n onConnect,\n repositories = CONNECTABLE_REPOSITORIES,\n connections = CONNECTIONS,\n}: ConnectRepositoryDialogProps): ReactElement => {\n const [selected, setSelected] = useState<string | null>(null);\n const [issueSync, setIssueSync] = useState(false);\n const [attempted, setAttempted] = useState(false);\n\n // Reset the form each time the dialog opens.\n useEffect(() => {\n if (open) {\n setSelected(null);\n setIssueSync(false);\n setAttempted(false);\n }\n }, [open]);\n\n const invalid = attempted && selected === null;\n\n const handleConnect = () => {\n const repo = repositories.find((r) => r.id === selected);\n if (!repo) {\n setAttempted(true);\n return;\n }\n onConnect(repo);\n onClose();\n };\n\n return (\n <Dialog open={open} onClose={onClose} disableCloseOnEsc>\n <Dialog.Title>Connect Repository</Dialog.Title>\n <Dialog.ContentDivider />\n <Dialog.Content>\n <StyledConnectBody>\n <div className=\"cr-field\">\n <Label size=\"small\" className=\"cr-label\" invalid={invalid}>\n Repository\n </Label>\n <RepositorySelect\n repositories={repositories}\n connections={connections}\n selected={selected}\n onChange={setSelected}\n invalid={invalid}\n />\n </div>\n\n <div className=\"cr-check\">\n <Checkbox\n id=\"cr-issue-sync\"\n checked={issueSync}\n onChange={(e) => setIssueSync(e.target.checked)}\n />\n <Label htmlFor=\"cr-issue-sync\" weight=\"regular\">\n Enable issue sync\n </Label>\n </div>\n <Body2 className=\"cr-check-hint\" color=\"tertiary\">\n Issues from this repository will create and update tasks in this\n project.\n </Body2>\n </StyledConnectBody>\n </Dialog.Content>\n <Dialog.ContentDivider />\n <Dialog.Actions>\n <Button variant=\"primary\" onClick={handleConnect}>\n Connect\n </Button>\n <Button variant=\"secondary\" onClick={onClose}>\n Cancel\n </Button>\n </Dialog.Actions>\n </Dialog>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkBranchOrPullRequestDialog.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/LinkBranchOrPullRequestDialog.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,YAAY,EAKb,MAAM,OAAO,CAAC;AAogBf,MAAM,WAAW,kCAAkC;IACjD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,6BAA6B,GAAI,oBAG3C,kCAAkC,KAAG,
|
|
1
|
+
{"version":3,"file":"LinkBranchOrPullRequestDialog.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/LinkBranchOrPullRequestDialog.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,YAAY,EAKb,MAAM,OAAO,CAAC;AAogBf,MAAM,WAAW,kCAAkC;IACjD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,6BAA6B,GAAI,oBAG3C,kCAAkC,KAAG,YA2SvC,CAAC"}
|
|
@@ -563,9 +563,6 @@ export const LinkBranchOrPullRequestDialog = _ref3 => {
|
|
|
563
563
|
onChange: e => setPrTitle(e.target.value)
|
|
564
564
|
}))))))), /*#__PURE__*/React.createElement(Dialog.ContentDivider, null), /*#__PURE__*/React.createElement(Dialog.Actions, null, /*#__PURE__*/React.createElement(Button, {
|
|
565
565
|
variant: "primary",
|
|
566
|
-
style: {
|
|
567
|
-
marginRight: 12
|
|
568
|
-
},
|
|
569
566
|
disabled: loading,
|
|
570
567
|
onClick: handleSubmit
|
|
571
568
|
}, primaryLabel), /*#__PURE__*/React.createElement(Button, {
|