@channel.io/bezier-react 2.5.1 → 2.6.1
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/AlphaButton/Button.js +1 -1
- package/dist/cjs/components/AlphaButton/Button.js.map +1 -1
- package/dist/cjs/components/AlphaFloatingButton/FloatingButton.js +1 -1
- package/dist/cjs/components/AlphaFloatingButton/FloatingButton.js.map +1 -1
- package/dist/cjs/components/AlphaFloatingIconButton/FloatingIconButton.js +1 -1
- package/dist/cjs/components/AlphaFloatingIconButton/FloatingIconButton.js.map +1 -1
- package/dist/cjs/components/AlphaIconButton/IconButton.js +1 -1
- package/dist/cjs/components/AlphaIconButton/IconButton.js.map +1 -1
- package/dist/cjs/components/ListItem/ListItem.js +2 -1
- package/dist/cjs/components/ListItem/ListItem.js.map +1 -1
- package/dist/cjs/components/OutlineItem/OutlineItem.js +6 -2
- package/dist/cjs/components/OutlineItem/OutlineItem.js.map +1 -1
- package/dist/cjs/components/OutlineItem/OutlineItem.module.scss.js +1 -1
- package/dist/cjs/styles.css +1 -1
- package/dist/esm/components/AlphaButton/Button.mjs +1 -1
- package/dist/esm/components/AlphaButton/Button.mjs.map +1 -1
- package/dist/esm/components/AlphaFloatingButton/FloatingButton.mjs +1 -1
- package/dist/esm/components/AlphaFloatingButton/FloatingButton.mjs.map +1 -1
- package/dist/esm/components/AlphaFloatingIconButton/FloatingIconButton.mjs +1 -1
- package/dist/esm/components/AlphaFloatingIconButton/FloatingIconButton.mjs.map +1 -1
- package/dist/esm/components/AlphaIconButton/IconButton.mjs +1 -1
- package/dist/esm/components/AlphaIconButton/IconButton.mjs.map +1 -1
- package/dist/esm/components/ListItem/ListItem.mjs +2 -1
- package/dist/esm/components/ListItem/ListItem.mjs.map +1 -1
- package/dist/esm/components/OutlineItem/OutlineItem.mjs +6 -2
- package/dist/esm/components/OutlineItem/OutlineItem.mjs.map +1 -1
- package/dist/esm/components/OutlineItem/OutlineItem.module.scss.mjs +1 -1
- package/dist/esm/styles.css +1 -1
- package/dist/types/components/ListItem/ListItem.d.ts.map +1 -1
- package/dist/types/components/ListItem/ListItem.types.d.ts +2 -3
- package/dist/types/components/ListItem/ListItem.types.d.ts.map +1 -1
- package/dist/types/components/OutlineItem/OutlineItem.d.ts.map +1 -1
- package/dist/types/components/OutlineItem/OutlineItem.types.d.ts +2 -3
- package/dist/types/components/OutlineItem/OutlineItem.types.d.ts.map +1 -1
- package/dist/types/types/props.d.ts +21 -0
- package/dist/types/types/props.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/components/AlphaButton/Button.tsx +1 -1
- package/src/components/AlphaFloatingButton/FloatingButton.tsx +1 -1
- package/src/components/AlphaFloatingIconButton/FloatingIconButton.module.scss +1 -1
- package/src/components/AlphaFloatingIconButton/FloatingIconButton.tsx +1 -1
- package/src/components/AlphaIconButton/IconButton.module.scss +1 -1
- package/src/components/AlphaIconButton/IconButton.tsx +1 -1
- package/src/components/ListItem/ListItem.tsx +2 -1
- package/src/components/ListItem/ListItem.types.ts +2 -1
- package/src/components/OutlineItem/OutlineItem.module.scss +5 -3
- package/src/components/OutlineItem/OutlineItem.tsx +5 -0
- package/src/components/OutlineItem/OutlineItem.types.ts +2 -1
- package/src/types/props.ts +22 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../../../src/components/AlphaButton/Button.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport {\n type ButtonProps,\n type ButtonSize,\n} from '~/src/components/AlphaButton/Button.types'\nimport { AlphaLoader } from '~/src/components/AlphaLoader'\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Icon, type IconSize } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport styles from './Button.module.scss'\n\nfunction SideContent({\n size,\n content,\n}: {\n size: IconSize\n content?: ButtonProps['prefixContent']\n}) {\n return isBezierIcon(content) ? (\n <Icon\n source={content}\n size={size}\n className={styles.ButtonIcon}\n />\n ) : (\n content\n )\n}\n\nfunction getIconSize(size: ButtonSize) {\n return (\n {\n xs: '
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../../../src/components/AlphaButton/Button.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport {\n type ButtonProps,\n type ButtonSize,\n} from '~/src/components/AlphaButton/Button.types'\nimport { AlphaLoader } from '~/src/components/AlphaLoader'\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Icon, type IconSize } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport styles from './Button.module.scss'\n\nfunction SideContent({\n size,\n content,\n}: {\n size: IconSize\n content?: ButtonProps['prefixContent']\n}) {\n return isBezierIcon(content) ? (\n <Icon\n source={content}\n size={size}\n className={styles.ButtonIcon}\n />\n ) : (\n content\n )\n}\n\nfunction getIconSize(size: ButtonSize) {\n return (\n {\n xs: 'xs',\n s: 'xs',\n m: 's',\n l: 's',\n xl: 'm',\n } as const\n )[size]\n}\n\nfunction getTypography(size: ButtonSize) {\n return (\n {\n xs: '13',\n s: '13',\n m: '14',\n l: '15',\n xl: '18',\n } as const\n )[size]\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(\n {\n as = BaseButton,\n text,\n prefixContent,\n suffixContent,\n color = 'blue',\n variant = 'primary',\n size = 'm',\n active,\n className,\n loading,\n ...rest\n },\n forwardedRef\n ) {\n const Comp = as as typeof BaseButton\n\n return (\n <Comp\n ref={forwardedRef}\n className={classNames(\n styles.Button,\n styles[`size-${size}`],\n styles[`variant-${variant}`],\n styles[`color-${color}`],\n active && styles.active,\n className\n )}\n {...rest}\n >\n <div\n className={classNames(\n styles.ButtonContent,\n loading && styles.loading\n )}\n >\n <SideContent\n size={getIconSize(size)}\n content={prefixContent}\n />\n\n {/* TODO: use AlphaText later, add typo */}\n <Text\n className={styles.ButtonText}\n typo={getTypography(size)}\n bold\n >\n {text}\n </Text>\n\n <SideContent\n size={getIconSize(size)}\n content={suffixContent}\n />\n </div>\n\n {loading && (\n <div\n className={classNames(\n styles.ButtonLoader,\n // NOTE: Loader size is the same as icon size\n styles[`size-${getIconSize(size)}`]\n )}\n >\n <AlphaLoader\n size=\"s\"\n className={styles.Loader}\n variant={variant === 'primary' ? 'on-overlay' : 'secondary'}\n />\n </div>\n )}\n </Comp>\n )\n }\n)\n"],"names":["SideContent","size","content","isBezierIcon","React","createElement","Icon","source","className","styles","ButtonIcon","getIconSize","xs","s","m","l","xl","getTypography","Button","forwardRef","as","BaseButton","text","prefixContent","suffixContent","color","variant","active","loading","rest","forwardedRef","Comp","Object","assign","ref","classNames","ButtonContent","Text","ButtonText","typo","bold","ButtonLoader","AlphaLoader","Loader"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingButton.js","sources":["../../../../src/components/AlphaFloatingButton/FloatingButton.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport {\n type FloatingButtonProps,\n type FloatingButtonSize,\n} from '~/src/components/AlphaFloatingButton/FloatingButton.types'\nimport { AlphaLoader } from '~/src/components/AlphaLoader'\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Icon, type IconSize } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport styles from './FloatingButton.module.scss'\n\nfunction SideContent({\n size,\n content,\n}: {\n size: IconSize\n content?: FloatingButtonProps['prefixContent']\n}) {\n return isBezierIcon(content) ? (\n <Icon\n source={content}\n size={size}\n className={styles.ButtonIcon}\n />\n ) : (\n content\n )\n}\n\nfunction getIconSize(size: FloatingButtonSize) {\n return (\n {\n xs: '
|
|
1
|
+
{"version":3,"file":"FloatingButton.js","sources":["../../../../src/components/AlphaFloatingButton/FloatingButton.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport {\n type FloatingButtonProps,\n type FloatingButtonSize,\n} from '~/src/components/AlphaFloatingButton/FloatingButton.types'\nimport { AlphaLoader } from '~/src/components/AlphaLoader'\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Icon, type IconSize } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport styles from './FloatingButton.module.scss'\n\nfunction SideContent({\n size,\n content,\n}: {\n size: IconSize\n content?: FloatingButtonProps['prefixContent']\n}) {\n return isBezierIcon(content) ? (\n <Icon\n source={content}\n size={size}\n className={styles.ButtonIcon}\n />\n ) : (\n content\n )\n}\n\nfunction getIconSize(size: FloatingButtonSize) {\n return (\n {\n xs: 'xs',\n s: 'xs',\n m: 's',\n l: 's',\n xl: 'm',\n } as const\n )[size]\n}\n\nfunction getTypography(size: FloatingButtonSize) {\n return (\n {\n xs: '13',\n s: '13',\n m: '14',\n l: '15',\n xl: '18',\n } as const\n )[size]\n}\n\nexport const FloatingButton = forwardRef<\n HTMLButtonElement,\n FloatingButtonProps\n>(function Button(\n {\n as = BaseButton,\n text,\n prefixContent,\n suffixContent,\n color = 'blue',\n variant = 'primary',\n size = 'm',\n active,\n className,\n loading,\n ...rest\n },\n forwardedRef\n) {\n const Comp = as as typeof BaseButton\n\n return (\n <Comp\n ref={forwardedRef}\n className={classNames(\n styles.FloatingButton,\n styles[`size-${size}`],\n styles[`variant-${variant}`],\n styles[`color-${color}`],\n active && styles.active,\n className\n )}\n {...rest}\n >\n <div\n className={classNames(styles.ButtonContent, loading && styles.loading)}\n >\n <SideContent\n size={getIconSize(size)}\n content={prefixContent}\n />\n\n {/* TODO: use AlphaText later, add typo */}\n <Text\n className={styles.ButtonText}\n typo={getTypography(size)}\n bold\n >\n {text}\n </Text>\n\n <SideContent\n size={getIconSize(size)}\n content={suffixContent}\n />\n </div>\n\n {loading && (\n <div\n className={classNames(\n styles.ButtonLoader,\n // NOTE: Loader size is the same as icon size\n styles[`size-${getIconSize(size)}`]\n )}\n >\n <AlphaLoader\n size=\"s\"\n className={styles.Loader}\n variant={variant === 'primary' ? 'on-overlay' : 'secondary'}\n />\n </div>\n )}\n </Comp>\n )\n})\n"],"names":["SideContent","size","content","isBezierIcon","React","createElement","Icon","source","className","styles","ButtonIcon","getIconSize","xs","s","m","l","xl","getTypography","FloatingButton","forwardRef","Button","as","BaseButton","text","prefixContent","suffixContent","color","variant","active","loading","rest","forwardedRef","Comp","Object","assign","ref","classNames","ButtonContent","Text","ButtonText","typo","bold","ButtonLoader","AlphaLoader","Loader"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingIconButton.js","sources":["../../../../src/components/AlphaFloatingIconButton/FloatingIconButton.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { type AlphaFloatingIconButtonProps } from '~/src/components/AlphaFloatingIconButton'\nimport { AlphaLoader } from '~/src/components/AlphaLoader'\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { type ButtonSize } from '~/src/components/Button'\nimport { Icon } from '~/src/components/Icon'\n\nimport styles from './FloatingIconButton.module.scss'\n\nfunction getIconSize(size: ButtonSize) {\n return (\n {\n xs: '
|
|
1
|
+
{"version":3,"file":"FloatingIconButton.js","sources":["../../../../src/components/AlphaFloatingIconButton/FloatingIconButton.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { type AlphaFloatingIconButtonProps } from '~/src/components/AlphaFloatingIconButton'\nimport { AlphaLoader } from '~/src/components/AlphaLoader'\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { type ButtonSize } from '~/src/components/Button'\nimport { Icon } from '~/src/components/Icon'\n\nimport styles from './FloatingIconButton.module.scss'\n\nfunction getIconSize(size: ButtonSize) {\n return (\n {\n xs: 'xs',\n s: 'xs',\n m: 's',\n l: 's',\n xl: 'm',\n } as const\n )[size]\n}\n\nexport const FloatingIconButton = forwardRef<\n HTMLButtonElement,\n AlphaFloatingIconButtonProps\n>(function FloatingIconButton(\n {\n as = BaseButton,\n color = 'blue',\n variant = 'primary',\n size = 'm',\n active,\n content,\n loading,\n className,\n ...rest\n },\n forwardedRef\n) {\n const Comp = as as typeof BaseButton\n\n return (\n <Comp\n ref={forwardedRef}\n className={classNames(\n styles.FloatingIconButton,\n styles[`size-${size}`],\n styles[`variant-${variant}`],\n styles[`color-${color}`],\n active && styles.active,\n className\n )}\n {...rest}\n >\n <div\n className={classNames(styles.ButtonContent, loading && styles.loading)}\n >\n {isBezierIcon(content) ? (\n <Icon\n size={getIconSize(size)}\n source={content}\n />\n ) : (\n content\n )}\n </div>\n\n {loading && (\n <div\n className={classNames(\n styles.ButtonLoader,\n // NOTE: Loader size is the same as icon size\n styles[`size-${getIconSize(size)}`]\n )}\n >\n <AlphaLoader\n size=\"s\"\n className={styles.Loader}\n variant={variant === 'primary' ? 'on-overlay' : 'secondary'}\n />\n </div>\n )}\n </Comp>\n )\n})\n"],"names":["getIconSize","size","xs","s","m","l","xl","FloatingIconButton","forwardRef","as","BaseButton","color","variant","active","content","loading","className","rest","forwardedRef","Comp","React","createElement","Object","assign","ref","classNames","styles","ButtonContent","isBezierIcon","Icon","source","ButtonLoader","AlphaLoader","Loader"],"mappings":";;;;;;;;;;AAeA,SAASA,WAAWA,CAACC,IAAgB,EAAE;EACrC,OACE;AACEC,IAAAA,EAAE,EAAE,IAAI;AACRC,IAAAA,CAAC,EAAE,IAAI;AACPC,IAAAA,CAAC,EAAE,GAAG;AACNC,IAAAA,CAAC,EAAE,GAAG;AACNC,IAAAA,EAAE,EAAE,GAAA;GACL,CACDL,IAAI,CAAC,CAAA;AACT,CAAA;MAEaM,kBAAkB,gBAAGC,gBAAU,CAG1C,SAASD,kBAAkBA,CAC3B;AACEE,EAAAA,EAAE,GAAGC,qBAAU;AACfC,EAAAA,KAAK,GAAG,MAAM;AACdC,EAAAA,OAAO,GAAG,SAAS;AACnBX,EAAAA,IAAI,GAAG,GAAG;EACVY,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC,SAAS;EACT,GAAGC,IAAAA;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAMC,IAAI,GAAGV,EAAuB,CAAA;EAEpC,oBACEW,KAAA,CAAAC,aAAA,CAACF,IAAI,EAAAG,MAAA,CAAAC,MAAA,CAAA;AACHC,IAAAA,GAAG,EAAEN,YAAa;AAClBF,IAAAA,SAAS,EAAES,aAAU,CACnBC,iCAAM,CAACnB,kBAAkB,EACzBmB,iCAAM,CAAC,QAAQzB,IAAI,CAAA,CAAE,CAAC,EACtByB,iCAAM,CAAC,CAAA,QAAA,EAAWd,OAAO,CAAA,CAAE,CAAC,EAC5Bc,iCAAM,CAAC,SAASf,KAAK,CAAA,CAAE,CAAC,EACxBE,MAAM,IAAIa,iCAAM,CAACb,MAAM,EACvBG,SACF,CAAA;AAAE,GAAA,EACEC,IAAI,CAAA,eAERG,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACEL,SAAS,EAAES,aAAU,CAACC,iCAAM,CAACC,aAAa,EAAEZ,OAAO,IAAIW,iCAAM,CAACX,OAAO,CAAA;GAEpEa,EAAAA,wBAAY,CAACd,OAAO,CAAC,gBACpBM,KAAA,CAAAC,aAAA,CAACQ,SAAI,EAAA;AACH5B,IAAAA,IAAI,EAAED,WAAW,CAACC,IAAI,CAAE;AACxB6B,IAAAA,MAAM,EAAEhB,OAAAA;GACT,CAAC,GAEFA,OAEC,CAAC,EAELC,OAAO,iBACNK,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEL,IAAAA,SAAS,EAAES,aAAU,CACnBC,iCAAM,CAACK,YAAY;AACnB;AACAL,IAAAA,iCAAM,CAAC,CAAQ1B,KAAAA,EAAAA,WAAW,CAACC,IAAI,CAAC,EAAE,CACpC,CAAA;AAAE,GAAA,eAEFmB,KAAA,CAAAC,aAAA,CAACW,aAAW,EAAA;AACV/B,IAAAA,IAAI,EAAC,GAAG;IACRe,SAAS,EAAEU,iCAAM,CAACO,MAAO;AACzBrB,IAAAA,OAAO,EAAEA,OAAO,KAAK,SAAS,GAAG,YAAY,GAAG,WAAA;GACjD,CACE,CAEH,CAAC,CAAA;AAEX,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.js","sources":["../../../../src/components/AlphaIconButton/IconButton.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { type AlphaIconButtonProps } from '~/src/components/AlphaIconButton'\nimport { AlphaLoader } from '~/src/components/AlphaLoader'\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { type ButtonSize } from '~/src/components/Button'\nimport { Icon } from '~/src/components/Icon'\n\nimport styles from './IconButton.module.scss'\n\nfunction getIconSize(size: ButtonSize) {\n return (\n {\n xs: '
|
|
1
|
+
{"version":3,"file":"IconButton.js","sources":["../../../../src/components/AlphaIconButton/IconButton.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { type AlphaIconButtonProps } from '~/src/components/AlphaIconButton'\nimport { AlphaLoader } from '~/src/components/AlphaLoader'\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { type ButtonSize } from '~/src/components/Button'\nimport { Icon } from '~/src/components/Icon'\n\nimport styles from './IconButton.module.scss'\n\nfunction getIconSize(size: ButtonSize) {\n return (\n {\n xs: 'xs',\n s: 'xs',\n m: 's',\n l: 's',\n xl: 'm',\n } as const\n )[size]\n}\n\nexport const IconButton = forwardRef<HTMLButtonElement, AlphaIconButtonProps>(\n function IconButton(\n {\n as = BaseButton,\n color = 'blue',\n variant = 'primary',\n size = 'm',\n active,\n shape = 'rectangle',\n content,\n loading,\n className,\n ...rest\n },\n forwardedRef\n ) {\n const Comp = as as typeof BaseButton\n\n return (\n <Comp\n ref={forwardedRef}\n className={classNames(\n styles.IconButton,\n styles[`size-${size}`],\n styles[`variant-${variant}`],\n styles[`color-${color}`],\n styles[`shape-${shape}`],\n active && styles.active,\n className\n )}\n {...rest}\n >\n <div\n className={classNames(\n styles.ButtonContent,\n loading && styles.loading\n )}\n >\n {isBezierIcon(content) ? (\n <Icon\n size={getIconSize(size)}\n source={content}\n className={styles.ButtonIcon}\n />\n ) : (\n content\n )}\n </div>\n\n {loading && (\n <div\n className={classNames(\n styles.ButtonLoader,\n // NOTE: Loader size is the same as icon size\n styles[`size-${getIconSize(size)}`]\n )}\n >\n <AlphaLoader\n size=\"s\"\n className={styles.Loader}\n variant={variant === 'primary' ? 'on-overlay' : 'secondary'}\n />\n </div>\n )}\n </Comp>\n )\n }\n)\n"],"names":["getIconSize","size","xs","s","m","l","xl","IconButton","forwardRef","as","BaseButton","color","variant","active","shape","content","loading","className","rest","forwardedRef","Comp","React","createElement","Object","assign","ref","classNames","styles","ButtonContent","isBezierIcon","Icon","source","ButtonIcon","ButtonLoader","AlphaLoader","Loader"],"mappings":";;;;;;;;;;AAeA,SAASA,WAAWA,CAACC,IAAgB,EAAE;EACrC,OACE;AACEC,IAAAA,EAAE,EAAE,IAAI;AACRC,IAAAA,CAAC,EAAE,IAAI;AACPC,IAAAA,CAAC,EAAE,GAAG;AACNC,IAAAA,CAAC,EAAE,GAAG;AACNC,IAAAA,EAAE,EAAE,GAAA;GACL,CACDL,IAAI,CAAC,CAAA;AACT,CAAA;MAEaM,UAAU,gBAAGC,gBAAU,CAClC,SAASD,UAAUA,CACjB;AACEE,EAAAA,EAAE,GAAGC,qBAAU;AACfC,EAAAA,KAAK,GAAG,MAAM;AACdC,EAAAA,OAAO,GAAG,SAAS;AACnBX,EAAAA,IAAI,GAAG,GAAG;EACVY,MAAM;AACNC,EAAAA,KAAK,GAAG,WAAW;EACnBC,OAAO;EACPC,OAAO;EACPC,SAAS;EACT,GAAGC,IAAAA;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAMC,IAAI,GAAGX,EAAuB,CAAA;EAEpC,oBACEY,KAAA,CAAAC,aAAA,CAACF,IAAI,EAAAG,MAAA,CAAAC,MAAA,CAAA;AACHC,IAAAA,GAAG,EAAEN,YAAa;AAClBF,IAAAA,SAAS,EAAES,aAAU,CACnBC,yBAAM,CAACpB,UAAU,EACjBoB,yBAAM,CAAC,CAAQ1B,KAAAA,EAAAA,IAAI,EAAE,CAAC,EACtB0B,yBAAM,CAAC,CAAA,QAAA,EAAWf,OAAO,CAAE,CAAA,CAAC,EAC5Be,yBAAM,CAAC,CAAShB,MAAAA,EAAAA,KAAK,EAAE,CAAC,EACxBgB,yBAAM,CAAC,CAAA,MAAA,EAASb,KAAK,CAAE,CAAA,CAAC,EACxBD,MAAM,IAAIc,yBAAM,CAACd,MAAM,EACvBI,SACF,CAAA;AAAE,GAAA,EACEC,IAAI,CAAA,eAERG,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACEL,SAAS,EAAES,aAAU,CACnBC,yBAAM,CAACC,aAAa,EACpBZ,OAAO,IAAIW,yBAAM,CAACX,OACpB,CAAA;GAECa,EAAAA,wBAAY,CAACd,OAAO,CAAC,gBACpBM,KAAA,CAAAC,aAAA,CAACQ,SAAI,EAAA;AACH7B,IAAAA,IAAI,EAAED,WAAW,CAACC,IAAI,CAAE;AACxB8B,IAAAA,MAAM,EAAEhB,OAAQ;IAChBE,SAAS,EAAEU,yBAAM,CAACK,UAAAA;GACnB,CAAC,GAEFjB,OAEC,CAAC,EAELC,OAAO,iBACNK,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEL,IAAAA,SAAS,EAAES,aAAU,CACnBC,yBAAM,CAACM,YAAY;AACnB;AACAN,IAAAA,yBAAM,CAAC,CAAQ3B,KAAAA,EAAAA,WAAW,CAACC,IAAI,CAAC,EAAE,CACpC,CAAA;AAAE,GAAA,eAEFoB,KAAA,CAAAC,aAAA,CAACY,aAAW,EAAA;AACVjC,IAAAA,IAAI,EAAC,GAAG;IACRgB,SAAS,EAAEU,yBAAM,CAACQ,MAAO;AACzBvB,IAAAA,OAAO,EAAEA,OAAO,KAAK,SAAS,GAAG,YAAY,GAAG,WAAA;GACjD,CACE,CAEH,CAAC,CAAA;AAEX,CACF;;;;"}
|
|
@@ -30,13 +30,14 @@ const ListItem = /*#__PURE__*/React.forwardRef(function ListItem({
|
|
|
30
30
|
active = false,
|
|
31
31
|
focused = false,
|
|
32
32
|
disabled = false,
|
|
33
|
+
clickable: clickableProp = false,
|
|
33
34
|
href,
|
|
34
35
|
onClick,
|
|
35
36
|
...rest
|
|
36
37
|
}, forwardedRef) {
|
|
37
|
-
const clickable = !type.isNil(onClick);
|
|
38
38
|
const isLink = !type.isEmpty(href);
|
|
39
39
|
const Comp = isLink ? 'a' : as !== null && as !== void 0 ? as : 'div';
|
|
40
|
+
const clickable = isLink || clickableProp || !type.isNil(onClick);
|
|
40
41
|
return /*#__PURE__*/React.createElement(Comp, Object.assign({}, isLink && {
|
|
41
42
|
href,
|
|
42
43
|
draggable: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.js","sources":["../../../../src/components/ListItem/ListItem.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { isEmpty, isNil, isString } from '~/src/utils/type'\n\nimport { Icon } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport { type ListItemProps } from './ListItem.types'\n\nimport styles from './ListItem.module.scss'\n\ntype ListItemRef = HTMLDivElement & HTMLAnchorElement\n\nfunction renderNewLineComponent(value: string) {\n return value.split('\\n').map((str, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <React.Fragment key={index}>\n {index !== 0 && <br />}\n {str}\n </React.Fragment>\n ))\n}\n\nexport const LIST_ITEM_TEST_ID = 'bezier-list-item'\n\nexport const ListItem = forwardRef<ListItemRef, ListItemProps>(\n function ListItem(\n {\n className,\n as,\n variant = 'monochrome',\n size = 's',\n content,\n description,\n descriptionMaxLines,\n leftContent,\n rightContent,\n active = false,\n focused = false,\n disabled = false,\n href,\n onClick,\n ...rest\n },\n forwardedRef\n ) {\n const
|
|
1
|
+
{"version":3,"file":"ListItem.js","sources":["../../../../src/components/ListItem/ListItem.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef } from 'react'\n\nimport { isBezierIcon } from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { isEmpty, isNil, isString } from '~/src/utils/type'\n\nimport { Icon } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport { type ListItemProps } from './ListItem.types'\n\nimport styles from './ListItem.module.scss'\n\ntype ListItemRef = HTMLDivElement & HTMLAnchorElement\n\nfunction renderNewLineComponent(value: string) {\n return value.split('\\n').map((str, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <React.Fragment key={index}>\n {index !== 0 && <br />}\n {str}\n </React.Fragment>\n ))\n}\n\nexport const LIST_ITEM_TEST_ID = 'bezier-list-item'\n\nexport const ListItem = forwardRef<ListItemRef, ListItemProps>(\n function ListItem(\n {\n className,\n as,\n variant = 'monochrome',\n size = 's',\n content,\n description,\n descriptionMaxLines,\n leftContent,\n rightContent,\n active = false,\n focused = false,\n disabled = false,\n clickable: clickableProp = false,\n href,\n onClick,\n ...rest\n },\n forwardedRef\n ) {\n const isLink = !isEmpty(href)\n const Comp = isLink ? 'a' : ((as ?? 'div') as 'div')\n const clickable = isLink || clickableProp || !isNil(onClick)\n\n return (\n <Comp\n {...(isLink && {\n href,\n draggable: false,\n target: '_blank',\n rel: 'noopener noreferrer',\n })}\n className={classNames(\n styles.ListItem,\n styles[`size-${size}`],\n styles[`variant-${variant}`],\n disabled && styles.disabled,\n focused && styles.focused,\n active && styles.active,\n clickable && styles.clickable,\n className\n )}\n ref={forwardedRef}\n onClick={!disabled ? onClick : undefined}\n data-testid={LIST_ITEM_TEST_ID}\n {...rest}\n >\n <div className={styles.ListItemContent}>\n {!isNil(leftContent) && (\n <div className={styles.ListItemLeftContent}>\n {isBezierIcon(leftContent) ? (\n <Icon\n className={styles.ListItemLeftIcon}\n source={leftContent}\n size=\"s\"\n />\n ) : (\n leftContent\n )}\n </div>\n )}\n\n <div className={styles.ListItemTitle}>\n {isString(content) ? (\n <Text\n truncated\n typo={size === 'l' ? '16' : '14'}\n >\n {content}\n </Text>\n ) : (\n content\n )}\n </div>\n\n {description && (\n <div className={styles.ListItemDescription}>\n <Text\n typo=\"12\"\n color=\"txt-black-darker\"\n truncated={descriptionMaxLines}\n >\n {isString(description)\n ? renderNewLineComponent(description)\n : description}\n </Text>\n </div>\n )}\n </div>\n\n {rightContent && (\n <div className={styles.ListItemRightContent}>{rightContent}</div>\n )}\n </Comp>\n )\n }\n)\n"],"names":["renderNewLineComponent","value","split","map","str","index","React","createElement","Fragment","key","LIST_ITEM_TEST_ID","ListItem","forwardRef","className","as","variant","size","content","description","descriptionMaxLines","leftContent","rightContent","active","focused","disabled","clickable","clickableProp","href","onClick","rest","forwardedRef","isLink","isEmpty","Comp","isNil","Object","assign","draggable","target","rel","classNames","styles","ref","undefined","ListItemContent","ListItemLeftContent","isBezierIcon","Icon","ListItemLeftIcon","source","ListItemTitle","isString","Text","truncated","typo","ListItemDescription","color","ListItemRightContent"],"mappings":";;;;;;;;;;AAkBA,SAASA,sBAAsBA,CAACC,KAAa,EAAE;AAC7C,EAAA,OAAOA,KAAK,CAACC,KAAK,CAAC,IAAI,CAAC,CAACC,GAAG,CAAC,CAACC,GAAG,EAAEC,KAAK;AAAA;AACtC;AACAC,EAAAA,KAAA,CAAAC,aAAA,CAACD,KAAK,CAACE,QAAQ,EAAA;AAACC,IAAAA,GAAG,EAAEJ,KAAAA;AAAM,GAAA,EACxBA,KAAK,KAAK,CAAC,iBAAIC,KAAA,CAAAC,aAAA,CAAA,IAAA,EAAA,IAAK,CAAC,EACrBH,GACa,CACjB,CAAC,CAAA;AACJ,CAAA;AAEO,MAAMM,iBAAiB,GAAG,mBAAkB;MAEtCC,QAAQ,gBAAGC,gBAAU,CAChC,SAASD,QAAQA,CACf;EACEE,SAAS;EACTC,EAAE;AACFC,EAAAA,OAAO,GAAG,YAAY;AACtBC,EAAAA,IAAI,GAAG,GAAG;EACVC,OAAO;EACPC,WAAW;EACXC,mBAAmB;EACnBC,WAAW;EACXC,YAAY;AACZC,EAAAA,MAAM,GAAG,KAAK;AACdC,EAAAA,OAAO,GAAG,KAAK;AACfC,EAAAA,QAAQ,GAAG,KAAK;EAChBC,SAAS,EAAEC,aAAa,GAAG,KAAK;EAChCC,IAAI;EACJC,OAAO;EACP,GAAGC,IAAAA;AACL,CAAC,EACDC,YAAY,EACZ;AACA,EAAA,MAAMC,MAAM,GAAG,CAACC,YAAO,CAACL,IAAI,CAAC,CAAA;AAC7B,EAAA,MAAMM,IAAI,GAAGF,MAAM,GAAG,GAAG,GAAKjB,EAAE,KAAA,IAAA,IAAFA,EAAE,KAAA,KAAA,CAAA,GAAFA,EAAE,GAAI,KAAgB,CAAA;EACpD,MAAMW,SAAS,GAAGM,MAAM,IAAIL,aAAa,IAAI,CAACQ,UAAK,CAACN,OAAO,CAAC,CAAA;EAE5D,oBACEtB,KAAA,CAAAC,aAAA,CAAC0B,IAAI,EAAAE,MAAA,CAAAC,MAAA,CACEL,EAAAA,EAAAA,MAAM,IAAI;IACbJ,IAAI;AACJU,IAAAA,SAAS,EAAE,KAAK;AAChBC,IAAAA,MAAM,EAAE,QAAQ;AAChBC,IAAAA,GAAG,EAAE,qBAAA;GACN,EAAA;IACD1B,SAAS,EAAE2B,aAAU,CACnBC,uBAAM,CAAC9B,QAAQ,EACf8B,uBAAM,CAAC,CAAA,KAAA,EAAQzB,IAAI,CAAE,CAAA,CAAC,EACtByB,uBAAM,CAAC,WAAW1B,OAAO,CAAA,CAAE,CAAC,EAC5BS,QAAQ,IAAIiB,uBAAM,CAACjB,QAAQ,EAC3BD,OAAO,IAAIkB,uBAAM,CAAClB,OAAO,EACzBD,MAAM,IAAImB,uBAAM,CAACnB,MAAM,EACvBG,SAAS,IAAIgB,uBAAM,CAAChB,SAAS,EAC7BZ,SACF,CAAE;AACF6B,IAAAA,GAAG,EAAEZ,YAAa;AAClBF,IAAAA,OAAO,EAAE,CAACJ,QAAQ,GAAGI,OAAO,GAAGe,SAAU;IACzC,aAAajC,EAAAA,iBAAAA;AAAkB,GAAA,EAC3BmB,IAAI,CAAA,eAERvB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKM,SAAS,EAAE4B,uBAAM,CAACG,eAAAA;GACpB,EAAA,CAACV,UAAK,CAACd,WAAW,CAAC,iBAClBd,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKM,SAAS,EAAE4B,uBAAM,CAACI,mBAAAA;GACpBC,EAAAA,wBAAY,CAAC1B,WAAW,CAAC,gBACxBd,KAAA,CAAAC,aAAA,CAACwC,SAAI,EAAA;IACHlC,SAAS,EAAE4B,uBAAM,CAACO,gBAAiB;AACnCC,IAAAA,MAAM,EAAE7B,WAAY;AACpBJ,IAAAA,IAAI,EAAC,GAAA;AAAG,GACT,CAAC,GAEFI,WAEC,CACN,eAEDd,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKM,SAAS,EAAE4B,uBAAM,CAACS,aAAAA;GACpBC,EAAAA,aAAQ,CAAClC,OAAO,CAAC,gBAChBX,KAAA,CAAAC,aAAA,CAAC6C,SAAI,EAAA;IACHC,SAAS,EAAA,IAAA;AACTC,IAAAA,IAAI,EAAEtC,IAAI,KAAK,GAAG,GAAG,IAAI,GAAG,IAAA;GAE3BC,EAAAA,OACG,CAAC,GAEPA,OAEC,CAAC,EAELC,WAAW,iBACVZ,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKM,SAAS,EAAE4B,uBAAM,CAACc,mBAAAA;AAAoB,GAAA,eACzCjD,KAAA,CAAAC,aAAA,CAAC6C,SAAI,EAAA;AACHE,IAAAA,IAAI,EAAC,IAAI;AACTE,IAAAA,KAAK,EAAC,kBAAkB;AACxBH,IAAAA,SAAS,EAAElC,mBAAAA;AAAoB,GAAA,EAE9BgC,aAAQ,CAACjC,WAAW,CAAC,GAClBlB,sBAAsB,CAACkB,WAAW,CAAC,GACnCA,WACA,CACH,CAEJ,CAAC,EAELG,YAAY,iBACXf,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAKM,SAAS,EAAE4B,uBAAM,CAACgB,oBAAAA;GAAuBpC,EAAAA,YAAkB,CAE9D,CAAC,CAAA;AAEX,CACF;;;;;"}
|
|
@@ -21,10 +21,12 @@ const OutlineItem = /*#__PURE__*/React.forwardRef(function OutlineItem({
|
|
|
21
21
|
disableChevron = false,
|
|
22
22
|
active = false,
|
|
23
23
|
focused = false,
|
|
24
|
+
clickable: clickableProp = false,
|
|
24
25
|
leftContent,
|
|
25
26
|
content,
|
|
26
27
|
rightContent,
|
|
27
28
|
href,
|
|
29
|
+
onClick,
|
|
28
30
|
...rest
|
|
29
31
|
}, forwardedRef) {
|
|
30
32
|
const context = useOutlineItemContext();
|
|
@@ -32,6 +34,7 @@ const OutlineItem = /*#__PURE__*/React.forwardRef(function OutlineItem({
|
|
|
32
34
|
const indent = isRoot ? 0 : context.indent + DEFAULT_INDENT;
|
|
33
35
|
const isLink = !type.isEmpty(href);
|
|
34
36
|
const Comp = isLink ? 'a' : as !== null && as !== void 0 ? as : 'div';
|
|
37
|
+
const clickable = isLink || clickableProp || !type.isNil(onClick);
|
|
35
38
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Comp, Object.assign({}, isLink && {
|
|
36
39
|
href,
|
|
37
40
|
target: '_blank',
|
|
@@ -41,9 +44,10 @@ const OutlineItem = /*#__PURE__*/React.forwardRef(function OutlineItem({
|
|
|
41
44
|
...style,
|
|
42
45
|
'--b-outline-item-indent': `${indent}px`
|
|
43
46
|
},
|
|
44
|
-
className: index.default(OutlineItem_module.default.OutlineItem, active && OutlineItem_module.default.active, focused && OutlineItem_module.default.focused, className),
|
|
47
|
+
className: index.default(OutlineItem_module.default.OutlineItem, active && OutlineItem_module.default.active, focused && OutlineItem_module.default.focused, clickable && OutlineItem_module.default.clickable, className),
|
|
45
48
|
ref: forwardedRef,
|
|
46
|
-
"data-testid": OUTLINE_ITEM_TEST_ID
|
|
49
|
+
"data-testid": OUTLINE_ITEM_TEST_ID,
|
|
50
|
+
onClick: onClick
|
|
47
51
|
}, rest), !disableChevron && /*#__PURE__*/React.createElement("div", {
|
|
48
52
|
className: OutlineItem_module.default.Chevron
|
|
49
53
|
}, !type.isNil(children) && /*#__PURE__*/React.createElement(Icon.Icon, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutlineItem.js","sources":["../../../../src/components/OutlineItem/OutlineItem.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, useMemo } from 'react'\n\nimport {\n ChevronSmallDownIcon,\n ChevronSmallRightIcon,\n isBezierIcon,\n} from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { createContext } from '~/src/utils/react'\nimport { isEmpty, isNil } from '~/src/utils/type'\n\nimport { Icon } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport {\n type OutlineItemContextProps,\n type OutlineItemProps,\n} from './OutlineItem.types'\n\nimport styles from './OutlineItem.module.scss'\n\nconst [OutlineItemContextProvider, useOutlineItemContext] = createContext<\n OutlineItemContextProps | undefined\n>(undefined)\n\nconst DEFAULT_INDENT = 16\n\nexport const OUTLINE_ITEM_TEST_ID = 'bezier-outline-item'\n\nexport const OutlineItem = forwardRef<\n HTMLDivElement & HTMLAnchorElement,\n OutlineItemProps\n>(function OutlineItem(\n {\n children,\n style,\n className,\n as,\n open = false,\n disableChevron = false,\n active = false,\n focused = false,\n leftContent,\n content,\n rightContent,\n href,\n ...rest\n },\n forwardedRef\n) {\n const context = useOutlineItemContext()\n const isRoot = isNil(context)\n const indent = isRoot ? 0 : context.indent + DEFAULT_INDENT\n\n const isLink = !isEmpty(href)\n const Comp = isLink ? 'a' : ((as ?? 'div') as 'div')\n\n return (\n <>\n <Comp\n {...(isLink && {\n href,\n target: '_blank',\n rel: 'noopener noreferrer',\n })}\n style={\n {\n ...style,\n '--b-outline-item-indent': `${indent}px`,\n } as React.CSSProperties\n }\n className={classNames(\n styles.OutlineItem,\n active && styles.active,\n focused && styles.focused,\n className\n )}\n ref={forwardedRef}\n data-testid={OUTLINE_ITEM_TEST_ID}\n {...rest}\n >\n {!disableChevron && (\n <div className={styles.Chevron}>\n {!isNil(children) && (\n <Icon\n className={styles.Icon}\n source={open ? ChevronSmallDownIcon : ChevronSmallRightIcon}\n size=\"s\"\n color=\"txt-black-dark\"\n />\n )}\n </div>\n )}\n\n {leftContent && (\n <div className={styles.LeftContent}>\n {isBezierIcon(leftContent) ? (\n <Icon\n className={styles.Icon}\n size=\"s\"\n source={leftContent}\n color=\"txt-black-dark\"\n />\n ) : (\n leftContent\n )}\n </div>\n )}\n\n <Text\n className={styles.Content}\n typo=\"14\"\n truncated\n >\n {content}\n </Text>\n\n {rightContent}\n </Comp>\n\n <OutlineItemContextProvider value={useMemo(() => ({ indent }), [indent])}>\n {open && children}\n </OutlineItemContextProvider>\n </>\n )\n})\n"],"names":["OutlineItemContextProvider","useOutlineItemContext","createContext","undefined","DEFAULT_INDENT","OUTLINE_ITEM_TEST_ID","OutlineItem","forwardRef","children","style","className","as","open","disableChevron","active","focused","leftContent","content","rightContent","href","rest","forwardedRef","context","isRoot","isNil","indent","isLink","isEmpty","Comp","React","createElement","Fragment","Object","assign","target","rel","classNames","styles","ref","Chevron","Icon","source","ChevronSmallDownIcon","ChevronSmallRightIcon","size","color","LeftContent","isBezierIcon","Text","Content","typo","truncated","value","useMemo"],"mappings":";;;;;;;;;;;AAwBA,MAAM,CAACA,0BAA0B,EAAEC,qBAAqB,CAAC,GAAGC,mBAAa,CAEvEC,SAAS,CAAC,CAAA;AAEZ,MAAMC,cAAc,GAAG,EAAE,CAAA;AAElB,MAAMC,oBAAoB,GAAG,sBAAqB;MAE5CC,WAAW,gBAAGC,gBAAU,CAGnC,SAASD,WAAWA,CACpB;EACEE,QAAQ;EACRC,KAAK;EACLC,SAAS;EACTC,EAAE;AACFC,EAAAA,IAAI,GAAG,KAAK;AACZC,EAAAA,cAAc,GAAG,KAAK;AACtBC,EAAAA,MAAM,GAAG,KAAK;AACdC,EAAAA,OAAO,GAAG,KAAK;EACfC,WAAW;EACXC,OAAO;EACPC,YAAY;EACZC,IAAI;
|
|
1
|
+
{"version":3,"file":"OutlineItem.js","sources":["../../../../src/components/OutlineItem/OutlineItem.tsx"],"sourcesContent":["'use client'\n\nimport React, { forwardRef, useMemo } from 'react'\n\nimport {\n ChevronSmallDownIcon,\n ChevronSmallRightIcon,\n isBezierIcon,\n} from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { createContext } from '~/src/utils/react'\nimport { isEmpty, isNil } from '~/src/utils/type'\n\nimport { Icon } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\nimport {\n type OutlineItemContextProps,\n type OutlineItemProps,\n} from './OutlineItem.types'\n\nimport styles from './OutlineItem.module.scss'\n\nconst [OutlineItemContextProvider, useOutlineItemContext] = createContext<\n OutlineItemContextProps | undefined\n>(undefined)\n\nconst DEFAULT_INDENT = 16\n\nexport const OUTLINE_ITEM_TEST_ID = 'bezier-outline-item'\n\nexport const OutlineItem = forwardRef<\n HTMLDivElement & HTMLAnchorElement,\n OutlineItemProps\n>(function OutlineItem(\n {\n children,\n style,\n className,\n as,\n open = false,\n disableChevron = false,\n active = false,\n focused = false,\n clickable: clickableProp = false,\n leftContent,\n content,\n rightContent,\n href,\n onClick,\n ...rest\n },\n forwardedRef\n) {\n const context = useOutlineItemContext()\n const isRoot = isNil(context)\n const indent = isRoot ? 0 : context.indent + DEFAULT_INDENT\n\n const isLink = !isEmpty(href)\n const Comp = isLink ? 'a' : ((as ?? 'div') as 'div')\n const clickable = isLink || clickableProp || !isNil(onClick)\n\n return (\n <>\n <Comp\n {...(isLink && {\n href,\n target: '_blank',\n rel: 'noopener noreferrer',\n })}\n style={\n {\n ...style,\n '--b-outline-item-indent': `${indent}px`,\n } as React.CSSProperties\n }\n className={classNames(\n styles.OutlineItem,\n active && styles.active,\n focused && styles.focused,\n clickable && styles.clickable,\n className\n )}\n ref={forwardedRef}\n data-testid={OUTLINE_ITEM_TEST_ID}\n onClick={onClick}\n {...rest}\n >\n {!disableChevron && (\n <div className={styles.Chevron}>\n {!isNil(children) && (\n <Icon\n className={styles.Icon}\n source={open ? ChevronSmallDownIcon : ChevronSmallRightIcon}\n size=\"s\"\n color=\"txt-black-dark\"\n />\n )}\n </div>\n )}\n\n {leftContent && (\n <div className={styles.LeftContent}>\n {isBezierIcon(leftContent) ? (\n <Icon\n className={styles.Icon}\n size=\"s\"\n source={leftContent}\n color=\"txt-black-dark\"\n />\n ) : (\n leftContent\n )}\n </div>\n )}\n\n <Text\n className={styles.Content}\n typo=\"14\"\n truncated\n >\n {content}\n </Text>\n\n {rightContent}\n </Comp>\n\n <OutlineItemContextProvider value={useMemo(() => ({ indent }), [indent])}>\n {open && children}\n </OutlineItemContextProvider>\n </>\n )\n})\n"],"names":["OutlineItemContextProvider","useOutlineItemContext","createContext","undefined","DEFAULT_INDENT","OUTLINE_ITEM_TEST_ID","OutlineItem","forwardRef","children","style","className","as","open","disableChevron","active","focused","clickable","clickableProp","leftContent","content","rightContent","href","onClick","rest","forwardedRef","context","isRoot","isNil","indent","isLink","isEmpty","Comp","React","createElement","Fragment","Object","assign","target","rel","classNames","styles","ref","Chevron","Icon","source","ChevronSmallDownIcon","ChevronSmallRightIcon","size","color","LeftContent","isBezierIcon","Text","Content","typo","truncated","value","useMemo"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var styles = {"OutlineItem":"b-7mfMF","active":"b-iHGhq","Icon":"b-Q9M64","focused":"b-AwnNB","Chevron":"b-EPVDz","LeftContent":"b-nM-L1","Content":"b-5NJ15"};
|
|
5
|
+
var styles = {"OutlineItem":"b-7mfMF","clickable":"b-4Bduz","active":"b-iHGhq","Icon":"b-Q9M64","focused":"b-AwnNB","Chevron":"b-EPVDz","LeftContent":"b-nM-L1","Content":"b-5NJ15"};
|
|
6
6
|
|
|
7
7
|
exports.default = styles;
|
|
8
8
|
//# sourceMappingURL=OutlineItem.module.scss.js.map
|