@bitrise/bitkit-v2 0.3.195 → 0.3.197
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/components/BitkitPageFooter/BitkitPageFooter.d.ts +26 -0
- package/dist/components/BitkitPageFooter/BitkitPageFooter.js +90 -0
- package/dist/components/BitkitPageFooter/BitkitPageFooter.js.map +1 -0
- package/dist/components/BitkitTreeView/BitkitTreeView.d.ts +34 -0
- package/dist/components/BitkitTreeView/BitkitTreeView.js +109 -0
- package/dist/components/BitkitTreeView/BitkitTreeView.js.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/main.js +3 -1
- package/dist/theme/slot-recipes/PageFooter.recipe.d.ts +96 -0
- package/dist/theme/slot-recipes/PageFooter.recipe.js +191 -0
- package/dist/theme/slot-recipes/PageFooter.recipe.js.map +1 -0
- package/dist/theme/slot-recipes/TreeView.recipe.d.ts +152 -0
- package/dist/theme/slot-recipes/TreeView.recipe.js +250 -0
- package/dist/theme/slot-recipes/TreeView.recipe.js.map +1 -0
- package/dist/theme/slot-recipes/index.d.ts +246 -0
- package/dist/theme/slot-recipes/index.js +5 -1
- package/dist/theme/slot-recipes/index.js.map +1 -1
- package/dist/theme/tokens/index.d.ts +3 -0
- package/dist/theme/tokens/radii.d.ts +3 -0
- package/dist/theme/tokens/radii.js +2 -1
- package/dist/theme/tokens/radii.js.map +1 -1
- package/package.json +1 -1
|
@@ -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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { TreeViewBranchControlProps, TreeViewItemProps, TreeViewNodeRenderProps, TreeViewRootProps } from '@chakra-ui/react/tree-view';
|
|
2
|
+
import { ReactElement, ReactNode } from 'react';
|
|
3
|
+
import { BitkitIconComponent } from '../../icons';
|
|
4
|
+
export { createTreeCollection } from '@chakra-ui/react/collection';
|
|
5
|
+
export type { TreeViewExpandedChangeDetails as BitkitTreeViewExpandedChangeDetails, TreeViewNodeRenderProps as BitkitTreeViewNodeRenderProps, TreeViewSelectionChangeDetails as BitkitTreeViewSelectionChangeDetails, } from '@chakra-ui/react/tree-view';
|
|
6
|
+
export type BitkitTreeViewVariant = 'files' | 'navigation';
|
|
7
|
+
export interface BitkitTreeViewRootProps extends Omit<TreeViewRootProps, 'children'> {
|
|
8
|
+
children?: ReactNode;
|
|
9
|
+
render: (props: TreeViewNodeRenderProps) => ReactNode;
|
|
10
|
+
variant?: BitkitTreeViewVariant;
|
|
11
|
+
}
|
|
12
|
+
export interface BitkitTreeViewBranchProps extends Omit<TreeViewBranchControlProps, 'children'> {
|
|
13
|
+
actions?: ReactElement[];
|
|
14
|
+
hasWarning?: boolean;
|
|
15
|
+
label: string;
|
|
16
|
+
subtext?: ReactNode;
|
|
17
|
+
suffixIcon?: BitkitIconComponent;
|
|
18
|
+
suffixText?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface BitkitTreeViewLeafProps extends Omit<TreeViewItemProps, 'children'> {
|
|
21
|
+
actions?: ReactElement[];
|
|
22
|
+
badge?: ReactElement;
|
|
23
|
+
hasWarning?: boolean;
|
|
24
|
+
icon?: BitkitIconComponent;
|
|
25
|
+
label: string;
|
|
26
|
+
subtext?: ReactNode;
|
|
27
|
+
suffixIcon?: BitkitIconComponent;
|
|
28
|
+
suffixText?: string;
|
|
29
|
+
}
|
|
30
|
+
declare const BitkitTreeView: import('react').ForwardRefExoticComponent<BitkitTreeViewRootProps & import('react').RefAttributes<HTMLDivElement>> & {
|
|
31
|
+
Branch: import('react').ForwardRefExoticComponent<BitkitTreeViewBranchProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
32
|
+
Leaf: import('react').ForwardRefExoticComponent<BitkitTreeViewLeafProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
33
|
+
};
|
|
34
|
+
export default BitkitTreeView;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import IconChevronRight from "../../icons/IconChevronRight.js";
|
|
2
|
+
import IconFolder from "../../icons/IconFolder.js";
|
|
3
|
+
import IconWarningYellow from "../../icons/IconWarningYellow.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 { cloneElement, forwardRef } from "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { createTreeCollection } from "@chakra-ui/react/collection";
|
|
10
|
+
import { createContext as createContext$1 } from "@chakra-ui/react";
|
|
11
|
+
import { TreeView } from "@chakra-ui/react/tree-view";
|
|
12
|
+
//#region lib/components/BitkitTreeView/BitkitTreeView.tsx
|
|
13
|
+
var [VariantProvider, useVariant] = createContext$1({
|
|
14
|
+
name: "BitkitTreeViewVariantContext",
|
|
15
|
+
defaultValue: { variant: "files" }
|
|
16
|
+
});
|
|
17
|
+
var useCustomSlotStyles = (variant) => {
|
|
18
|
+
return useSlotRecipe({ key: "treeView" })({ variant });
|
|
19
|
+
};
|
|
20
|
+
var Root = forwardRef(({ children, render, variant = "files", ...props }, ref) => {
|
|
21
|
+
const indentGuide = variant === "files" ? /* @__PURE__ */ jsx(TreeView.BranchIndentGuide, {}) : void 0;
|
|
22
|
+
return /* @__PURE__ */ jsx(VariantProvider, {
|
|
23
|
+
value: { variant },
|
|
24
|
+
children: /* @__PURE__ */ jsx(TreeView.Root, {
|
|
25
|
+
ref,
|
|
26
|
+
variant,
|
|
27
|
+
...props,
|
|
28
|
+
children: /* @__PURE__ */ jsxs(TreeView.Tree, { children: [/* @__PURE__ */ jsx(TreeView.Node, {
|
|
29
|
+
indentGuide,
|
|
30
|
+
render
|
|
31
|
+
}), children] })
|
|
32
|
+
})
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
Root.displayName = "BitkitTreeView";
|
|
36
|
+
var Branch = forwardRef((props, ref) => {
|
|
37
|
+
const { actions, hasWarning, label, subtext, suffixIcon: SuffixIcon, suffixText, ...rest } = props;
|
|
38
|
+
const { variant } = useVariant();
|
|
39
|
+
const styles = useCustomSlotStyles(variant);
|
|
40
|
+
const hasSuffix = hasWarning || SuffixIcon || suffixText;
|
|
41
|
+
const hasActions = actions && actions.length > 0;
|
|
42
|
+
const BranchIcon = variant === "navigation" ? IconChevronRight : IconFolder;
|
|
43
|
+
return /* @__PURE__ */ jsxs(TreeView.BranchControl, {
|
|
44
|
+
ref,
|
|
45
|
+
className: hasActions ? "group" : void 0,
|
|
46
|
+
...rest,
|
|
47
|
+
children: [
|
|
48
|
+
/* @__PURE__ */ jsx(TreeView.BranchIndicator, { children: /* @__PURE__ */ jsx(BranchIcon, { size: "16" }) }),
|
|
49
|
+
/* @__PURE__ */ jsxs(TreeView.BranchText, { children: [label, subtext && /* @__PURE__ */ jsx(Text, {
|
|
50
|
+
css: styles.secondaryText,
|
|
51
|
+
children: subtext
|
|
52
|
+
})] }),
|
|
53
|
+
hasSuffix && /* @__PURE__ */ jsxs(Box, {
|
|
54
|
+
css: styles.suffixGroup,
|
|
55
|
+
children: [
|
|
56
|
+
hasWarning && /* @__PURE__ */ jsx(IconWarningYellow, { size: "16" }),
|
|
57
|
+
SuffixIcon && /* @__PURE__ */ jsx(SuffixIcon, { size: "16" }),
|
|
58
|
+
suffixText && /* @__PURE__ */ jsx("span", { children: suffixText })
|
|
59
|
+
]
|
|
60
|
+
}),
|
|
61
|
+
hasActions && /* @__PURE__ */ jsx(Box, {
|
|
62
|
+
css: styles.actionGroup,
|
|
63
|
+
children: actions.map((action) => cloneElement(action, { size: "xs" }))
|
|
64
|
+
})
|
|
65
|
+
]
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
Branch.displayName = "BitkitTreeView.Branch";
|
|
69
|
+
var Leaf = forwardRef((props, ref) => {
|
|
70
|
+
const { actions, badge, hasWarning, icon: Icon, label, subtext, suffixIcon: SuffixIcon, suffixText, ...rest } = props;
|
|
71
|
+
const { variant } = useVariant();
|
|
72
|
+
const styles = useCustomSlotStyles(variant);
|
|
73
|
+
const hasSuffix = hasWarning || SuffixIcon || suffixText;
|
|
74
|
+
const hasActions = actions && actions.length > 0;
|
|
75
|
+
return /* @__PURE__ */ jsxs(TreeView.Item, {
|
|
76
|
+
ref,
|
|
77
|
+
className: hasActions ? "group" : void 0,
|
|
78
|
+
...rest,
|
|
79
|
+
children: [
|
|
80
|
+
Icon && /* @__PURE__ */ jsx(Icon, { size: "16" }),
|
|
81
|
+
badge && cloneElement(badge, { size: "xxs" }),
|
|
82
|
+
/* @__PURE__ */ jsxs(TreeView.ItemText, { children: [label, subtext && /* @__PURE__ */ jsx(Text, {
|
|
83
|
+
css: styles.secondaryText,
|
|
84
|
+
children: subtext
|
|
85
|
+
})] }),
|
|
86
|
+
hasSuffix && /* @__PURE__ */ jsxs(Box, {
|
|
87
|
+
css: styles.suffixGroup,
|
|
88
|
+
children: [
|
|
89
|
+
hasWarning && /* @__PURE__ */ jsx(IconWarningYellow, { size: "16" }),
|
|
90
|
+
SuffixIcon && /* @__PURE__ */ jsx(SuffixIcon, { size: "16" }),
|
|
91
|
+
suffixText && /* @__PURE__ */ jsx("span", { children: suffixText })
|
|
92
|
+
]
|
|
93
|
+
}),
|
|
94
|
+
hasActions && /* @__PURE__ */ jsx(Box, {
|
|
95
|
+
css: styles.actionGroup,
|
|
96
|
+
children: actions.map((action) => cloneElement(action, { size: "xs" }))
|
|
97
|
+
})
|
|
98
|
+
]
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
Leaf.displayName = "BitkitTreeView.Leaf";
|
|
102
|
+
var BitkitTreeView = Object.assign(Root, {
|
|
103
|
+
Branch,
|
|
104
|
+
Leaf
|
|
105
|
+
});
|
|
106
|
+
//#endregion
|
|
107
|
+
export { createTreeCollection, BitkitTreeView as default };
|
|
108
|
+
|
|
109
|
+
//# sourceMappingURL=BitkitTreeView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BitkitTreeView.js","names":[],"sources":["../../../lib/components/BitkitTreeView/BitkitTreeView.tsx"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { createContext } from '@chakra-ui/react';\nimport { Box } from '@chakra-ui/react/box';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { Text } from '@chakra-ui/react/text';\nimport {\n TreeView,\n type TreeViewBranchControlProps,\n type TreeViewItemProps,\n type TreeViewNodeRenderProps,\n type TreeViewRootProps,\n} from '@chakra-ui/react/tree-view';\nimport { cloneElement, forwardRef, type ReactElement, type ReactNode } from 'react';\n\nimport { type BitkitIconComponent, IconChevronRight, IconFolder, IconWarningYellow } from '../../icons';\n\n// Re-export for consumer convenience\nexport { createTreeCollection } from '@chakra-ui/react/collection';\n\n// Re-export useful types\nexport type {\n TreeViewExpandedChangeDetails as BitkitTreeViewExpandedChangeDetails,\n TreeViewNodeRenderProps as BitkitTreeViewNodeRenderProps,\n TreeViewSelectionChangeDetails as BitkitTreeViewSelectionChangeDetails,\n} from '@chakra-ui/react/tree-view';\n\n// --- Variant context ---\n\nexport type BitkitTreeViewVariant = 'files' | 'navigation';\n\nconst [VariantProvider, useVariant] = createContext<{ variant: BitkitTreeViewVariant }>({\n name: 'BitkitTreeViewVariantContext',\n defaultValue: { variant: 'files' },\n});\n\nconst useCustomSlotStyles = (variant: BitkitTreeViewVariant) => {\n const recipe = useSlotRecipe({ key: 'treeView' });\n return recipe({ variant });\n};\n\n// --- Root ---\n\nexport interface BitkitTreeViewRootProps extends Omit<TreeViewRootProps, 'children'> {\n children?: ReactNode;\n render: (props: TreeViewNodeRenderProps) => ReactNode;\n variant?: BitkitTreeViewVariant;\n}\n\nconst Root = forwardRef<HTMLDivElement, BitkitTreeViewRootProps>(\n ({ children, render, variant = 'files', ...props }, ref) => {\n const indentGuide = variant === 'files' ? <TreeView.BranchIndentGuide /> : undefined;\n\n return (\n <VariantProvider value={{ variant }}>\n <TreeView.Root ref={ref} variant={variant} {...props}>\n <TreeView.Tree>\n <TreeView.Node indentGuide={indentGuide} render={render as never} />\n {children}\n </TreeView.Tree>\n </TreeView.Root>\n </VariantProvider>\n );\n },\n);\nRoot.displayName = 'BitkitTreeView';\n\n// --- Branch ---\n\nexport interface BitkitTreeViewBranchProps extends Omit<TreeViewBranchControlProps, 'children'> {\n actions?: ReactElement[];\n hasWarning?: boolean;\n label: string;\n subtext?: ReactNode;\n suffixIcon?: BitkitIconComponent;\n suffixText?: string;\n}\n\nconst Branch = forwardRef<HTMLDivElement, BitkitTreeViewBranchProps>((props, ref) => {\n const { actions, hasWarning, label, subtext, suffixIcon: SuffixIcon, suffixText, ...rest } = props;\n const { variant } = useVariant();\n const styles = useCustomSlotStyles(variant);\n const hasSuffix = hasWarning || SuffixIcon || suffixText;\n const hasActions = actions && actions.length > 0;\n\n const BranchIcon = variant === 'navigation' ? IconChevronRight : IconFolder;\n\n return (\n <TreeView.BranchControl ref={ref} className={hasActions ? 'group' : undefined} {...rest}>\n <TreeView.BranchIndicator>\n <BranchIcon size=\"16\" />\n </TreeView.BranchIndicator>\n <TreeView.BranchText>\n {label}\n {subtext && <Text css={styles.secondaryText}>{subtext}</Text>}\n </TreeView.BranchText>\n {hasSuffix && (\n <Box css={styles.suffixGroup}>\n {hasWarning && <IconWarningYellow size=\"16\" />}\n {SuffixIcon && <SuffixIcon size=\"16\" />}\n {suffixText && <span>{suffixText}</span>}\n </Box>\n )}\n {hasActions && (\n <Box css={styles.actionGroup}>{actions.map((action) => cloneElement(action, { size: 'xs' }))}</Box>\n )}\n </TreeView.BranchControl>\n );\n});\nBranch.displayName = 'BitkitTreeView.Branch';\n\n// --- Leaf ---\n\nexport interface BitkitTreeViewLeafProps extends Omit<TreeViewItemProps, 'children'> {\n actions?: ReactElement[];\n badge?: ReactElement;\n hasWarning?: boolean;\n icon?: BitkitIconComponent;\n label: string;\n subtext?: ReactNode;\n suffixIcon?: BitkitIconComponent;\n suffixText?: string;\n}\n\nconst Leaf = forwardRef<HTMLDivElement, BitkitTreeViewLeafProps>((props, ref) => {\n const { actions, badge, hasWarning, icon: Icon, label, subtext, suffixIcon: SuffixIcon, suffixText, ...rest } = props;\n const { variant } = useVariant();\n const styles = useCustomSlotStyles(variant);\n const hasSuffix = hasWarning || SuffixIcon || suffixText;\n const hasActions = actions && actions.length > 0;\n\n return (\n <TreeView.Item ref={ref} className={hasActions ? 'group' : undefined} {...rest}>\n {Icon && <Icon size=\"16\" />}\n {badge && cloneElement(badge, { size: 'xxs' })}\n <TreeView.ItemText>\n {label}\n {subtext && <Text css={styles.secondaryText}>{subtext}</Text>}\n </TreeView.ItemText>\n {hasSuffix && (\n <Box css={styles.suffixGroup}>\n {hasWarning && <IconWarningYellow size=\"16\" />}\n {SuffixIcon && <SuffixIcon size=\"16\" />}\n {suffixText && <span>{suffixText}</span>}\n </Box>\n )}\n {hasActions && (\n <Box css={styles.actionGroup}>{actions.map((action) => cloneElement(action, { size: 'xs' }))}</Box>\n )}\n </TreeView.Item>\n );\n});\nLeaf.displayName = 'BitkitTreeView.Leaf';\n\n// --- Main export ---\n\nconst BitkitTreeView = Object.assign(Root, {\n Branch,\n Leaf,\n});\n\nexport default BitkitTreeView;\n"],"mappings":";;;;;;;;;;;;AA8BA,IAAM,CAAC,iBAAiB,cAAc,gBAAkD;CACtF,MAAM;CACN,cAAc,EAAE,SAAS,SAAS;CACnC,CAAC;AAEF,IAAM,uBAAuB,YAAmC;AAE9D,QADe,cAAc,EAAE,KAAK,YAAY,CAAC,CACnC,EAAE,SAAS,CAAC;;AAW5B,IAAM,OAAO,YACV,EAAE,UAAU,QAAQ,UAAU,SAAS,GAAG,SAAS,QAAQ;CAC1D,MAAM,cAAc,YAAY,UAAU,oBAAC,SAAS,mBAAV,EAA8B,CAAA,GAAG,KAAA;AAE3E,QACE,oBAAC,iBAAD;EAAiB,OAAO,EAAE,SAAS;YACjC,oBAAC,SAAS,MAAV;GAAoB;GAAc;GAAS,GAAI;aAC7C,qBAAC,SAAS,MAAV,EAAA,UAAA,CACE,oBAAC,SAAS,MAAV;IAA4B;IAAqB;IAAmB,CAAA,EACnE,SACa,EAAA,CAAA;GACF,CAAA;EACA,CAAA;EAGvB;AACD,KAAK,cAAc;AAanB,IAAM,SAAS,YAAuD,OAAO,QAAQ;CACnF,MAAM,EAAE,SAAS,YAAY,OAAO,SAAS,YAAY,YAAY,YAAY,GAAG,SAAS;CAC7F,MAAM,EAAE,YAAY,YAAY;CAChC,MAAM,SAAS,oBAAoB,QAAQ;CAC3C,MAAM,YAAY,cAAc,cAAc;CAC9C,MAAM,aAAa,WAAW,QAAQ,SAAS;CAE/C,MAAM,aAAa,YAAY,eAAe,mBAAmB;AAEjE,QACE,qBAAC,SAAS,eAAV;EAA6B;EAAK,WAAW,aAAa,UAAU,KAAA;EAAW,GAAI;YAAnF;GACE,oBAAC,SAAS,iBAAV,EAAA,UACE,oBAAC,YAAD,EAAY,MAAK,MAAO,CAAA,EACC,CAAA;GAC3B,qBAAC,SAAS,YAAV,EAAA,UAAA,CACG,OACA,WAAW,oBAAC,MAAD;IAAM,KAAK,OAAO;cAAgB;IAAe,CAAA,CACzC,EAAA,CAAA;GACrB,aACC,qBAAC,KAAD;IAAK,KAAK,OAAO;cAAjB;KACG,cAAc,oBAAC,mBAAD,EAAmB,MAAK,MAAO,CAAA;KAC7C,cAAc,oBAAC,YAAD,EAAY,MAAK,MAAO,CAAA;KACtC,cAAc,oBAAC,QAAD,EAAA,UAAO,YAAkB,CAAA;KACpC;;GAEP,cACC,oBAAC,KAAD;IAAK,KAAK,OAAO;cAAc,QAAQ,KAAK,WAAW,aAAa,QAAQ,EAAE,MAAM,MAAM,CAAC,CAAC;IAAO,CAAA;GAE9E;;EAE3B;AACF,OAAO,cAAc;AAerB,IAAM,OAAO,YAAqD,OAAO,QAAQ;CAC/E,MAAM,EAAE,SAAS,OAAO,YAAY,MAAM,MAAM,OAAO,SAAS,YAAY,YAAY,YAAY,GAAG,SAAS;CAChH,MAAM,EAAE,YAAY,YAAY;CAChC,MAAM,SAAS,oBAAoB,QAAQ;CAC3C,MAAM,YAAY,cAAc,cAAc;CAC9C,MAAM,aAAa,WAAW,QAAQ,SAAS;AAE/C,QACE,qBAAC,SAAS,MAAV;EAAoB;EAAK,WAAW,aAAa,UAAU,KAAA;EAAW,GAAI;YAA1E;GACG,QAAQ,oBAAC,MAAD,EAAM,MAAK,MAAO,CAAA;GAC1B,SAAS,aAAa,OAAO,EAAE,MAAM,OAAO,CAAC;GAC9C,qBAAC,SAAS,UAAV,EAAA,UAAA,CACG,OACA,WAAW,oBAAC,MAAD;IAAM,KAAK,OAAO;cAAgB;IAAe,CAAA,CAC3C,EAAA,CAAA;GACnB,aACC,qBAAC,KAAD;IAAK,KAAK,OAAO;cAAjB;KACG,cAAc,oBAAC,mBAAD,EAAmB,MAAK,MAAO,CAAA;KAC7C,cAAc,oBAAC,YAAD,EAAY,MAAK,MAAO,CAAA;KACtC,cAAc,oBAAC,QAAD,EAAA,UAAO,YAAkB,CAAA;KACpC;;GAEP,cACC,oBAAC,KAAD;IAAK,KAAK,OAAO;cAAc,QAAQ,KAAK,WAAW,aAAa,QAAQ,EAAE,MAAM,MAAM,CAAC,CAAC;IAAO,CAAA;GAEvF;;EAElB;AACF,KAAK,cAAc;AAInB,IAAM,iBAAiB,OAAO,OAAO,MAAM;CACzC;CACA;CACD,CAAC"}
|
|
@@ -42,6 +42,7 @@ export { default as BitkitNumberInput, type BitkitNumberInputProps } from './Bit
|
|
|
42
42
|
export { default as BitkitOrderedList, type BitkitOrderedListItemProps, type BitkitOrderedListProps, } from './BitkitOrderedList/BitkitOrderedList';
|
|
43
43
|
export { default as BitkitOverflowContent, type BitkitOverflowContentProps, } from './BitkitOverflowContent/BitkitOverflowContent';
|
|
44
44
|
export { default as BitkitOverflowTooltip, type BitkitOverflowTooltipProps, } from './BitkitOverflowTooltip/BitkitOverflowTooltip';
|
|
45
|
+
export { default as BitkitPageFooter, type BitkitPageFooterItemProps, type BitkitPageFooterProps, } from './BitkitPageFooter/BitkitPageFooter';
|
|
45
46
|
export { default as BitkitPagination, type BitkitPaginationLabels, type BitkitPaginationProps, } from './BitkitPagination/BitkitPagination';
|
|
46
47
|
export { default as BitkitPaginationLoadMore, type BitkitPaginationLoadMoreProps, } from './BitkitPaginationLoadMore/BitkitPaginationLoadMore';
|
|
47
48
|
export { default as BitkitRadio, type BitkitRadioProps } from './BitkitRadio/BitkitRadio';
|
|
@@ -66,4 +67,5 @@ export { type BitkitToastProps, default as createBitkitToast } from './BitkitToa
|
|
|
66
67
|
export { default as BitkitToggle, type BitkitToggleProps } from './BitkitToggle';
|
|
67
68
|
export { default as BitkitToggleButton, type BitkitToggleButtonProps } from './BitkitToggleButton/BitkitToggleButton';
|
|
68
69
|
export { default as BitkitTooltip, type BitkitTooltipProps } from './BitkitTooltip/BitkitTooltip';
|
|
70
|
+
export { default as BitkitTreeView, type BitkitTreeViewBranchProps, type BitkitTreeViewExpandedChangeDetails, type BitkitTreeViewLeafProps, type BitkitTreeViewNodeRenderProps, type BitkitTreeViewRootProps, type BitkitTreeViewSelectionChangeDetails, createTreeCollection, } from './BitkitTreeView/BitkitTreeView';
|
|
69
71
|
export { default as BitkitUnorderedList, type BitkitUnorderedListItemProps, type BitkitUnorderedListProps, } from './BitkitUnorderedList/BitkitUnorderedList';
|
package/dist/main.js
CHANGED
|
@@ -326,6 +326,7 @@ import BitkitNoteCard from "./components/BitkitNoteCard/BitkitNoteCard.js";
|
|
|
326
326
|
import BitkitNumberInput from "./components/BitkitNumberInput/BitkitNumberInput.js";
|
|
327
327
|
import BitkitOverflowContent from "./components/BitkitOverflowContent/BitkitOverflowContent.js";
|
|
328
328
|
import BitkitOverflowTooltip from "./components/BitkitOverflowTooltip/BitkitOverflowTooltip.js";
|
|
329
|
+
import BitkitPageFooter_default from "./components/BitkitPageFooter/BitkitPageFooter.js";
|
|
329
330
|
import BitkitPagination from "./components/BitkitPagination/BitkitPagination.js";
|
|
330
331
|
import BitkitPaginationLoadMore from "./components/BitkitPaginationLoadMore/BitkitPaginationLoadMore.js";
|
|
331
332
|
import BitkitRadio from "./components/BitkitRadio/BitkitRadio.js";
|
|
@@ -348,6 +349,7 @@ import BitkitTextInput from "./components/BitkitTextInput/BitkitTextInput.js";
|
|
|
348
349
|
import createBitkitToast from "./components/BitkitToast/BitkitToast.js";
|
|
349
350
|
import BitkitToggle from "./components/BitkitToggle/BitkitToggle.js";
|
|
350
351
|
import BitkitToggleButton from "./components/BitkitToggleButton/BitkitToggleButton.js";
|
|
352
|
+
import BitkitTreeView, { createTreeCollection } from "./components/BitkitTreeView/BitkitTreeView.js";
|
|
351
353
|
import bitkitTheme from "./theme/index.js";
|
|
352
354
|
import Provider from "./providers/BitkitProvider.js";
|
|
353
|
-
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, 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 };
|
|
355
|
+
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, BitkitTreeView, 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, createTreeCollection };
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
declare const pageFooterSlotRecipe: import('@chakra-ui/react').SlotRecipeDefinition<"link" | "status" | "root" | "statusLabel" | "statusDot" | "copyright" | "copyrightText" | "links", {
|
|
2
|
+
colorScheme: {
|
|
3
|
+
gray: {
|
|
4
|
+
root: {
|
|
5
|
+
background: "background/secondary";
|
|
6
|
+
};
|
|
7
|
+
status: {
|
|
8
|
+
background: "background/tertiary";
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
white: {
|
|
12
|
+
root: {
|
|
13
|
+
background: "background/primary";
|
|
14
|
+
};
|
|
15
|
+
status: {
|
|
16
|
+
background: "background/secondary";
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
size: {
|
|
21
|
+
compact: {
|
|
22
|
+
root: {
|
|
23
|
+
height: {
|
|
24
|
+
tablet: "32";
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
default: {
|
|
29
|
+
root: {
|
|
30
|
+
height: {
|
|
31
|
+
tablet: "64";
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
variant: {
|
|
37
|
+
default: {
|
|
38
|
+
root: {
|
|
39
|
+
paddingInlineEnd: {
|
|
40
|
+
base: "16";
|
|
41
|
+
tablet: string;
|
|
42
|
+
};
|
|
43
|
+
position: {
|
|
44
|
+
tablet: "relative";
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
copyright: {
|
|
48
|
+
insetInlineStart: {
|
|
49
|
+
tablet: "50%";
|
|
50
|
+
};
|
|
51
|
+
position: {
|
|
52
|
+
tablet: "absolute";
|
|
53
|
+
};
|
|
54
|
+
top: {
|
|
55
|
+
tablet: "50%";
|
|
56
|
+
};
|
|
57
|
+
transform: {
|
|
58
|
+
tablet: "translate(-50%, -50%)";
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
links: {
|
|
62
|
+
borderBlockEnd: {
|
|
63
|
+
base: "1px solid {colors.border.minimal}";
|
|
64
|
+
tablet: "none";
|
|
65
|
+
};
|
|
66
|
+
borderBlockStart: {
|
|
67
|
+
base: "1px solid {colors.border.minimal}";
|
|
68
|
+
tablet: "none";
|
|
69
|
+
};
|
|
70
|
+
paddingBlock: {
|
|
71
|
+
base: "16";
|
|
72
|
+
tablet: "0";
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
public: {
|
|
77
|
+
root: {
|
|
78
|
+
paddingInlineEnd: {
|
|
79
|
+
base: "16";
|
|
80
|
+
tablet: "40";
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
links: {
|
|
84
|
+
borderBlockEnd: {
|
|
85
|
+
base: "1px solid {colors.border.minimal}";
|
|
86
|
+
tablet: "none";
|
|
87
|
+
};
|
|
88
|
+
paddingBlockEnd: {
|
|
89
|
+
base: "16";
|
|
90
|
+
tablet: "0";
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
}>;
|
|
96
|
+
export default pageFooterSlotRecipe;
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { rem } from "../themeUtils.js";
|
|
2
|
+
import { defineSlotRecipe } from "@chakra-ui/react/styled-system";
|
|
3
|
+
//#region lib/theme/slot-recipes/PageFooter.recipe.ts
|
|
4
|
+
var pageFooterSlotRecipe = defineSlotRecipe({
|
|
5
|
+
className: "page-footer",
|
|
6
|
+
slots: [
|
|
7
|
+
"root",
|
|
8
|
+
"status",
|
|
9
|
+
"statusDot",
|
|
10
|
+
"statusLabel",
|
|
11
|
+
"copyright",
|
|
12
|
+
"copyrightText",
|
|
13
|
+
"links",
|
|
14
|
+
"link"
|
|
15
|
+
],
|
|
16
|
+
base: {
|
|
17
|
+
root: {
|
|
18
|
+
alignItems: "center",
|
|
19
|
+
display: "flex",
|
|
20
|
+
flexDirection: {
|
|
21
|
+
base: "column",
|
|
22
|
+
tablet: "row"
|
|
23
|
+
},
|
|
24
|
+
gap: {
|
|
25
|
+
base: "16",
|
|
26
|
+
tablet: "0"
|
|
27
|
+
},
|
|
28
|
+
justifyContent: "space-between",
|
|
29
|
+
padding: {
|
|
30
|
+
base: "16",
|
|
31
|
+
tablet: "0"
|
|
32
|
+
},
|
|
33
|
+
paddingInlineStart: {
|
|
34
|
+
base: "16",
|
|
35
|
+
tablet: "20"
|
|
36
|
+
},
|
|
37
|
+
width: "100%"
|
|
38
|
+
},
|
|
39
|
+
status: {
|
|
40
|
+
alignItems: "center",
|
|
41
|
+
borderRadius: "4",
|
|
42
|
+
display: "flex",
|
|
43
|
+
flexShrink: 0,
|
|
44
|
+
gap: "4",
|
|
45
|
+
paddingBlock: "4",
|
|
46
|
+
paddingInlineEnd: "8",
|
|
47
|
+
paddingInlineStart: "4"
|
|
48
|
+
},
|
|
49
|
+
statusDot: {
|
|
50
|
+
borderRadius: "full",
|
|
51
|
+
flexShrink: 0,
|
|
52
|
+
height: "8",
|
|
53
|
+
width: "8",
|
|
54
|
+
marginInline: "4"
|
|
55
|
+
},
|
|
56
|
+
statusLabel: {
|
|
57
|
+
color: "text/secondary",
|
|
58
|
+
textStyle: "comp/badge/sm",
|
|
59
|
+
whiteSpace: "nowrap"
|
|
60
|
+
},
|
|
61
|
+
copyright: {
|
|
62
|
+
alignItems: "center",
|
|
63
|
+
display: "flex",
|
|
64
|
+
gap: "8",
|
|
65
|
+
order: {
|
|
66
|
+
base: 3,
|
|
67
|
+
tablet: 0
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
copyrightText: {
|
|
71
|
+
color: "text/secondary",
|
|
72
|
+
textStyle: "body/md/regular",
|
|
73
|
+
whiteSpace: "nowrap"
|
|
74
|
+
},
|
|
75
|
+
links: {
|
|
76
|
+
alignItems: "center",
|
|
77
|
+
display: "flex",
|
|
78
|
+
flexShrink: 0,
|
|
79
|
+
flexWrap: {
|
|
80
|
+
base: "wrap",
|
|
81
|
+
tablet: "nowrap"
|
|
82
|
+
},
|
|
83
|
+
gap: {
|
|
84
|
+
base: "40",
|
|
85
|
+
tablet: "24"
|
|
86
|
+
},
|
|
87
|
+
justifyContent: {
|
|
88
|
+
base: "center",
|
|
89
|
+
tablet: "flex-start"
|
|
90
|
+
},
|
|
91
|
+
order: {
|
|
92
|
+
base: 2,
|
|
93
|
+
tablet: 0
|
|
94
|
+
},
|
|
95
|
+
rowGap: {
|
|
96
|
+
base: "12",
|
|
97
|
+
tablet: "8"
|
|
98
|
+
},
|
|
99
|
+
width: {
|
|
100
|
+
base: "100%",
|
|
101
|
+
tablet: "auto"
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
link: {
|
|
105
|
+
background: "transparent",
|
|
106
|
+
border: "none",
|
|
107
|
+
color: "text/secondary",
|
|
108
|
+
cursor: "pointer",
|
|
109
|
+
padding: 0,
|
|
110
|
+
textDecoration: "none",
|
|
111
|
+
textStyle: {
|
|
112
|
+
base: "body/lg/regular",
|
|
113
|
+
tablet: "body/md/regular"
|
|
114
|
+
},
|
|
115
|
+
whiteSpace: "nowrap",
|
|
116
|
+
_hover: { textDecoration: "underline" }
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
variants: {
|
|
120
|
+
colorScheme: {
|
|
121
|
+
gray: {
|
|
122
|
+
root: { background: "background/secondary" },
|
|
123
|
+
status: { background: "background/tertiary" }
|
|
124
|
+
},
|
|
125
|
+
white: {
|
|
126
|
+
root: { background: "background/primary" },
|
|
127
|
+
status: { background: "background/secondary" }
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
size: {
|
|
131
|
+
compact: { root: { height: { tablet: "32" } } },
|
|
132
|
+
default: { root: { height: { tablet: "64" } } }
|
|
133
|
+
},
|
|
134
|
+
variant: {
|
|
135
|
+
default: {
|
|
136
|
+
root: {
|
|
137
|
+
paddingInlineEnd: {
|
|
138
|
+
base: "16",
|
|
139
|
+
tablet: rem(80)
|
|
140
|
+
},
|
|
141
|
+
position: { tablet: "relative" }
|
|
142
|
+
},
|
|
143
|
+
copyright: {
|
|
144
|
+
insetInlineStart: { tablet: "50%" },
|
|
145
|
+
position: { tablet: "absolute" },
|
|
146
|
+
top: { tablet: "50%" },
|
|
147
|
+
transform: { tablet: "translate(-50%, -50%)" }
|
|
148
|
+
},
|
|
149
|
+
links: {
|
|
150
|
+
borderBlockEnd: {
|
|
151
|
+
base: "1px solid {colors.border.minimal}",
|
|
152
|
+
tablet: "none"
|
|
153
|
+
},
|
|
154
|
+
borderBlockStart: {
|
|
155
|
+
base: "1px solid {colors.border.minimal}",
|
|
156
|
+
tablet: "none"
|
|
157
|
+
},
|
|
158
|
+
paddingBlock: {
|
|
159
|
+
base: "16",
|
|
160
|
+
tablet: "0"
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
public: {
|
|
165
|
+
root: { paddingInlineEnd: {
|
|
166
|
+
base: "16",
|
|
167
|
+
tablet: "40"
|
|
168
|
+
} },
|
|
169
|
+
links: {
|
|
170
|
+
borderBlockEnd: {
|
|
171
|
+
base: "1px solid {colors.border.minimal}",
|
|
172
|
+
tablet: "none"
|
|
173
|
+
},
|
|
174
|
+
paddingBlockEnd: {
|
|
175
|
+
base: "16",
|
|
176
|
+
tablet: "0"
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
defaultVariants: {
|
|
183
|
+
colorScheme: "gray",
|
|
184
|
+
size: "default",
|
|
185
|
+
variant: "default"
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
//#endregion
|
|
189
|
+
export { pageFooterSlotRecipe as default };
|
|
190
|
+
|
|
191
|
+
//# sourceMappingURL=PageFooter.recipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageFooter.recipe.js","names":[],"sources":["../../../lib/theme/slot-recipes/PageFooter.recipe.ts"],"sourcesContent":["import { defineSlotRecipe } from '@chakra-ui/react/styled-system';\n\nimport { rem } from '../themeUtils';\n\nconst pageFooterSlotRecipe = defineSlotRecipe({\n className: 'page-footer',\n slots: ['root', 'status', 'statusDot', 'statusLabel', 'copyright', 'copyrightText', 'links', 'link'] as const,\n base: {\n root: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: { base: 'column', tablet: 'row' },\n gap: { base: '16', tablet: '0' },\n justifyContent: 'space-between',\n padding: { base: '16', tablet: '0' },\n paddingInlineStart: { base: '16', tablet: '20' },\n width: '100%',\n },\n status: {\n alignItems: 'center',\n borderRadius: '4',\n display: 'flex',\n flexShrink: 0,\n gap: '4',\n paddingBlock: '4',\n paddingInlineEnd: '8',\n paddingInlineStart: '4',\n },\n statusDot: {\n borderRadius: 'full',\n flexShrink: 0,\n height: '8',\n width: '8',\n marginInline: '4',\n },\n statusLabel: {\n color: 'text/secondary',\n textStyle: 'comp/badge/sm',\n whiteSpace: 'nowrap',\n },\n copyright: {\n alignItems: 'center',\n display: 'flex',\n gap: '8',\n order: { base: 3, tablet: 0 },\n },\n copyrightText: {\n color: 'text/secondary',\n textStyle: 'body/md/regular',\n whiteSpace: 'nowrap',\n },\n links: {\n alignItems: 'center',\n display: 'flex',\n flexShrink: 0,\n flexWrap: { base: 'wrap', tablet: 'nowrap' },\n gap: { base: '40', tablet: '24' },\n justifyContent: { base: 'center', tablet: 'flex-start' },\n order: { base: 2, tablet: 0 },\n rowGap: { base: '12', tablet: '8' },\n width: { base: '100%', tablet: 'auto' },\n },\n link: {\n background: 'transparent',\n border: 'none',\n color: 'text/secondary',\n cursor: 'pointer',\n padding: 0,\n textDecoration: 'none',\n textStyle: { base: 'body/lg/regular', tablet: 'body/md/regular' },\n whiteSpace: 'nowrap',\n _hover: {\n textDecoration: 'underline',\n },\n },\n },\n variants: {\n colorScheme: {\n gray: {\n root: {\n background: 'background/secondary',\n },\n status: {\n background: 'background/tertiary',\n },\n },\n white: {\n root: {\n background: 'background/primary',\n },\n status: {\n background: 'background/secondary',\n },\n },\n },\n size: {\n compact: {\n root: {\n height: { tablet: '32' },\n },\n },\n default: {\n root: {\n height: { tablet: '64' },\n },\n },\n },\n variant: {\n default: {\n root: {\n paddingInlineEnd: { base: '16', tablet: rem(80) },\n position: { tablet: 'relative' },\n },\n copyright: {\n insetInlineStart: { tablet: '50%' },\n position: { tablet: 'absolute' },\n top: { tablet: '50%' },\n transform: { tablet: 'translate(-50%, -50%)' },\n },\n links: {\n borderBlockEnd: { base: '1px solid {colors.border.minimal}', tablet: 'none' },\n borderBlockStart: { base: '1px solid {colors.border.minimal}', tablet: 'none' },\n paddingBlock: { base: '16', tablet: '0' },\n },\n },\n public: {\n root: {\n paddingInlineEnd: { base: '16', tablet: '40' },\n },\n links: {\n borderBlockEnd: { base: '1px solid {colors.border.minimal}', tablet: 'none' },\n paddingBlockEnd: { base: '16', tablet: '0' },\n },\n },\n },\n },\n defaultVariants: {\n colorScheme: 'gray',\n size: 'default',\n variant: 'default',\n },\n});\n\nexport default pageFooterSlotRecipe;\n"],"mappings":";;;AAIA,IAAM,uBAAuB,iBAAiB;CAC5C,WAAW;CACX,OAAO;EAAC;EAAQ;EAAU;EAAa;EAAe;EAAa;EAAiB;EAAS;EAAO;CACpG,MAAM;EACJ,MAAM;GACJ,YAAY;GACZ,SAAS;GACT,eAAe;IAAE,MAAM;IAAU,QAAQ;IAAO;GAChD,KAAK;IAAE,MAAM;IAAM,QAAQ;IAAK;GAChC,gBAAgB;GAChB,SAAS;IAAE,MAAM;IAAM,QAAQ;IAAK;GACpC,oBAAoB;IAAE,MAAM;IAAM,QAAQ;IAAM;GAChD,OAAO;GACR;EACD,QAAQ;GACN,YAAY;GACZ,cAAc;GACd,SAAS;GACT,YAAY;GACZ,KAAK;GACL,cAAc;GACd,kBAAkB;GAClB,oBAAoB;GACrB;EACD,WAAW;GACT,cAAc;GACd,YAAY;GACZ,QAAQ;GACR,OAAO;GACP,cAAc;GACf;EACD,aAAa;GACX,OAAO;GACP,WAAW;GACX,YAAY;GACb;EACD,WAAW;GACT,YAAY;GACZ,SAAS;GACT,KAAK;GACL,OAAO;IAAE,MAAM;IAAG,QAAQ;IAAG;GAC9B;EACD,eAAe;GACb,OAAO;GACP,WAAW;GACX,YAAY;GACb;EACD,OAAO;GACL,YAAY;GACZ,SAAS;GACT,YAAY;GACZ,UAAU;IAAE,MAAM;IAAQ,QAAQ;IAAU;GAC5C,KAAK;IAAE,MAAM;IAAM,QAAQ;IAAM;GACjC,gBAAgB;IAAE,MAAM;IAAU,QAAQ;IAAc;GACxD,OAAO;IAAE,MAAM;IAAG,QAAQ;IAAG;GAC7B,QAAQ;IAAE,MAAM;IAAM,QAAQ;IAAK;GACnC,OAAO;IAAE,MAAM;IAAQ,QAAQ;IAAQ;GACxC;EACD,MAAM;GACJ,YAAY;GACZ,QAAQ;GACR,OAAO;GACP,QAAQ;GACR,SAAS;GACT,gBAAgB;GAChB,WAAW;IAAE,MAAM;IAAmB,QAAQ;IAAmB;GACjE,YAAY;GACZ,QAAQ,EACN,gBAAgB,aACjB;GACF;EACF;CACD,UAAU;EACR,aAAa;GACX,MAAM;IACJ,MAAM,EACJ,YAAY,wBACb;IACD,QAAQ,EACN,YAAY,uBACb;IACF;GACD,OAAO;IACL,MAAM,EACJ,YAAY,sBACb;IACD,QAAQ,EACN,YAAY,wBACb;IACF;GACF;EACD,MAAM;GACJ,SAAS,EACP,MAAM,EACJ,QAAQ,EAAE,QAAQ,MAAM,EACzB,EACF;GACD,SAAS,EACP,MAAM,EACJ,QAAQ,EAAE,QAAQ,MAAM,EACzB,EACF;GACF;EACD,SAAS;GACP,SAAS;IACP,MAAM;KACJ,kBAAkB;MAAE,MAAM;MAAM,QAAQ,IAAI,GAAG;MAAE;KACjD,UAAU,EAAE,QAAQ,YAAY;KACjC;IACD,WAAW;KACT,kBAAkB,EAAE,QAAQ,OAAO;KACnC,UAAU,EAAE,QAAQ,YAAY;KAChC,KAAK,EAAE,QAAQ,OAAO;KACtB,WAAW,EAAE,QAAQ,yBAAyB;KAC/C;IACD,OAAO;KACL,gBAAgB;MAAE,MAAM;MAAqC,QAAQ;MAAQ;KAC7E,kBAAkB;MAAE,MAAM;MAAqC,QAAQ;MAAQ;KAC/E,cAAc;MAAE,MAAM;MAAM,QAAQ;MAAK;KAC1C;IACF;GACD,QAAQ;IACN,MAAM,EACJ,kBAAkB;KAAE,MAAM;KAAM,QAAQ;KAAM,EAC/C;IACD,OAAO;KACL,gBAAgB;MAAE,MAAM;MAAqC,QAAQ;MAAQ;KAC7E,iBAAiB;MAAE,MAAM;MAAM,QAAQ;MAAK;KAC7C;IACF;GACF;EACF;CACD,iBAAiB;EACf,aAAa;EACb,MAAM;EACN,SAAS;EACV;CACF,CAAC"}
|