@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":"Wizard.js","names":["_react","_interopRequireWildcard","require","_context","_Step","_Dialog","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","Wizard","exports","forwardRef","_ref","ref","title","open","onClose","_ref$disableCloseOnEs","disableCloseOnEsc","children","dialogClassName","childrenCollection","useMemo","React","Children","toArray","_useState","useState","_useState2","activeStep","setActiveStep","_useState3","_useState4","changingStepInProgress","setChangingStepInProgress","useEffect","goNext","useCallback","index","findIndex","step","_stepEl$props","stepEl","props","skip","goPrevious","_step$props","renderActiveStep","element","type","Step","cloneElement","isLast","onNextButtonClick","onPreviousButtonClick","createElement","WizardContextProvider","close","Dialog","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\";\n\nexport interface IWizard {\n title: string;\n open: boolean;\n onClose: () => void;\n children: ReactNode;\n disableCloseOnEsc?: boolean;\n dialogClassName?: 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 },\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 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 >\n {renderActiveStep}\n </Dialog>\n </WizardContextProvider>\n );\n }\n);\n\nWizard.displayName = \"Wizard\";\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Wizard.js","names":["_react","_interopRequireWildcard","require","_context","_Step","_Dialog","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","Wizard","exports","forwardRef","_ref","ref","_activeStepProps$size","_activeStepProps$heig","title","open","onClose","_ref$disableCloseOnEs","disableCloseOnEsc","children","dialogClassName","_ref$size","size","_ref$height","height","childrenCollection","useMemo","React","Children","toArray","_useState","useState","_useState2","activeStep","setActiveStep","_useState3","_useState4","changingStepInProgress","setChangingStepInProgress","useEffect","goNext","useCallback","index","findIndex","step","_stepEl$props","stepEl","props","skip","goPrevious","_step$props","activeStepProps","_element$props","element","renderActiveStep","type","Step","cloneElement","isLast","onNextButtonClick","onPreviousButtonClick","createElement","WizardContextProvider","close","Dialog","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":[]}
|
|
@@ -278,9 +278,6 @@ var ConnectRepositoryDialog = exports.ConnectRepositoryDialog = function Connect
|
|
|
278
278
|
color: "tertiary"
|
|
279
279
|
}, "Issues from this repository will create and update tasks in this project."))), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.ContentDivider, null), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.Actions, null, /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
280
280
|
variant: "primary",
|
|
281
|
-
style: {
|
|
282
|
-
marginRight: 12
|
|
283
|
-
},
|
|
284
281
|
onClick: handleConnect
|
|
285
282
|
}, "Connect"), /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
286
283
|
variant: "secondary",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectRepositoryDialog.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_Button","_Checkbox","_Dialog","_Icons","_Label","_Select","_SelectTrigger","_Typography","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","SANS","serviceLabel","exports","service","connectionIcon","createElement","GitHubIcon","GitLabIcon","GitIcon","CONNECTIONS","id","PROJECT_REPOSITORIES","connectionId","CONNECTABLE_REPOSITORIES","buildRepoOptions","repositories","connections","map","c","options","filter","sort","b","localeCompare","icon","group","RepoMenuGlobalStyle","createGlobalStyle","p","$cls","$w","concat","RepoSelectWrap","styled","div","withConfig","displayName","componentId","RepositorySelect","_ref","_repositories$find$na","_repositories$find","selected","onChange","invalid","_ref$placeholder","placeholder","className","wrapRef","useRef","_useState","useState","_useState2","menuWidth","setMenuWidth","_useState3","Math","random","_useState4","menuCls","measure","useCallback","current","offsetWidth","useEffect","selectedName","find","ref","Select","undefined","v","String","selectClassName","onSelectOpen","forceCloseMenu","target","SelectTrigger","typographyProps","color","StyledConnectBody","ConnectRepositoryDialog","_ref2","open","onClose","onConnect","_ref2$repositories","_ref2$connections","_useState5","_useState6","setSelected","_useState7","_useState8","issueSync","setIssueSync","_useState9","_useState0","attempted","setAttempted","handleConnect","repo","Dialog","disableCloseOnEsc","Title","ContentDivider","Content","Label","size","Checkbox","checked","htmlFor","weight","Body2","Actions","Button","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","_interopRequireWildcard","require","_styledComponents","_Button","_Checkbox","_Dialog","_Icons","_Label","_Select","_SelectTrigger","_Typography","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","SANS","serviceLabel","exports","service","connectionIcon","createElement","GitHubIcon","GitLabIcon","GitIcon","CONNECTIONS","id","PROJECT_REPOSITORIES","connectionId","CONNECTABLE_REPOSITORIES","buildRepoOptions","repositories","connections","map","c","options","filter","sort","b","localeCompare","icon","group","RepoMenuGlobalStyle","createGlobalStyle","p","$cls","$w","concat","RepoSelectWrap","styled","div","withConfig","displayName","componentId","RepositorySelect","_ref","_repositories$find$na","_repositories$find","selected","onChange","invalid","_ref$placeholder","placeholder","className","wrapRef","useRef","_useState","useState","_useState2","menuWidth","setMenuWidth","_useState3","Math","random","_useState4","menuCls","measure","useCallback","current","offsetWidth","useEffect","selectedName","find","ref","Select","undefined","v","String","selectClassName","onSelectOpen","forceCloseMenu","target","SelectTrigger","typographyProps","color","StyledConnectBody","ConnectRepositoryDialog","_ref2","open","onClose","onConnect","_ref2$repositories","_ref2$connections","_useState5","_useState6","setSelected","_useState7","_useState8","issueSync","setIssueSync","_useState9","_useState0","attempted","setAttempted","handleConnect","repo","Dialog","disableCloseOnEsc","Title","ContentDivider","Content","Label","size","Checkbox","checked","htmlFor","weight","Body2","Actions","Button","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":[]}
|
|
@@ -672,9 +672,6 @@ var LinkBranchOrPullRequestDialog = exports.LinkBranchOrPullRequestDialog = func
|
|
|
672
672
|
}
|
|
673
673
|
}))))))), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.ContentDivider, null), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.Actions, null, /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
674
674
|
variant: "primary",
|
|
675
|
-
style: {
|
|
676
|
-
marginRight: 12
|
|
677
|
-
},
|
|
678
675
|
disabled: loading,
|
|
679
676
|
onClick: handleSubmit
|
|
680
677
|
}, primaryLabel), /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkBranchOrPullRequestDialog.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_ConnectRepositoryDialog","_Button","_ChooseV","_Dialog","_Input","_Label","_Loaders","_Select","_SelectTrigger","_Typography","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","SANS","LINKABLES","id","kind","repoId","updatedMinutesAgo","author","MONTHS","pad","String","padStart","formatAgo","minutesAgo","now","Date","then","getTime","concat","Math","floor","time","getHours","getMinutes","toDateString","yesterday","monthDay","getMonth","getDate","getFullYear","linkableDetail","item","GROUPED_OPTIONS","PROJECT_REPOSITORIES","map","repo","connection","CONNECTIONS","find","c","connectionId","icon","connectionIcon","service","items","filter","sort","b","additionalInfo","options","group","localeCompare","ALL_ITEMS","BRANCHES","isDefault","repoBranches","repoDefaultBranchId","_repoBranches$find$id","_repoBranches$find","baseBranchOptions","branches","defaults","rest","sourceBranchOptions","StyledLinkBody","styled","div","withConfig","displayName","componentId","MenuGlobalStyle","createGlobalStyle","_ref","$menuWidth","BranchMenuGlobalStyle","p","$cls","$w","BranchSelectWrap","BranchSelect","_ref2","_options$find$name","_options$find","selected","onChange","_ref2$placeholder","placeholder","wrapRef","useRef","_useState","useState","_useState2","menuWidth","setMenuWidth","_useState3","random","_useState4","menuCls","measure","useCallback","current","offsetWidth","useEffect","selectedName","createElement","ref","Select","undefined","v","selectClassName","onSelectOpen","disabledInternalSort","forceCloseMenu","target","SelectTrigger","className","typographyProps","color","MODE_OPTIONS","LinkBranchOrPullRequestDialog","exports","_ref3","_ALL_ITEMS$find$name","_ALL_ITEMS$find","open","onClose","_useState5","_useState6","mode","setMode","_useState7","_useState8","setSelected","_useState9","_useState0","branchName","setBranchName","_useState1","_useState10","prTitle","setPrTitle","_useState11","_useState12","attempted","setAttempted","_useState13","_useState14","loading","setLoading","_useState15","_useState16","_useState17","_useState18","setRepo","_useState19","_useState20","connectOpen","setConnectOpen","_useState21","_useState22","extraRepos","setExtraRepos","_useState23","_useState24","createFrom","setCreateFrom","_useState25","_useState26","sourceBranch","setSourceBranch","_useState27","_useState28","mergeInto","setMergeInto","defaultId","fieldRef","timer","window","setTimeout","clearTimeout","measureMenu","existingInvalid","branchInvalid","trim","titleInvalid","primaryLabel","close","handleSubmit","valid","changeMode","selectedLabel","projectRepos","connectableRepos","CONNECTABLE_REPOSITORIES","some","handleConnected","connected","prev","renderRepositoryField","Label","size","RepositorySelect","repositories","connections","Caption1","type","onClick","Fragment","Dialog","disableCloseOnEsc","Title","ContentDivider","Content","SkeletonLoader","ChooseV2","required","ids","invalid","Input","Actions","Button","variant","style","marginRight","disabled","ConnectRepositoryDialog","onConnect"],"sources":["../../../../src/presentation/shared/LinkBranchOrPullRequestDialog.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 {\n CONNECTABLE_REPOSITORIES,\n CONNECTIONS,\n connectionIcon,\n ConnectRepositoryDialog,\n PROJECT_REPOSITORIES,\n Repository,\n RepositorySelect,\n} from \"./ConnectRepositoryDialog\";\nimport { Button } from \"../../components/Button\";\nimport { ChooseV2 } from \"../../components/ChooseV2\";\nimport { Dialog } from \"../../components/Dialog\";\nimport { Input } from \"../../components/Input\";\nimport { Label } from \"../../components/Label\";\nimport { SkeletonLoader } from \"../../components/Loaders\";\nimport { Select } from \"../../components/Select\";\nimport { SelectTrigger } from \"../../components/SelectTrigger\";\nimport { Caption1 } from \"../../components/Typography\";\n\n/**\n * \"Link Branch or Pull Request\" dialog — shared by every `Presentation/Task\n * Source` story (the empty state and the populated Source Code section) so the\n * flow lives in one place.\n *\n * Three modes (ChooseV2): **Link Existing** (default), **New Branch**, **New\n * Pull Request**. The primary button is always enabled; validation runs on\n * click and outlines the offending field. Esc does not close the dialog (it\n * would lose entered data) — this is an action dialog.\n *\n * On open the body shows a ~1s skeleton, standing in for the future API loads\n * that will drive the repository / branch / PR pickers.\n *\n * The **Link Existing** picker is a grouped, multi-level select: options are\n * grouped by repository (with the connection name in parentheses), each option\n * carries a branch or pull-request icon, everything is sorted by name and\n * filterable via the search box at the top. The menu is sized to match the\n * trigger width.\n */\n\nconst SANS =\n '-apple-system, BlinkMacSystemFont, \"Roboto\", \"Helvetica Neue\", Arial, sans-serif';\n\n/* ---- Mock data ------------------------------------------------------- */\n\ntype LinkableKind = \"branch\" | \"pr\";\n\ninterface Linkable {\n id: string;\n kind: LinkableKind;\n name: string;\n /** Repository this branch / PR belongs to (references PROJECT_REPOSITORIES). */\n repoId: string;\n /** Minutes since the last activity — drives the Ago label and the ordering. */\n updatedMinutesAgo: number;\n /** Author, shown for pull requests (\"… by Name\"). */\n author?: string;\n}\n\nconst LINKABLES: Linkable[] = [\n {\n id: \"pr-500\",\n kind: \"pr\",\n // Deliberately long, to show the name truncating with an ellipsis while the\n // right-aligned detail and radio stay visible.\n name: \"#500 Refactor rank recalculation to support multi-region contract archival and backfill\",\n repoId: \"backend\",\n updatedMinutesAgo: 8,\n author: \"Nikola M.\",\n },\n {\n id: \"branch-cache\",\n kind: \"branch\",\n name: \"spike/rank-cache\",\n repoId: \"backend\",\n updatedMinutesAgo: 30,\n },\n {\n id: \"branch-export\",\n kind: \"branch\",\n name: \"feature/retainer-export-34\",\n repoId: \"backend\",\n updatedMinutesAgo: 5 * 60,\n },\n {\n id: \"pr-119900\",\n kind: \"pr\",\n name: \"#119900 Rank API endpoints\",\n repoId: \"backend\",\n updatedMinutesAgo: 2 * 24 * 60,\n author: \"Ilija S.\",\n },\n {\n id: \"branch-fe-retainers\",\n kind: \"branch\",\n name: \"feature/retainers-ui-34\",\n repoId: \"frontend\",\n updatedMinutesAgo: 2 * 60,\n },\n {\n id: \"pr-412\",\n kind: \"pr\",\n name: \"#412 Contract list filters\",\n repoId: \"frontend\",\n updatedMinutesAgo: 24 * 60,\n author: \"Marko K.\",\n },\n {\n id: \"mr-88\",\n kind: \"pr\",\n name: \"!88 Bump worker memory\",\n repoId: \"infra\",\n updatedMinutesAgo: 3 * 24 * 60,\n author: \"Ana P.\",\n },\n {\n id: \"branch-deploy\",\n kind: \"branch\",\n name: \"chore/deploy-rank-cache\",\n repoId: \"infra\",\n updatedMinutesAgo: 24 * 60,\n },\n];\n\nconst MONTHS = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n];\n\nconst pad = (n: number): string => String(n).padStart(2, \"0\");\n\n/**\n * Reproduces the format of ActiveCollab's standard `Ago` component\n * (`Angie.functions.ago()`) for the mock: \"Just now\", \"N minutes ago\",\n * \"Today HH:mm\", \"Yesterday HH:mm\", \"MMM D. HH:mm\", else \"MMM D. YYYY HH:mm\".\n * Production must use the real component.\n */\nconst formatAgo = (minutesAgo: number): string => {\n const now = new Date();\n const then = new Date(now.getTime() - minutesAgo * 60000);\n if (minutesAgo < 2) {\n return \"Just now\";\n }\n if (minutesAgo < 60) {\n return `${Math.floor(minutesAgo)} minutes ago`;\n }\n const time = `${pad(then.getHours())}:${pad(then.getMinutes())}`;\n if (then.toDateString() === now.toDateString()) {\n return `Today ${time}`;\n }\n const yesterday = new Date(now.getTime() - 24 * 60 * 60000);\n if (then.toDateString() === yesterday.toDateString()) {\n return `Yesterday ${time}`;\n }\n const monthDay = `${MONTHS[then.getMonth()]} ${then.getDate()}.`;\n if (then.getFullYear() === now.getFullYear()) {\n return `${monthDay} ${time}`;\n }\n return `${monthDay} ${then.getFullYear()} ${time}`;\n};\n\n/**\n * The detail shown on the right of an option: a branch keeps just the time of\n * its last activity; a pull request appends the author (\"… by Name\").\n */\nconst linkableDetail = (item: Linkable): string =>\n item.kind === \"pr\" && item.author\n ? `${formatAgo(item.updatedMinutesAgo)} by ${item.author}`\n : formatAgo(item.updatedMinutesAgo);\n\n/**\n * Grouped options for the Select. One group per repository, labelled\n * \"repo (Org)\" and sorted by name; inside a group, branches and PRs are\n * ordered by latest activity (freshest first). Each option carries a leading\n * provider icon (GitHub / GitLab / Git) via the Select's `icon` slot; the\n * service type is dropped from the group header since the icon now conveys it.\n */\nconst GROUPED_OPTIONS = PROJECT_REPOSITORIES.map((repo) => {\n const connection = CONNECTIONS.find((c) => c.id === repo.connectionId);\n const icon = connectionIcon(connection?.service);\n const items = LINKABLES.filter((l) => l.repoId === repo.id)\n .sort((a, b) => a.updatedMinutesAgo - b.updatedMinutesAgo)\n .map((l) => ({\n id: l.id,\n name: l.name,\n additionalInfo: linkableDetail(l),\n icon,\n }));\n return {\n id: repo.id,\n name: connection ? `${repo.name} (${connection.name})` : repo.name,\n options: items,\n };\n})\n .filter((group) => group.options.length > 0)\n .sort((a, b) => a.name.localeCompare(b.name));\n\nconst ALL_ITEMS: Linkable[] = LINKABLES;\n\n/* ---- Branch mock data (for the New Branch / New Pull Request bases) --- */\n\ninterface Branch {\n id: string;\n name: string;\n repoId: string;\n /** The repository's default branch (main / master). */\n isDefault?: boolean;\n updatedMinutesAgo: number;\n}\n\nconst BRANCHES: Branch[] = [\n // activecollab/backend\n {\n id: \"backend-main\",\n name: \"main\",\n repoId: \"backend\",\n isDefault: true,\n updatedMinutesAgo: 60,\n },\n {\n id: \"backend-cache\",\n name: \"spike/rank-cache\",\n repoId: \"backend\",\n updatedMinutesAgo: 30,\n },\n {\n id: \"backend-export\",\n name: \"feature/retainer-export-34\",\n repoId: \"backend\",\n updatedMinutesAgo: 5 * 60,\n },\n {\n id: \"backend-hotfix\",\n name: \"hotfix/rank-typo\",\n repoId: \"backend\",\n updatedMinutesAgo: 3 * 24 * 60,\n },\n // activecollab/frontend\n {\n id: \"frontend-main\",\n name: \"main\",\n repoId: \"frontend\",\n isDefault: true,\n updatedMinutesAgo: 90,\n },\n {\n id: \"frontend-retainers\",\n name: \"feature/retainers-ui-34\",\n repoId: \"frontend\",\n updatedMinutesAgo: 2 * 60,\n },\n {\n id: \"frontend-filters\",\n name: \"feature/contract-filters\",\n repoId: \"frontend\",\n updatedMinutesAgo: 24 * 60,\n },\n // activecollab/infrastructure\n {\n id: \"infra-master\",\n name: \"master\",\n repoId: \"infra\",\n isDefault: true,\n updatedMinutesAgo: 6 * 60,\n },\n {\n id: \"infra-deploy\",\n name: \"chore/deploy-rank-cache\",\n repoId: \"infra\",\n updatedMinutesAgo: 24 * 60,\n },\n];\n\nconst repoBranches = (repoId: string): Branch[] =>\n BRANCHES.filter((b) => b.repoId === repoId);\n\nconst repoDefaultBranchId = (repoId: string): string | null =>\n repoBranches(repoId).find((b) => b.isDefault)?.id ?? null;\n\ninterface BranchOption {\n id: string;\n name: string;\n additionalInfo?: string;\n}\n\n/**\n * Base-branch options (Create From / Merge Into): the default branch first with\n * no timestamp, then the rest sorted by latest activity (freshest first), each\n * with a muted \"last activity\" time.\n */\nconst baseBranchOptions = (repoId: string): BranchOption[] => {\n const branches = repoBranches(repoId);\n const defaults = branches\n .filter((b) => b.isDefault)\n .map((b) => ({ id: b.id, name: b.name }));\n const rest = branches\n .filter((b) => !b.isDefault)\n .sort((a, b) => a.updatedMinutesAgo - b.updatedMinutesAgo)\n .map((b) => ({\n id: b.id,\n name: b.name,\n additionalInfo: formatAgo(b.updatedMinutesAgo),\n }));\n return [...defaults, ...rest];\n};\n\n/**\n * Source-branch options (New Pull Request): the default branch is excluded — you\n * don't open a PR to merge the trunk into a feature branch — and the rest are\n * sorted by latest activity, each with a muted \"last activity\" time.\n */\nconst sourceBranchOptions = (repoId: string): BranchOption[] =>\n repoBranches(repoId)\n .filter((b) => !b.isDefault)\n .sort((a, b) => a.updatedMinutesAgo - b.updatedMinutesAgo)\n .map((b) => ({\n id: b.id,\n name: b.name,\n additionalInfo: formatAgo(b.updatedMinutesAgo),\n }));\n\n/* ---- Styles ---------------------------------------------------------- */\n\nconst StyledLinkBody = styled.div`\n font-family: ${SANS};\n\n .lk-tabbody {\n margin-top: 18px;\n }\n\n .lk-field {\n margin-bottom: 16px;\n }\n .lk-field:last-child {\n margin-bottom: 0;\n }\n .lk-label {\n display: block;\n margin-bottom: 6px;\n }\n /* DS Input wrapper is 360px and SelectTrigger 300px — fill the dialog. */\n .lk-control,\n .lk-control.c-input-wrapper {\n width: 100%;\n max-width: none;\n }\n\n /* Explainer + inline connect link under the repository picker. */\n .lk-repo-hint {\n display: block;\n margin-top: 8px;\n }\n .lk-repo-link {\n background: none;\n border: none;\n padding: 0;\n font: inherit;\n color: var(--color-primary);\n cursor: pointer;\n }\n .lk-repo-link:hover {\n text-decoration: underline;\n }\n\n /* Skeleton placeholder shown for ~1s while the pickers \"load\". */\n .lk-skeleton .sk-row {\n margin-bottom: 18px;\n }\n .lk-skeleton .sk-choose {\n width: 100%;\n height: 36px;\n border-radius: 6px;\n }\n .lk-skeleton .sk-label {\n width: 160px;\n height: 12px;\n margin-bottom: 8px;\n }\n .lk-skeleton .sk-control {\n width: 100%;\n height: 40px;\n border-radius: 6px;\n }\n`;\n\n/**\n * The grouped select menu renders through a portal, so the \"match the trigger\n * width\" override has to be global, scoped to the menu's class. `$menuWidth` is\n * measured from the trigger and injected here.\n */\nconst MenuGlobalStyle = createGlobalStyle<{ $menuWidth?: number }>`\n .c-select.lk-existing-select-menu {\n ${({ $menuWidth }) =>\n $menuWidth\n ? `width: ${$menuWidth}px !important; max-width: none !important;`\n : \"\"}\n }\n\n /* Standard secondary styling for the right-aligned detail (last activity /\n author). The DS AdditionalInfo span ships unstyled and otherwise inherits\n the option name's dark weight; mute it so it reads as a secondary detail. */\n .c-select.lk-existing-select-menu .c-option--text + span {\n color: var(--color-theme-600);\n font-size: 12px;\n }\n`;\n\n/**\n * Per-instance global style for a branch select menu: matches the trigger width\n * and applies the standard muted styling to the right-aligned \"last activity\".\n */\nconst BranchMenuGlobalStyle = 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 .c-select.${(p) => p.$cls} .c-option--text + span {\n color: var(--color-theme-600);\n font-size: 12px;\n }\n`;\n\nconst BranchSelectWrap = styled.div`\n font-family: ${SANS};\n\n .branch-trigger {\n width: 100%;\n max-width: none;\n }\n`;\n\ninterface BranchSelectProps {\n options: BranchOption[];\n selected: string | null;\n onChange: (id: string) => void;\n placeholder?: string;\n}\n\n/**\n * Flat branch picker (Create From / Source Branch / Merge Into). The caller\n * supplies the option order (default-first or activity-sorted); the DS internal\n * alphabetical sort is disabled so that order is preserved.\n */\nconst BranchSelect = ({\n options,\n selected,\n onChange,\n placeholder = \"Select branch\",\n}: BranchSelectProps): ReactElement => {\n const wrapRef = useRef<HTMLDivElement>(null);\n const [menuWidth, setMenuWidth] = useState<number | undefined>();\n const [menuCls] = useState(\n () => `branch-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 selectedName =\n options.find((o) => o.id === selected)?.name ?? placeholder;\n\n return (\n <BranchSelectWrap ref={wrapRef}>\n <BranchMenuGlobalStyle $cls={menuCls} $w={menuWidth} />\n <Select\n options={options}\n selected={selected === null ? undefined : selected}\n onChange={(v) => onChange(String(v))}\n placeholder=\"Search branches\"\n selectClassName={menuCls}\n onSelectOpen={measure}\n disabledInternalSort\n forceCloseMenu\n target={\n <SelectTrigger\n className=\"branch-trigger\"\n typographyProps={\n selected === null ? { color: \"tertiary\" } : undefined\n }\n >\n {selectedName}\n </SelectTrigger>\n }\n />\n </BranchSelectWrap>\n );\n};\n\ntype LinkMode = \"existing\" | \"branch\" | \"pr\";\n\nconst MODE_OPTIONS = [\n { id: \"existing\", name: \"Link Existing\" },\n { id: \"branch\", name: \"New Branch\" },\n { id: \"pr\", name: \"New Pull Request\" },\n];\n\nexport interface LinkBranchOrPullRequestDialogProps {\n open: boolean;\n onClose: () => void;\n}\n\nexport const LinkBranchOrPullRequestDialog = ({\n open,\n onClose,\n}: LinkBranchOrPullRequestDialogProps): ReactElement => {\n const [mode, setMode] = useState<LinkMode>(\"existing\");\n const [selected, setSelected] = useState<string | null>(null);\n const [branchName, setBranchName] = useState(\"feature/retainers-34\");\n const [prTitle, setPrTitle] = useState(\n \"#34 Retainers & Contracts functionality\"\n );\n const [attempted, setAttempted] = useState(false);\n const [loading, setLoading] = useState(true);\n const [menuWidth, setMenuWidth] = useState<number | undefined>();\n\n // Repository picker (New Branch / New Pull Request) + connect-repository flow.\n const [repo, setRepo] = useState<string>(\"backend\");\n const [connectOpen, setConnectOpen] = useState(false);\n const [extraRepos, setExtraRepos] = useState<Repository[]>([]);\n\n // Branch bases. Create From / Merge Into default to the repo's default branch;\n // Source Branch starts unselected.\n const [createFrom, setCreateFrom] = useState<string | null>(() =>\n repoDefaultBranchId(\"backend\")\n );\n const [sourceBranch, setSourceBranch] = useState<string | null>(null);\n const [mergeInto, setMergeInto] = useState<string | null>(() =>\n repoDefaultBranchId(\"backend\")\n );\n\n // When the repository changes, reset the bases: default branch for\n // Create From / Merge Into, nothing for Source Branch.\n useEffect(() => {\n const defaultId = repoDefaultBranchId(repo);\n setCreateFrom(defaultId);\n setMergeInto(defaultId);\n setSourceBranch(null);\n }, [repo]);\n\n const fieldRef = useRef<HTMLDivElement>(null);\n\n // Simulate the API loads that will drive the pickers: a ~1s skeleton on open.\n useEffect(() => {\n if (!open) {\n return undefined;\n }\n setLoading(true);\n const timer = window.setTimeout(() => setLoading(false), 1000);\n return () => window.clearTimeout(timer);\n }, [open]);\n\n const measureMenu = useCallback(() => {\n if (fieldRef.current) {\n setMenuWidth(fieldRef.current.offsetWidth);\n }\n }, []);\n\n // Keep the menu width in sync with the trigger once the form is visible.\n useEffect(() => {\n if (open && !loading && mode === \"existing\") {\n measureMenu();\n }\n }, [open, loading, mode, measureMenu]);\n\n // Submit is always enabled; validation runs on click and outlines fields.\n const existingInvalid = attempted && mode === \"existing\" && selected === null;\n const branchInvalid =\n attempted && mode === \"branch\" && branchName.trim() === \"\";\n const titleInvalid = attempted && mode === \"pr\" && prTitle.trim() === \"\";\n\n const primaryLabel =\n mode === \"existing\"\n ? \"Link\"\n : mode === \"branch\"\n ? \"Create Branch\"\n : \"Create Pull Request\";\n\n const close = () => {\n setAttempted(false);\n onClose();\n };\n\n const handleSubmit = () => {\n const valid =\n mode === \"existing\"\n ? selected !== null\n : mode === \"branch\"\n ? branchName.trim() !== \"\"\n : prTitle.trim() !== \"\";\n if (!valid) {\n setAttempted(true);\n return;\n }\n close();\n };\n\n const changeMode = (next: LinkMode) => {\n setMode(next);\n setAttempted(false);\n };\n\n const selectedLabel =\n ALL_ITEMS.find((o) => o.id === selected)?.name ??\n \"Select branch or pull request\";\n\n // Repositories already on the project (plus any just connected), and the\n // remaining ones that can still be connected from here.\n const projectRepos = [...PROJECT_REPOSITORIES, ...extraRepos];\n const connectableRepos = CONNECTABLE_REPOSITORIES.filter(\n (r) => !projectRepos.some((p) => p.id === r.id)\n );\n\n const handleConnected = (connected: Repository) => {\n setExtraRepos((prev) =>\n prev.some((r) => r.id === connected.id) ? prev : [...prev, connected]\n );\n // The repository just connected becomes the selection in the picker.\n setRepo(connected.id);\n };\n\n const renderRepositoryField = (): ReactElement => (\n <div className=\"lk-field\">\n <Label size=\"small\" className=\"lk-label\">\n Repository\n </Label>\n <RepositorySelect\n repositories={projectRepos}\n connections={CONNECTIONS}\n selected={repo}\n onChange={setRepo}\n />\n <Caption1 color=\"tertiary\" className=\"lk-repo-hint\">\n Only repositories connected to this project are listed.{\" \"}\n <button\n type=\"button\"\n className=\"lk-repo-link\"\n onClick={() => setConnectOpen(true)}\n >\n Connect a repository\n </button>{\" \"}\n if the one you need is missing.\n </Caption1>\n </div>\n );\n\n return (\n <>\n <Dialog open={open} onClose={close} disableCloseOnEsc>\n <MenuGlobalStyle $menuWidth={menuWidth} />\n <Dialog.Title>Link Branch or Pull Request</Dialog.Title>\n <Dialog.ContentDivider />\n <Dialog.Content>\n <StyledLinkBody>\n {loading ? (\n <div className=\"lk-skeleton\">\n <div className=\"sk-row\">\n <SkeletonLoader className=\"sk-choose\" />\n </div>\n <div className=\"sk-row\">\n <SkeletonLoader className=\"sk-label\" />\n <SkeletonLoader className=\"sk-control\" />\n </div>\n </div>\n ) : (\n <>\n <ChooseV2\n required\n options={MODE_OPTIONS}\n selected={[mode]}\n onChange={(ids) => changeMode(ids[0] as LinkMode)}\n />\n\n <div className=\"lk-tabbody\">\n {mode === \"existing\" ? (\n <div className=\"lk-field\" ref={fieldRef}>\n <Label\n size=\"small\"\n className=\"lk-label\"\n invalid={existingInvalid}\n >\n Branch or Pull Request\n </Label>\n <Select\n options={GROUPED_OPTIONS}\n selected={selected === null ? undefined : selected}\n onChange={(v) => setSelected(v as string)}\n placeholder=\"Search branches and pull requests\"\n selectClassName=\"lk-existing-select-menu\"\n onSelectOpen={measureMenu}\n disabledInternalSort\n forceCloseMenu\n target={\n <SelectTrigger\n className=\"lk-control\"\n invalid={existingInvalid}\n typographyProps={\n selected === null\n ? { color: \"tertiary\" }\n : undefined\n }\n >\n {selectedLabel}\n </SelectTrigger>\n }\n />\n </div>\n ) : mode === \"branch\" ? (\n <>\n {renderRepositoryField()}\n <div className=\"lk-field\">\n <Label\n size=\"small\"\n className=\"lk-label\"\n invalid={branchInvalid}\n >\n Branch Name\n </Label>\n <Input\n className=\"lk-control\"\n value={branchName}\n invalid={branchInvalid}\n onChange={(e) => setBranchName(e.target.value)}\n />\n </div>\n <div className=\"lk-field\">\n <Label size=\"small\" className=\"lk-label\">\n Create From\n </Label>\n <BranchSelect\n options={baseBranchOptions(repo)}\n selected={createFrom}\n onChange={setCreateFrom}\n placeholder=\"Select base branch\"\n />\n </div>\n </>\n ) : (\n <>\n {renderRepositoryField()}\n <div className=\"lk-field\">\n <Label size=\"small\" className=\"lk-label\">\n Source Branch\n </Label>\n <BranchSelect\n options={sourceBranchOptions(repo)}\n selected={sourceBranch}\n onChange={setSourceBranch}\n placeholder=\"Select source branch\"\n />\n </div>\n <div className=\"lk-field\">\n <Label size=\"small\" className=\"lk-label\">\n Merge Into\n </Label>\n <BranchSelect\n options={baseBranchOptions(repo)}\n selected={mergeInto}\n onChange={setMergeInto}\n placeholder=\"Select base branch\"\n />\n </div>\n <div className=\"lk-field\">\n <Label\n size=\"small\"\n className=\"lk-label\"\n invalid={titleInvalid}\n >\n Title\n </Label>\n <Input\n className=\"lk-control\"\n value={prTitle}\n invalid={titleInvalid}\n onChange={(e) => setPrTitle(e.target.value)}\n />\n </div>\n </>\n )}\n </div>\n </>\n )}\n </StyledLinkBody>\n </Dialog.Content>\n <Dialog.ContentDivider />\n <Dialog.Actions>\n <Button\n variant=\"primary\"\n style={{ marginRight: 12 }}\n disabled={loading}\n onClick={handleSubmit}\n >\n {primaryLabel}\n </Button>\n <Button variant=\"secondary\" onClick={close}>\n Cancel\n </Button>\n </Dialog.Actions>\n </Dialog>\n\n <ConnectRepositoryDialog\n open={connectOpen}\n onClose={() => setConnectOpen(false)}\n onConnect={handleConnected}\n repositories={connectableRepos}\n connections={CONNECTIONS}\n />\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"LinkBranchOrPullRequestDialog.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_ConnectRepositoryDialog","_Button","_ChooseV","_Dialog","_Input","_Label","_Loaders","_Select","_SelectTrigger","_Typography","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","SANS","LINKABLES","id","kind","repoId","updatedMinutesAgo","author","MONTHS","pad","String","padStart","formatAgo","minutesAgo","now","Date","then","getTime","concat","Math","floor","time","getHours","getMinutes","toDateString","yesterday","monthDay","getMonth","getDate","getFullYear","linkableDetail","item","GROUPED_OPTIONS","PROJECT_REPOSITORIES","map","repo","connection","CONNECTIONS","find","c","connectionId","icon","connectionIcon","service","items","filter","sort","b","additionalInfo","options","group","localeCompare","ALL_ITEMS","BRANCHES","isDefault","repoBranches","repoDefaultBranchId","_repoBranches$find$id","_repoBranches$find","baseBranchOptions","branches","defaults","rest","sourceBranchOptions","StyledLinkBody","styled","div","withConfig","displayName","componentId","MenuGlobalStyle","createGlobalStyle","_ref","$menuWidth","BranchMenuGlobalStyle","p","$cls","$w","BranchSelectWrap","BranchSelect","_ref2","_options$find$name","_options$find","selected","onChange","_ref2$placeholder","placeholder","wrapRef","useRef","_useState","useState","_useState2","menuWidth","setMenuWidth","_useState3","random","_useState4","menuCls","measure","useCallback","current","offsetWidth","useEffect","selectedName","createElement","ref","Select","undefined","v","selectClassName","onSelectOpen","disabledInternalSort","forceCloseMenu","target","SelectTrigger","className","typographyProps","color","MODE_OPTIONS","LinkBranchOrPullRequestDialog","exports","_ref3","_ALL_ITEMS$find$name","_ALL_ITEMS$find","open","onClose","_useState5","_useState6","mode","setMode","_useState7","_useState8","setSelected","_useState9","_useState0","branchName","setBranchName","_useState1","_useState10","prTitle","setPrTitle","_useState11","_useState12","attempted","setAttempted","_useState13","_useState14","loading","setLoading","_useState15","_useState16","_useState17","_useState18","setRepo","_useState19","_useState20","connectOpen","setConnectOpen","_useState21","_useState22","extraRepos","setExtraRepos","_useState23","_useState24","createFrom","setCreateFrom","_useState25","_useState26","sourceBranch","setSourceBranch","_useState27","_useState28","mergeInto","setMergeInto","defaultId","fieldRef","timer","window","setTimeout","clearTimeout","measureMenu","existingInvalid","branchInvalid","trim","titleInvalid","primaryLabel","close","handleSubmit","valid","changeMode","selectedLabel","projectRepos","connectableRepos","CONNECTABLE_REPOSITORIES","some","handleConnected","connected","prev","renderRepositoryField","Label","size","RepositorySelect","repositories","connections","Caption1","type","onClick","Fragment","Dialog","disableCloseOnEsc","Title","ContentDivider","Content","SkeletonLoader","ChooseV2","required","ids","invalid","Input","Actions","Button","variant","disabled","ConnectRepositoryDialog","onConnect"],"sources":["../../../../src/presentation/shared/LinkBranchOrPullRequestDialog.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 {\n CONNECTABLE_REPOSITORIES,\n CONNECTIONS,\n connectionIcon,\n ConnectRepositoryDialog,\n PROJECT_REPOSITORIES,\n Repository,\n RepositorySelect,\n} from \"./ConnectRepositoryDialog\";\nimport { Button } from \"../../components/Button\";\nimport { ChooseV2 } from \"../../components/ChooseV2\";\nimport { Dialog } from \"../../components/Dialog\";\nimport { Input } from \"../../components/Input\";\nimport { Label } from \"../../components/Label\";\nimport { SkeletonLoader } from \"../../components/Loaders\";\nimport { Select } from \"../../components/Select\";\nimport { SelectTrigger } from \"../../components/SelectTrigger\";\nimport { Caption1 } from \"../../components/Typography\";\n\n/**\n * \"Link Branch or Pull Request\" dialog — shared by every `Presentation/Task\n * Source` story (the empty state and the populated Source Code section) so the\n * flow lives in one place.\n *\n * Three modes (ChooseV2): **Link Existing** (default), **New Branch**, **New\n * Pull Request**. The primary button is always enabled; validation runs on\n * click and outlines the offending field. Esc does not close the dialog (it\n * would lose entered data) — this is an action dialog.\n *\n * On open the body shows a ~1s skeleton, standing in for the future API loads\n * that will drive the repository / branch / PR pickers.\n *\n * The **Link Existing** picker is a grouped, multi-level select: options are\n * grouped by repository (with the connection name in parentheses), each option\n * carries a branch or pull-request icon, everything is sorted by name and\n * filterable via the search box at the top. The menu is sized to match the\n * trigger width.\n */\n\nconst SANS =\n '-apple-system, BlinkMacSystemFont, \"Roboto\", \"Helvetica Neue\", Arial, sans-serif';\n\n/* ---- Mock data ------------------------------------------------------- */\n\ntype LinkableKind = \"branch\" | \"pr\";\n\ninterface Linkable {\n id: string;\n kind: LinkableKind;\n name: string;\n /** Repository this branch / PR belongs to (references PROJECT_REPOSITORIES). */\n repoId: string;\n /** Minutes since the last activity — drives the Ago label and the ordering. */\n updatedMinutesAgo: number;\n /** Author, shown for pull requests (\"… by Name\"). */\n author?: string;\n}\n\nconst LINKABLES: Linkable[] = [\n {\n id: \"pr-500\",\n kind: \"pr\",\n // Deliberately long, to show the name truncating with an ellipsis while the\n // right-aligned detail and radio stay visible.\n name: \"#500 Refactor rank recalculation to support multi-region contract archival and backfill\",\n repoId: \"backend\",\n updatedMinutesAgo: 8,\n author: \"Nikola M.\",\n },\n {\n id: \"branch-cache\",\n kind: \"branch\",\n name: \"spike/rank-cache\",\n repoId: \"backend\",\n updatedMinutesAgo: 30,\n },\n {\n id: \"branch-export\",\n kind: \"branch\",\n name: \"feature/retainer-export-34\",\n repoId: \"backend\",\n updatedMinutesAgo: 5 * 60,\n },\n {\n id: \"pr-119900\",\n kind: \"pr\",\n name: \"#119900 Rank API endpoints\",\n repoId: \"backend\",\n updatedMinutesAgo: 2 * 24 * 60,\n author: \"Ilija S.\",\n },\n {\n id: \"branch-fe-retainers\",\n kind: \"branch\",\n name: \"feature/retainers-ui-34\",\n repoId: \"frontend\",\n updatedMinutesAgo: 2 * 60,\n },\n {\n id: \"pr-412\",\n kind: \"pr\",\n name: \"#412 Contract list filters\",\n repoId: \"frontend\",\n updatedMinutesAgo: 24 * 60,\n author: \"Marko K.\",\n },\n {\n id: \"mr-88\",\n kind: \"pr\",\n name: \"!88 Bump worker memory\",\n repoId: \"infra\",\n updatedMinutesAgo: 3 * 24 * 60,\n author: \"Ana P.\",\n },\n {\n id: \"branch-deploy\",\n kind: \"branch\",\n name: \"chore/deploy-rank-cache\",\n repoId: \"infra\",\n updatedMinutesAgo: 24 * 60,\n },\n];\n\nconst MONTHS = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n];\n\nconst pad = (n: number): string => String(n).padStart(2, \"0\");\n\n/**\n * Reproduces the format of ActiveCollab's standard `Ago` component\n * (`Angie.functions.ago()`) for the mock: \"Just now\", \"N minutes ago\",\n * \"Today HH:mm\", \"Yesterday HH:mm\", \"MMM D. HH:mm\", else \"MMM D. YYYY HH:mm\".\n * Production must use the real component.\n */\nconst formatAgo = (minutesAgo: number): string => {\n const now = new Date();\n const then = new Date(now.getTime() - minutesAgo * 60000);\n if (minutesAgo < 2) {\n return \"Just now\";\n }\n if (minutesAgo < 60) {\n return `${Math.floor(minutesAgo)} minutes ago`;\n }\n const time = `${pad(then.getHours())}:${pad(then.getMinutes())}`;\n if (then.toDateString() === now.toDateString()) {\n return `Today ${time}`;\n }\n const yesterday = new Date(now.getTime() - 24 * 60 * 60000);\n if (then.toDateString() === yesterday.toDateString()) {\n return `Yesterday ${time}`;\n }\n const monthDay = `${MONTHS[then.getMonth()]} ${then.getDate()}.`;\n if (then.getFullYear() === now.getFullYear()) {\n return `${monthDay} ${time}`;\n }\n return `${monthDay} ${then.getFullYear()} ${time}`;\n};\n\n/**\n * The detail shown on the right of an option: a branch keeps just the time of\n * its last activity; a pull request appends the author (\"… by Name\").\n */\nconst linkableDetail = (item: Linkable): string =>\n item.kind === \"pr\" && item.author\n ? `${formatAgo(item.updatedMinutesAgo)} by ${item.author}`\n : formatAgo(item.updatedMinutesAgo);\n\n/**\n * Grouped options for the Select. One group per repository, labelled\n * \"repo (Org)\" and sorted by name; inside a group, branches and PRs are\n * ordered by latest activity (freshest first). Each option carries a leading\n * provider icon (GitHub / GitLab / Git) via the Select's `icon` slot; the\n * service type is dropped from the group header since the icon now conveys it.\n */\nconst GROUPED_OPTIONS = PROJECT_REPOSITORIES.map((repo) => {\n const connection = CONNECTIONS.find((c) => c.id === repo.connectionId);\n const icon = connectionIcon(connection?.service);\n const items = LINKABLES.filter((l) => l.repoId === repo.id)\n .sort((a, b) => a.updatedMinutesAgo - b.updatedMinutesAgo)\n .map((l) => ({\n id: l.id,\n name: l.name,\n additionalInfo: linkableDetail(l),\n icon,\n }));\n return {\n id: repo.id,\n name: connection ? `${repo.name} (${connection.name})` : repo.name,\n options: items,\n };\n})\n .filter((group) => group.options.length > 0)\n .sort((a, b) => a.name.localeCompare(b.name));\n\nconst ALL_ITEMS: Linkable[] = LINKABLES;\n\n/* ---- Branch mock data (for the New Branch / New Pull Request bases) --- */\n\ninterface Branch {\n id: string;\n name: string;\n repoId: string;\n /** The repository's default branch (main / master). */\n isDefault?: boolean;\n updatedMinutesAgo: number;\n}\n\nconst BRANCHES: Branch[] = [\n // activecollab/backend\n {\n id: \"backend-main\",\n name: \"main\",\n repoId: \"backend\",\n isDefault: true,\n updatedMinutesAgo: 60,\n },\n {\n id: \"backend-cache\",\n name: \"spike/rank-cache\",\n repoId: \"backend\",\n updatedMinutesAgo: 30,\n },\n {\n id: \"backend-export\",\n name: \"feature/retainer-export-34\",\n repoId: \"backend\",\n updatedMinutesAgo: 5 * 60,\n },\n {\n id: \"backend-hotfix\",\n name: \"hotfix/rank-typo\",\n repoId: \"backend\",\n updatedMinutesAgo: 3 * 24 * 60,\n },\n // activecollab/frontend\n {\n id: \"frontend-main\",\n name: \"main\",\n repoId: \"frontend\",\n isDefault: true,\n updatedMinutesAgo: 90,\n },\n {\n id: \"frontend-retainers\",\n name: \"feature/retainers-ui-34\",\n repoId: \"frontend\",\n updatedMinutesAgo: 2 * 60,\n },\n {\n id: \"frontend-filters\",\n name: \"feature/contract-filters\",\n repoId: \"frontend\",\n updatedMinutesAgo: 24 * 60,\n },\n // activecollab/infrastructure\n {\n id: \"infra-master\",\n name: \"master\",\n repoId: \"infra\",\n isDefault: true,\n updatedMinutesAgo: 6 * 60,\n },\n {\n id: \"infra-deploy\",\n name: \"chore/deploy-rank-cache\",\n repoId: \"infra\",\n updatedMinutesAgo: 24 * 60,\n },\n];\n\nconst repoBranches = (repoId: string): Branch[] =>\n BRANCHES.filter((b) => b.repoId === repoId);\n\nconst repoDefaultBranchId = (repoId: string): string | null =>\n repoBranches(repoId).find((b) => b.isDefault)?.id ?? null;\n\ninterface BranchOption {\n id: string;\n name: string;\n additionalInfo?: string;\n}\n\n/**\n * Base-branch options (Create From / Merge Into): the default branch first with\n * no timestamp, then the rest sorted by latest activity (freshest first), each\n * with a muted \"last activity\" time.\n */\nconst baseBranchOptions = (repoId: string): BranchOption[] => {\n const branches = repoBranches(repoId);\n const defaults = branches\n .filter((b) => b.isDefault)\n .map((b) => ({ id: b.id, name: b.name }));\n const rest = branches\n .filter((b) => !b.isDefault)\n .sort((a, b) => a.updatedMinutesAgo - b.updatedMinutesAgo)\n .map((b) => ({\n id: b.id,\n name: b.name,\n additionalInfo: formatAgo(b.updatedMinutesAgo),\n }));\n return [...defaults, ...rest];\n};\n\n/**\n * Source-branch options (New Pull Request): the default branch is excluded — you\n * don't open a PR to merge the trunk into a feature branch — and the rest are\n * sorted by latest activity, each with a muted \"last activity\" time.\n */\nconst sourceBranchOptions = (repoId: string): BranchOption[] =>\n repoBranches(repoId)\n .filter((b) => !b.isDefault)\n .sort((a, b) => a.updatedMinutesAgo - b.updatedMinutesAgo)\n .map((b) => ({\n id: b.id,\n name: b.name,\n additionalInfo: formatAgo(b.updatedMinutesAgo),\n }));\n\n/* ---- Styles ---------------------------------------------------------- */\n\nconst StyledLinkBody = styled.div`\n font-family: ${SANS};\n\n .lk-tabbody {\n margin-top: 18px;\n }\n\n .lk-field {\n margin-bottom: 16px;\n }\n .lk-field:last-child {\n margin-bottom: 0;\n }\n .lk-label {\n display: block;\n margin-bottom: 6px;\n }\n /* DS Input wrapper is 360px and SelectTrigger 300px — fill the dialog. */\n .lk-control,\n .lk-control.c-input-wrapper {\n width: 100%;\n max-width: none;\n }\n\n /* Explainer + inline connect link under the repository picker. */\n .lk-repo-hint {\n display: block;\n margin-top: 8px;\n }\n .lk-repo-link {\n background: none;\n border: none;\n padding: 0;\n font: inherit;\n color: var(--color-primary);\n cursor: pointer;\n }\n .lk-repo-link:hover {\n text-decoration: underline;\n }\n\n /* Skeleton placeholder shown for ~1s while the pickers \"load\". */\n .lk-skeleton .sk-row {\n margin-bottom: 18px;\n }\n .lk-skeleton .sk-choose {\n width: 100%;\n height: 36px;\n border-radius: 6px;\n }\n .lk-skeleton .sk-label {\n width: 160px;\n height: 12px;\n margin-bottom: 8px;\n }\n .lk-skeleton .sk-control {\n width: 100%;\n height: 40px;\n border-radius: 6px;\n }\n`;\n\n/**\n * The grouped select menu renders through a portal, so the \"match the trigger\n * width\" override has to be global, scoped to the menu's class. `$menuWidth` is\n * measured from the trigger and injected here.\n */\nconst MenuGlobalStyle = createGlobalStyle<{ $menuWidth?: number }>`\n .c-select.lk-existing-select-menu {\n ${({ $menuWidth }) =>\n $menuWidth\n ? `width: ${$menuWidth}px !important; max-width: none !important;`\n : \"\"}\n }\n\n /* Standard secondary styling for the right-aligned detail (last activity /\n author). The DS AdditionalInfo span ships unstyled and otherwise inherits\n the option name's dark weight; mute it so it reads as a secondary detail. */\n .c-select.lk-existing-select-menu .c-option--text + span {\n color: var(--color-theme-600);\n font-size: 12px;\n }\n`;\n\n/**\n * Per-instance global style for a branch select menu: matches the trigger width\n * and applies the standard muted styling to the right-aligned \"last activity\".\n */\nconst BranchMenuGlobalStyle = 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 .c-select.${(p) => p.$cls} .c-option--text + span {\n color: var(--color-theme-600);\n font-size: 12px;\n }\n`;\n\nconst BranchSelectWrap = styled.div`\n font-family: ${SANS};\n\n .branch-trigger {\n width: 100%;\n max-width: none;\n }\n`;\n\ninterface BranchSelectProps {\n options: BranchOption[];\n selected: string | null;\n onChange: (id: string) => void;\n placeholder?: string;\n}\n\n/**\n * Flat branch picker (Create From / Source Branch / Merge Into). The caller\n * supplies the option order (default-first or activity-sorted); the DS internal\n * alphabetical sort is disabled so that order is preserved.\n */\nconst BranchSelect = ({\n options,\n selected,\n onChange,\n placeholder = \"Select branch\",\n}: BranchSelectProps): ReactElement => {\n const wrapRef = useRef<HTMLDivElement>(null);\n const [menuWidth, setMenuWidth] = useState<number | undefined>();\n const [menuCls] = useState(\n () => `branch-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 selectedName =\n options.find((o) => o.id === selected)?.name ?? placeholder;\n\n return (\n <BranchSelectWrap ref={wrapRef}>\n <BranchMenuGlobalStyle $cls={menuCls} $w={menuWidth} />\n <Select\n options={options}\n selected={selected === null ? undefined : selected}\n onChange={(v) => onChange(String(v))}\n placeholder=\"Search branches\"\n selectClassName={menuCls}\n onSelectOpen={measure}\n disabledInternalSort\n forceCloseMenu\n target={\n <SelectTrigger\n className=\"branch-trigger\"\n typographyProps={\n selected === null ? { color: \"tertiary\" } : undefined\n }\n >\n {selectedName}\n </SelectTrigger>\n }\n />\n </BranchSelectWrap>\n );\n};\n\ntype LinkMode = \"existing\" | \"branch\" | \"pr\";\n\nconst MODE_OPTIONS = [\n { id: \"existing\", name: \"Link Existing\" },\n { id: \"branch\", name: \"New Branch\" },\n { id: \"pr\", name: \"New Pull Request\" },\n];\n\nexport interface LinkBranchOrPullRequestDialogProps {\n open: boolean;\n onClose: () => void;\n}\n\nexport const LinkBranchOrPullRequestDialog = ({\n open,\n onClose,\n}: LinkBranchOrPullRequestDialogProps): ReactElement => {\n const [mode, setMode] = useState<LinkMode>(\"existing\");\n const [selected, setSelected] = useState<string | null>(null);\n const [branchName, setBranchName] = useState(\"feature/retainers-34\");\n const [prTitle, setPrTitle] = useState(\n \"#34 Retainers & Contracts functionality\"\n );\n const [attempted, setAttempted] = useState(false);\n const [loading, setLoading] = useState(true);\n const [menuWidth, setMenuWidth] = useState<number | undefined>();\n\n // Repository picker (New Branch / New Pull Request) + connect-repository flow.\n const [repo, setRepo] = useState<string>(\"backend\");\n const [connectOpen, setConnectOpen] = useState(false);\n const [extraRepos, setExtraRepos] = useState<Repository[]>([]);\n\n // Branch bases. Create From / Merge Into default to the repo's default branch;\n // Source Branch starts unselected.\n const [createFrom, setCreateFrom] = useState<string | null>(() =>\n repoDefaultBranchId(\"backend\")\n );\n const [sourceBranch, setSourceBranch] = useState<string | null>(null);\n const [mergeInto, setMergeInto] = useState<string | null>(() =>\n repoDefaultBranchId(\"backend\")\n );\n\n // When the repository changes, reset the bases: default branch for\n // Create From / Merge Into, nothing for Source Branch.\n useEffect(() => {\n const defaultId = repoDefaultBranchId(repo);\n setCreateFrom(defaultId);\n setMergeInto(defaultId);\n setSourceBranch(null);\n }, [repo]);\n\n const fieldRef = useRef<HTMLDivElement>(null);\n\n // Simulate the API loads that will drive the pickers: a ~1s skeleton on open.\n useEffect(() => {\n if (!open) {\n return undefined;\n }\n setLoading(true);\n const timer = window.setTimeout(() => setLoading(false), 1000);\n return () => window.clearTimeout(timer);\n }, [open]);\n\n const measureMenu = useCallback(() => {\n if (fieldRef.current) {\n setMenuWidth(fieldRef.current.offsetWidth);\n }\n }, []);\n\n // Keep the menu width in sync with the trigger once the form is visible.\n useEffect(() => {\n if (open && !loading && mode === \"existing\") {\n measureMenu();\n }\n }, [open, loading, mode, measureMenu]);\n\n // Submit is always enabled; validation runs on click and outlines fields.\n const existingInvalid = attempted && mode === \"existing\" && selected === null;\n const branchInvalid =\n attempted && mode === \"branch\" && branchName.trim() === \"\";\n const titleInvalid = attempted && mode === \"pr\" && prTitle.trim() === \"\";\n\n const primaryLabel =\n mode === \"existing\"\n ? \"Link\"\n : mode === \"branch\"\n ? \"Create Branch\"\n : \"Create Pull Request\";\n\n const close = () => {\n setAttempted(false);\n onClose();\n };\n\n const handleSubmit = () => {\n const valid =\n mode === \"existing\"\n ? selected !== null\n : mode === \"branch\"\n ? branchName.trim() !== \"\"\n : prTitle.trim() !== \"\";\n if (!valid) {\n setAttempted(true);\n return;\n }\n close();\n };\n\n const changeMode = (next: LinkMode) => {\n setMode(next);\n setAttempted(false);\n };\n\n const selectedLabel =\n ALL_ITEMS.find((o) => o.id === selected)?.name ??\n \"Select branch or pull request\";\n\n // Repositories already on the project (plus any just connected), and the\n // remaining ones that can still be connected from here.\n const projectRepos = [...PROJECT_REPOSITORIES, ...extraRepos];\n const connectableRepos = CONNECTABLE_REPOSITORIES.filter(\n (r) => !projectRepos.some((p) => p.id === r.id)\n );\n\n const handleConnected = (connected: Repository) => {\n setExtraRepos((prev) =>\n prev.some((r) => r.id === connected.id) ? prev : [...prev, connected]\n );\n // The repository just connected becomes the selection in the picker.\n setRepo(connected.id);\n };\n\n const renderRepositoryField = (): ReactElement => (\n <div className=\"lk-field\">\n <Label size=\"small\" className=\"lk-label\">\n Repository\n </Label>\n <RepositorySelect\n repositories={projectRepos}\n connections={CONNECTIONS}\n selected={repo}\n onChange={setRepo}\n />\n <Caption1 color=\"tertiary\" className=\"lk-repo-hint\">\n Only repositories connected to this project are listed.{\" \"}\n <button\n type=\"button\"\n className=\"lk-repo-link\"\n onClick={() => setConnectOpen(true)}\n >\n Connect a repository\n </button>{\" \"}\n if the one you need is missing.\n </Caption1>\n </div>\n );\n\n return (\n <>\n <Dialog open={open} onClose={close} disableCloseOnEsc>\n <MenuGlobalStyle $menuWidth={menuWidth} />\n <Dialog.Title>Link Branch or Pull Request</Dialog.Title>\n <Dialog.ContentDivider />\n <Dialog.Content>\n <StyledLinkBody>\n {loading ? (\n <div className=\"lk-skeleton\">\n <div className=\"sk-row\">\n <SkeletonLoader className=\"sk-choose\" />\n </div>\n <div className=\"sk-row\">\n <SkeletonLoader className=\"sk-label\" />\n <SkeletonLoader className=\"sk-control\" />\n </div>\n </div>\n ) : (\n <>\n <ChooseV2\n required\n options={MODE_OPTIONS}\n selected={[mode]}\n onChange={(ids) => changeMode(ids[0] as LinkMode)}\n />\n\n <div className=\"lk-tabbody\">\n {mode === \"existing\" ? (\n <div className=\"lk-field\" ref={fieldRef}>\n <Label\n size=\"small\"\n className=\"lk-label\"\n invalid={existingInvalid}\n >\n Branch or Pull Request\n </Label>\n <Select\n options={GROUPED_OPTIONS}\n selected={selected === null ? undefined : selected}\n onChange={(v) => setSelected(v as string)}\n placeholder=\"Search branches and pull requests\"\n selectClassName=\"lk-existing-select-menu\"\n onSelectOpen={measureMenu}\n disabledInternalSort\n forceCloseMenu\n target={\n <SelectTrigger\n className=\"lk-control\"\n invalid={existingInvalid}\n typographyProps={\n selected === null\n ? { color: \"tertiary\" }\n : undefined\n }\n >\n {selectedLabel}\n </SelectTrigger>\n }\n />\n </div>\n ) : mode === \"branch\" ? (\n <>\n {renderRepositoryField()}\n <div className=\"lk-field\">\n <Label\n size=\"small\"\n className=\"lk-label\"\n invalid={branchInvalid}\n >\n Branch Name\n </Label>\n <Input\n className=\"lk-control\"\n value={branchName}\n invalid={branchInvalid}\n onChange={(e) => setBranchName(e.target.value)}\n />\n </div>\n <div className=\"lk-field\">\n <Label size=\"small\" className=\"lk-label\">\n Create From\n </Label>\n <BranchSelect\n options={baseBranchOptions(repo)}\n selected={createFrom}\n onChange={setCreateFrom}\n placeholder=\"Select base branch\"\n />\n </div>\n </>\n ) : (\n <>\n {renderRepositoryField()}\n <div className=\"lk-field\">\n <Label size=\"small\" className=\"lk-label\">\n Source Branch\n </Label>\n <BranchSelect\n options={sourceBranchOptions(repo)}\n selected={sourceBranch}\n onChange={setSourceBranch}\n placeholder=\"Select source branch\"\n />\n </div>\n <div className=\"lk-field\">\n <Label size=\"small\" className=\"lk-label\">\n Merge Into\n </Label>\n <BranchSelect\n options={baseBranchOptions(repo)}\n selected={mergeInto}\n onChange={setMergeInto}\n placeholder=\"Select base branch\"\n />\n </div>\n <div className=\"lk-field\">\n <Label\n size=\"small\"\n className=\"lk-label\"\n invalid={titleInvalid}\n >\n Title\n </Label>\n <Input\n className=\"lk-control\"\n value={prTitle}\n invalid={titleInvalid}\n onChange={(e) => setPrTitle(e.target.value)}\n />\n </div>\n </>\n )}\n </div>\n </>\n )}\n </StyledLinkBody>\n </Dialog.Content>\n <Dialog.ContentDivider />\n <Dialog.Actions>\n <Button variant=\"primary\" disabled={loading} onClick={handleSubmit}>\n {primaryLabel}\n </Button>\n <Button variant=\"secondary\" onClick={close}>\n Cancel\n </Button>\n </Dialog.Actions>\n </Dialog>\n\n <ConnectRepositoryDialog\n open={connectOpen}\n onClose={() => setConnectOpen(false)}\n onConnect={handleConnected}\n repositories={connectableRepos}\n connections={CONNECTIONS}\n />\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -199,9 +199,6 @@ var BackupCodesDialogs = exports.BackupCodesDialogs = function BackupCodesDialog
|
|
|
199
199
|
autoComplete: "current-password"
|
|
200
200
|
})))), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.ContentDivider, null), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.Actions, null, /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
201
201
|
variant: "primary",
|
|
202
|
-
style: {
|
|
203
|
-
marginRight: 12
|
|
204
|
-
},
|
|
205
202
|
onClick: handleConfirm
|
|
206
203
|
}, "Regenerate Codes"), /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
207
204
|
variant: "secondary",
|
|
@@ -261,9 +258,6 @@ var BackupCodesRevealDialog = function BackupCodesRevealDialog(_ref3) {
|
|
|
261
258
|
color: "secondary"
|
|
262
259
|
}, "Save them somewhere safe, they can't be displayed again. You can generate a new set from your profile at any time.")))), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.ContentDivider, null), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.Actions, null, /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
263
260
|
variant: "primary",
|
|
264
|
-
style: {
|
|
265
|
-
marginRight: 12
|
|
266
|
-
},
|
|
267
261
|
onClick: onClose,
|
|
268
262
|
disabled: loading
|
|
269
263
|
}, "I've Saved My Codes"), /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
@@ -376,9 +370,6 @@ var CreateLoginCodeDialogs = exports.CreateLoginCodeDialogs = function CreateLog
|
|
|
376
370
|
autoComplete: "current-password"
|
|
377
371
|
})))), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.ContentDivider, null), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.Actions, null, /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
378
372
|
variant: "primary",
|
|
379
|
-
style: {
|
|
380
|
-
marginRight: 12
|
|
381
|
-
},
|
|
382
373
|
onClick: handleConfirm
|
|
383
374
|
}, "Confirm"), /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
384
375
|
variant: "secondary",
|