@activecollab/components 2.0.350 → 2.0.352
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/Autocomplete/Autocomplete.js +2 -0
- package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/cjs/components/Select/Option/Option.js.map +1 -1
- package/dist/cjs/components/Select/OptionContent/OptionContent.js +6 -2
- package/dist/cjs/components/Select/OptionContent/OptionContent.js.map +1 -1
- package/dist/cjs/components/Select/OptionContent/Styles.js +8 -3
- package/dist/cjs/components/Select/OptionContent/Styles.js.map +1 -1
- package/dist/cjs/components/Select/OptionGroup/OptionGroup.js +6 -2
- package/dist/cjs/components/Select/OptionGroup/OptionGroup.js.map +1 -1
- package/dist/cjs/components/Select/OptionGroup/Styles.js +13 -3
- package/dist/cjs/components/Select/OptionGroup/Styles.js.map +1 -1
- package/dist/cjs/components/Select/Select.js +4 -0
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/presentation/shared/ConnectRepositoryDialog.js +22 -4
- package/dist/cjs/presentation/shared/ConnectRepositoryDialog.js.map +1 -1
- package/dist/cjs/presentation/shared/LinkBranchOrPullRequestDialog.js +8 -5
- package/dist/cjs/presentation/shared/LinkBranchOrPullRequestDialog.js.map +1 -1
- package/dist/cjs/presentation/shared/SourceCodeSection.js +1001 -0
- package/dist/cjs/presentation/shared/SourceCodeSection.js.map +1 -0
- package/dist/cjs/presentation/shared/index.js +43 -0
- package/dist/cjs/presentation/shared/index.js.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.js +2 -0
- package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/esm/components/Select/Option/Option.d.ts +2 -0
- package/dist/esm/components/Select/Option/Option.d.ts.map +1 -1
- package/dist/esm/components/Select/Option/Option.js.map +1 -1
- package/dist/esm/components/Select/OptionContent/OptionContent.d.ts +3 -1
- package/dist/esm/components/Select/OptionContent/OptionContent.d.ts.map +1 -1
- package/dist/esm/components/Select/OptionContent/OptionContent.js +7 -3
- package/dist/esm/components/Select/OptionContent/OptionContent.js.map +1 -1
- package/dist/esm/components/Select/OptionContent/Styles.d.ts +1 -0
- package/dist/esm/components/Select/OptionContent/Styles.d.ts.map +1 -1
- package/dist/esm/components/Select/OptionContent/Styles.js +7 -2
- package/dist/esm/components/Select/OptionContent/Styles.js.map +1 -1
- package/dist/esm/components/Select/OptionGroup/OptionGroup.d.ts.map +1 -1
- package/dist/esm/components/Select/OptionGroup/OptionGroup.js +7 -3
- package/dist/esm/components/Select/OptionGroup/OptionGroup.js.map +1 -1
- package/dist/esm/components/Select/OptionGroup/Styles.d.ts +2 -0
- package/dist/esm/components/Select/OptionGroup/Styles.d.ts.map +1 -1
- package/dist/esm/components/Select/OptionGroup/Styles.js +12 -2
- package/dist/esm/components/Select/OptionGroup/Styles.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +4 -0
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/presentation/shared/ConnectRepositoryDialog.d.ts +10 -2
- package/dist/esm/presentation/shared/ConnectRepositoryDialog.d.ts.map +1 -1
- package/dist/esm/presentation/shared/ConnectRepositoryDialog.js +21 -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 +9 -6
- package/dist/esm/presentation/shared/LinkBranchOrPullRequestDialog.js.map +1 -1
- package/dist/esm/presentation/shared/SourceCodeSection.d.ts +88 -0
- package/dist/esm/presentation/shared/SourceCodeSection.d.ts.map +1 -0
- package/dist/esm/presentation/shared/SourceCodeSection.js +936 -0
- package/dist/esm/presentation/shared/SourceCodeSection.js.map +1 -0
- package/dist/esm/presentation/shared/index.d.ts +2 -0
- package/dist/esm/presentation/shared/index.d.ts.map +1 -1
- package/dist/esm/presentation/shared/index.js +1 -0
- package/dist/esm/presentation/shared/index.js.map +1 -1
- package/dist/index.js +37 -8
- 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
|
@@ -198,7 +198,11 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
198
198
|
if (typeof renderOption === "function") {
|
|
199
199
|
return renderOption(option, props);
|
|
200
200
|
}
|
|
201
|
+
if (option.icon && option.image) {
|
|
202
|
+
console.warn("Option has both `icon` and `image` set; `icon` takes precedence and `image` is ignored.");
|
|
203
|
+
}
|
|
201
204
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_OptionContent.OptionContent, {
|
|
205
|
+
icon: option.icon,
|
|
202
206
|
imageUrl: option.image,
|
|
203
207
|
color: option.color,
|
|
204
208
|
textColor: option.textColor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_OptionContent","_Styles","_useForkRef","_Autocomplete","_Menu","_excluded","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","Symbol","iterator","u","next","done","push","value","return","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","Select","exports","_ref","_ref$type","type","mode","target","options","_ref$selected","selected","_ref$mixed","mixed","_ref$position","position","_ref$onChange","onChange","placeholder","_ref$emptyAction","emptyAction","_ref$disableSearch","disableSearch","forceCloseMenu","selectClassName","_ref$keepSameOptionsO","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","_ref$preselectDefault","preselectDefaultValue","startAdornment","endAdornment","_ref$focusInput","focusInput","disableVirtualization","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","_useState","useState","_useState2","open","setOpen","selectedOptions","useMemo","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","mixedOptions","removeFromMixedOptions","useCallback","idsToRemove","current","filter","mixedOption","includes","isAllOptionsChecked","every","someOptionsChecked","some","useEffect","_childNode$current","focus","handleChange","selectedValue","undefined","onClose","onOpen","onPopperOpen","_elementRef$current","props","menuClassName","classNames","className","handleEmptyAction","handleDefaultOptionChangeCallback","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","additionalInfo","StyledCheckbox","checked","StyledRadioButton","StyledSelectForm","StyledStartAdornment","StyledSelectInput","ref","StyledEndAdornment","Autocomplete","clearInputOnSelect","inputEl","displayName"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n ReactNode,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\n\nimport { OptionContent } from \"./OptionContent/OptionContent\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n StyledStartAdornment,\n StyledEndAdornment,\n} from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\n\nexport interface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n | \"handleChange\"\n | \"inputEl\"\n | \"handleEmptyAction\"\n | \"clearInputOnSelect\"\n | \"mixedOptions\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n /** Node element on the left side */\n startAdornment?: ReactNode;\n /** Node element on the right side */\n endAdornment?: ReactNode;\n /** Focus search input on inline select */\n focusInput?: boolean;\n /** Mixed options values */\n mixed?: (string | number)[];\n disableVirtualization?: boolean;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n mixed = [],\n position = \"bottom-start\",\n onChange = () => null,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n startAdornment,\n endAdornment,\n focusInput = false,\n disableVirtualization,\n ...prop\n}) => {\n if (disableSearch && (startAdornment || endAdornment)) {\n console.warn(\"Adornments are not visible when search bar is hidden\");\n }\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(childNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const mixedOptions = useRef(type === \"multiple\" && mixed.length ? mixed : []);\n\n const removeFromMixedOptions = useCallback(\n (idsToRemove: (string | number)[]) => {\n mixedOptions.current = mixedOptions.current.filter(\n (mixedOption) => !idsToRemove.includes(mixedOption)\n );\n },\n []\n );\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n const someOptionsChecked = useMemo(\n () => allOptionValues.some((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n if ((open && target) || (!target && focusInput)) {\n childNode?.current?.focus();\n }\n }, [focusInput, open, target]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (\n selectedValue !== undefined &&\n selectedValue !== selected &&\n !(selectedValue instanceof Array && selectedValue.includes(undefined))\n ) {\n onChange(selectedValue);\n type === \"multiple\" &&\n mixedOptions.current.length &&\n removeFromMixedOptions(selectedValue);\n }\n },\n [\n forceCloseMenu,\n selected,\n onSelectClose,\n onChange,\n type,\n removeFromMixedOptions,\n ]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const onPopperOpen = useCallback(() => {\n elementRef?.current?.focus();\n }, []);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n onPopperOpen,\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [\n target,\n selectClassName,\n onClose,\n onOpen,\n mode,\n open,\n position,\n onPopperOpen,\n ]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n // Clear the search input without triggering form reset events\n if (elementRef?.current) {\n elementRef.current.value = \"\";\n }\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox\n checked={isAllOptionsChecked}\n mixed={someOptionsChecked && !isAllOptionsChecked}\n {...props}\n />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox\n mixed={mixedOptions.current.includes(option.id)}\n {...props}\n />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n type,\n someOptionsChecked,\n selectedOptions,\n ]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm>\n {startAdornment ? (\n <StyledStartAdornment>{startAdornment}</StyledStartAdornment>\n ) : null}\n <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {endAdornment ? (\n <StyledEndAdornment>{endAdornment}</StyledEndAdornment>\n ) : null}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={disableSearch ? undefined : childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n mixedOptions={mixedOptions.current}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n disableVirtualization={disableVirtualization}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_OptionContent","_Styles","_useForkRef","_Autocomplete","_Menu","_excluded","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","Symbol","iterator","u","next","done","push","value","return","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","Select","exports","_ref","_ref$type","type","mode","target","options","_ref$selected","selected","_ref$mixed","mixed","_ref$position","position","_ref$onChange","onChange","placeholder","_ref$emptyAction","emptyAction","_ref$disableSearch","disableSearch","forceCloseMenu","selectClassName","_ref$keepSameOptionsO","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","_ref$preselectDefault","preselectDefaultValue","startAdornment","endAdornment","_ref$focusInput","focusInput","disableVirtualization","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","_useState","useState","_useState2","open","setOpen","selectedOptions","useMemo","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","mixedOptions","removeFromMixedOptions","useCallback","idsToRemove","current","filter","mixedOption","includes","isAllOptionsChecked","every","someOptionsChecked","some","useEffect","_childNode$current","focus","handleChange","selectedValue","undefined","onClose","onOpen","onPopperOpen","_elementRef$current","props","menuClassName","classNames","className","handleEmptyAction","handleDefaultOptionChangeCallback","handleRenderOption","icon","image","createElement","Fragment","OptionContent","imageUrl","color","textColor","additionalInfo","StyledCheckbox","checked","StyledRadioButton","StyledSelectForm","StyledStartAdornment","StyledSelectInput","ref","StyledEndAdornment","Autocomplete","clearInputOnSelect","inputEl","displayName"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n ReactNode,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\n\nimport { OptionContent } from \"./OptionContent/OptionContent\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n StyledStartAdornment,\n StyledEndAdornment,\n} from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\n\nexport interface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n | \"handleChange\"\n | \"inputEl\"\n | \"handleEmptyAction\"\n | \"clearInputOnSelect\"\n | \"mixedOptions\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n /** Node element on the left side */\n startAdornment?: ReactNode;\n /** Node element on the right side */\n endAdornment?: ReactNode;\n /** Focus search input on inline select */\n focusInput?: boolean;\n /** Mixed options values */\n mixed?: (string | number)[];\n disableVirtualization?: boolean;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n mixed = [],\n position = \"bottom-start\",\n onChange = () => null,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n startAdornment,\n endAdornment,\n focusInput = false,\n disableVirtualization,\n ...prop\n}) => {\n if (disableSearch && (startAdornment || endAdornment)) {\n console.warn(\"Adornments are not visible when search bar is hidden\");\n }\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(childNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const mixedOptions = useRef(type === \"multiple\" && mixed.length ? mixed : []);\n\n const removeFromMixedOptions = useCallback(\n (idsToRemove: (string | number)[]) => {\n mixedOptions.current = mixedOptions.current.filter(\n (mixedOption) => !idsToRemove.includes(mixedOption)\n );\n },\n []\n );\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n const someOptionsChecked = useMemo(\n () => allOptionValues.some((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n if ((open && target) || (!target && focusInput)) {\n childNode?.current?.focus();\n }\n }, [focusInput, open, target]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (\n selectedValue !== undefined &&\n selectedValue !== selected &&\n !(selectedValue instanceof Array && selectedValue.includes(undefined))\n ) {\n onChange(selectedValue);\n type === \"multiple\" &&\n mixedOptions.current.length &&\n removeFromMixedOptions(selectedValue);\n }\n },\n [\n forceCloseMenu,\n selected,\n onSelectClose,\n onChange,\n type,\n removeFromMixedOptions,\n ]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const onPopperOpen = useCallback(() => {\n elementRef?.current?.focus();\n }, []);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n onPopperOpen,\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [\n target,\n selectClassName,\n onClose,\n onOpen,\n mode,\n open,\n position,\n onPopperOpen,\n ]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n // Clear the search input without triggering form reset events\n if (elementRef?.current) {\n elementRef.current.value = \"\";\n }\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (option.icon && option.image) {\n console.warn(\n \"Option has both `icon` and `image` set; `icon` takes precedence and `image` is ignored.\"\n );\n }\n return (\n <>\n <OptionContent\n icon={option.icon}\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox\n checked={isAllOptionsChecked}\n mixed={someOptionsChecked && !isAllOptionsChecked}\n {...props}\n />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox\n mixed={mixedOptions.current.includes(option.id)}\n {...props}\n />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n type,\n someOptionsChecked,\n selectedOptions,\n ]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm>\n {startAdornment ? (\n <StyledStartAdornment>{startAdornment}</StyledStartAdornment>\n ) : null}\n <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {endAdornment ? (\n <StyledEndAdornment>{endAdornment}</StyledEndAdornment>\n ) : null}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={disableSearch ? undefined : childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n mixedOptions={mixedOptions.current}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n disableVirtualization={disableVirtualization}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.serviceLabel = exports.buildRepoOptions = exports.RepositorySelect = exports.PROJECT_REPOSITORIES = exports.ConnectRepositoryDialog = exports.CONNECTIONS = exports.CONNECTABLE_REPOSITORIES = void 0;
|
|
6
|
+
exports.serviceLabel = exports.connectionIcon = exports.buildRepoOptions = exports.RepositorySelect = exports.PROJECT_REPOSITORIES = exports.ConnectRepositoryDialog = exports.CONNECTIONS = exports.CONNECTABLE_REPOSITORIES = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
9
9
|
var _Button = require("../../components/Button");
|
|
10
10
|
var _Checkbox = require("../../components/Checkbox");
|
|
11
11
|
var _Dialog = require("../../components/Dialog");
|
|
12
|
+
var _Icons = require("../../components/Icons");
|
|
12
13
|
var _Label = require("../../components/Label");
|
|
13
14
|
var _Select = require("../../components/Select");
|
|
14
15
|
var _SelectTrigger = require("../../components/SelectTrigger");
|
|
@@ -40,6 +41,17 @@ var SANS = '-apple-system, BlinkMacSystemFont, "Roboto", "Helvetica Neue", Arial
|
|
|
40
41
|
var serviceLabel = exports.serviceLabel = function serviceLabel(service) {
|
|
41
42
|
return service === "github" ? "GitHub" : "GitLab";
|
|
42
43
|
};
|
|
44
|
+
|
|
45
|
+
/** Provider glyph for a connection: GitHub / GitLab, Git for anything else. */
|
|
46
|
+
var connectionIcon = exports.connectionIcon = function connectionIcon(service) {
|
|
47
|
+
if (service === "github") {
|
|
48
|
+
return /*#__PURE__*/_react.default.createElement(_Icons.GitHubIcon, null);
|
|
49
|
+
}
|
|
50
|
+
if (service === "gitlab") {
|
|
51
|
+
return /*#__PURE__*/_react.default.createElement(_Icons.GitLabIcon, null);
|
|
52
|
+
}
|
|
53
|
+
return /*#__PURE__*/_react.default.createElement(_Icons.GitIcon, null);
|
|
54
|
+
};
|
|
43
55
|
var CONNECTIONS = exports.CONNECTIONS = [{
|
|
44
56
|
id: "gh-ac",
|
|
45
57
|
name: "ActiveCollab",
|
|
@@ -84,12 +96,17 @@ var CONNECTABLE_REPOSITORIES = exports.CONNECTABLE_REPOSITORIES = [{
|
|
|
84
96
|
connectionId: "gl-ops"
|
|
85
97
|
}];
|
|
86
98
|
|
|
87
|
-
/**
|
|
99
|
+
/**
|
|
100
|
+
* Build grouped Select options — groups and options both sorted by name. Each
|
|
101
|
+
* repository option carries a leading provider icon (GitHub / GitLab / Git) via
|
|
102
|
+
* the Select's `icon` slot; the group header is just the connection name, since
|
|
103
|
+
* the icon now conveys the service (no "(GitHub)" / "(GitLab)" suffix).
|
|
104
|
+
*/
|
|
88
105
|
var buildRepoOptions = exports.buildRepoOptions = function buildRepoOptions(repositories, connections) {
|
|
89
106
|
return [...connections].map(function (c) {
|
|
90
107
|
return {
|
|
91
108
|
id: c.id,
|
|
92
|
-
name:
|
|
109
|
+
name: c.name,
|
|
93
110
|
options: repositories.filter(function (r) {
|
|
94
111
|
return r.connectionId === c.id;
|
|
95
112
|
}).sort(function (a, b) {
|
|
@@ -97,7 +114,8 @@ var buildRepoOptions = exports.buildRepoOptions = function buildRepoOptions(repo
|
|
|
97
114
|
}).map(function (r) {
|
|
98
115
|
return {
|
|
99
116
|
id: r.id,
|
|
100
|
-
name: r.name
|
|
117
|
+
name: r.name,
|
|
118
|
+
icon: connectionIcon(c.service)
|
|
101
119
|
};
|
|
102
120
|
})
|
|
103
121
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectRepositoryDialog.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_Button","_Checkbox","_Dialog","_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","CONNECTIONS","id","PROJECT_REPOSITORIES","connectionId","CONNECTABLE_REPOSITORIES","buildRepoOptions","repositories","connections","map","c","concat","options","filter","sort","b","localeCompare","group","RepoMenuGlobalStyle","createGlobalStyle","p","$cls","$w","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","createElement","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 { 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\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/** Build grouped Select options — groups and options both sorted by name. */\nexport const buildRepoOptions = (\n repositories: Repository[],\n connections: Connection[]\n) =>\n [...connections]\n .map((c) => ({\n id: c.id,\n name: `${c.name} (${serviceLabel(c.service)})`,\n options: repositories\n .filter((r) => r.connectionId === c.id)\n .sort((a, b) => a.name.localeCompare(b.name))\n .map((r) => ({ id: r.id, name: r.name })),\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","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":[]}
|
|
@@ -147,14 +147,16 @@ var linkableDetail = function linkableDetail(item) {
|
|
|
147
147
|
|
|
148
148
|
/**
|
|
149
149
|
* Grouped options for the Select. One group per repository, labelled
|
|
150
|
-
* "repo (Org
|
|
151
|
-
* ordered by latest activity (freshest first).
|
|
152
|
-
*
|
|
150
|
+
* "repo (Org)" and sorted by name; inside a group, branches and PRs are
|
|
151
|
+
* ordered by latest activity (freshest first). Each option carries a leading
|
|
152
|
+
* provider icon (GitHub / GitLab / Git) via the Select's `icon` slot; the
|
|
153
|
+
* service type is dropped from the group header since the icon now conveys it.
|
|
153
154
|
*/
|
|
154
155
|
var GROUPED_OPTIONS = _ConnectRepositoryDialog.PROJECT_REPOSITORIES.map(function (repo) {
|
|
155
156
|
var connection = _ConnectRepositoryDialog.CONNECTIONS.find(function (c) {
|
|
156
157
|
return c.id === repo.connectionId;
|
|
157
158
|
});
|
|
159
|
+
var icon = (0, _ConnectRepositoryDialog.connectionIcon)(connection === null || connection === void 0 ? void 0 : connection.service);
|
|
158
160
|
var items = LINKABLES.filter(function (l) {
|
|
159
161
|
return l.repoId === repo.id;
|
|
160
162
|
}).sort(function (a, b) {
|
|
@@ -163,12 +165,13 @@ var GROUPED_OPTIONS = _ConnectRepositoryDialog.PROJECT_REPOSITORIES.map(function
|
|
|
163
165
|
return {
|
|
164
166
|
id: l.id,
|
|
165
167
|
name: l.name,
|
|
166
|
-
additionalInfo: linkableDetail(l)
|
|
168
|
+
additionalInfo: linkableDetail(l),
|
|
169
|
+
icon
|
|
167
170
|
};
|
|
168
171
|
});
|
|
169
172
|
return {
|
|
170
173
|
id: repo.id,
|
|
171
|
-
name: connection ? "".concat(repo.name, " (").concat(connection.name, "
|
|
174
|
+
name: connection ? "".concat(repo.name, " (").concat(connection.name, ")") : repo.name,
|
|
172
175
|
options: items
|
|
173
176
|
};
|
|
174
177
|
}).filter(function (group) {
|