@bitrise/bitkit-v2 0.3.194 → 0.3.196

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.
Files changed (38) hide show
  1. package/dist/components/BitkitDialog/BitkitDialog.d.ts +2 -1
  2. package/dist/components/BitkitDialog/BitkitDialog.js +22 -17
  3. package/dist/components/BitkitDialog/BitkitDialog.js.map +1 -1
  4. package/dist/components/BitkitDialog/BitkitDialogBody.js +3 -3
  5. package/dist/components/BitkitDialog/BitkitDialogBody.js.map +1 -1
  6. package/dist/components/BitkitDialog/BitkitDialogContent.d.ts +2 -1
  7. package/dist/components/BitkitDialog/BitkitDialogContent.js +6 -5
  8. package/dist/components/BitkitDialog/BitkitDialogContent.js.map +1 -1
  9. package/dist/components/BitkitDialog/BitkitDialogRoot.d.ts +3 -1
  10. package/dist/components/BitkitDialog/BitkitDialogRoot.js.map +1 -1
  11. package/dist/components/BitkitLinkButton/BitkitLinkButton.d.ts +1 -1
  12. package/dist/components/BitkitLinkButton/BitkitLinkButton.js +2 -2
  13. package/dist/components/BitkitLinkButton/BitkitLinkButton.js.map +1 -1
  14. package/dist/components/BitkitOverflowContent/BitkitOverflowContent.d.ts +9 -0
  15. package/dist/components/BitkitOverflowContent/BitkitOverflowContent.js +40 -0
  16. package/dist/components/BitkitOverflowContent/BitkitOverflowContent.js.map +1 -0
  17. package/dist/components/BitkitPageFooter/BitkitPageFooter.d.ts +26 -0
  18. package/dist/components/BitkitPageFooter/BitkitPageFooter.js +90 -0
  19. package/dist/components/BitkitPageFooter/BitkitPageFooter.js.map +1 -0
  20. package/dist/components/index.d.ts +2 -0
  21. package/dist/main.js +3 -1
  22. package/dist/theme/slot-recipes/Dialog.recipe.d.ts +47 -1
  23. package/dist/theme/slot-recipes/Dialog.recipe.js +36 -2
  24. package/dist/theme/slot-recipes/Dialog.recipe.js.map +1 -1
  25. package/dist/theme/slot-recipes/OverflowContent.recipe.d.ts +2 -0
  26. package/dist/theme/slot-recipes/OverflowContent.recipe.js +42 -0
  27. package/dist/theme/slot-recipes/OverflowContent.recipe.js.map +1 -0
  28. package/dist/theme/slot-recipes/PageFooter.recipe.d.ts +96 -0
  29. package/dist/theme/slot-recipes/PageFooter.recipe.js +191 -0
  30. package/dist/theme/slot-recipes/PageFooter.recipe.js.map +1 -0
  31. package/dist/theme/slot-recipes/index.d.ts +143 -1
  32. package/dist/theme/slot-recipes/index.js +4 -0
  33. package/dist/theme/slot-recipes/index.js.map +1 -1
  34. package/dist/theme/tokens/index.d.ts +3 -0
  35. package/dist/theme/tokens/radii.d.ts +3 -0
  36. package/dist/theme/tokens/radii.js +2 -1
  37. package/dist/theme/tokens/radii.js.map +1 -1
  38. package/package.json +1 -1
@@ -13,10 +13,11 @@ export interface BitkitDialogProps {
13
13
  size?: 'sm' | 'md' | 'lg';
14
14
  title: ReactNode;
15
15
  trigger?: ReactNode;
16
+ variant?: 'overflowContent';
16
17
  children?: ReactNode;
17
18
  }
18
19
  declare const BitkitDialog: {
19
- ({ headerLabel, maxHeight, onOpenChange, open, title, trigger, children, preventScroll, scrollBehavior, showScrollGradient, size, }: BitkitDialogProps): import("react/jsx-runtime").JSX.Element;
20
+ ({ headerLabel, maxHeight, onOpenChange, open, title, trigger, children, preventScroll, scrollBehavior: scrollBehaviorProp, showScrollGradient, size, variant, }: BitkitDialogProps): import("react/jsx-runtime").JSX.Element;
20
21
  displayName: string;
21
22
  };
22
23
  export declare const BitkitDialogActionTrigger: import('react').ForwardRefExoticComponent<Dialog.ActionTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
@@ -4,24 +4,29 @@ import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { Portal } from "@chakra-ui/react/portal";
5
5
  import { Dialog } from "@chakra-ui/react/dialog";
6
6
  //#region lib/components/BitkitDialog/BitkitDialog.tsx
7
- var BitkitDialog = ({ headerLabel, maxHeight, onOpenChange, open, title, trigger, children, preventScroll, scrollBehavior, showScrollGradient, size }) => /* @__PURE__ */ jsxs(BitkitDialogRoot, {
8
- open,
9
- preventScroll,
10
- scrollBehavior,
11
- size,
12
- onOpenChange,
13
- children: [trigger && /* @__PURE__ */ jsx(Dialog.Trigger, {
14
- asChild: true,
15
- children: trigger
16
- }), /* @__PURE__ */ jsxs(Portal, { children: [/* @__PURE__ */ jsx(Dialog.Backdrop, {}), /* @__PURE__ */ jsx(Dialog.Positioner, { children: /* @__PURE__ */ jsx(BitkitDialogContent, {
17
- headerLabel,
18
- maxHeight,
7
+ var BitkitDialog = ({ headerLabel, maxHeight, onOpenChange, open, title, trigger, children, preventScroll, scrollBehavior: scrollBehaviorProp, showScrollGradient, size, variant }) => {
8
+ const scrollBehavior = variant === "overflowContent" ? "inside" : scrollBehaviorProp;
9
+ return /* @__PURE__ */ jsxs(BitkitDialogRoot, {
10
+ open,
11
+ preventScroll,
19
12
  scrollBehavior,
20
- showScrollGradient,
21
- title,
22
- children
23
- }) })] })]
24
- });
13
+ size,
14
+ variant,
15
+ onOpenChange,
16
+ children: [trigger && /* @__PURE__ */ jsx(Dialog.Trigger, {
17
+ asChild: true,
18
+ children: trigger
19
+ }), /* @__PURE__ */ jsxs(Portal, { children: [/* @__PURE__ */ jsx(Dialog.Backdrop, {}), /* @__PURE__ */ jsx(Dialog.Positioner, { children: /* @__PURE__ */ jsx(BitkitDialogContent, {
20
+ headerLabel,
21
+ maxHeight,
22
+ scrollBehavior,
23
+ showScrollGradient,
24
+ title,
25
+ variant,
26
+ children
27
+ }) })] })]
28
+ });
29
+ };
25
30
  Dialog.ActionTrigger;
26
31
  Dialog.Footer;
27
32
  BitkitDialog.displayName = "BitkitDialog";
@@ -1 +1 @@
1
- {"version":3,"file":"BitkitDialog.js","names":[],"sources":["../../../lib/components/BitkitDialog/BitkitDialog.tsx"],"sourcesContent":["import { Dialog } from '@chakra-ui/react/dialog';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { type ReactNode } from 'react';\n\nimport BitkitDialogContent from './BitkitDialogContent';\nimport BitkitDialogRoot from './BitkitDialogRoot';\n\nexport interface BitkitDialogProps {\n headerLabel?: string;\n maxHeight?: string;\n onOpenChange?: (details: { open: boolean }) => void;\n open?: boolean;\n preventScroll?: boolean;\n scrollBehavior?: 'inside' | 'outside';\n showScrollGradient?: boolean;\n size?: 'sm' | 'md' | 'lg';\n title: ReactNode;\n trigger?: ReactNode;\n children?: ReactNode;\n}\n\nconst BitkitDialog = ({\n headerLabel,\n maxHeight,\n onOpenChange,\n open,\n title,\n trigger,\n children,\n preventScroll,\n scrollBehavior,\n showScrollGradient,\n size,\n}: BitkitDialogProps) => (\n <BitkitDialogRoot\n open={open}\n preventScroll={preventScroll}\n scrollBehavior={scrollBehavior}\n size={size}\n onOpenChange={onOpenChange}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal>\n <Dialog.Backdrop />\n <Dialog.Positioner>\n <BitkitDialogContent\n headerLabel={headerLabel}\n maxHeight={maxHeight}\n scrollBehavior={scrollBehavior}\n showScrollGradient={showScrollGradient}\n title={title}\n >\n {children}\n </BitkitDialogContent>\n </Dialog.Positioner>\n </Portal>\n </BitkitDialogRoot>\n);\n\nexport const BitkitDialogActionTrigger = Dialog.ActionTrigger;\nexport const BitkitDialogFooter = Dialog.Footer;\n\nBitkitDialog.displayName = 'BitkitDialog';\n\nexport default BitkitDialog;\n"],"mappings":";;;;;;AAqBA,IAAM,gBAAgB,EACpB,aACA,WACA,cACA,MACA,OACA,SACA,UACA,eACA,gBACA,oBACA,WAEA,qBAAC,kBAAD;CACQ;CACS;CACC;CACV;CACQ;WALhB,CAOG,WAAW,oBAAC,OAAO,SAAR;EAAgB,SAAA;YAAS;EAAyB,CAAA,EAC9D,qBAAC,QAAD,EAAA,UAAA,CACE,oBAAC,OAAO,UAAR,EAAmB,CAAA,EACnB,oBAAC,OAAO,YAAR,EAAA,UACE,oBAAC,qBAAD;EACe;EACF;EACK;EACI;EACb;EAEN;EACmB,CAAA,EACJ,CAAA,CACb,EAAA,CAAA,CACQ;;AAGoB,OAAO;AACd,OAAO;AAEzC,aAAa,cAAc"}
1
+ {"version":3,"file":"BitkitDialog.js","names":[],"sources":["../../../lib/components/BitkitDialog/BitkitDialog.tsx"],"sourcesContent":["import { Dialog } from '@chakra-ui/react/dialog';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { type ReactNode } from 'react';\n\nimport BitkitDialogContent from './BitkitDialogContent';\nimport BitkitDialogRoot from './BitkitDialogRoot';\n\nexport interface BitkitDialogProps {\n headerLabel?: string;\n maxHeight?: string;\n onOpenChange?: (details: { open: boolean }) => void;\n open?: boolean;\n preventScroll?: boolean;\n scrollBehavior?: 'inside' | 'outside';\n showScrollGradient?: boolean;\n size?: 'sm' | 'md' | 'lg';\n title: ReactNode;\n trigger?: ReactNode;\n variant?: 'overflowContent';\n children?: ReactNode;\n}\n\nconst BitkitDialog = ({\n headerLabel,\n maxHeight,\n onOpenChange,\n open,\n title,\n trigger,\n children,\n preventScroll,\n scrollBehavior: scrollBehaviorProp,\n showScrollGradient,\n size,\n variant,\n}: BitkitDialogProps) => {\n const scrollBehavior = variant === 'overflowContent' ? 'inside' : scrollBehaviorProp;\n\n return (\n <BitkitDialogRoot\n open={open}\n preventScroll={preventScroll}\n scrollBehavior={scrollBehavior}\n size={size}\n variant={variant}\n onOpenChange={onOpenChange}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal>\n <Dialog.Backdrop />\n <Dialog.Positioner>\n <BitkitDialogContent\n headerLabel={headerLabel}\n maxHeight={maxHeight}\n scrollBehavior={scrollBehavior}\n showScrollGradient={showScrollGradient}\n title={title}\n variant={variant}\n >\n {children}\n </BitkitDialogContent>\n </Dialog.Positioner>\n </Portal>\n </BitkitDialogRoot>\n );\n};\n\nexport const BitkitDialogActionTrigger = Dialog.ActionTrigger;\nexport const BitkitDialogFooter = Dialog.Footer;\n\nBitkitDialog.displayName = 'BitkitDialog';\n\nexport default BitkitDialog;\n"],"mappings":";;;;;;AAsBA,IAAM,gBAAgB,EACpB,aACA,WACA,cACA,MACA,OACA,SACA,UACA,eACA,gBAAgB,oBAChB,oBACA,MACA,cACuB;CACvB,MAAM,iBAAiB,YAAY,oBAAoB,WAAW;AAElE,QACE,qBAAC,kBAAD;EACQ;EACS;EACC;EACV;EACG;EACK;YANhB,CAQG,WAAW,oBAAC,OAAO,SAAR;GAAgB,SAAA;aAAS;GAAyB,CAAA,EAC9D,qBAAC,QAAD,EAAA,UAAA,CACE,oBAAC,OAAO,UAAR,EAAmB,CAAA,EACnB,oBAAC,OAAO,YAAR,EAAA,UACE,oBAAC,qBAAD;GACe;GACF;GACK;GACI;GACb;GACE;GAER;GACmB,CAAA,EACJ,CAAA,CACb,EAAA,CAAA,CACQ;;;AAIkB,OAAO;AACd,OAAO;AAEzC,aAAa,cAAc"}
@@ -1,9 +1,9 @@
1
1
  import IconArrowDown from "../../icons/IconArrowDown.js";
2
2
  import { Box } from "@chakra-ui/react/box";
3
- import { chakra, useSlotRecipe } from "@chakra-ui/react/styled-system";
3
+ import { chakra } from "@chakra-ui/react/styled-system";
4
4
  import { createContext, useCallback, useContext, useEffect, useRef, useState } from "react";
5
5
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
6
- import { Dialog, useDialogContext } from "@chakra-ui/react/dialog";
6
+ import { Dialog, useDialogContext, useDialogStyles } from "@chakra-ui/react/dialog";
7
7
  //#region lib/components/BitkitDialog/BitkitDialogBody.tsx
8
8
  var DialogBodyContext = createContext({
9
9
  scrollBehavior: "outside",
@@ -11,7 +11,7 @@ var DialogBodyContext = createContext({
11
11
  });
12
12
  var ScrollableDialogBody = ({ children, ...props }) => {
13
13
  const { showScrollGradient } = useContext(DialogBodyContext);
14
- const styles = useSlotRecipe({ key: "dialog" })({});
14
+ const styles = useDialogStyles();
15
15
  const { open } = useDialogContext();
16
16
  const contentRef = useRef(null);
17
17
  const [isScrollButtonVisible, setIsScrollButtonVisible] = useState(false);
@@ -1 +1 @@
1
- {"version":3,"file":"BitkitDialogBody.js","names":[],"sources":["../../../lib/components/BitkitDialog/BitkitDialogBody.tsx"],"sourcesContent":["import { Box } from '@chakra-ui/react/box';\nimport { Dialog, useDialogContext } from '@chakra-ui/react/dialog';\nimport { chakra, type SystemStyleObject, useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';\n\nimport { IconArrowDown } from '../../icons';\n\ninterface DialogBodyContext {\n scrollBehavior: 'inside' | 'outside';\n showScrollGradient: boolean;\n}\n\nexport type BitkitDialogBodyProps = Dialog.BodyProps;\n\nexport const DialogBodyContext = createContext<DialogBodyContext>({\n scrollBehavior: 'outside',\n showScrollGradient: true,\n});\n\nconst ScrollableDialogBody = ({ children, ...props }: Dialog.BodyProps) => {\n const { showScrollGradient } = useContext(DialogBodyContext);\n const recipe = useSlotRecipe({ key: 'dialog' });\n const styles = recipe({}) as Record<string, SystemStyleObject>;\n const { open } = useDialogContext();\n const contentRef = useRef<HTMLDivElement>(null);\n const [isScrollButtonVisible, setIsScrollButtonVisible] = useState(false);\n\n const updateScrollButtonVisibility = useCallback(() => {\n const content = contentRef.current;\n if (!content) {\n setIsScrollButtonVisible(false);\n return;\n }\n const didScrollToBottom = content.scrollTop >= content.scrollHeight - content.offsetHeight - 1;\n setIsScrollButtonVisible(!didScrollToBottom);\n }, []);\n\n useEffect(() => {\n const content = contentRef.current;\n if (!open || !content) return;\n\n content.addEventListener('scroll', updateScrollButtonVisibility);\n const resizeObserver = new ResizeObserver(updateScrollButtonVisibility);\n resizeObserver.observe(content);\n\n return () => {\n content.removeEventListener('scroll', updateScrollButtonVisibility);\n resizeObserver.disconnect();\n };\n }, [open, updateScrollButtonVisibility]);\n\n return (\n <Box css={styles.scrollBody}>\n <Dialog.Body ref={contentRef} {...props}>\n {children}\n </Dialog.Body>\n {isScrollButtonVisible && (\n <>\n {showScrollGradient && <Box css={styles.scrollGradient} />}\n <chakra.button\n aria-label=\"Scroll to bottom\"\n css={styles.scrollButton}\n type=\"button\"\n onClick={() => {\n contentRef.current?.scrollTo({ top: contentRef.current.scrollHeight, behavior: 'smooth' });\n }}\n >\n <IconArrowDown color=\"icon/tertiary\" size=\"16\" />\n </chakra.button>\n </>\n )}\n </Box>\n );\n};\n\nconst BitkitDialogBody = (props: BitkitDialogBodyProps) => {\n const { scrollBehavior } = useContext(DialogBodyContext);\n if (scrollBehavior === 'inside') {\n return <ScrollableDialogBody {...props} />;\n }\n return <Dialog.Body {...props} />;\n};\n\nexport default BitkitDialogBody;\n"],"mappings":";;;;;;;AAcA,IAAa,oBAAoB,cAAiC;CAChE,gBAAgB;CAChB,oBAAoB;CACrB,CAAC;AAEF,IAAM,wBAAwB,EAAE,UAAU,GAAG,YAA8B;CACzE,MAAM,EAAE,uBAAuB,WAAW,kBAAkB;CAE5D,MAAM,SADS,cAAc,EAAE,KAAK,UAAU,CAAC,CACzB,EAAE,CAAC;CACzB,MAAM,EAAE,SAAS,kBAAkB;CACnC,MAAM,aAAa,OAAuB,KAAK;CAC/C,MAAM,CAAC,uBAAuB,4BAA4B,SAAS,MAAM;CAEzE,MAAM,+BAA+B,kBAAkB;EACrD,MAAM,UAAU,WAAW;AAC3B,MAAI,CAAC,SAAS;AACZ,4BAAyB,MAAM;AAC/B;;AAGF,2BAAyB,EADC,QAAQ,aAAa,QAAQ,eAAe,QAAQ,eAAe,GACjD;IAC3C,EAAE,CAAC;AAEN,iBAAgB;EACd,MAAM,UAAU,WAAW;AAC3B,MAAI,CAAC,QAAQ,CAAC,QAAS;AAEvB,UAAQ,iBAAiB,UAAU,6BAA6B;EAChE,MAAM,iBAAiB,IAAI,eAAe,6BAA6B;AACvE,iBAAe,QAAQ,QAAQ;AAE/B,eAAa;AACX,WAAQ,oBAAoB,UAAU,6BAA6B;AACnE,kBAAe,YAAY;;IAE5B,CAAC,MAAM,6BAA6B,CAAC;AAExC,QACE,qBAAC,KAAD;EAAK,KAAK,OAAO;YAAjB,CACE,oBAAC,OAAO,MAAR;GAAa,KAAK;GAAY,GAAI;GAC/B;GACW,CAAA,EACb,yBACC,qBAAA,YAAA,EAAA,UAAA,CACG,sBAAsB,oBAAC,KAAD,EAAK,KAAK,OAAO,gBAAkB,CAAA,EAC1D,oBAAC,OAAO,QAAR;GACE,cAAW;GACX,KAAK,OAAO;GACZ,MAAK;GACL,eAAe;AACb,eAAW,SAAS,SAAS;KAAE,KAAK,WAAW,QAAQ;KAAc,UAAU;KAAU,CAAC;;aAG5F,oBAAC,eAAD;IAAe,OAAM;IAAgB,MAAK;IAAO,CAAA;GACnC,CAAA,CACf,EAAA,CAAA,CAED;;;AAIV,IAAM,oBAAoB,UAAiC;CACzD,MAAM,EAAE,mBAAmB,WAAW,kBAAkB;AACxD,KAAI,mBAAmB,SACrB,QAAO,oBAAC,sBAAD,EAAsB,GAAI,OAAS,CAAA;AAE5C,QAAO,oBAAC,OAAO,MAAR,EAAa,GAAI,OAAS,CAAA"}
1
+ {"version":3,"file":"BitkitDialogBody.js","names":[],"sources":["../../../lib/components/BitkitDialog/BitkitDialogBody.tsx"],"sourcesContent":["import { Box } from '@chakra-ui/react/box';\nimport { Dialog, useDialogContext, useDialogStyles } from '@chakra-ui/react/dialog';\nimport { chakra } from '@chakra-ui/react/styled-system';\nimport { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';\n\nimport { IconArrowDown } from '../../icons';\n\ninterface DialogBodyContext {\n scrollBehavior: 'inside' | 'outside';\n showScrollGradient: boolean;\n}\n\nexport type BitkitDialogBodyProps = Dialog.BodyProps;\n\nexport const DialogBodyContext = createContext<DialogBodyContext>({\n scrollBehavior: 'outside',\n showScrollGradient: true,\n});\n\nconst ScrollableDialogBody = ({ children, ...props }: Dialog.BodyProps) => {\n const { showScrollGradient } = useContext(DialogBodyContext);\n const styles = useDialogStyles();\n const { open } = useDialogContext();\n const contentRef = useRef<HTMLDivElement>(null);\n const [isScrollButtonVisible, setIsScrollButtonVisible] = useState(false);\n\n const updateScrollButtonVisibility = useCallback(() => {\n const content = contentRef.current;\n if (!content) {\n setIsScrollButtonVisible(false);\n return;\n }\n const didScrollToBottom = content.scrollTop >= content.scrollHeight - content.offsetHeight - 1;\n setIsScrollButtonVisible(!didScrollToBottom);\n }, []);\n\n useEffect(() => {\n const content = contentRef.current;\n if (!open || !content) return;\n\n content.addEventListener('scroll', updateScrollButtonVisibility);\n const resizeObserver = new ResizeObserver(updateScrollButtonVisibility);\n resizeObserver.observe(content);\n\n return () => {\n content.removeEventListener('scroll', updateScrollButtonVisibility);\n resizeObserver.disconnect();\n };\n }, [open, updateScrollButtonVisibility]);\n\n return (\n <Box css={styles.scrollBody}>\n <Dialog.Body ref={contentRef} {...props}>\n {children}\n </Dialog.Body>\n {isScrollButtonVisible && (\n <>\n {showScrollGradient && <Box css={styles.scrollGradient} />}\n <chakra.button\n aria-label=\"Scroll to bottom\"\n css={styles.scrollButton}\n type=\"button\"\n onClick={() => {\n contentRef.current?.scrollTo({ top: contentRef.current.scrollHeight, behavior: 'smooth' });\n }}\n >\n <IconArrowDown color=\"icon/tertiary\" size=\"16\" />\n </chakra.button>\n </>\n )}\n </Box>\n );\n};\n\nconst BitkitDialogBody = (props: BitkitDialogBodyProps) => {\n const { scrollBehavior } = useContext(DialogBodyContext);\n if (scrollBehavior === 'inside') {\n return <ScrollableDialogBody {...props} />;\n }\n return <Dialog.Body {...props} />;\n};\n\nexport default BitkitDialogBody;\n"],"mappings":";;;;;;;AAcA,IAAa,oBAAoB,cAAiC;CAChE,gBAAgB;CAChB,oBAAoB;CACrB,CAAC;AAEF,IAAM,wBAAwB,EAAE,UAAU,GAAG,YAA8B;CACzE,MAAM,EAAE,uBAAuB,WAAW,kBAAkB;CAC5D,MAAM,SAAS,iBAAiB;CAChC,MAAM,EAAE,SAAS,kBAAkB;CACnC,MAAM,aAAa,OAAuB,KAAK;CAC/C,MAAM,CAAC,uBAAuB,4BAA4B,SAAS,MAAM;CAEzE,MAAM,+BAA+B,kBAAkB;EACrD,MAAM,UAAU,WAAW;AAC3B,MAAI,CAAC,SAAS;AACZ,4BAAyB,MAAM;AAC/B;;AAGF,2BAAyB,EADC,QAAQ,aAAa,QAAQ,eAAe,QAAQ,eAAe,GACjD;IAC3C,EAAE,CAAC;AAEN,iBAAgB;EACd,MAAM,UAAU,WAAW;AAC3B,MAAI,CAAC,QAAQ,CAAC,QAAS;AAEvB,UAAQ,iBAAiB,UAAU,6BAA6B;EAChE,MAAM,iBAAiB,IAAI,eAAe,6BAA6B;AACvE,iBAAe,QAAQ,QAAQ;AAE/B,eAAa;AACX,WAAQ,oBAAoB,UAAU,6BAA6B;AACnE,kBAAe,YAAY;;IAE5B,CAAC,MAAM,6BAA6B,CAAC;AAExC,QACE,qBAAC,KAAD;EAAK,KAAK,OAAO;YAAjB,CACE,oBAAC,OAAO,MAAR;GAAa,KAAK;GAAY,GAAI;GAC/B;GACW,CAAA,EACb,yBACC,qBAAA,YAAA,EAAA,UAAA,CACG,sBAAsB,oBAAC,KAAD,EAAK,KAAK,OAAO,gBAAkB,CAAA,EAC1D,oBAAC,OAAO,QAAR;GACE,cAAW;GACX,KAAK,OAAO;GACZ,MAAK;GACL,eAAe;AACb,eAAW,SAAS,SAAS;KAAE,KAAK,WAAW,QAAQ;KAAc,UAAU;KAAU,CAAC;;aAG5F,oBAAC,eAAD;IAAe,OAAM;IAAgB,MAAK;IAAO,CAAA;GACnC,CAAA,CACf,EAAA,CAAA,CAED;;;AAIV,IAAM,oBAAoB,UAAiC;CACzD,MAAM,EAAE,mBAAmB,WAAW,kBAAkB;AACxD,KAAI,mBAAmB,SACrB,QAAO,oBAAC,sBAAD,EAAsB,GAAI,OAAS,CAAA;AAE5C,QAAO,oBAAC,OAAO,MAAR,EAAa,GAAI,OAAS,CAAA"}
@@ -5,7 +5,8 @@ export interface BitkitDialogContentProps {
5
5
  scrollBehavior?: 'inside' | 'outside';
6
6
  showScrollGradient?: boolean;
7
7
  title: ReactNode;
8
+ variant?: 'overflowContent';
8
9
  children?: ReactNode;
9
10
  }
10
- declare const BitkitDialogContent: ({ headerLabel, maxHeight, title, scrollBehavior, showScrollGradient, children, }: BitkitDialogContentProps) => import("react/jsx-runtime").JSX.Element;
11
+ declare const BitkitDialogContent: ({ headerLabel, maxHeight, title, scrollBehavior: scrollBehaviorProp, showScrollGradient, variant, children, }: BitkitDialogContentProps) => import("react/jsx-runtime").JSX.Element;
11
12
  export default BitkitDialogContent;
@@ -1,12 +1,13 @@
1
1
  import BitkitCloseButton from "../BitkitCloseButton/BitkitCloseButton.js";
2
2
  import { DialogBodyContext } from "./BitkitDialogBody.js";
3
3
  import { Box } from "@chakra-ui/react/box";
4
- import { chakra, useSlotRecipe } from "@chakra-ui/react/styled-system";
4
+ import { chakra } from "@chakra-ui/react/styled-system";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
- import { Dialog } from "@chakra-ui/react/dialog";
6
+ import { Dialog, useDialogStyles } from "@chakra-ui/react/dialog";
7
7
  //#region lib/components/BitkitDialog/BitkitDialogContent.tsx
8
- var BitkitDialogContent = ({ headerLabel, maxHeight, title, scrollBehavior = "outside", showScrollGradient = true, children }) => {
9
- const styles = useSlotRecipe({ key: "dialog" })({});
8
+ var BitkitDialogContent = ({ headerLabel, maxHeight, title, scrollBehavior: scrollBehaviorProp = "outside", showScrollGradient = true, variant, children }) => {
9
+ const scrollBehavior = variant === "overflowContent" ? "inside" : scrollBehaviorProp;
10
+ const styles = useDialogStyles();
10
11
  return /* @__PURE__ */ jsx(Dialog.Content, {
11
12
  maxHeight,
12
13
  children: /* @__PURE__ */ jsxs(DialogBodyContext.Provider, {
@@ -24,7 +25,7 @@ var BitkitDialogContent = ({ headerLabel, maxHeight, title, scrollBehavior = "ou
24
25
  }), /* @__PURE__ */ jsx(Dialog.Title, { children: title })]
25
26
  }), /* @__PURE__ */ jsx(Dialog.CloseTrigger, {
26
27
  asChild: true,
27
- children: /* @__PURE__ */ jsx(BitkitCloseButton, { size: "md" })
28
+ children: /* @__PURE__ */ jsx(BitkitCloseButton, { size: variant === "overflowContent" ? "xs" : "md" })
28
29
  })] }), children]
29
30
  })
30
31
  });
@@ -1 +1 @@
1
- {"version":3,"file":"BitkitDialogContent.js","names":[],"sources":["../../../lib/components/BitkitDialog/BitkitDialogContent.tsx"],"sourcesContent":["import { Box } from '@chakra-ui/react/box';\nimport { Dialog } from '@chakra-ui/react/dialog';\nimport { chakra, type SystemStyleObject, useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { type ReactNode } from 'react';\n\nimport BitkitCloseButton from '../BitkitCloseButton/BitkitCloseButton';\nimport { DialogBodyContext } from './BitkitDialogBody';\n\nexport interface BitkitDialogContentProps {\n headerLabel?: string;\n maxHeight?: string;\n scrollBehavior?: 'inside' | 'outside';\n showScrollGradient?: boolean;\n title: ReactNode;\n children?: ReactNode;\n}\n\nconst BitkitDialogContent = ({\n headerLabel,\n maxHeight,\n title,\n scrollBehavior = 'outside',\n showScrollGradient = true,\n children,\n}: BitkitDialogContentProps) => {\n const recipe = useSlotRecipe({ key: 'dialog' });\n const styles = recipe({}) as Record<string, SystemStyleObject>;\n\n return (\n <Dialog.Content maxHeight={maxHeight}>\n <DialogBodyContext.Provider value={{ scrollBehavior, showScrollGradient }}>\n <Dialog.Header>\n <Box display=\"flex\" flexDirection=\"column\" gap=\"4\">\n {headerLabel && <chakra.p css={styles.label}>{headerLabel}</chakra.p>}\n <Dialog.Title>{title}</Dialog.Title>\n </Box>\n <Dialog.CloseTrigger asChild>\n <BitkitCloseButton size=\"md\" />\n </Dialog.CloseTrigger>\n </Dialog.Header>\n {children}\n </DialogBodyContext.Provider>\n </Dialog.Content>\n );\n};\n\nexport default BitkitDialogContent;\n"],"mappings":";;;;;;;AAiBA,IAAM,uBAAuB,EAC3B,aACA,WACA,OACA,iBAAiB,WACjB,qBAAqB,MACrB,eAC8B;CAE9B,MAAM,SADS,cAAc,EAAE,KAAK,UAAU,CAAC,CACzB,EAAE,CAAC;AAEzB,QACE,oBAAC,OAAO,SAAR;EAA2B;YACzB,qBAAC,kBAAkB,UAAnB;GAA4B,OAAO;IAAE;IAAgB;IAAoB;aAAzE,CACE,qBAAC,OAAO,QAAR,EAAA,UAAA,CACE,qBAAC,KAAD;IAAK,SAAQ;IAAO,eAAc;IAAS,KAAI;cAA/C,CACG,eAAe,oBAAC,OAAO,GAAR;KAAU,KAAK,OAAO;eAAQ;KAAuB,CAAA,EACrE,oBAAC,OAAO,OAAR,EAAA,UAAe,OAAqB,CAAA,CAChC;OACN,oBAAC,OAAO,cAAR;IAAqB,SAAA;cACnB,oBAAC,mBAAD,EAAmB,MAAK,MAAO,CAAA;IACX,CAAA,CACR,EAAA,CAAA,EACf,SAC0B;;EACd,CAAA"}
1
+ {"version":3,"file":"BitkitDialogContent.js","names":[],"sources":["../../../lib/components/BitkitDialog/BitkitDialogContent.tsx"],"sourcesContent":["import { Box } from '@chakra-ui/react/box';\nimport { Dialog, useDialogStyles } from '@chakra-ui/react/dialog';\nimport { chakra } from '@chakra-ui/react/styled-system';\nimport { type ReactNode } from 'react';\n\nimport BitkitCloseButton from '../BitkitCloseButton/BitkitCloseButton';\nimport { DialogBodyContext } from './BitkitDialogBody';\n\nexport interface BitkitDialogContentProps {\n headerLabel?: string;\n maxHeight?: string;\n scrollBehavior?: 'inside' | 'outside';\n showScrollGradient?: boolean;\n title: ReactNode;\n variant?: 'overflowContent';\n children?: ReactNode;\n}\n\nconst BitkitDialogContent = ({\n headerLabel,\n maxHeight,\n title,\n scrollBehavior: scrollBehaviorProp = 'outside',\n showScrollGradient = true,\n variant,\n children,\n}: BitkitDialogContentProps) => {\n const scrollBehavior = variant === 'overflowContent' ? 'inside' : scrollBehaviorProp;\n const styles = useDialogStyles();\n\n return (\n <Dialog.Content maxHeight={maxHeight}>\n <DialogBodyContext.Provider value={{ scrollBehavior, showScrollGradient }}>\n <Dialog.Header>\n <Box display=\"flex\" flexDirection=\"column\" gap=\"4\">\n {headerLabel && <chakra.p css={styles.label}>{headerLabel}</chakra.p>}\n <Dialog.Title>{title}</Dialog.Title>\n </Box>\n <Dialog.CloseTrigger asChild>\n <BitkitCloseButton size={variant === 'overflowContent' ? 'xs' : 'md'} />\n </Dialog.CloseTrigger>\n </Dialog.Header>\n {children}\n </DialogBodyContext.Provider>\n </Dialog.Content>\n );\n};\n\nexport default BitkitDialogContent;\n"],"mappings":";;;;;;;AAkBA,IAAM,uBAAuB,EAC3B,aACA,WACA,OACA,gBAAgB,qBAAqB,WACrC,qBAAqB,MACrB,SACA,eAC8B;CAC9B,MAAM,iBAAiB,YAAY,oBAAoB,WAAW;CAClE,MAAM,SAAS,iBAAiB;AAEhC,QACE,oBAAC,OAAO,SAAR;EAA2B;YACzB,qBAAC,kBAAkB,UAAnB;GAA4B,OAAO;IAAE;IAAgB;IAAoB;aAAzE,CACE,qBAAC,OAAO,QAAR,EAAA,UAAA,CACE,qBAAC,KAAD;IAAK,SAAQ;IAAO,eAAc;IAAS,KAAI;cAA/C,CACG,eAAe,oBAAC,OAAO,GAAR;KAAU,KAAK,OAAO;eAAQ;KAAuB,CAAA,EACrE,oBAAC,OAAO,OAAR,EAAA,UAAe,OAAqB,CAAA,CAChC;OACN,oBAAC,OAAO,cAAR;IAAqB,SAAA;cACnB,oBAAC,mBAAD,EAAmB,MAAM,YAAY,oBAAoB,OAAO,MAAQ,CAAA;IACpD,CAAA,CACR,EAAA,CAAA,EACf,SAC0B;;EACd,CAAA"}
@@ -1,4 +1,6 @@
1
1
  import { Dialog } from '@chakra-ui/react/dialog';
2
- export type BitkitDialogRootProps = Dialog.RootProps;
2
+ export type BitkitDialogRootProps = Dialog.RootProps & {
3
+ variant?: 'overflowContent';
4
+ };
3
5
  declare const BitkitDialogRoot: ({ closeOnInteractOutside, preventScroll, ...props }: BitkitDialogRootProps) => import("react/jsx-runtime").JSX.Element;
4
6
  export default BitkitDialogRoot;
@@ -1 +1 @@
1
- {"version":3,"file":"BitkitDialogRoot.js","names":[],"sources":["../../../lib/components/BitkitDialog/BitkitDialogRoot.tsx"],"sourcesContent":["import { Dialog } from '@chakra-ui/react/dialog';\n\nexport type BitkitDialogRootProps = Dialog.RootProps;\n\nconst BitkitDialogRoot = ({\n closeOnInteractOutside = false,\n preventScroll = true,\n ...props\n}: BitkitDialogRootProps) => (\n <Dialog.Root closeOnInteractOutside={closeOnInteractOutside} preventScroll={preventScroll} {...props} />\n);\n\nexport default BitkitDialogRoot;\n"],"mappings":";;;AAIA,IAAM,oBAAoB,EACxB,yBAAyB,OACzB,gBAAgB,MAChB,GAAG,YAEH,oBAAC,OAAO,MAAR;CAAqC;CAAuC;CAAe,GAAI;CAAS,CAAA"}
1
+ {"version":3,"file":"BitkitDialogRoot.js","names":[],"sources":["../../../lib/components/BitkitDialog/BitkitDialogRoot.tsx"],"sourcesContent":["import { Dialog } from '@chakra-ui/react/dialog';\n\nexport type BitkitDialogRootProps = Dialog.RootProps & {\n variant?: 'overflowContent';\n};\n\nconst BitkitDialogRoot = ({\n closeOnInteractOutside = false,\n preventScroll = true,\n ...props\n}: BitkitDialogRootProps) => (\n <Dialog.Root closeOnInteractOutside={closeOnInteractOutside} preventScroll={preventScroll} {...props} />\n);\n\nexport default BitkitDialogRoot;\n"],"mappings":";;;AAMA,IAAM,oBAAoB,EACxB,yBAAyB,OACzB,gBAAgB,MAChB,GAAG,YAEH,oBAAC,OAAO,MAAR;CAAqC;CAAuC;CAAe,GAAI;CAAS,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { HTMLChakraProps, RecipeProps } from '@chakra-ui/react/styled-system';
2
2
  import { BitkitIconComponent } from '../../icons';
3
- export interface BitkitLinkButtonProps extends Omit<HTMLChakraProps<'button'>, 'css' | 'disabled' | 'type'>, RecipeProps<'linkButton'> {
3
+ export interface BitkitLinkButtonProps extends Omit<HTMLChakraProps<'button'>, 'disabled' | 'type'>, RecipeProps<'linkButton'> {
4
4
  children: string;
5
5
  state?: 'disabled';
6
6
  suffixIcon?: BitkitIconComponent;
@@ -3,13 +3,13 @@ import { forwardRef } from "react";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  //#region lib/components/BitkitLinkButton/BitkitLinkButton.tsx
5
5
  var BitkitLinkButton = forwardRef((props, ref) => {
6
- const { children, size, state, suffixIcon: SuffixIcon, ...rest } = props;
6
+ const { children, css, size, state, suffixIcon: SuffixIcon, ...rest } = props;
7
7
  const recipe = useRecipe({ key: "linkButton" });
8
8
  const iconSize = size === "lg" ? "24" : "16";
9
9
  return /* @__PURE__ */ jsxs(chakra.button, {
10
10
  ref,
11
11
  ...rest,
12
- css: recipe({ size }),
12
+ css: [recipe({ size }), css],
13
13
  disabled: state === "disabled",
14
14
  type: "button",
15
15
  children: [children, SuffixIcon && /* @__PURE__ */ jsx(SuffixIcon, { size: iconSize })]
@@ -1 +1 @@
1
- {"version":3,"file":"BitkitLinkButton.js","names":[],"sources":["../../../lib/components/BitkitLinkButton/BitkitLinkButton.tsx"],"sourcesContent":["import { chakra, type HTMLChakraProps, type RecipeProps, useRecipe } from '@chakra-ui/react/styled-system';\nimport { forwardRef } from 'react';\n\nimport { type BitkitIconComponent } from '../../icons';\n\nexport interface BitkitLinkButtonProps\n extends Omit<HTMLChakraProps<'button'>, 'css' | 'disabled' | 'type'>, RecipeProps<'linkButton'> {\n children: string;\n state?: 'disabled';\n suffixIcon?: BitkitIconComponent;\n}\n\nconst BitkitLinkButton = forwardRef<HTMLButtonElement, BitkitLinkButtonProps>((props, ref) => {\n const { children, size, state, suffixIcon: SuffixIcon, ...rest } = props;\n\n const recipe = useRecipe({ key: 'linkButton' });\n const iconSize = size === 'lg' ? '24' : '16';\n\n return (\n <chakra.button ref={ref} {...rest} css={recipe({ size })} disabled={state === 'disabled'} type=\"button\">\n {children}\n {SuffixIcon && <SuffixIcon size={iconSize} />}\n </chakra.button>\n );\n});\n\nBitkitLinkButton.displayName = 'BitkitLinkButton';\n\nexport default BitkitLinkButton;\n"],"mappings":";;;;AAYA,IAAM,mBAAmB,YAAsD,OAAO,QAAQ;CAC5F,MAAM,EAAE,UAAU,MAAM,OAAO,YAAY,YAAY,GAAG,SAAS;CAEnE,MAAM,SAAS,UAAU,EAAE,KAAK,cAAc,CAAC;CAC/C,MAAM,WAAW,SAAS,OAAO,OAAO;AAExC,QACE,qBAAC,OAAO,QAAR;EAAoB;EAAK,GAAI;EAAM,KAAK,OAAO,EAAE,MAAM,CAAC;EAAE,UAAU,UAAU;EAAY,MAAK;YAA/F,CACG,UACA,cAAc,oBAAC,YAAD,EAAY,MAAM,UAAY,CAAA,CAC/B;;EAElB;AAEF,iBAAiB,cAAc"}
1
+ {"version":3,"file":"BitkitLinkButton.js","names":[],"sources":["../../../lib/components/BitkitLinkButton/BitkitLinkButton.tsx"],"sourcesContent":["import { chakra, type HTMLChakraProps, type RecipeProps, useRecipe } from '@chakra-ui/react/styled-system';\nimport { forwardRef } from 'react';\n\nimport { type BitkitIconComponent } from '../../icons';\n\nexport interface BitkitLinkButtonProps\n extends Omit<HTMLChakraProps<'button'>, 'disabled' | 'type'>, RecipeProps<'linkButton'> {\n children: string;\n state?: 'disabled';\n suffixIcon?: BitkitIconComponent;\n}\n\nconst BitkitLinkButton = forwardRef<HTMLButtonElement, BitkitLinkButtonProps>((props, ref) => {\n const { children, css, size, state, suffixIcon: SuffixIcon, ...rest } = props;\n\n const recipe = useRecipe({ key: 'linkButton' });\n const iconSize = size === 'lg' ? '24' : '16';\n\n return (\n <chakra.button ref={ref} {...rest} css={[recipe({ size }), css]} disabled={state === 'disabled'} type=\"button\">\n {children}\n {SuffixIcon && <SuffixIcon size={iconSize} />}\n </chakra.button>\n );\n});\n\nBitkitLinkButton.displayName = 'BitkitLinkButton';\n\nexport default BitkitLinkButton;\n"],"mappings":";;;;AAYA,IAAM,mBAAmB,YAAsD,OAAO,QAAQ;CAC5F,MAAM,EAAE,UAAU,KAAK,MAAM,OAAO,YAAY,YAAY,GAAG,SAAS;CAExE,MAAM,SAAS,UAAU,EAAE,KAAK,cAAc,CAAC;CAC/C,MAAM,WAAW,SAAS,OAAO,OAAO;AAExC,QACE,qBAAC,OAAO,QAAR;EAAoB;EAAK,GAAI;EAAM,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI;EAAE,UAAU,UAAU;EAAY,MAAK;YAAtG,CACG,UACA,cAAc,oBAAC,YAAD,EAAY,MAAM,UAAY,CAAA,CAC/B;;EAElB;AAEF,iBAAiB,cAAc"}
@@ -0,0 +1,9 @@
1
+ import { BoxProps } from '@chakra-ui/react/box';
2
+ import { ReactNode } from 'react';
3
+ export interface BitkitOverflowContentProps extends Omit<BoxProps, 'children' | 'title'> {
4
+ children: ReactNode;
5
+ previewText?: string;
6
+ title: string;
7
+ }
8
+ declare const BitkitOverflowContent: import('react').ForwardRefExoticComponent<BitkitOverflowContentProps & import('react').RefAttributes<HTMLDivElement>>;
9
+ export default BitkitOverflowContent;
@@ -0,0 +1,40 @@
1
+ import BitkitDialogBody from "../BitkitDialog/BitkitDialogBody.js";
2
+ import BitkitDialog from "../BitkitDialog/BitkitDialog.js";
3
+ import BitkitLinkButton from "../BitkitLinkButton/BitkitLinkButton.js";
4
+ import { Box } from "@chakra-ui/react/box";
5
+ import { useSlotRecipe } from "@chakra-ui/react/styled-system";
6
+ import { Text } from "@chakra-ui/react/text";
7
+ import { forwardRef, useState } from "react";
8
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
9
+ //#region lib/components/BitkitOverflowContent/BitkitOverflowContent.tsx
10
+ var BitkitOverflowContent = forwardRef((props, ref) => {
11
+ const { children, previewText, title, ...rest } = props;
12
+ const [open, setOpen] = useState(false);
13
+ const styles = useSlotRecipe({ key: "overflowContent" })();
14
+ const preview = previewText || (typeof children === "string" ? children : "Click to view content");
15
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(Box, {
16
+ ref,
17
+ css: styles.root,
18
+ ...rest,
19
+ children: [/* @__PURE__ */ jsx(Text, {
20
+ css: styles.preview,
21
+ children: preview
22
+ }), /* @__PURE__ */ jsx(BitkitLinkButton, {
23
+ ...styles.action,
24
+ onClick: () => setOpen(true),
25
+ children: `View ${title.toLowerCase()}`
26
+ })]
27
+ }), /* @__PURE__ */ jsx(BitkitDialog, {
28
+ open,
29
+ size: "sm",
30
+ title,
31
+ variant: "overflowContent",
32
+ onOpenChange: ({ open: isOpen }) => setOpen(isOpen),
33
+ children: /* @__PURE__ */ jsx(BitkitDialogBody, { children })
34
+ })] });
35
+ });
36
+ BitkitOverflowContent.displayName = "BitkitOverflowContent";
37
+ //#endregion
38
+ export { BitkitOverflowContent as default };
39
+
40
+ //# sourceMappingURL=BitkitOverflowContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitkitOverflowContent.js","names":[],"sources":["../../../lib/components/BitkitOverflowContent/BitkitOverflowContent.tsx"],"sourcesContent":["import { Box, type BoxProps } from '@chakra-ui/react/box';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { Text } from '@chakra-ui/react/text';\nimport { forwardRef, type ReactNode, useState } from 'react';\n\nimport BitkitDialog from '../BitkitDialog/BitkitDialog';\nimport BitkitDialogBody from '../BitkitDialog/BitkitDialogBody';\nimport BitkitLinkButton from '../BitkitLinkButton/BitkitLinkButton';\n\nexport interface BitkitOverflowContentProps extends Omit<BoxProps, 'children' | 'title'> {\n children: ReactNode;\n previewText?: string;\n title: string;\n}\n\nconst BitkitOverflowContent = forwardRef<HTMLDivElement, BitkitOverflowContentProps>((props, ref) => {\n const { children, previewText, title, ...rest } = props;\n const [open, setOpen] = useState(false);\n const recipe = useSlotRecipe({ key: 'overflowContent' });\n const styles = recipe();\n const preview = previewText || (typeof children === 'string' ? children : 'Click to view content');\n\n return (\n <>\n <Box ref={ref} css={styles.root} {...rest}>\n <Text css={styles.preview}>{preview}</Text>\n <BitkitLinkButton {...styles.action} onClick={() => setOpen(true)}>\n {`View ${title.toLowerCase()}`}\n </BitkitLinkButton>\n </Box>\n <BitkitDialog\n open={open}\n size=\"sm\"\n title={title}\n variant=\"overflowContent\"\n onOpenChange={({ open: isOpen }) => setOpen(isOpen)}\n >\n <BitkitDialogBody>{children}</BitkitDialogBody>\n </BitkitDialog>\n </>\n );\n});\n\nBitkitOverflowContent.displayName = 'BitkitOverflowContent';\n\nexport default BitkitOverflowContent;\n"],"mappings":";;;;;;;;;AAeA,IAAM,wBAAwB,YAAwD,OAAO,QAAQ;CACnG,MAAM,EAAE,UAAU,aAAa,OAAO,GAAG,SAAS;CAClD,MAAM,CAAC,MAAM,WAAW,SAAS,MAAM;CAEvC,MAAM,SADS,cAAc,EAAE,KAAK,mBAAmB,CAAC,EACjC;CACvB,MAAM,UAAU,gBAAgB,OAAO,aAAa,WAAW,WAAW;AAE1E,QACE,qBAAA,YAAA,EAAA,UAAA,CACE,qBAAC,KAAD;EAAU;EAAK,KAAK,OAAO;EAAM,GAAI;YAArC,CACE,oBAAC,MAAD;GAAM,KAAK,OAAO;aAAU;GAAe,CAAA,EAC3C,oBAAC,kBAAD;GAAkB,GAAI,OAAO;GAAQ,eAAe,QAAQ,KAAK;aAC9D,QAAQ,MAAM,aAAa;GACX,CAAA,CACf;KACN,oBAAC,cAAD;EACQ;EACN,MAAK;EACE;EACP,SAAQ;EACR,eAAe,EAAE,MAAM,aAAa,QAAQ,OAAO;YAEnD,oBAAC,kBAAD,EAAmB,UAA4B,CAAA;EAClC,CAAA,CACd,EAAA,CAAA;EAEL;AAEF,sBAAsB,cAAc"}
@@ -0,0 +1,26 @@
1
+ import { BoxProps } from '@chakra-ui/react/box';
2
+ import { ComponentPropsWithoutRef, HTMLAttributeAnchorTarget, MouseEventHandler, ReactNode } from 'react';
3
+ export interface BitkitPageFooterProps extends Omit<BoxProps, 'colorScheme'> {
4
+ children?: ReactNode;
5
+ colorScheme?: 'gray' | 'white';
6
+ severity?: 'none' | 'minor' | 'major' | 'critical' | (string & {});
7
+ size?: 'compact' | 'default';
8
+ statusLabel?: string;
9
+ variant?: 'default' | 'public';
10
+ }
11
+ type LinkItemProps = {
12
+ href: string;
13
+ rel?: string;
14
+ target?: HTMLAttributeAnchorTarget;
15
+ } & Omit<ComponentPropsWithoutRef<'a'>, 'href' | 'target' | 'rel'>;
16
+ type ButtonItemProps = {
17
+ href?: never;
18
+ onClick: MouseEventHandler<HTMLButtonElement>;
19
+ } & Omit<ComponentPropsWithoutRef<'button'>, 'onClick'>;
20
+ export type BitkitPageFooterItemProps = (LinkItemProps | ButtonItemProps) & {
21
+ children: ReactNode;
22
+ };
23
+ declare const _default: import('react').ForwardRefExoticComponent<BitkitPageFooterProps & import('react').RefAttributes<HTMLDivElement>> & {
24
+ Item: import('react').ForwardRefExoticComponent<BitkitPageFooterItemProps & import('react').RefAttributes<HTMLButtonElement & HTMLAnchorElement>>;
25
+ };
26
+ export default _default;
@@ -0,0 +1,90 @@
1
+ import IconBitbot from "../../icons/IconBitbot.js";
2
+ import { Box } from "@chakra-ui/react/box";
3
+ import { chakra, useSlotRecipe } from "@chakra-ui/react/styled-system";
4
+ import { forwardRef } from "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ //#region lib/components/BitkitPageFooter/BitkitPageFooter.tsx
7
+ var SEVERITY_COLOR_MAP = {
8
+ critical: "sys/red/bold",
9
+ major: "sys/orange/bold",
10
+ minor: "sys/yellow/muted",
11
+ none: "sys/green/bold"
12
+ };
13
+ var BitkitPageFooter = forwardRef((props, ref) => {
14
+ const { children, colorScheme, severity = "none", size, statusLabel, variant, ...rest } = props;
15
+ const styles = useSlotRecipe({ key: "pageFooter" })({
16
+ colorScheme,
17
+ size,
18
+ variant
19
+ });
20
+ const year = (/* @__PURE__ */ new Date()).getFullYear();
21
+ const severityColor = SEVERITY_COLOR_MAP[severity] ?? "sys/neutral/bold";
22
+ return /* @__PURE__ */ jsxs(Box, {
23
+ as: "footer",
24
+ ref,
25
+ css: styles.root,
26
+ ...rest,
27
+ children: [
28
+ statusLabel && /* @__PURE__ */ jsxs(chakra.div, {
29
+ css: styles.status,
30
+ children: [/* @__PURE__ */ jsx(chakra.div, {
31
+ css: styles.statusDot,
32
+ background: severityColor
33
+ }), /* @__PURE__ */ jsx(chakra.span, {
34
+ css: styles.statusLabel,
35
+ children: statusLabel
36
+ })]
37
+ }),
38
+ /* @__PURE__ */ jsxs(chakra.div, {
39
+ css: styles.copyright,
40
+ children: [/* @__PURE__ */ jsx(IconBitbot, {
41
+ size: "24",
42
+ color: "icon/secondary"
43
+ }), /* @__PURE__ */ jsxs(chakra.span, {
44
+ css: styles.copyrightText,
45
+ children: [
46
+ "© ",
47
+ year,
48
+ " Bitrise Ltd."
49
+ ]
50
+ })]
51
+ }),
52
+ children && /* @__PURE__ */ jsx(chakra.nav, {
53
+ css: styles.links,
54
+ children
55
+ })
56
+ ]
57
+ });
58
+ });
59
+ BitkitPageFooter.displayName = "BitkitPageFooter";
60
+ var BitkitPageFooterItem = forwardRef((props, ref) => {
61
+ const styles = useSlotRecipe({ key: "pageFooter" })();
62
+ if ("href" in props && props.href) {
63
+ const { children, href, target, rel, ...rest } = props;
64
+ const resolvedRel = target === "_blank" ? [rel, "noopener noreferrer"].filter(Boolean).join(" ") : rel;
65
+ return /* @__PURE__ */ jsx(chakra.a, {
66
+ ref,
67
+ css: styles.link,
68
+ href,
69
+ rel: resolvedRel,
70
+ target,
71
+ ...rest,
72
+ children
73
+ });
74
+ }
75
+ const { children, onClick, ...rest } = props;
76
+ return /* @__PURE__ */ jsx(chakra.button, {
77
+ ref,
78
+ css: styles.link,
79
+ onClick,
80
+ type: "button",
81
+ ...rest,
82
+ children
83
+ });
84
+ });
85
+ BitkitPageFooterItem.displayName = "BitkitPageFooterItem";
86
+ var BitkitPageFooter_default = Object.assign(BitkitPageFooter, { Item: BitkitPageFooterItem });
87
+ //#endregion
88
+ export { BitkitPageFooter_default as default };
89
+
90
+ //# sourceMappingURL=BitkitPageFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitkitPageFooter.js","names":[],"sources":["../../../lib/components/BitkitPageFooter/BitkitPageFooter.tsx"],"sourcesContent":["import { Box, type BoxProps } from '@chakra-ui/react/box';\nimport { chakra, useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n type HTMLAttributeAnchorTarget,\n type MouseEventHandler,\n type ReactNode,\n} from 'react';\n\nimport IconBitbot from '../../icons/IconBitbot';\n\nconst SEVERITY_COLOR_MAP: Record<string, string> = {\n critical: 'sys/red/bold',\n major: 'sys/orange/bold',\n minor: 'sys/yellow/muted',\n none: 'sys/green/bold',\n};\n\n// --- BitkitPageFooter (Root) ---\n\nexport interface BitkitPageFooterProps extends Omit<BoxProps, 'colorScheme'> {\n children?: ReactNode;\n colorScheme?: 'gray' | 'white';\n severity?: 'none' | 'minor' | 'major' | 'critical' | (string & {});\n size?: 'compact' | 'default';\n statusLabel?: string;\n variant?: 'default' | 'public';\n}\n\nconst BitkitPageFooter = forwardRef<HTMLDivElement, BitkitPageFooterProps>((props, ref) => {\n const { children, colorScheme, severity = 'none', size, statusLabel, variant, ...rest } = props;\n\n const recipe = useSlotRecipe({ key: 'pageFooter' });\n const styles = recipe({ colorScheme, size, variant });\n\n const year = new Date().getFullYear();\n\n const severityColor = SEVERITY_COLOR_MAP[severity] ?? 'sys/neutral/bold';\n\n return (\n <Box as=\"footer\" ref={ref} css={styles.root} {...rest}>\n {statusLabel && (\n <chakra.div css={styles.status}>\n <chakra.div css={styles.statusDot} background={severityColor} />\n <chakra.span css={styles.statusLabel}>{statusLabel}</chakra.span>\n </chakra.div>\n )}\n\n <chakra.div css={styles.copyright}>\n <IconBitbot size=\"24\" color=\"icon/secondary\" />\n <chakra.span css={styles.copyrightText}>© {year} Bitrise Ltd.</chakra.span>\n </chakra.div>\n\n {children && <chakra.nav css={styles.links}>{children}</chakra.nav>}\n </Box>\n );\n});\n\nBitkitPageFooter.displayName = 'BitkitPageFooter';\n\n// --- BitkitPageFooterItem ---\n\ntype LinkItemProps = {\n href: string;\n rel?: string;\n target?: HTMLAttributeAnchorTarget;\n} & Omit<ComponentPropsWithoutRef<'a'>, 'href' | 'target' | 'rel'>;\n\ntype ButtonItemProps = {\n href?: never;\n onClick: MouseEventHandler<HTMLButtonElement>;\n} & Omit<ComponentPropsWithoutRef<'button'>, 'onClick'>;\n\nexport type BitkitPageFooterItemProps = (LinkItemProps | ButtonItemProps) & {\n children: ReactNode;\n};\n\nconst BitkitPageFooterItem = forwardRef<HTMLButtonElement & HTMLAnchorElement, BitkitPageFooterItemProps>(\n (props, ref) => {\n const recipe = useSlotRecipe({ key: 'pageFooter' });\n const styles = recipe();\n\n if ('href' in props && props.href) {\n const { children, href, target, rel, ...rest } = props as LinkItemProps & { children: ReactNode };\n const resolvedRel = target === '_blank' ? [rel, 'noopener noreferrer'].filter(Boolean).join(' ') : rel;\n\n return (\n <chakra.a ref={ref} css={styles.link} href={href} rel={resolvedRel} target={target} {...rest}>\n {children}\n </chakra.a>\n );\n }\n\n const { children, onClick, ...rest } = props as ButtonItemProps & { children: ReactNode };\n\n return (\n <chakra.button ref={ref} css={styles.link} onClick={onClick} type=\"button\" {...rest}>\n {children}\n </chakra.button>\n );\n },\n);\n\nBitkitPageFooterItem.displayName = 'BitkitPageFooterItem';\n\nexport default Object.assign(BitkitPageFooter, { Item: BitkitPageFooterItem });\n"],"mappings":";;;;;;AAYA,IAAM,qBAA6C;CACjD,UAAU;CACV,OAAO;CACP,OAAO;CACP,MAAM;CACP;AAaD,IAAM,mBAAmB,YAAmD,OAAO,QAAQ;CACzF,MAAM,EAAE,UAAU,aAAa,WAAW,QAAQ,MAAM,aAAa,SAAS,GAAG,SAAS;CAG1F,MAAM,SADS,cAAc,EAAE,KAAK,cAAc,CAAC,CAC7B;EAAE;EAAa;EAAM;EAAS,CAAC;CAErD,MAAM,wBAAO,IAAI,MAAM,EAAC,aAAa;CAErC,MAAM,gBAAgB,mBAAmB,aAAa;AAEtD,QACE,qBAAC,KAAD;EAAK,IAAG;EAAc;EAAK,KAAK,OAAO;EAAM,GAAI;YAAjD;GACG,eACC,qBAAC,OAAO,KAAR;IAAY,KAAK,OAAO;cAAxB,CACE,oBAAC,OAAO,KAAR;KAAY,KAAK,OAAO;KAAW,YAAY;KAAiB,CAAA,EAChE,oBAAC,OAAO,MAAR;KAAa,KAAK,OAAO;eAAc;KAA0B,CAAA,CACtD;;GAGf,qBAAC,OAAO,KAAR;IAAY,KAAK,OAAO;cAAxB,CACE,oBAAC,YAAD;KAAY,MAAK;KAAK,OAAM;KAAmB,CAAA,EAC/C,qBAAC,OAAO,MAAR;KAAa,KAAK,OAAO;eAAzB;MAAwC;MAAG;MAAK;MAA2B;OAChE;;GAEZ,YAAY,oBAAC,OAAO,KAAR;IAAY,KAAK,OAAO;IAAQ;IAAsB,CAAA;GAC/D;;EAER;AAEF,iBAAiB,cAAc;AAmB/B,IAAM,uBAAuB,YAC1B,OAAO,QAAQ;CAEd,MAAM,SADS,cAAc,EAAE,KAAK,cAAc,CAAC,EAC5B;AAEvB,KAAI,UAAU,SAAS,MAAM,MAAM;EACjC,MAAM,EAAE,UAAU,MAAM,QAAQ,KAAK,GAAG,SAAS;EACjD,MAAM,cAAc,WAAW,WAAW,CAAC,KAAK,sBAAsB,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI,GAAG;AAEnG,SACE,oBAAC,OAAO,GAAR;GAAe;GAAK,KAAK,OAAO;GAAY;GAAM,KAAK;GAAqB;GAAQ,GAAI;GACrF;GACQ,CAAA;;CAIf,MAAM,EAAE,UAAU,SAAS,GAAG,SAAS;AAEvC,QACE,oBAAC,OAAO,QAAR;EAAoB;EAAK,KAAK,OAAO;EAAe;EAAS,MAAK;EAAS,GAAI;EAC5E;EACa,CAAA;EAGrB;AAED,qBAAqB,cAAc;AAEnC,IAAA,2BAAe,OAAO,OAAO,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -40,7 +40,9 @@ export { default as BitkitNativeSelect, type BitkitNativeSelectProps } from './B
40
40
  export { default as BitkitNoteCard, type BitkitNoteCardProps } from './BitkitNoteCard/BitkitNoteCard';
41
41
  export { default as BitkitNumberInput, type BitkitNumberInputProps } from './BitkitNumberInput/BitkitNumberInput';
42
42
  export { default as BitkitOrderedList, type BitkitOrderedListItemProps, type BitkitOrderedListProps, } from './BitkitOrderedList/BitkitOrderedList';
43
+ export { default as BitkitOverflowContent, type BitkitOverflowContentProps, } from './BitkitOverflowContent/BitkitOverflowContent';
43
44
  export { default as BitkitOverflowTooltip, type BitkitOverflowTooltipProps, } from './BitkitOverflowTooltip/BitkitOverflowTooltip';
45
+ export { default as BitkitPageFooter, type BitkitPageFooterItemProps, type BitkitPageFooterProps, } from './BitkitPageFooter/BitkitPageFooter';
44
46
  export { default as BitkitPagination, type BitkitPaginationLabels, type BitkitPaginationProps, } from './BitkitPagination/BitkitPagination';
45
47
  export { default as BitkitPaginationLoadMore, type BitkitPaginationLoadMoreProps, } from './BitkitPaginationLoadMore/BitkitPaginationLoadMore';
46
48
  export { default as BitkitRadio, type BitkitRadioProps } from './BitkitRadio/BitkitRadio';
package/dist/main.js CHANGED
@@ -324,7 +324,9 @@ import BitkitMarkdownCard from "./components/BitkitMarkdownCard/BitkitMarkdownCa
324
324
  import BitkitNativeSelect from "./components/BitkitNativeSelect/BitkitNativeSelect.js";
325
325
  import BitkitNoteCard from "./components/BitkitNoteCard/BitkitNoteCard.js";
326
326
  import BitkitNumberInput from "./components/BitkitNumberInput/BitkitNumberInput.js";
327
+ import BitkitOverflowContent from "./components/BitkitOverflowContent/BitkitOverflowContent.js";
327
328
  import BitkitOverflowTooltip from "./components/BitkitOverflowTooltip/BitkitOverflowTooltip.js";
329
+ import BitkitPageFooter_default from "./components/BitkitPageFooter/BitkitPageFooter.js";
328
330
  import BitkitPagination from "./components/BitkitPagination/BitkitPagination.js";
329
331
  import BitkitPaginationLoadMore from "./components/BitkitPaginationLoadMore/BitkitPaginationLoadMore.js";
330
332
  import BitkitRadio from "./components/BitkitRadio/BitkitRadio.js";
@@ -349,4 +351,4 @@ import BitkitToggle from "./components/BitkitToggle/BitkitToggle.js";
349
351
  import BitkitToggleButton from "./components/BitkitToggleButton/BitkitToggleButton.js";
350
352
  import bitkitTheme from "./theme/index.js";
351
353
  import Provider from "./providers/BitkitProvider.js";
352
- export { BitkitAccordion, BitkitActionBar, BitkitAlert, BitkitAvatar, BitkitBadge, BitkitButton, BitkitCalendar, BitkitCard, BitkitCheckbox, BitkitCheckboxGroup, BitkitCloseButton, BitkitCodeSnippet, BitkitCollapsible, BitkitColorButton, BitkitCombobox, BitkitControlButton, BitkitDefinitionTooltip, BitkitDialog, BitkitDialogBody, BitkitDialogButtons, BitkitDialogContent, BitkitDialogRoot, BitkitDraggableCard, BitkitEmptyState, BitkitExpandableCard, BitkitExplainerList_default as BitkitExplainerList, BitkitField, BitkitFileInput, BitkitGroupHeading, BitkitIconButton, BitkitInlineLoading, BitkitLabel, BitkitLabelTooltip, BitkitLabeledData, BitkitLink, BitkitLinkButton, BitkitMarkdown, BitkitMarkdownCard, BitkitNativeSelect, BitkitNoteCard, BitkitNumberInput, BitkitOrderedList_default as BitkitOrderedList, BitkitOverflowTooltip, BitkitPagination, BitkitPaginationLoadMore, Provider as BitkitProvider, BitkitRadio, BitkitRadioGroup, BitkitRibbon, BitkitSearchInput, BitkitSectionHeading, BitkitSegmentedControl_default as BitkitSegmentedControl, BitkitSelect, BitkitSelectMenu, BitkitSelectableTag_default as BitkitSelectableTag, BitkitSidebar_default as BitkitSidebar, BitkitSplitButton_default as BitkitSplitButton, BitkitStat, BitkitSteps_default as BitkitSteps, BitkitStepsCard_default as BitkitStepsCard, BitkitTabs, BitkitTag, BitkitTagsInput, BitkitTextInput, BitkitToggle, BitkitToggleButton, BitkitTooltip, BitkitUnorderedList_default as BitkitUnorderedList, IconAbortCircle, IconAbortCircleFilled, IconAddons, IconAgent, IconAnchor, IconAndroid, IconApp, IconAppSettings, IconAppStore, IconAppStoreColor, IconApple, IconArchive, IconArchiveDelete, IconArchiveRestore, IconArrowBackAndDown, IconArrowBackAndUp, IconArrowDown, IconArrowForwardAndDown, IconArrowForwardAndUp, IconArrowLeft, IconArrowNortheast, IconArrowNorthwest, IconArrowRight, IconArrowUp, IconArrowsHorizontal, IconArrowsVertical, IconAutomation, IconAws, IconAwsColor, IconBadge3RdParty, IconBadgeBitrise, IconBadgeUpgrade, IconBadgeVersionOk, IconBazel, IconBell, IconBitbot, IconBitbotError, IconBitbucket, IconBitbucketColor, IconBitbucketNeutral, IconBitbucketWhite, IconBlockCircle, IconBook, IconBoxArrowDown, IconBoxDot, IconBoxLinesOverflow, IconBoxLinesWrap, IconBranch, IconBrowserstackColor, IconBug, IconBuild, IconBuildCache, IconBuildCacheFilled, IconBuildEnvSetup, IconCalendar, IconChangePlan, IconChat, IconCheck, IconCheckCircle, IconCheckCircleFilled, IconChevronDown, IconChevronLeft, IconChevronRight, IconChevronUp, IconCi, IconCiFilled, IconCircle, IconCircleDashed, IconCircleHalfFilled, IconClaude, IconClaudeColor, IconClock, IconCode, IconCodePush, IconCodeSigning, IconCoffee, IconCommit, IconConfigure, IconConnectedAccounts, IconContainer, IconCopy, IconCordova, IconCpu, IconCreditcard, IconCredits, IconCross, IconCrossCircle, IconCrossCircleFilled, IconCrown, IconCycle, IconDashboard, IconDashboardFilled, IconDeployment, IconDetails, IconDoc, IconDollar, IconDot, IconDotnet, IconDotnetColor, IconDotnetText, IconDotnetTextColor, IconDoubleCircle, IconDownload, IconDragHandle, IconEc2Ami, IconEnterprise, IconErrorCircle, IconErrorCircleFilled, IconExpand, IconExtraBuildCapacity, IconEye, IconEyeSlash, IconFastlane, IconFileDoc, IconFilePdf, IconFilePlist, IconFileZip, IconFilter, IconFlag, IconFlutter, IconFolder, IconFullscreen, IconFullscreenExit, IconGauge, IconGit, IconGithub, IconGitlab, IconGitlabColor, IconGitlabWhite, IconGlobe, IconGo, IconGoogleColor, IconGooglePlay, IconGooglePlayColor, IconGradle, IconGroup, IconHashtag, IconHeadset, IconHeart, IconHistory, IconHourglass, IconImage, IconInfoCircle, IconInfoCircleFilled, IconInsights, IconInsightsFilled, IconInstall, IconInteraction, IconInvoice, IconIonic, IconJapanese, IconJava, IconJavaColor, IconJavaDuke, IconJavaDukeColor, IconKey, IconKotlin, IconKotlinColor, IconKotlinWhite, IconLaptop, IconLaunchdarkly, IconLegacyApp, IconLightbulb, IconLink, IconLinux, IconLock, IconLockOpen, IconLogin, IconLogout, IconMacos, IconMagicWand, IconMagnifier, IconMail, IconMedal, IconMemory, IconMenuGrid, IconMenuHamburger, IconMessage, IconMessageAlert, IconMessageQuestion, IconMicrophone, IconMinus, IconMinusCircle, IconMinusCircleFilled, IconMobile, IconMobileLandscape, IconMonitorChart, IconMoreHorizontal, IconMoreVertical, IconNews, IconNextjs, IconNodejs, IconOpenInNew, IconOther, IconOutsideContributor, IconOverview, IconPause, IconPencil, IconPeople, IconPercent, IconPerson, IconPersonWithDesk, IconPlay, IconPlus, IconPlusCircle, IconPlusCircleFilled, IconPower, IconProject, IconProjectSettings, IconPull, IconPush, IconPuzzle, IconPython, IconPythonColor, IconQuestionCircle, IconQuestionCircleFilled, IconReact, IconRefresh, IconRegex, IconRelease, IconReleaseFilled, IconRemoteAccess, IconReplace, IconResponsiveness, IconReviewerApproved, IconReviewerAssigned, IconReviewerRejected, IconRuby, IconRubyColor, IconSave, IconSecurityShield, IconSettings, IconSettingsFilled, IconShuffle, IconSiren, IconSkip, IconSkipCircle, IconSkipCircleFilled, IconSlack, IconSlackColor, IconSparkle, IconSparkleFilled, IconSpinnerOnDisabled, IconSpinnerPurple, IconSpinnerPurpleDouble, IconSpinnerWhite, IconStability, IconStack, IconStar, IconStep, IconStop, IconStopwatch, IconTag, IconTasks, IconTeams, IconTeamsColor, IconTemplateCode, IconTerminal, IconTestQuarantine, IconThemeDarkToggle, IconThumbDown, IconThumbUp, IconTools, IconTrash, IconTrigger, IconUbuntu, IconUbuntuColor, IconUnity3D, IconUpload, IconValidateShield, IconVideo, IconWarning, IconWarningYellow, IconWebUi, IconWebhooks, IconWorkflow, IconWorkflowFlow, IconXTwitter, IconXamarin, IconXcode, bitkitIcon, bitkitTheme as bitriseTheme, createBitkitToast };
354
+ export { BitkitAccordion, BitkitActionBar, BitkitAlert, BitkitAvatar, BitkitBadge, BitkitButton, BitkitCalendar, BitkitCard, BitkitCheckbox, BitkitCheckboxGroup, BitkitCloseButton, BitkitCodeSnippet, BitkitCollapsible, BitkitColorButton, BitkitCombobox, BitkitControlButton, BitkitDefinitionTooltip, BitkitDialog, BitkitDialogBody, BitkitDialogButtons, BitkitDialogContent, BitkitDialogRoot, BitkitDraggableCard, BitkitEmptyState, BitkitExpandableCard, BitkitExplainerList_default as BitkitExplainerList, BitkitField, BitkitFileInput, BitkitGroupHeading, BitkitIconButton, BitkitInlineLoading, BitkitLabel, BitkitLabelTooltip, BitkitLabeledData, BitkitLink, BitkitLinkButton, BitkitMarkdown, BitkitMarkdownCard, BitkitNativeSelect, BitkitNoteCard, BitkitNumberInput, BitkitOrderedList_default as BitkitOrderedList, BitkitOverflowContent, BitkitOverflowTooltip, BitkitPageFooter_default as BitkitPageFooter, BitkitPagination, BitkitPaginationLoadMore, Provider as BitkitProvider, BitkitRadio, BitkitRadioGroup, BitkitRibbon, BitkitSearchInput, BitkitSectionHeading, BitkitSegmentedControl_default as BitkitSegmentedControl, BitkitSelect, BitkitSelectMenu, BitkitSelectableTag_default as BitkitSelectableTag, BitkitSidebar_default as BitkitSidebar, BitkitSplitButton_default as BitkitSplitButton, BitkitStat, BitkitSteps_default as BitkitSteps, BitkitStepsCard_default as BitkitStepsCard, BitkitTabs, BitkitTag, BitkitTagsInput, BitkitTextInput, BitkitToggle, BitkitToggleButton, BitkitTooltip, BitkitUnorderedList_default as BitkitUnorderedList, IconAbortCircle, IconAbortCircleFilled, IconAddons, IconAgent, IconAnchor, IconAndroid, IconApp, IconAppSettings, IconAppStore, IconAppStoreColor, IconApple, IconArchive, IconArchiveDelete, IconArchiveRestore, IconArrowBackAndDown, IconArrowBackAndUp, IconArrowDown, IconArrowForwardAndDown, IconArrowForwardAndUp, IconArrowLeft, IconArrowNortheast, IconArrowNorthwest, IconArrowRight, IconArrowUp, IconArrowsHorizontal, IconArrowsVertical, IconAutomation, IconAws, IconAwsColor, IconBadge3RdParty, IconBadgeBitrise, IconBadgeUpgrade, IconBadgeVersionOk, IconBazel, IconBell, IconBitbot, IconBitbotError, IconBitbucket, IconBitbucketColor, IconBitbucketNeutral, IconBitbucketWhite, IconBlockCircle, IconBook, IconBoxArrowDown, IconBoxDot, IconBoxLinesOverflow, IconBoxLinesWrap, IconBranch, IconBrowserstackColor, IconBug, IconBuild, IconBuildCache, IconBuildCacheFilled, IconBuildEnvSetup, IconCalendar, IconChangePlan, IconChat, IconCheck, IconCheckCircle, IconCheckCircleFilled, IconChevronDown, IconChevronLeft, IconChevronRight, IconChevronUp, IconCi, IconCiFilled, IconCircle, IconCircleDashed, IconCircleHalfFilled, IconClaude, IconClaudeColor, IconClock, IconCode, IconCodePush, IconCodeSigning, IconCoffee, IconCommit, IconConfigure, IconConnectedAccounts, IconContainer, IconCopy, IconCordova, IconCpu, IconCreditcard, IconCredits, IconCross, IconCrossCircle, IconCrossCircleFilled, IconCrown, IconCycle, IconDashboard, IconDashboardFilled, IconDeployment, IconDetails, IconDoc, IconDollar, IconDot, IconDotnet, IconDotnetColor, IconDotnetText, IconDotnetTextColor, IconDoubleCircle, IconDownload, IconDragHandle, IconEc2Ami, IconEnterprise, IconErrorCircle, IconErrorCircleFilled, IconExpand, IconExtraBuildCapacity, IconEye, IconEyeSlash, IconFastlane, IconFileDoc, IconFilePdf, IconFilePlist, IconFileZip, IconFilter, IconFlag, IconFlutter, IconFolder, IconFullscreen, IconFullscreenExit, IconGauge, IconGit, IconGithub, IconGitlab, IconGitlabColor, IconGitlabWhite, IconGlobe, IconGo, IconGoogleColor, IconGooglePlay, IconGooglePlayColor, IconGradle, IconGroup, IconHashtag, IconHeadset, IconHeart, IconHistory, IconHourglass, IconImage, IconInfoCircle, IconInfoCircleFilled, IconInsights, IconInsightsFilled, IconInstall, IconInteraction, IconInvoice, IconIonic, IconJapanese, IconJava, IconJavaColor, IconJavaDuke, IconJavaDukeColor, IconKey, IconKotlin, IconKotlinColor, IconKotlinWhite, IconLaptop, IconLaunchdarkly, IconLegacyApp, IconLightbulb, IconLink, IconLinux, IconLock, IconLockOpen, IconLogin, IconLogout, IconMacos, IconMagicWand, IconMagnifier, IconMail, IconMedal, IconMemory, IconMenuGrid, IconMenuHamburger, IconMessage, IconMessageAlert, IconMessageQuestion, IconMicrophone, IconMinus, IconMinusCircle, IconMinusCircleFilled, IconMobile, IconMobileLandscape, IconMonitorChart, IconMoreHorizontal, IconMoreVertical, IconNews, IconNextjs, IconNodejs, IconOpenInNew, IconOther, IconOutsideContributor, IconOverview, IconPause, IconPencil, IconPeople, IconPercent, IconPerson, IconPersonWithDesk, IconPlay, IconPlus, IconPlusCircle, IconPlusCircleFilled, IconPower, IconProject, IconProjectSettings, IconPull, IconPush, IconPuzzle, IconPython, IconPythonColor, IconQuestionCircle, IconQuestionCircleFilled, IconReact, IconRefresh, IconRegex, IconRelease, IconReleaseFilled, IconRemoteAccess, IconReplace, IconResponsiveness, IconReviewerApproved, IconReviewerAssigned, IconReviewerRejected, IconRuby, IconRubyColor, IconSave, IconSecurityShield, IconSettings, IconSettingsFilled, IconShuffle, IconSiren, IconSkip, IconSkipCircle, IconSkipCircleFilled, IconSlack, IconSlackColor, IconSparkle, IconSparkleFilled, IconSpinnerOnDisabled, IconSpinnerPurple, IconSpinnerPurpleDouble, IconSpinnerWhite, IconStability, IconStack, IconStar, IconStep, IconStop, IconStopwatch, IconTag, IconTasks, IconTeams, IconTeamsColor, IconTemplateCode, IconTerminal, IconTestQuarantine, IconThemeDarkToggle, IconThumbDown, IconThumbUp, IconTools, IconTrash, IconTrigger, IconUbuntu, IconUbuntuColor, IconUnity3D, IconUpload, IconValidateShield, IconVideo, IconWarning, IconWarningYellow, IconWebUi, IconWebhooks, IconWorkflow, IconWorkflowFlow, IconXTwitter, IconXamarin, IconXcode, bitkitIcon, bitkitTheme as bitriseTheme, createBitkitToast };
@@ -1,4 +1,4 @@
1
- declare const dialogSlotRecipe: import('@chakra-ui/react').SlotRecipeDefinition<"content" | "body" | "footer" | "header" | "label" | "title" | "trigger" | "positioner" | "closeTrigger" | "description" | "backdrop" | "scrollBody" | "scrollButton" | "scrollGradient", {
1
+ declare const dialogSlotRecipe: import('@chakra-ui/react').SlotRecipeDefinition<"content" | "body" | "footer" | "header" | "label" | "title" | "trigger" | "positioner" | "closeTrigger" | "description" | "scrollBody" | "scrollGradient" | "scrollButton" | "backdrop", {
2
2
  scrollBehavior: {
3
3
  inside: {
4
4
  body: {
@@ -31,5 +31,51 @@ declare const dialogSlotRecipe: import('@chakra-ui/react').SlotRecipeDefinition<
31
31
  };
32
32
  };
33
33
  };
34
+ variant: {
35
+ overflowContent: {
36
+ content: {
37
+ maxHeight: "calc(100dvh - 48px)";
38
+ overflow: "hidden";
39
+ };
40
+ header: {
41
+ gap: "8";
42
+ paddingBlockEnd: "8";
43
+ paddingBlockStart: "16";
44
+ paddingInline: "16";
45
+ };
46
+ title: {
47
+ paddingInlineEnd: "32";
48
+ textStyle: "heading/h4";
49
+ };
50
+ body: {
51
+ overflowY: "auto";
52
+ paddingBlockEnd: "8";
53
+ paddingInline: "16";
54
+ _last: {
55
+ paddingBlockEnd: number;
56
+ };
57
+ };
58
+ scrollBody: {
59
+ _last: {
60
+ paddingBlockEnd: "16";
61
+ };
62
+ };
63
+ footer: {
64
+ paddingBlockEnd: "16";
65
+ paddingBlockStart: number;
66
+ paddingInline: "16";
67
+ };
68
+ closeTrigger: {
69
+ insetEnd: "12";
70
+ top: "12";
71
+ };
72
+ scrollGradient: {
73
+ bottom: "16";
74
+ };
75
+ scrollButton: {
76
+ bottom: "8";
77
+ };
78
+ };
79
+ };
34
80
  }>;
35
81
  export default dialogSlotRecipe;
@@ -121,7 +121,7 @@ var dialogSlotRecipe = defineSlotRecipe({
121
121
  width: "32"
122
122
  },
123
123
  scrollGradient: {
124
- background: "linear-gradient(0deg, white 0%, rgba(255, 255, 255, 0) 100%)",
124
+ background: "linear-gradient(0deg, {colors.background.primary} 0%, transparent 100%)",
125
125
  bottom: "48",
126
126
  height: "32",
127
127
  pointerEvents: "none",
@@ -147,7 +147,41 @@ var dialogSlotRecipe = defineSlotRecipe({
147
147
  lg: { content: { width: rem(800) } },
148
148
  md: { content: { width: rem(640) } },
149
149
  sm: { content: { width: rem(480) } }
150
- }
150
+ },
151
+ variant: { overflowContent: {
152
+ content: {
153
+ maxHeight: "calc(100dvh - 48px)",
154
+ overflow: "hidden"
155
+ },
156
+ header: {
157
+ gap: "8",
158
+ paddingBlockEnd: "8",
159
+ paddingBlockStart: "16",
160
+ paddingInline: "16"
161
+ },
162
+ title: {
163
+ paddingInlineEnd: "32",
164
+ textStyle: "heading/h4"
165
+ },
166
+ body: {
167
+ overflowY: "auto",
168
+ paddingBlockEnd: "8",
169
+ paddingInline: "16",
170
+ _last: { paddingBlockEnd: 0 }
171
+ },
172
+ scrollBody: { _last: { paddingBlockEnd: "16" } },
173
+ footer: {
174
+ paddingBlockEnd: "16",
175
+ paddingBlockStart: 0,
176
+ paddingInline: "16"
177
+ },
178
+ closeTrigger: {
179
+ insetEnd: "12",
180
+ top: "12"
181
+ },
182
+ scrollGradient: { bottom: "16" },
183
+ scrollButton: { bottom: "8" }
184
+ } }
151
185
  },
152
186
  defaultVariants: {
153
187
  scrollBehavior: "outside",