@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Option.js","names":["React","forwardRef","useCallback","classnames","StyledOption","StyledOptionContent","Option","_ref","ref","id","name","_ref$tooltip","tooltip","hover","className","renderOption","onMouseEnter","_ref$onClick","onClick","handleOnMouseEnter","createElement","title","onTouchStart","displayName"],"sources":["../../../../../src/components/Select/Option/Option.tsx"],"sourcesContent":["import React, {\n forwardRef,\n MouseEventHandler,\n ReactNode,\n Ref,\n useCallback,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { StyledOption, StyledOptionContent } from \"./Styles\";\n\nexport interface IOptionItemProps {\n /** Value of option */\n id: string | number;\n /** Label of option */\n name: string;\n /** Content for tooltip */\n tooltip?: string;\n /** Additional info right-side of name */\n additionalInfo?: string;\n /** image url for Avatar or MultiAvatar */\n image?: string | string[];\n /** Hex color for label */\n color?: string;\n /** Color for chip label */\n chipColor?: string;\n /** Value of mixed */\n mixed?: boolean;\n /** Hide option */\n hidden?: boolean;\n}\n\ninterface IAdditionalOptionItemProps {\n /** Value of option */\n id?: string | number;\n /** Label of option */\n name: string;\n /** Content for tooltip */\n tooltip?: string;\n /** Hovered state */\n hover?: boolean;\n /** Class name of option */\n className?: string;\n /** Render option function */\n renderOption?: ReactNode;\n /** On mouse enter callback */\n onMouseEnter?: (e: string | number | undefined) => void;\n /** On mouse click */\n onClick?: MouseEventHandler<HTMLLIElement>;\n}\n\nexport const Option = forwardRef(\n (\n {\n id,\n name,\n tooltip = \"\",\n hover,\n className,\n renderOption,\n onMouseEnter,\n onClick = () => null,\n }: IAdditionalOptionItemProps,\n ref: Ref<HTMLLIElement>\n ) => {\n const handleOnMouseEnter = useCallback(() => {\n if (onMouseEnter) {\n onMouseEnter(id);\n }\n }, [onMouseEnter, id]);\n\n return (\n <StyledOption\n ref={hover ? ref : null}\n title={tooltip ? tooltip : name}\n onMouseEnter={handleOnMouseEnter}\n onTouchStart={handleOnMouseEnter}\n className={classnames(\"c-option\", className)}\n hover={hover}\n onClick={onClick}\n >\n <StyledOptionContent>\n {renderOption ? renderOption : name}\n </StyledOptionContent>\n </StyledOption>\n );\n }\n);\n\nOption.displayName = \"Option\";\n"],"mappings":"AAAA,OAAOA,KAAK,IACVC,UAAU,EAIVC,WAAW,QACN,OAAO;AAEd,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,YAAY,EAAEC,mBAAmB,QAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"Option.js","names":["React","forwardRef","useCallback","classnames","StyledOption","StyledOptionContent","Option","_ref","ref","id","name","_ref$tooltip","tooltip","hover","className","renderOption","onMouseEnter","_ref$onClick","onClick","handleOnMouseEnter","createElement","title","onTouchStart","displayName"],"sources":["../../../../../src/components/Select/Option/Option.tsx"],"sourcesContent":["import React, {\n forwardRef,\n MouseEventHandler,\n ReactNode,\n Ref,\n useCallback,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { StyledOption, StyledOptionContent } from \"./Styles\";\n\nexport interface IOptionItemProps {\n /** Value of option */\n id: string | number;\n /** Label of option */\n name: string;\n /** Content for tooltip */\n tooltip?: string;\n /** Additional info right-side of name */\n additionalInfo?: string;\n /** image url for Avatar or MultiAvatar */\n image?: string | string[];\n /** Decorative leading SVG icon. Mutually exclusive with `image` (icon wins). */\n icon?: ReactNode;\n /** Hex color for label */\n color?: string;\n /** Color for chip label */\n chipColor?: string;\n /** Value of mixed */\n mixed?: boolean;\n /** Hide option */\n hidden?: boolean;\n}\n\ninterface IAdditionalOptionItemProps {\n /** Value of option */\n id?: string | number;\n /** Label of option */\n name: string;\n /** Content for tooltip */\n tooltip?: string;\n /** Hovered state */\n hover?: boolean;\n /** Class name of option */\n className?: string;\n /** Render option function */\n renderOption?: ReactNode;\n /** On mouse enter callback */\n onMouseEnter?: (e: string | number | undefined) => void;\n /** On mouse click */\n onClick?: MouseEventHandler<HTMLLIElement>;\n}\n\nexport const Option = forwardRef(\n (\n {\n id,\n name,\n tooltip = \"\",\n hover,\n className,\n renderOption,\n onMouseEnter,\n onClick = () => null,\n }: IAdditionalOptionItemProps,\n ref: Ref<HTMLLIElement>\n ) => {\n const handleOnMouseEnter = useCallback(() => {\n if (onMouseEnter) {\n onMouseEnter(id);\n }\n }, [onMouseEnter, id]);\n\n return (\n <StyledOption\n ref={hover ? ref : null}\n title={tooltip ? tooltip : name}\n onMouseEnter={handleOnMouseEnter}\n onTouchStart={handleOnMouseEnter}\n className={classnames(\"c-option\", className)}\n hover={hover}\n onClick={onClick}\n >\n <StyledOptionContent>\n {renderOption ? renderOption : name}\n </StyledOptionContent>\n </StyledOption>\n );\n }\n);\n\nOption.displayName = \"Option\";\n"],"mappings":"AAAA,OAAOA,KAAK,IACVC,UAAU,EAIVC,WAAW,QACN,OAAO;AAEd,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,YAAY,EAAEC,mBAAmB,QAAQ,UAAU;AA4C5D,OAAO,MAAMC,MAAM,gBAAGL,UAAU,CAC9B,CAAAM,IAAA,EAWEC,GAAuB,KACpB;EAAA,IAVDC,EAAE,GAAAF,IAAA,CAAFE,EAAE;IACFC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IAAAC,YAAA,GAAAJ,IAAA,CACJK,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,EAAE,GAAAA,YAAA;IACZE,KAAK,GAAAN,IAAA,CAALM,KAAK;IACLC,SAAS,GAAAP,IAAA,CAATO,SAAS;IACTC,YAAY,GAAAR,IAAA,CAAZQ,YAAY;IACZC,YAAY,GAAAT,IAAA,CAAZS,YAAY;IAAAC,YAAA,GAAAV,IAAA,CACZW,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,MAAM,IAAI,GAAAA,YAAA;EAItB,MAAME,kBAAkB,GAAGjB,WAAW,CAAC,MAAM;IAC3C,IAAIc,YAAY,EAAE;MAChBA,YAAY,CAACP,EAAE,CAAC;IAClB;EACF,CAAC,EAAE,CAACO,YAAY,EAAEP,EAAE,CAAC,CAAC;EAEtB,oBACET,KAAA,CAAAoB,aAAA,CAAChB,YAAY;IACXI,GAAG,EAAEK,KAAK,GAAGL,GAAG,GAAG,IAAK;IACxBa,KAAK,EAAET,OAAO,GAAGA,OAAO,GAAGF,IAAK;IAChCM,YAAY,EAAEG,kBAAmB;IACjCG,YAAY,EAAEH,kBAAmB;IACjCL,SAAS,EAAEX,UAAU,CAAC,UAAU,EAAEW,SAAS,CAAE;IAC7CD,KAAK,EAAEA,KAAM;IACbK,OAAO,EAAEA;EAAQ,gBAEjBlB,KAAA,CAAAoB,aAAA,CAACf,mBAAmB,QACjBU,YAAY,GAAGA,YAAY,GAAGL,IACZ,CACT,CAAC;AAEnB,CACF,CAAC;AAEDJ,MAAM,CAACiB,WAAW,GAAG,QAAQ","ignoreList":[]}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { FC } from "react";
|
|
1
|
+
import { FC, ReactNode } from "react";
|
|
2
2
|
interface OptionContentProps {
|
|
3
3
|
imageUrl?: string | string[];
|
|
4
4
|
color?: string;
|
|
5
5
|
textColor?: string;
|
|
6
6
|
name: string;
|
|
7
7
|
additionalInfo?: string;
|
|
8
|
+
/** Decorative leading SVG icon. Takes precedence over `imageUrl`/`color`. */
|
|
9
|
+
icon?: ReactNode;
|
|
8
10
|
}
|
|
9
11
|
export declare const OptionContent: FC<OptionContentProps>;
|
|
10
12
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionContent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/OptionContent/OptionContent.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"OptionContent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/OptionContent/OptionContent.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAY7C,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAyChD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { StyledOptionIndicator, StyledOptionText, StyledAdditionalInfo, StyledOptionContentWrapper } from "./Styles";
|
|
2
|
+
import { StyledOptionIcon, StyledOptionIndicator, StyledOptionText, StyledAdditionalInfo, StyledOptionContentWrapper } from "./Styles";
|
|
3
3
|
import { Avatar } from "../../Avatar/Avatar";
|
|
4
4
|
import { MultiAvatar } from "../../MultiAvatar";
|
|
5
5
|
export const OptionContent = _ref => {
|
|
@@ -7,8 +7,12 @@ export const OptionContent = _ref => {
|
|
|
7
7
|
color = _ref.color,
|
|
8
8
|
textColor = _ref.textColor,
|
|
9
9
|
name = _ref.name,
|
|
10
|
-
additionalInfo = _ref.additionalInfo
|
|
11
|
-
|
|
10
|
+
additionalInfo = _ref.additionalInfo,
|
|
11
|
+
icon = _ref.icon;
|
|
12
|
+
return /*#__PURE__*/React.createElement(StyledOptionContentWrapper, null, icon ? /*#__PURE__*/React.createElement(StyledOptionIcon, {
|
|
13
|
+
className: "c-option--icon",
|
|
14
|
+
"aria-hidden": "true"
|
|
15
|
+
}, icon) : imageUrl || color ? /*#__PURE__*/React.createElement(StyledOptionIndicator, {
|
|
12
16
|
className: "c-option--label",
|
|
13
17
|
backgroundColor: color
|
|
14
18
|
}, imageUrl ? /*#__PURE__*/React.createElement(React.Fragment, null, Array.isArray(imageUrl) ? /*#__PURE__*/React.createElement(MultiAvatar, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionContent.js","names":["React","StyledOptionIndicator","StyledOptionText","StyledAdditionalInfo","StyledOptionContentWrapper","Avatar","MultiAvatar","OptionContent","_ref","imageUrl","color","textColor","name","additionalInfo","createElement","className","backgroundColor","Fragment","Array","isArray","url","displayName"],"sources":["../../../../../src/components/Select/OptionContent/OptionContent.tsx"],"sourcesContent":["import React, { FC } from \"react\";\n\nimport {\n StyledOptionIndicator,\n StyledOptionText,\n StyledAdditionalInfo,\n StyledOptionContentWrapper,\n} from \"./Styles\";\nimport { Avatar } from \"../../Avatar/Avatar\";\nimport { MultiAvatar } from \"../../MultiAvatar\";\n\ninterface OptionContentProps {\n imageUrl?: string | string[];\n color?: string;\n textColor?: string;\n name: string;\n additionalInfo?: string;\n}\n\nexport const OptionContent: FC<OptionContentProps> = ({\n imageUrl,\n color,\n textColor,\n name,\n additionalInfo,\n}) => {\n return (\n <StyledOptionContentWrapper>\n {imageUrl || color ? (\n <StyledOptionIndicator\n className=\"c-option--label\"\n backgroundColor={color}\n >\n {imageUrl ? (\n <>\n {Array.isArray(imageUrl) ? (\n <MultiAvatar\n className=\"c-option--multi-avatar\"\n url={imageUrl}\n />\n ) : (\n <Avatar className=\"c-option--avatar\" url={imageUrl} />\n )}\n </>\n ) : null}\n </StyledOptionIndicator>\n ) : null}\n <StyledOptionText className=\"c-option--text\" textColor={textColor}>\n {name}\n </StyledOptionText>\n {additionalInfo ? (\n <StyledAdditionalInfo>{additionalInfo}</StyledAdditionalInfo>\n ) : null}\n </StyledOptionContentWrapper>\n );\n};\n\nOptionContent.displayName = \"OptionContent\";\n"],"mappings":"AAAA,OAAOA,KAAK,
|
|
1
|
+
{"version":3,"file":"OptionContent.js","names":["React","StyledOptionIcon","StyledOptionIndicator","StyledOptionText","StyledAdditionalInfo","StyledOptionContentWrapper","Avatar","MultiAvatar","OptionContent","_ref","imageUrl","color","textColor","name","additionalInfo","icon","createElement","className","backgroundColor","Fragment","Array","isArray","url","displayName"],"sources":["../../../../../src/components/Select/OptionContent/OptionContent.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\n\nimport {\n StyledOptionIcon,\n StyledOptionIndicator,\n StyledOptionText,\n StyledAdditionalInfo,\n StyledOptionContentWrapper,\n} from \"./Styles\";\nimport { Avatar } from \"../../Avatar/Avatar\";\nimport { MultiAvatar } from \"../../MultiAvatar\";\n\ninterface OptionContentProps {\n imageUrl?: string | string[];\n color?: string;\n textColor?: string;\n name: string;\n additionalInfo?: string;\n /** Decorative leading SVG icon. Takes precedence over `imageUrl`/`color`. */\n icon?: ReactNode;\n}\n\nexport const OptionContent: FC<OptionContentProps> = ({\n imageUrl,\n color,\n textColor,\n name,\n additionalInfo,\n icon,\n}) => {\n return (\n <StyledOptionContentWrapper>\n {icon ? (\n <StyledOptionIcon className=\"c-option--icon\" aria-hidden=\"true\">\n {icon}\n </StyledOptionIcon>\n ) : imageUrl || color ? (\n <StyledOptionIndicator\n className=\"c-option--label\"\n backgroundColor={color}\n >\n {imageUrl ? (\n <>\n {Array.isArray(imageUrl) ? (\n <MultiAvatar\n className=\"c-option--multi-avatar\"\n url={imageUrl}\n />\n ) : (\n <Avatar className=\"c-option--avatar\" url={imageUrl} />\n )}\n </>\n ) : null}\n </StyledOptionIndicator>\n ) : null}\n <StyledOptionText className=\"c-option--text\" textColor={textColor}>\n {name}\n </StyledOptionText>\n {additionalInfo ? (\n <StyledAdditionalInfo>{additionalInfo}</StyledAdditionalInfo>\n ) : null}\n </StyledOptionContentWrapper>\n );\n};\n\nOptionContent.displayName = \"OptionContent\";\n"],"mappings":"AAAA,OAAOA,KAAK,MAAyB,OAAO;AAE5C,SACEC,gBAAgB,EAChBC,qBAAqB,EACrBC,gBAAgB,EAChBC,oBAAoB,EACpBC,0BAA0B,QACrB,UAAU;AACjB,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,WAAW,QAAQ,mBAAmB;AAY/C,OAAO,MAAMC,aAAqC,GAAGC,IAAA,IAO/C;EAAA,IANJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTC,IAAI,GAAAJ,IAAA,CAAJI,IAAI;IACJC,cAAc,GAAAL,IAAA,CAAdK,cAAc;IACdC,IAAI,GAAAN,IAAA,CAAJM,IAAI;EAEJ,oBACEf,KAAA,CAAAgB,aAAA,CAACX,0BAA0B,QACxBU,IAAI,gBACHf,KAAA,CAAAgB,aAAA,CAACf,gBAAgB;IAACgB,SAAS,EAAC,gBAAgB;IAAC,eAAY;EAAM,GAC5DF,IACe,CAAC,GACjBL,QAAQ,IAAIC,KAAK,gBACnBX,KAAA,CAAAgB,aAAA,CAACd,qBAAqB;IACpBe,SAAS,EAAC,iBAAiB;IAC3BC,eAAe,EAAEP;EAAM,GAEtBD,QAAQ,gBACPV,KAAA,CAAAgB,aAAA,CAAAhB,KAAA,CAAAmB,QAAA,QACGC,KAAK,CAACC,OAAO,CAACX,QAAQ,CAAC,gBACtBV,KAAA,CAAAgB,aAAA,CAACT,WAAW;IACVU,SAAS,EAAC,wBAAwB;IAClCK,GAAG,EAAEZ;EAAS,CACf,CAAC,gBAEFV,KAAA,CAAAgB,aAAA,CAACV,MAAM;IAACW,SAAS,EAAC,kBAAkB;IAACK,GAAG,EAAEZ;EAAS,CAAE,CAEvD,CAAC,GACD,IACiB,CAAC,GACtB,IAAI,eACRV,KAAA,CAAAgB,aAAA,CAACb,gBAAgB;IAACc,SAAS,EAAC,gBAAgB;IAACL,SAAS,EAAEA;EAAU,GAC/DC,IACe,CAAC,EAClBC,cAAc,gBACbd,KAAA,CAAAgB,aAAA,CAACZ,oBAAoB,QAAEU,cAAqC,CAAC,GAC3D,IACsB,CAAC;AAEjC,CAAC;AAEDN,aAAa,CAACe,WAAW,GAAG,eAAe","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@ export declare const StyledOptionContentWrapper: import("styled-components").Sty
|
|
|
2
2
|
export declare const StyledOptionIndicator: import("styled-components").StyledComponent<"div", any, {
|
|
3
3
|
backgroundColor?: string;
|
|
4
4
|
}, never>;
|
|
5
|
+
export declare const StyledOptionIcon: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
5
6
|
export declare const StyledOptionText: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../..").IBodyProps & Omit<import("../../Typography/Typography").ITypographyProps, "variant" | "weight"> & import("react").RefAttributes<HTMLDivElement>>, any, {
|
|
6
7
|
textColor?: string;
|
|
7
8
|
}, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/OptionContent/Styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,0BAA0B,oEAQtC,CAAC;AAIF,eAAO,MAAM,qBAAqB;sBAAkC,MAAM;SAYzE,CAAC;AAIF,eAAO,MAAM,gBAAgB;gBAA+B,MAAM;SAUjE,CAAC;AAIF,eAAO,MAAM,oBAAoB,qEAIhC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/OptionContent/Styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,0BAA0B,oEAQtC,CAAC;AAIF,eAAO,MAAM,qBAAqB;sBAAkC,MAAM;SAYzE,CAAC;AAIF,eAAO,MAAM,gBAAgB,qEAc5B,CAAC;AAIF,eAAO,MAAM,gBAAgB;gBAA+B,MAAM;SAUjE,CAAC;AAIF,eAAO,MAAM,oBAAoB,qEAIhC,CAAC"}
|
|
@@ -10,9 +10,14 @@ export const StyledOptionIndicator = styled.div.withConfig({
|
|
|
10
10
|
componentId: "sc-6fiqyy-1"
|
|
11
11
|
})(["height:24px;width:24px;border-radius:100%;margin-right:8px;flex-shrink:0;", ""], props => props.backgroundColor && !props.children && css(["background-color:", ";"], props.backgroundColor));
|
|
12
12
|
StyledOptionIndicator.displayName = "StyledOptionIndicator";
|
|
13
|
+
export const StyledOptionIcon = styled.span.withConfig({
|
|
14
|
+
displayName: "Styles__StyledOptionIcon",
|
|
15
|
+
componentId: "sc-6fiqyy-2"
|
|
16
|
+
})(["display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:8px;flex-shrink:0;color:currentColor;svg{width:16px;height:16px;}"]);
|
|
17
|
+
StyledOptionIcon.displayName = "StyledOptionIcon";
|
|
13
18
|
export const StyledOptionText = styled(Body2).withConfig({
|
|
14
19
|
displayName: "Styles__StyledOptionText",
|
|
15
|
-
componentId: "sc-6fiqyy-
|
|
20
|
+
componentId: "sc-6fiqyy-3"
|
|
16
21
|
})(["", " flex-grow:1;line-height:28px;padding-right:10px;", ""], {
|
|
17
22
|
"overflow": "hidden",
|
|
18
23
|
"textOverflow": "ellipsis",
|
|
@@ -21,7 +26,7 @@ export const StyledOptionText = styled(Body2).withConfig({
|
|
|
21
26
|
StyledOptionText.displayName = "StyledOptionText";
|
|
22
27
|
export const StyledAdditionalInfo = styled.span.withConfig({
|
|
23
28
|
displayName: "Styles__StyledAdditionalInfo",
|
|
24
|
-
componentId: "sc-6fiqyy-
|
|
29
|
+
componentId: "sc-6fiqyy-4"
|
|
25
30
|
})(["margin:0 0 0 5px;line-height:18px;flex-shrink:0;"]);
|
|
26
31
|
StyledAdditionalInfo.displayName = "StyledAdditionalInfo";
|
|
27
32
|
//# sourceMappingURL=Styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.js","names":["styled","css","Body2","StyledOptionContentWrapper","div","withConfig","displayName","componentId","StyledOptionIndicator","props","backgroundColor","children","StyledOptionText","textColor","StyledAdditionalInfo"
|
|
1
|
+
{"version":3,"file":"Styles.js","names":["styled","css","Body2","StyledOptionContentWrapper","div","withConfig","displayName","componentId","StyledOptionIndicator","props","backgroundColor","children","StyledOptionIcon","span","StyledOptionText","textColor","StyledAdditionalInfo"],"sources":["../../../../../src/components/Select/OptionContent/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { Body2 } from \"../../Typography\";\n\nexport const StyledOptionContentWrapper = styled.div`\n display: flex;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n align-items: center;\n height: 100%;\n flex-grow: 1;\n`;\n\nStyledOptionContentWrapper.displayName = \"StyledOptionContentWrapper\";\n\nexport const StyledOptionIndicator = styled.div<{ backgroundColor?: string }>`\n height: 24px;\n width: 24px;\n border-radius: 100%;\n margin-right: 8px;\n flex-shrink: 0;\n ${(props) =>\n props.backgroundColor &&\n !props.children &&\n css`\n background-color: ${props.backgroundColor};\n `}\n`;\n\nStyledOptionIndicator.displayName = \"StyledOptionIndicator\";\n\nexport const StyledOptionIcon = styled.span`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n margin-right: 8px;\n flex-shrink: 0;\n color: currentColor;\n\n svg {\n width: 16px;\n height: 16px;\n }\n`;\n\nStyledOptionIcon.displayName = \"StyledOptionIcon\";\n\nexport const StyledOptionText = styled(Body2)<{ textColor?: string }>`\n ${tw`tw-truncate`}\n flex-grow: 1;\n line-height: 28px;\n padding-right: 10px;\n ${(props) =>\n props.textColor &&\n css`\n color: ${props.textColor};\n `}\n`;\n\nStyledOptionText.displayName = \"StyledOptionText\";\n\nexport const StyledAdditionalInfo = styled.span`\n margin: 0 0 0 5px;\n line-height: 18px;\n flex-shrink: 0;\n`;\n\nStyledAdditionalInfo.displayName = \"StyledAdditionalInfo\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,SAASC,KAAK,QAAQ,kBAAkB;AAExC,OAAO,MAAMC,0BAA0B,GAAGH,MAAM,CAACI,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0HAQnD;AAEDJ,0BAA0B,CAACG,WAAW,GAAG,4BAA4B;AAErE,OAAO,MAAME,qBAAqB,GAAGR,MAAM,CAACI,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,sFAM1CE,KAAK,IACNA,KAAK,CAACC,eAAe,IACrB,CAACD,KAAK,CAACE,QAAQ,IACfV,GAAG,6BACmBQ,KAAK,CAACC,eAAe,CAC1C,CACJ;AAEDF,qBAAqB,CAACF,WAAW,GAAG,uBAAuB;AAE3D,OAAO,MAAMM,gBAAgB,GAAGZ,MAAM,CAACa,IAAI,CAAAR,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,2KAc1C;AAEDK,gBAAgB,CAACN,WAAW,GAAG,kBAAkB;AAEjD,OAAO,MAAMQ,gBAAgB,GAAGd,MAAM,CAACE,KAAK,CAAC,CAAAG,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kEACvC;EAAA;EAAA;EAAA;AAAY,CAAC,EAIdE,KAAK,IACNA,KAAK,CAACM,SAAS,IACfd,GAAG,kBACQQ,KAAK,CAACM,SAAS,CACzB,CACJ;AAEDD,gBAAgB,CAACR,WAAW,GAAG,kBAAkB;AAEjD,OAAO,MAAMU,oBAAoB,GAAGhB,MAAM,CAACa,IAAI,CAAAR,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wDAI9C;AAEDS,oBAAoB,CAACV,WAAW,GAAG,sBAAsB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionGroup.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAmC,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"OptionGroup.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAmC,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAc9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,yBAAyB;IACzB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,UAAU,2BAA2B;IACnC,sCAAsC;IACtC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC7B,2BAA2B;IAC3B,YAAY,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAClC,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC5C,mCAAmC;IACnC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD,sBAAsB;IACtB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACrE,uCAAuC;IACvC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,WAAW,EAAE,EAAE,CAC1B,iBAAiB,GAAG,2BAA2B,CAyGhD,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useMemo } from "react";
|
|
2
2
|
import classNames from "classnames";
|
|
3
|
-
import { StyledOptionGroup, StyledOptionGroupHeader, StyledOptionGroupOption, StyledOptionGroupLi, StyledOptionGroupHeaderName } from "./Styles";
|
|
3
|
+
import { StyledOptionGroup, StyledOptionGroupHeader, StyledOptionGroupHeaderLabel, StyledOptionGroupIcon, StyledOptionGroupOption, StyledOptionGroupLi, StyledOptionGroupHeaderName } from "./Styles";
|
|
4
4
|
import { Checkbox } from "../../Checkbox/Checkbox";
|
|
5
5
|
export const OptionGroup = _ref => {
|
|
6
6
|
let id = _ref.id,
|
|
7
7
|
name = _ref.name,
|
|
8
|
+
icon = _ref.icon,
|
|
8
9
|
options = _ref.options,
|
|
9
10
|
type = _ref.type,
|
|
10
11
|
hover = _ref.hover,
|
|
@@ -55,9 +56,12 @@ export const OptionGroup = _ref => {
|
|
|
55
56
|
}, /*#__PURE__*/React.createElement(StyledOptionGroupOption, {
|
|
56
57
|
onMouseEnter: handleHover,
|
|
57
58
|
hover: hover === id && type === "multiple"
|
|
58
|
-
}, /*#__PURE__*/React.createElement(StyledOptionGroupHeader, null, /*#__PURE__*/React.createElement(
|
|
59
|
+
}, /*#__PURE__*/React.createElement(StyledOptionGroupHeader, null, /*#__PURE__*/React.createElement(StyledOptionGroupHeaderLabel, null, icon ? /*#__PURE__*/React.createElement(StyledOptionGroupIcon, {
|
|
60
|
+
className: "c-option-group--icon",
|
|
61
|
+
"aria-hidden": "true"
|
|
62
|
+
}, icon) : null, /*#__PURE__*/React.createElement(StyledOptionGroupHeaderName, {
|
|
59
63
|
weight: "bold"
|
|
60
|
-
}, name), type === "multiple" && /*#__PURE__*/React.createElement(Checkbox, {
|
|
64
|
+
}, name)), type === "multiple" && /*#__PURE__*/React.createElement(Checkbox, {
|
|
61
65
|
id: "" + id,
|
|
62
66
|
checked: isAllOptionsChecked,
|
|
63
67
|
mixed: isMixed,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionGroup.js","names":["React","useCallback","useEffect","useMemo","classNames","StyledOptionGroup","StyledOptionGroupHeader","StyledOptionGroupOption","StyledOptionGroupLi","StyledOptionGroupHeaderName","Checkbox","OptionGroup","_ref","id","name","options","type","hover","checked","onChange","setHover","optionGroupClassName","_ref$mixedOptions","mixedOptions","_document$getElementB","document","getElementById","focus","isAllOptionsChecked","every","option","includes","handleHover","undefined","allOptionValues","map","isMixed","some","item","handleClick","e","stopPropagation","preventDefault","filter","i","values","unique","pos","indexOf","createElement","key","className","onClick","onMouseEnter","weight","mixed","displayName"],"sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, FC, ReactNode } from \"react\";\n\nimport classNames from \"classnames\";\n\nimport {\n StyledOptionGroup,\n StyledOptionGroupHeader,\n StyledOptionGroupOption,\n StyledOptionGroupLi,\n StyledOptionGroupHeaderName,\n} from \"./Styles\";\nimport { Checkbox } from \"../../Checkbox/Checkbox\";\nimport { IOptionItemProps } from \"../Option/Option\";\n\nexport interface IOptionGroupProps extends IOptionItemProps {\n /** Options items list */\n options: IOptionItemProps[];\n}\n\ninterface IAdditionalOptionGroupProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** Value of hovered element */\n hover?: number | string | null;\n /** Filter for labels */\n filter?: string;\n /** Checked values */\n checked: (string | number)[];\n /** Mixed options values */\n mixedOptions: (string | number)[];\n /** onChange callback */\n onChange?: (e: (string | number)[]) => void;\n /** Set value of hovered element */\n setHover?: (e: number | string | undefined) => void;\n /** Render function */\n renderOptions?: (item: IOptionItemProps, index: number) => ReactNode;\n /** Value that represent class names */\n optionGroupClassName?: string;\n}\n\nexport const OptionGroup: FC<\n IOptionGroupProps & IAdditionalOptionGroupProps\n> = ({\n id,\n name,\n options,\n type,\n hover,\n checked,\n onChange,\n setHover,\n optionGroupClassName,\n mixedOptions = [],\n}) => {\n useEffect(() => {\n if (hover === id && type !== \"single\") {\n document.getElementById(`${id}`)?.focus();\n }\n }, [hover, type, id]);\n\n const isAllOptionsChecked = useMemo(\n () => options.every((option) => checked.includes(option.id)),\n [options, checked]\n );\n\n const handleHover = useCallback(() => {\n if (setHover) {\n setHover(type === \"single\" ? undefined : id);\n }\n }, [setHover, type, id]);\n\n const allOptionValues = useMemo(\n () => options.map((option) => option.id),\n [options]\n );\n\n const isMixed: boolean = useMemo(() => {\n return (\n (options.some((option) => checked.includes(option.id)) ||\n mixedOptions.some((item) => allOptionValues.includes(item))) &&\n !isAllOptionsChecked\n );\n }, [allOptionValues, checked, isAllOptionsChecked, mixedOptions, options]);\n\n const handleClick = useCallback(\n (e) => {\n e.stopPropagation();\n e.preventDefault();\n if (onChange && type !== \"single\") {\n if (isAllOptionsChecked) {\n onChange(\n checked.filter((i) => allOptionValues.includes(i) === false)\n );\n } else {\n const values = [...checked, ...allOptionValues];\n const unique = values.filter((item, pos) => {\n return values.indexOf(item) === pos;\n });\n onChange(unique);\n }\n }\n },\n [allOptionValues, checked, isAllOptionsChecked, onChange, type]\n );\n\n return (\n <StyledOptionGroupLi\n key={id}\n type={type}\n className={classNames(\"c-option-group\", optionGroupClassName)}\n onClick={handleClick}\n >\n <StyledOptionGroup key={id}>\n <StyledOptionGroupOption\n onMouseEnter={handleHover}\n hover={hover === id && type === \"multiple\"}\n >\n <StyledOptionGroupHeader>\n <StyledOptionGroupHeaderName weight=\"bold\">\n
|
|
1
|
+
{"version":3,"file":"OptionGroup.js","names":["React","useCallback","useEffect","useMemo","classNames","StyledOptionGroup","StyledOptionGroupHeader","StyledOptionGroupHeaderLabel","StyledOptionGroupIcon","StyledOptionGroupOption","StyledOptionGroupLi","StyledOptionGroupHeaderName","Checkbox","OptionGroup","_ref","id","name","icon","options","type","hover","checked","onChange","setHover","optionGroupClassName","_ref$mixedOptions","mixedOptions","_document$getElementB","document","getElementById","focus","isAllOptionsChecked","every","option","includes","handleHover","undefined","allOptionValues","map","isMixed","some","item","handleClick","e","stopPropagation","preventDefault","filter","i","values","unique","pos","indexOf","createElement","key","className","onClick","onMouseEnter","weight","mixed","displayName"],"sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, FC, ReactNode } from \"react\";\n\nimport classNames from \"classnames\";\n\nimport {\n StyledOptionGroup,\n StyledOptionGroupHeader,\n StyledOptionGroupHeaderLabel,\n StyledOptionGroupIcon,\n StyledOptionGroupOption,\n StyledOptionGroupLi,\n StyledOptionGroupHeaderName,\n} from \"./Styles\";\nimport { Checkbox } from \"../../Checkbox/Checkbox\";\nimport { IOptionItemProps } from \"../Option/Option\";\n\nexport interface IOptionGroupProps extends IOptionItemProps {\n /** Options items list */\n options: IOptionItemProps[];\n}\n\ninterface IAdditionalOptionGroupProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** Value of hovered element */\n hover?: number | string | null;\n /** Filter for labels */\n filter?: string;\n /** Checked values */\n checked: (string | number)[];\n /** Mixed options values */\n mixedOptions: (string | number)[];\n /** onChange callback */\n onChange?: (e: (string | number)[]) => void;\n /** Set value of hovered element */\n setHover?: (e: number | string | undefined) => void;\n /** Render function */\n renderOptions?: (item: IOptionItemProps, index: number) => ReactNode;\n /** Value that represent class names */\n optionGroupClassName?: string;\n}\n\nexport const OptionGroup: FC<\n IOptionGroupProps & IAdditionalOptionGroupProps\n> = ({\n id,\n name,\n icon,\n options,\n type,\n hover,\n checked,\n onChange,\n setHover,\n optionGroupClassName,\n mixedOptions = [],\n}) => {\n useEffect(() => {\n if (hover === id && type !== \"single\") {\n document.getElementById(`${id}`)?.focus();\n }\n }, [hover, type, id]);\n\n const isAllOptionsChecked = useMemo(\n () => options.every((option) => checked.includes(option.id)),\n [options, checked]\n );\n\n const handleHover = useCallback(() => {\n if (setHover) {\n setHover(type === \"single\" ? undefined : id);\n }\n }, [setHover, type, id]);\n\n const allOptionValues = useMemo(\n () => options.map((option) => option.id),\n [options]\n );\n\n const isMixed: boolean = useMemo(() => {\n return (\n (options.some((option) => checked.includes(option.id)) ||\n mixedOptions.some((item) => allOptionValues.includes(item))) &&\n !isAllOptionsChecked\n );\n }, [allOptionValues, checked, isAllOptionsChecked, mixedOptions, options]);\n\n const handleClick = useCallback(\n (e) => {\n e.stopPropagation();\n e.preventDefault();\n if (onChange && type !== \"single\") {\n if (isAllOptionsChecked) {\n onChange(\n checked.filter((i) => allOptionValues.includes(i) === false)\n );\n } else {\n const values = [...checked, ...allOptionValues];\n const unique = values.filter((item, pos) => {\n return values.indexOf(item) === pos;\n });\n onChange(unique);\n }\n }\n },\n [allOptionValues, checked, isAllOptionsChecked, onChange, type]\n );\n\n return (\n <StyledOptionGroupLi\n key={id}\n type={type}\n className={classNames(\"c-option-group\", optionGroupClassName)}\n onClick={handleClick}\n >\n <StyledOptionGroup key={id}>\n <StyledOptionGroupOption\n onMouseEnter={handleHover}\n hover={hover === id && type === \"multiple\"}\n >\n <StyledOptionGroupHeader>\n <StyledOptionGroupHeaderLabel>\n {icon ? (\n <StyledOptionGroupIcon\n className=\"c-option-group--icon\"\n aria-hidden=\"true\"\n >\n {icon}\n </StyledOptionGroupIcon>\n ) : null}\n <StyledOptionGroupHeaderName weight=\"bold\">\n {name}\n </StyledOptionGroupHeaderName>\n </StyledOptionGroupHeaderLabel>\n {type === \"multiple\" && (\n <Checkbox\n id={`${id}`}\n checked={isAllOptionsChecked}\n mixed={isMixed}\n onChange={handleClick}\n type=\"checkbox\"\n />\n )}\n </StyledOptionGroupHeader>\n </StyledOptionGroupOption>\n </StyledOptionGroup>\n </StyledOptionGroupLi>\n );\n};\n\nOptionGroup.displayName = \"OptionGroup\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,8 @@ export declare const StyledOptionGroupLi: import("styled-components").StyledComp
|
|
|
3
3
|
}, never>;
|
|
4
4
|
export declare const StyledOptionGroup: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
5
5
|
export declare const StyledOptionGroupHeader: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
6
|
+
export declare const StyledOptionGroupHeaderLabel: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
7
|
+
export declare const StyledOptionGroupIcon: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
6
8
|
export declare const StyledOptionGroupHeaderName: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../..").IBodyProps & Omit<import("../../Typography/Typography").ITypographyProps, "variant" | "weight"> & import("react").RefAttributes<HTMLDivElement>>, any, {}, never>;
|
|
7
9
|
export declare const StyledOptionGroupOption: import("styled-components").StyledComponent<"div", any, {
|
|
8
10
|
hover?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/OptionGroup/Styles.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mBAAmB;WAAsB,QAAQ,GAAG,UAAU;SAG1E,CAAC;AACF,eAAO,MAAM,iBAAiB,oEAI7B,CAAC;AAIF,eAAO,MAAM,uBAAuB,oEAUnC,CAAC;AAIF,eAAO,MAAM,2BAA2B,yQAKvC,CAAC;AAIF,eAAO,MAAM,uBAAuB;YAAwB,OAAO;SAMlE,CAAC"}
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/OptionGroup/Styles.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mBAAmB;WAAsB,QAAQ,GAAG,UAAU;SAG1E,CAAC;AACF,eAAO,MAAM,iBAAiB,oEAI7B,CAAC;AAIF,eAAO,MAAM,uBAAuB,oEAUnC,CAAC;AAIF,eAAO,MAAM,4BAA4B,oEAKxC,CAAC;AAIF,eAAO,MAAM,qBAAqB,qEAcjC,CAAC;AAIF,eAAO,MAAM,2BAA2B,yQAKvC,CAAC;AAIF,eAAO,MAAM,uBAAuB;YAAwB,OAAO;SAMlE,CAAC"}
|
|
@@ -18,14 +18,24 @@ export const StyledOptionGroupHeader = styled.div.withConfig({
|
|
|
18
18
|
componentId: "sc-16v5afu-2"
|
|
19
19
|
})(["height:28px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;margin:6px 0;*{margin:auto 0;}"]);
|
|
20
20
|
StyledOptionGroupHeader.displayName = "StyledOptionGroupHeader";
|
|
21
|
+
export const StyledOptionGroupHeaderLabel = styled.div.withConfig({
|
|
22
|
+
displayName: "Styles__StyledOptionGroupHeaderLabel",
|
|
23
|
+
componentId: "sc-16v5afu-3"
|
|
24
|
+
})(["display:flex;align-items:center;min-width:0;flex-grow:1;"]);
|
|
25
|
+
StyledOptionGroupHeaderLabel.displayName = "StyledOptionGroupHeaderLabel";
|
|
26
|
+
export const StyledOptionGroupIcon = styled.span.withConfig({
|
|
27
|
+
displayName: "Styles__StyledOptionGroupIcon",
|
|
28
|
+
componentId: "sc-16v5afu-4"
|
|
29
|
+
})(["display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:8px;flex-shrink:0;color:currentColor;svg{width:16px;height:16px;}"]);
|
|
30
|
+
StyledOptionGroupIcon.displayName = "StyledOptionGroupIcon";
|
|
21
31
|
export const StyledOptionGroupHeaderName = styled(Body2).withConfig({
|
|
22
32
|
displayName: "Styles__StyledOptionGroupHeaderName",
|
|
23
|
-
componentId: "sc-16v5afu-
|
|
33
|
+
componentId: "sc-16v5afu-5"
|
|
24
34
|
})(["padding-right:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"]);
|
|
25
35
|
StyledOptionGroupHeaderName.displayName = "StyledOptionGroupHeaderName";
|
|
26
36
|
export const StyledOptionGroupOption = styled.div.withConfig({
|
|
27
37
|
displayName: "Styles__StyledOptionGroupOption",
|
|
28
|
-
componentId: "sc-16v5afu-
|
|
38
|
+
componentId: "sc-16v5afu-6"
|
|
29
39
|
})(["", ""], props => props.hover && css(["background-color:var(--color-theme-200);"]));
|
|
30
40
|
StyledOptionGroupOption.displayName = "StyledOptionGroupOption";
|
|
31
41
|
//# sourceMappingURL=Styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.js","names":["styled","css","BoxSizingStyle","FontStyle","Body2","StyledOptionGroupLi","li","withConfig","displayName","componentId","props","type","StyledOptionGroup","div","StyledOptionGroupHeader","StyledOptionGroupHeaderName","StyledOptionGroupOption","hover"],"sources":["../../../../../src/components/Select/OptionGroup/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\nimport { FontStyle } from \"../../FontStyle\";\nimport { Body2 } from \"../../Typography\";\n\nexport const StyledOptionGroupLi = styled.li<{ type?: \"single\" | \"multiple\" }>`\n flex-direction: column;\n cursor: ${(props) => (props.type === \"single\" ? \"default\" : \"pointer\")};\n`;\nexport const StyledOptionGroup = styled.div`\n ${tw`tw-select-none`}\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledOptionGroup.displayName = \"StyledOptionGroup\";\n\nexport const StyledOptionGroupHeader = styled.div`\n height: 28px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 16px;\n margin: 6px 0;\n * {\n margin: auto 0;\n }\n`;\n\nStyledOptionGroupHeader.displayName = \"StyledOptionGroupHeader\";\n\nexport const StyledOptionGroupHeaderName = styled(Body2)`\n padding-right: 10px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nStyledOptionGroupHeaderName.displayName = \"StyledOptionGroupHeaderName\";\n\nexport const StyledOptionGroupOption = styled.div<{ hover?: boolean }>`\n ${(props) =>\n props.hover &&\n css`\n background-color: var(--color-theme-200);\n `}\n`;\n\nStyledOptionGroupOption.displayName = \"StyledOptionGroupOption\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,SAASC,cAAc,QAAQ,sBAAsB;AACrD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,QAAQ,kBAAkB;AAExC,OAAO,MAAMC,mBAAmB,GAAGL,MAAM,CAACM,EAAE,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,2CAE/BC,KAAK,IAAMA,KAAK,CAACC,IAAI,KAAK,QAAQ,GAAG,SAAS,GAAG,SAAU,CACvE;AACD,OAAO,MAAMC,iBAAiB,GAAGZ,MAAM,CAACa,GAAG,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,uBACrC;EAAA;AAAe,CAAC,EAClBN,SAAS,EACTD,cAAc,CACjB;AAEDU,iBAAiB,CAACJ,WAAW,GAAG,mBAAmB;AAEnD,OAAO,MAAMM,uBAAuB,GAAGd,MAAM,CAACa,GAAG,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,+HAUhD;AAEDK,uBAAuB,CAACN,WAAW,GAAG,yBAAyB;AAE/D,OAAO,MAAMO,
|
|
1
|
+
{"version":3,"file":"Styles.js","names":["styled","css","BoxSizingStyle","FontStyle","Body2","StyledOptionGroupLi","li","withConfig","displayName","componentId","props","type","StyledOptionGroup","div","StyledOptionGroupHeader","StyledOptionGroupHeaderLabel","StyledOptionGroupIcon","span","StyledOptionGroupHeaderName","StyledOptionGroupOption","hover"],"sources":["../../../../../src/components/Select/OptionGroup/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\nimport { FontStyle } from \"../../FontStyle\";\nimport { Body2 } from \"../../Typography\";\n\nexport const StyledOptionGroupLi = styled.li<{ type?: \"single\" | \"multiple\" }>`\n flex-direction: column;\n cursor: ${(props) => (props.type === \"single\" ? \"default\" : \"pointer\")};\n`;\nexport const StyledOptionGroup = styled.div`\n ${tw`tw-select-none`}\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledOptionGroup.displayName = \"StyledOptionGroup\";\n\nexport const StyledOptionGroupHeader = styled.div`\n height: 28px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 16px;\n margin: 6px 0;\n * {\n margin: auto 0;\n }\n`;\n\nStyledOptionGroupHeader.displayName = \"StyledOptionGroupHeader\";\n\nexport const StyledOptionGroupHeaderLabel = styled.div`\n display: flex;\n align-items: center;\n min-width: 0;\n flex-grow: 1;\n`;\n\nStyledOptionGroupHeaderLabel.displayName = \"StyledOptionGroupHeaderLabel\";\n\nexport const StyledOptionGroupIcon = styled.span`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n margin-right: 8px;\n flex-shrink: 0;\n color: currentColor;\n\n svg {\n width: 16px;\n height: 16px;\n }\n`;\n\nStyledOptionGroupIcon.displayName = \"StyledOptionGroupIcon\";\n\nexport const StyledOptionGroupHeaderName = styled(Body2)`\n padding-right: 10px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nStyledOptionGroupHeaderName.displayName = \"StyledOptionGroupHeaderName\";\n\nexport const StyledOptionGroupOption = styled.div<{ hover?: boolean }>`\n ${(props) =>\n props.hover &&\n css`\n background-color: var(--color-theme-200);\n `}\n`;\n\nStyledOptionGroupOption.displayName = \"StyledOptionGroupOption\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,SAASC,cAAc,QAAQ,sBAAsB;AACrD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,QAAQ,kBAAkB;AAExC,OAAO,MAAMC,mBAAmB,GAAGL,MAAM,CAACM,EAAE,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,2CAE/BC,KAAK,IAAMA,KAAK,CAACC,IAAI,KAAK,QAAQ,GAAG,SAAS,GAAG,SAAU,CACvE;AACD,OAAO,MAAMC,iBAAiB,GAAGZ,MAAM,CAACa,GAAG,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,uBACrC;EAAA;AAAe,CAAC,EAClBN,SAAS,EACTD,cAAc,CACjB;AAEDU,iBAAiB,CAACJ,WAAW,GAAG,mBAAmB;AAEnD,OAAO,MAAMM,uBAAuB,GAAGd,MAAM,CAACa,GAAG,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,+HAUhD;AAEDK,uBAAuB,CAACN,WAAW,GAAG,yBAAyB;AAE/D,OAAO,MAAMO,4BAA4B,GAAGf,MAAM,CAACa,GAAG,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,gEAKrD;AAEDM,4BAA4B,CAACP,WAAW,GAAG,8BAA8B;AAEzE,OAAO,MAAMQ,qBAAqB,GAAGhB,MAAM,CAACiB,IAAI,CAAAV,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,2KAc/C;AAEDO,qBAAqB,CAACR,WAAW,GAAG,uBAAuB;AAE3D,OAAO,MAAMU,2BAA2B,GAAGlB,MAAM,CAACI,KAAK,CAAC,CAAAG,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qFAKvD;AAEDS,2BAA2B,CAACV,WAAW,GAAG,6BAA6B;AAEvE,OAAO,MAAMW,uBAAuB,GAAGnB,MAAM,CAACa,GAAG,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aAC5CC,KAAK,IACNA,KAAK,CAACU,KAAK,IACXnB,GAAG,8CAEF,CACJ;AAEDkB,uBAAuB,CAACX,WAAW,GAAG,yBAAyB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAGF,YAAY,EAIZ,GAAG,EACH,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAc3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKlE,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IACrD,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,MAAM,WAAW,YACf,SAAQ,IAAI,CACV,kBAAkB,EAChB,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,oBAAoB,GACpB,cAAc,CACjB;IACD,sBAAsB;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACnC,gCAAgC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC9D,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,oCAAoC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,qCAAqC;IACrC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAGF,YAAY,EAIZ,GAAG,EACH,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAc3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKlE,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IACrD,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,MAAM,WAAW,YACf,SAAQ,IAAI,CACV,kBAAkB,EAChB,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,oBAAoB,GACpB,cAAc,CACjB;IACD,sBAAsB;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACnC,gCAAgC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC9D,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,oCAAoC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,qCAAqC;IACrC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,YAAY,CAySnC,CAAC"}
|
|
@@ -164,7 +164,11 @@ export const Select = _ref => {
|
|
|
164
164
|
if (typeof renderOption === "function") {
|
|
165
165
|
return renderOption(option, props);
|
|
166
166
|
}
|
|
167
|
+
if (option.icon && option.image) {
|
|
168
|
+
console.warn("Option has both `icon` and `image` set; `icon` takes precedence and `image` is ignored.");
|
|
169
|
+
}
|
|
167
170
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(OptionContent, {
|
|
171
|
+
icon: option.icon,
|
|
168
172
|
imageUrl: option.image,
|
|
169
173
|
color: option.color,
|
|
170
174
|
textColor: option.textColor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["React","useCallback","useState","useMemo","useEffect","useRef","classNames","OptionContent","StyledSelectForm","StyledSelectInput","StyledCheckbox","StyledRadioButton","StyledStartAdornment","StyledEndAdornment","useForkRef","Autocomplete","isOptionGroup","Menu","Select","_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","_objectWithoutPropertiesLoose","_excluded","console","warn","childNode","elementRef","handleRef","Tag","_useState","open","setOpen","selectedOptions","Array","selectOptions","allOptionValues","reduce","acc","option","id","allGroupOptions","map","mixedOptions","length","removeFromMixedOptions","idsToRemove","current","filter","mixedOption","includes","isAllOptionsChecked","every","someOptionsChecked","some","_childNode$current","focus","handleChange","selectedValue","undefined","onClose","onOpen","onPopperOpen","_elementRef$current","props","menuClassName","className","handleEmptyAction","value","handleDefaultOptionChangeCallback","handleRenderOption","createElement","Fragment","imageUrl","image","color","textColor","name","additionalInfo","_extends","checked","ref","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","useCallback","useState","useMemo","useEffect","useRef","classNames","OptionContent","StyledSelectForm","StyledSelectInput","StyledCheckbox","StyledRadioButton","StyledStartAdornment","StyledEndAdornment","useForkRef","Autocomplete","isOptionGroup","Menu","Select","_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","_objectWithoutPropertiesLoose","_excluded","console","warn","childNode","elementRef","handleRef","Tag","_useState","open","setOpen","selectedOptions","Array","selectOptions","allOptionValues","reduce","acc","option","id","allGroupOptions","map","mixedOptions","length","removeFromMixedOptions","idsToRemove","current","filter","mixedOption","includes","isAllOptionsChecked","every","someOptionsChecked","some","_childNode$current","focus","handleChange","selectedValue","undefined","onClose","onOpen","onPopperOpen","_elementRef$current","props","menuClassName","className","handleEmptyAction","value","handleDefaultOptionChangeCallback","handleRenderOption","icon","image","createElement","Fragment","imageUrl","color","textColor","name","additionalInfo","_extends","checked","ref","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":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactElement } from "react";
|
|
1
|
+
import React, { ReactElement } from "react";
|
|
2
2
|
export type ConnectionService = "github" | "gitlab";
|
|
3
3
|
export interface Connection {
|
|
4
4
|
id: string;
|
|
@@ -8,6 +8,8 @@ export interface Connection {
|
|
|
8
8
|
}
|
|
9
9
|
/** Human-readable provider label used in the group header "name (type)". */
|
|
10
10
|
export declare const serviceLabel: (service: ConnectionService) => string;
|
|
11
|
+
/** Provider glyph for a connection: GitHub / GitLab, Git for anything else. */
|
|
12
|
+
export declare const connectionIcon: (service?: ConnectionService) => ReactElement;
|
|
11
13
|
export interface Repository {
|
|
12
14
|
id: string;
|
|
13
15
|
/** Full repository path, e.g. activecollab/backend. */
|
|
@@ -19,13 +21,19 @@ export declare const CONNECTIONS: Connection[];
|
|
|
19
21
|
export declare const PROJECT_REPOSITORIES: Repository[];
|
|
20
22
|
/** Repositories available to connect (not yet linked to the project). */
|
|
21
23
|
export declare const CONNECTABLE_REPOSITORIES: Repository[];
|
|
22
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* Build grouped Select options — groups and options both sorted by name. Each
|
|
26
|
+
* repository option carries a leading provider icon (GitHub / GitLab / Git) via
|
|
27
|
+
* the Select's `icon` slot; the group header is just the connection name, since
|
|
28
|
+
* the icon now conveys the service (no "(GitHub)" / "(GitLab)" suffix).
|
|
29
|
+
*/
|
|
23
30
|
export declare const buildRepoOptions: (repositories: Repository[], connections: Connection[]) => {
|
|
24
31
|
id: string;
|
|
25
32
|
name: string;
|
|
26
33
|
options: {
|
|
27
34
|
id: string;
|
|
28
35
|
name: string;
|
|
36
|
+
icon: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
29
37
|
}[];
|
|
30
38
|
}[];
|
|
31
39
|
export interface RepositorySelectProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectRepositoryDialog.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/ConnectRepositoryDialog.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"ConnectRepositoryDialog.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/ConnectRepositoryDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,YAAY,EAKb,MAAM,OAAO,CAAC;AA8Bf,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,4EAA4E;AAC5E,eAAO,MAAM,YAAY,GAAI,SAAS,iBAAiB,KAAG,MACd,CAAC;AAE7C,+EAA+E;AAC/E,eAAO,MAAM,cAAc,GAAI,UAAU,iBAAiB,KAAG,YAQ5D,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,EAAE,UAAU,EAGnC,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,EAAE,UAAU,EAQ5C,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,wBAAwB,EAAE,UAAU,EAahD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,cAAc,UAAU,EAAE,EAC1B,aAAa,UAAU,EAAE;;;;;;;;GAgBsB,CAAC;AAwBlD,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,gBAAgB,GAAI,qFAQ9B,qBAAqB,KAAG,YA8C1B,CAAC;AAwBF,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mEAAmE;IACnE,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,iFAAiF;IACjF,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,uBAAuB,GAAI,0DAMrC,4BAA4B,KAAG,YA4EjC,CAAC"}
|
|
@@ -3,6 +3,7 @@ import styled, { createGlobalStyle } from "styled-components";
|
|
|
3
3
|
import { Button } from "../../components/Button";
|
|
4
4
|
import { Checkbox } from "../../components/Checkbox";
|
|
5
5
|
import { Dialog } from "../../components/Dialog";
|
|
6
|
+
import { GitHubIcon, GitIcon, GitLabIcon } from "../../components/Icons";
|
|
6
7
|
import { Label } from "../../components/Label";
|
|
7
8
|
import { Select } from "../../components/Select";
|
|
8
9
|
import { SelectTrigger } from "../../components/SelectTrigger";
|
|
@@ -26,6 +27,17 @@ const SANS = '-apple-system, BlinkMacSystemFont, "Roboto", "Helvetica Neue", Ari
|
|
|
26
27
|
|
|
27
28
|
/** Human-readable provider label used in the group header "name (type)". */
|
|
28
29
|
export const serviceLabel = service => service === "github" ? "GitHub" : "GitLab";
|
|
30
|
+
|
|
31
|
+
/** Provider glyph for a connection: GitHub / GitLab, Git for anything else. */
|
|
32
|
+
export const connectionIcon = service => {
|
|
33
|
+
if (service === "github") {
|
|
34
|
+
return /*#__PURE__*/React.createElement(GitHubIcon, null);
|
|
35
|
+
}
|
|
36
|
+
if (service === "gitlab") {
|
|
37
|
+
return /*#__PURE__*/React.createElement(GitLabIcon, null);
|
|
38
|
+
}
|
|
39
|
+
return /*#__PURE__*/React.createElement(GitIcon, null);
|
|
40
|
+
};
|
|
29
41
|
export const CONNECTIONS = [{
|
|
30
42
|
id: "gh-ac",
|
|
31
43
|
name: "ActiveCollab",
|
|
@@ -70,13 +82,19 @@ export const CONNECTABLE_REPOSITORIES = [{
|
|
|
70
82
|
connectionId: "gl-ops"
|
|
71
83
|
}];
|
|
72
84
|
|
|
73
|
-
/**
|
|
85
|
+
/**
|
|
86
|
+
* Build grouped Select options — groups and options both sorted by name. Each
|
|
87
|
+
* repository option carries a leading provider icon (GitHub / GitLab / Git) via
|
|
88
|
+
* the Select's `icon` slot; the group header is just the connection name, since
|
|
89
|
+
* the icon now conveys the service (no "(GitHub)" / "(GitLab)" suffix).
|
|
90
|
+
*/
|
|
74
91
|
export const buildRepoOptions = (repositories, connections) => [...connections].map(c => ({
|
|
75
92
|
id: c.id,
|
|
76
|
-
name: c.name
|
|
93
|
+
name: c.name,
|
|
77
94
|
options: repositories.filter(r => r.connectionId === c.id).sort((a, b) => a.name.localeCompare(b.name)).map(r => ({
|
|
78
95
|
id: r.id,
|
|
79
|
-
name: r.name
|
|
96
|
+
name: r.name,
|
|
97
|
+
icon: connectionIcon(c.service)
|
|
80
98
|
}))
|
|
81
99
|
})).filter(group => group.options.length > 0).sort((a, b) => a.name.localeCompare(b.name));
|
|
82
100
|
|