@bitrise/bitkit-v2 0.3.501-beta.3227 → 0.3.501
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/BitkitPromoBanner/BitkitPromoBanner.js +17 -15
- package/dist/components/BitkitPromoBanner/BitkitPromoBanner.js.map +1 -1
- package/dist/components/BitkitSwitch/BitkitSwitch.d.ts +1 -1
- package/dist/components/BitkitSwitch/BitkitSwitch.js +55 -37
- package/dist/components/BitkitSwitch/BitkitSwitch.js.map +1 -1
- package/dist/components/BitkitSwitch/components/BitkitSwitchLabel.d.ts +2 -1
- package/dist/components/BitkitSwitch/components/BitkitSwitchLabel.js +2 -1
- package/dist/components/BitkitSwitch/components/BitkitSwitchLabel.js.map +1 -1
- package/package.json +1 -1
|
@@ -32,11 +32,23 @@ var BitkitPromoBanner = (props) => {
|
|
|
32
32
|
tablet: rem(11)
|
|
33
33
|
},
|
|
34
34
|
css: [{ "& .alert__title + *": { marginBlockStart: 0 } }, css],
|
|
35
|
-
children: [/* @__PURE__ */ jsx(Box, {
|
|
36
|
-
display: "flex",
|
|
37
|
-
alignItems: "center",
|
|
38
|
-
alignSelf: { tablet: "stretch" },
|
|
35
|
+
children: [illustration ? /* @__PURE__ */ jsx(Box, {
|
|
39
36
|
flexShrink: 0,
|
|
37
|
+
marginInlineEnd: {
|
|
38
|
+
base: "0",
|
|
39
|
+
tablet: "12"
|
|
40
|
+
},
|
|
41
|
+
"aria-hidden": true,
|
|
42
|
+
children: illustration
|
|
43
|
+
}) : /* @__PURE__ */ jsx(Icon, {
|
|
44
|
+
asChild: true,
|
|
45
|
+
width: rem(72),
|
|
46
|
+
height: rem(68),
|
|
47
|
+
flexShrink: 0,
|
|
48
|
+
marginInlineEnd: {
|
|
49
|
+
base: "0",
|
|
50
|
+
tablet: "12"
|
|
51
|
+
},
|
|
40
52
|
marginBlock: {
|
|
41
53
|
base: "0",
|
|
42
54
|
tablet: rem(-11)
|
|
@@ -45,17 +57,7 @@ var BitkitPromoBanner = (props) => {
|
|
|
45
57
|
base: "0",
|
|
46
58
|
tablet: rem(-12)
|
|
47
59
|
},
|
|
48
|
-
|
|
49
|
-
base: "0",
|
|
50
|
-
tablet: "16"
|
|
51
|
-
},
|
|
52
|
-
"aria-hidden": true,
|
|
53
|
-
children: illustration ?? /* @__PURE__ */ jsx(Icon, {
|
|
54
|
-
asChild: true,
|
|
55
|
-
width: rem(72),
|
|
56
|
-
height: rem(68),
|
|
57
|
-
children: /* @__PURE__ */ jsx(ForwardRef, {})
|
|
58
|
-
})
|
|
60
|
+
children: /* @__PURE__ */ jsx(ForwardRef, {})
|
|
59
61
|
}), /* @__PURE__ */ jsx(NotificationContent, {
|
|
60
62
|
action: actionable,
|
|
61
63
|
colorVariant: PROMO_BANNER_COLOR,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitkitPromoBanner.js","names":["MascotSvg"],"sources":["../../../lib/components/BitkitPromoBanner/BitkitPromoBanner.tsx"],"sourcesContent":["import { Alert, type AlertRootProps } from '@chakra-ui/react/alert';\nimport { Box } from '@chakra-ui/react/box';\nimport { Icon } from '@chakra-ui/react/icon';\nimport { type ReactNode } from 'react';\n\nimport { rem } from '../../theme/themeUtils';\nimport { NotificationContent } from '../common/NotificationContent';\nimport { BUTTON_COLORS_MAP, type NotificationAction } from '../common/notificationMaps';\nimport MascotSvg from './mascot.svg?react';\n\nexport type PromoBannerAction = NotificationAction;\n\nconst PROMO_BANNER_COLOR = BUTTON_COLORS_MAP.info;\n\nexport interface BitkitPromoBannerProps extends Omit<AlertRootProps, 'title' | 'variant'> {\n actionable?: PromoBannerAction;\n dismissible?: boolean;\n /** Custom leading illustration. Defaults to the built-in mascot. */\n illustration?: ReactNode;\n message: ReactNode;\n onClose?: () => void;\n title: ReactNode;\n}\n\nconst BitkitPromoBanner = (props: BitkitPromoBannerProps) => {\n const { actionable, css, dismissible, illustration, message, onClose, title, ...rest } = props;\n\n return (\n <Alert.Root\n {...rest}\n variant=\"info\"\n border=\"none\"\n position=\"relative\"\n flexDirection={{ base: 'column', tablet: 'row' }}\n alignItems={{ base: 'stretch', tablet: 'center' }}\n rowGap={{ base: '16', tablet: '0' }}\n paddingBlockEnd={{ base: actionable ? '20' : '16', tablet: rem(11) }}\n css={[{ '& .alert__title + *': { marginBlockStart: 0 } }, css]}\n >\n
|
|
1
|
+
{"version":3,"file":"BitkitPromoBanner.js","names":["MascotSvg"],"sources":["../../../lib/components/BitkitPromoBanner/BitkitPromoBanner.tsx"],"sourcesContent":["import { Alert, type AlertRootProps } from '@chakra-ui/react/alert';\nimport { Box } from '@chakra-ui/react/box';\nimport { Icon } from '@chakra-ui/react/icon';\nimport { type ReactNode } from 'react';\n\nimport { rem } from '../../theme/themeUtils';\nimport { NotificationContent } from '../common/NotificationContent';\nimport { BUTTON_COLORS_MAP, type NotificationAction } from '../common/notificationMaps';\nimport MascotSvg from './mascot.svg?react';\n\nexport type PromoBannerAction = NotificationAction;\n\nconst PROMO_BANNER_COLOR = BUTTON_COLORS_MAP.info;\n\nexport interface BitkitPromoBannerProps extends Omit<AlertRootProps, 'title' | 'variant'> {\n actionable?: PromoBannerAction;\n dismissible?: boolean;\n /** Custom leading illustration. Defaults to the built-in mascot. */\n illustration?: ReactNode;\n message: ReactNode;\n onClose?: () => void;\n title: ReactNode;\n}\n\nconst BitkitPromoBanner = (props: BitkitPromoBannerProps) => {\n const { actionable, css, dismissible, illustration, message, onClose, title, ...rest } = props;\n\n return (\n <Alert.Root\n {...rest}\n variant=\"info\"\n border=\"none\"\n position=\"relative\"\n flexDirection={{ base: 'column', tablet: 'row' }}\n alignItems={{ base: 'stretch', tablet: 'center' }}\n rowGap={{ base: '16', tablet: '0' }}\n paddingBlockEnd={{ base: actionable ? '20' : '16', tablet: rem(11) }}\n css={[{ '& .alert__title + *': { marginBlockStart: 0 } }, css]}\n >\n {illustration ? (\n <Box flexShrink={0} marginInlineEnd={{ base: '0', tablet: '12' }} aria-hidden>\n {illustration}\n </Box>\n ) : (\n <Icon\n asChild\n width={rem(72)}\n height={rem(68)}\n flexShrink={0}\n marginInlineEnd={{ base: '0', tablet: '12' }}\n marginBlock={{ base: '0', tablet: rem(-11) }}\n marginInlineStart={{ base: '0', tablet: rem(-12) }}\n >\n <MascotSvg />\n </Icon>\n )}\n <NotificationContent\n action={actionable}\n colorVariant={PROMO_BANNER_COLOR}\n dismissible={dismissible}\n messageText={message}\n onClose={onClose}\n stackable\n titleText={title}\n />\n </Alert.Root>\n );\n};\n\nBitkitPromoBanner.displayName = 'BitkitPromoBanner';\n\nexport default BitkitPromoBanner;\n"],"mappings":";;;;;;;;;AAYA,IAAM,qBAAqB,kBAAkB;AAY7C,IAAM,qBAAqB,UAAkC;CAC3D,MAAM,EAAE,YAAY,KAAK,aAAa,cAAc,SAAS,SAAS,OAAO,GAAG,SAAS;CAEzF,OACE,qBAAC,MAAM,MAAP;EACE,GAAI;EACJ,SAAQ;EACR,QAAO;EACP,UAAS;EACT,eAAe;GAAE,MAAM;GAAU,QAAQ;EAAM;EAC/C,YAAY;GAAE,MAAM;GAAW,QAAQ;EAAS;EAChD,QAAQ;GAAE,MAAM;GAAM,QAAQ;EAAI;EAClC,iBAAiB;GAAE,MAAM,aAAa,OAAO;GAAM,QAAQ,IAAI,EAAE;EAAE;EACnE,KAAK,CAAC,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,EAAE,GAAG,GAAG;EAT/D,UAAA,CAWG,eACC,oBAAC,KAAD;GAAK,YAAY;GAAG,iBAAiB;IAAE,MAAM;IAAK,QAAQ;GAAK;GAAG,eAAA;GAC/D,UAAA;EACE,CAAA,IAEL,oBAAC,MAAD;GACE,SAAA;GACA,OAAO,IAAI,EAAE;GACb,QAAQ,IAAI,EAAE;GACd,YAAY;GACZ,iBAAiB;IAAE,MAAM;IAAK,QAAQ;GAAK;GAC3C,aAAa;IAAE,MAAM;IAAK,QAAQ,IAAI,GAAG;GAAE;GAC3C,mBAAmB;IAAE,MAAM;IAAK,QAAQ,IAAI,GAAG;GAAE;GAEjD,UAAA,oBAACA,YAAD,CAAY,CAAA;EACR,CAAA,GAER,oBAAC,qBAAD;GACE,QAAQ;GACR,cAAc;GACD;GACb,aAAa;GACJ;GACT,WAAA;GACA,WAAW;EACZ,CAAA,CACS;;AAEhB;AAEA,kBAAkB,cAAc"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { BitkitSwitchProps } from './BitkitSwitch.types';
|
|
2
|
-
declare const BitkitSwitch: import('react').ForwardRefExoticComponent<BitkitSwitchProps & import('react').RefAttributes<
|
|
2
|
+
declare const BitkitSwitch: import('react').ForwardRefExoticComponent<BitkitSwitchProps & import('react').RefAttributes<HTMLElement>>;
|
|
3
3
|
export default BitkitSwitch;
|
|
@@ -5,7 +5,7 @@ import BitkitSwitchLabel from "./components/BitkitSwitchLabel.js";
|
|
|
5
5
|
import BitkitSwitchReadOnly from "./components/BitkitSwitchReadOnly.js";
|
|
6
6
|
import BitkitSwitchValueText from "./components/BitkitSwitchValueText.js";
|
|
7
7
|
import { useSlotRecipe } from "@chakra-ui/react/styled-system";
|
|
8
|
-
import { forwardRef } from "react";
|
|
8
|
+
import { forwardRef, useId } from "react";
|
|
9
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
10
|
import { Box } from "@chakra-ui/react/box";
|
|
11
11
|
import { Skeleton } from "@chakra-ui/react/skeleton";
|
|
@@ -89,48 +89,66 @@ var BitkitSwitchDynamicText = forwardRef((props, ref) => {
|
|
|
89
89
|
});
|
|
90
90
|
BitkitSwitchDynamicText.displayName = "BitkitSwitchDynamicText";
|
|
91
91
|
var BitkitSwitchFixed = forwardRef((props, ref) => {
|
|
92
|
-
const { icon, inputRef, label, optional, tooltip, helperText, size = "lg", state = "default", ...rest } = props;
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
const { icon, ids, inputRef, label, optional, tooltip, helperText, size = "lg", state = "default", ...rest } = props;
|
|
93
|
+
const id = useId();
|
|
94
|
+
const switchIds = {
|
|
95
|
+
hiddenInput: `${id}-input`,
|
|
96
|
+
label: `${id}-label`,
|
|
97
|
+
...ids
|
|
98
|
+
};
|
|
99
|
+
return /* @__PURE__ */ jsx(Switch.Root, {
|
|
100
|
+
asChild: true,
|
|
101
|
+
ids: switchIds,
|
|
96
102
|
size,
|
|
97
|
-
width: "100%",
|
|
98
|
-
display: "flex",
|
|
99
103
|
readOnly: state === "readOnly",
|
|
100
104
|
disabled: state === "disabled" || state === "disabledInput" || state === "skeleton",
|
|
101
105
|
...rest,
|
|
102
|
-
children:
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
106
|
+
children: /* @__PURE__ */ jsxs(Box, {
|
|
107
|
+
ref,
|
|
108
|
+
gap: "24",
|
|
109
|
+
width: "100%",
|
|
110
|
+
display: "flex",
|
|
111
|
+
children: [
|
|
112
|
+
/* @__PURE__ */ jsx(Switch.HiddenInput, { ref: inputRef }),
|
|
113
|
+
/* @__PURE__ */ jsxs(Box, {
|
|
114
|
+
display: "flex",
|
|
115
|
+
flex: "1",
|
|
116
|
+
flexDirection: "column",
|
|
117
|
+
gap: "4",
|
|
118
|
+
minWidth: "0",
|
|
119
|
+
children: [/* @__PURE__ */ jsx(BitkitSwitchLabel, {
|
|
120
|
+
icon,
|
|
121
|
+
id: switchIds.label,
|
|
122
|
+
label,
|
|
123
|
+
state,
|
|
124
|
+
tooltip,
|
|
125
|
+
optional
|
|
126
|
+
}), /* @__PURE__ */ jsx(BitkitSwitchHelperText, {
|
|
127
|
+
state,
|
|
128
|
+
helperText
|
|
129
|
+
})]
|
|
130
|
+
}),
|
|
131
|
+
/* @__PURE__ */ jsx(BitkitSwitchReadOnly, {
|
|
117
132
|
state,
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
133
|
+
children: /* @__PURE__ */ jsx(Skeleton, {
|
|
134
|
+
loading: state === "skeleton",
|
|
135
|
+
borderRadius: "12",
|
|
136
|
+
height: size === "md" ? "16" : "24",
|
|
137
|
+
children: /* @__PURE__ */ jsx(Box, {
|
|
138
|
+
asChild: true,
|
|
139
|
+
display: "flex",
|
|
140
|
+
children: /* @__PURE__ */ jsx("label", {
|
|
141
|
+
htmlFor: switchIds.hiddenInput,
|
|
142
|
+
children: /* @__PURE__ */ jsxs(Switch.Control, { children: [/* @__PURE__ */ jsx(Switch.Thumb, {}), /* @__PURE__ */ jsx(Switch.Indicator, {
|
|
143
|
+
fallback: /* @__PURE__ */ jsx(IconCross, { size: size === "md" ? "16" : "24" }),
|
|
144
|
+
children: /* @__PURE__ */ jsx(IconCheck, { size: size === "md" ? "16" : "24" })
|
|
145
|
+
})] })
|
|
146
|
+
})
|
|
147
|
+
})
|
|
148
|
+
})
|
|
131
149
|
})
|
|
132
|
-
|
|
133
|
-
|
|
150
|
+
]
|
|
151
|
+
})
|
|
134
152
|
});
|
|
135
153
|
});
|
|
136
154
|
BitkitSwitchFixed.displayName = "BitkitSwitchFixed";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitkitSwitch.js","names":[],"sources":["../../../lib/components/BitkitSwitch/BitkitSwitch.tsx"],"sourcesContent":["import { Box } from '@chakra-ui/react/box';\nimport { Skeleton } from '@chakra-ui/react/skeleton';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { Switch } from '@chakra-ui/react/switch';\nimport { forwardRef, type ReactNode } from 'react';\n\nimport { IconCheck, IconCross } from '../../icons';\nimport type {\n BitkitSwitchAnyVariantProps,\n BitkitSwitchDefaultProps,\n BitkitSwitchDynamicTextProps,\n BitkitSwitchFixedProps,\n BitkitSwitchProps,\n} from './BitkitSwitch.types';\nimport BitkitSwitchHelperText from './components/BitkitSwitchHelperText';\nimport BitkitSwitchLabel from './components/BitkitSwitchLabel';\nimport BitkitSwitchReadOnly from './components/BitkitSwitchReadOnly';\nimport BitkitSwitchValueText from './components/BitkitSwitchValueText';\n\nconst BitkitSwitchDefault = forwardRef<HTMLLabelElement, Omit<BitkitSwitchDefaultProps, 'variant'>>((props, ref) => {\n const { hideLabel, inputRef, label, size = 'lg', state = 'default', ...rest } = props;\n\n return (\n <Switch.Root\n ref={ref}\n size={size}\n readOnly={state === 'readOnly'}\n disabled={state === 'disabled' || state === 'skeleton'}\n {...rest}\n >\n <Switch.HiddenInput ref={inputRef} />\n <BitkitSwitchReadOnly state={state}>\n <Skeleton loading={state === 'skeleton'} borderRadius=\"12\" height={size === 'md' ? '16' : '24'}>\n <Switch.Control>\n <Switch.Thumb />\n <Switch.Indicator fallback={<IconCross size={size === 'md' ? '16' : '24'} />}>\n <IconCheck size={size === 'md' ? '16' : '24'} />\n </Switch.Indicator>\n </Switch.Control>\n </Skeleton>\n </BitkitSwitchReadOnly>\n {/* `srOnly` rather than a hidden label passed in by the consumer: it positions the element\n absolutely, so it leaves the flex flow and the root's gap no longer reserves space for it. */}\n {label && <Switch.Label srOnly={hideLabel}>{label}</Switch.Label>}\n </Switch.Root>\n );\n});\n\nBitkitSwitchDefault.displayName = 'BitkitSwitchDefault';\n\nconst BitkitSwitchDynamicText = forwardRef<HTMLLabelElement, Omit<BitkitSwitchDynamicTextProps, 'variant'>>(\n (props, ref) => {\n const {\n inputRef,\n label,\n optional,\n tooltip,\n helperText,\n valueText,\n size = 'lg',\n state = 'default',\n ...rest\n } = props;\n\n const recipe = useSlotRecipe({ key: 'switch' });\n const styles = recipe({ size });\n\n return (\n <Switch.Root\n ref={ref}\n gap=\"4\"\n size={size}\n flexDirection=\"column\"\n alignItems=\"flex-start\"\n readOnly={state === 'readOnly'}\n disabled={state === 'disabled' || state === 'disabledInput' || state === 'skeleton'}\n {...rest}\n >\n <Switch.HiddenInput ref={inputRef} />\n <BitkitSwitchLabel label={label} state={state} tooltip={tooltip} optional={optional} />\n <Box css={styles.root}>\n <BitkitSwitchReadOnly state={state}>\n <Skeleton loading={state === 'skeleton'} borderRadius=\"12\" height={size === 'md' ? '16' : '24'}>\n <Switch.Control>\n <Switch.Thumb />\n <Switch.Indicator fallback={<IconCross size={size === 'md' ? '16' : '24'} />}>\n <IconCheck size={size === 'md' ? '16' : '24'} />\n </Switch.Indicator>\n </Switch.Control>\n </Skeleton>\n </BitkitSwitchReadOnly>\n <BitkitSwitchValueText size={size} state={state} valueText={valueText} />\n </Box>\n <BitkitSwitchHelperText state={state} helperText={helperText} />\n </Switch.Root>\n );\n },\n);\n\nBitkitSwitchDynamicText.displayName = 'BitkitSwitchDynamicText';\n\nconst BitkitSwitchFixed = forwardRef<HTMLLabelElement, Omit<BitkitSwitchFixedProps, 'variant'>>((props, ref) => {\n const { icon, inputRef, label, optional, tooltip, helperText, size = 'lg', state = 'default', ...rest } = props;\n\n return (\n <Switch.Root\n ref={ref}\n gap=\"24\"\n size={size}\n width=\"100%\"\n display=\"flex\"\n readOnly={state === 'readOnly'}\n disabled={state === 'disabled' || state === 'disabledInput' || state === 'skeleton'}\n {...rest}\n >\n <Switch.HiddenInput ref={inputRef} />\n <Box display=\"flex\" flex=\"1\" flexDirection=\"column\" gap=\"4\" minWidth=\"0\">\n <BitkitSwitchLabel icon={icon} label={label} state={state} tooltip={tooltip} optional={optional} />\n <BitkitSwitchHelperText state={state} helperText={helperText} />\n </Box>\n <BitkitSwitchReadOnly state={state}>\n <Skeleton loading={state === 'skeleton'} borderRadius=\"12\" height={size === 'md' ? '16' : '24'}>\n <Switch.Control>\n <Switch.Thumb />\n <Switch.Indicator fallback={<IconCross size={size === 'md' ? '16' : '24'} />}>\n <IconCheck size={size === 'md' ? '16' : '24'} />\n </Switch.Indicator>\n </Switch.Control>\n </Skeleton>\n </BitkitSwitchReadOnly>\n </Switch.Root>\n );\n});\n\nBitkitSwitchFixed.displayName = 'BitkitSwitchFixed';\n\nconst BitkitSwitch = forwardRef<HTMLLabelElement, BitkitSwitchProps>((props, ref) => {\n // At runtime (e.g. a shared Storybook meta) sibling-variant props may still flow in, so split them\n // off here and forward only what the chosen variant consumes — otherwise they leak to the DOM.\n const { variant, hideLabel, icon, inputRef, tooltip, optional, valueText, helperText, ...rest } =\n props as BitkitSwitchAnyVariantProps;\n\n if (variant === 'dynamic-text') {\n return (\n <BitkitSwitchDynamicText\n ref={ref}\n inputRef={inputRef}\n tooltip={tooltip}\n optional={optional}\n valueText={valueText}\n helperText={helperText}\n {...rest}\n />\n );\n }\n\n if (variant === 'fixed') {\n return (\n <BitkitSwitchFixed\n ref={ref}\n icon={icon}\n inputRef={inputRef}\n tooltip={tooltip}\n optional={optional}\n helperText={helperText as ReactNode}\n {...rest}\n />\n );\n }\n\n return (\n <BitkitSwitchDefault\n ref={ref}\n hideLabel={hideLabel}\n inputRef={inputRef}\n {...(rest as Omit<BitkitSwitchDefaultProps, 'variant'>)}\n />\n );\n});\n\nBitkitSwitch.displayName = 'BitkitSwitch';\n\nexport default BitkitSwitch;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BitkitSwitch.js","names":[],"sources":["../../../lib/components/BitkitSwitch/BitkitSwitch.tsx"],"sourcesContent":["import { Box } from '@chakra-ui/react/box';\nimport { Skeleton } from '@chakra-ui/react/skeleton';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { Switch } from '@chakra-ui/react/switch';\nimport { type ForwardedRef, forwardRef, type ReactNode, useId } from 'react';\n\nimport { IconCheck, IconCross } from '../../icons';\nimport type {\n BitkitSwitchAnyVariantProps,\n BitkitSwitchDefaultProps,\n BitkitSwitchDynamicTextProps,\n BitkitSwitchFixedProps,\n BitkitSwitchProps,\n} from './BitkitSwitch.types';\nimport BitkitSwitchHelperText from './components/BitkitSwitchHelperText';\nimport BitkitSwitchLabel from './components/BitkitSwitchLabel';\nimport BitkitSwitchReadOnly from './components/BitkitSwitchReadOnly';\nimport BitkitSwitchValueText from './components/BitkitSwitchValueText';\n\nconst BitkitSwitchDefault = forwardRef<HTMLLabelElement, Omit<BitkitSwitchDefaultProps, 'variant'>>((props, ref) => {\n const { hideLabel, inputRef, label, size = 'lg', state = 'default', ...rest } = props;\n\n return (\n <Switch.Root\n ref={ref}\n size={size}\n readOnly={state === 'readOnly'}\n disabled={state === 'disabled' || state === 'skeleton'}\n {...rest}\n >\n <Switch.HiddenInput ref={inputRef} />\n <BitkitSwitchReadOnly state={state}>\n <Skeleton loading={state === 'skeleton'} borderRadius=\"12\" height={size === 'md' ? '16' : '24'}>\n <Switch.Control>\n <Switch.Thumb />\n <Switch.Indicator fallback={<IconCross size={size === 'md' ? '16' : '24'} />}>\n <IconCheck size={size === 'md' ? '16' : '24'} />\n </Switch.Indicator>\n </Switch.Control>\n </Skeleton>\n </BitkitSwitchReadOnly>\n {/* `srOnly` rather than a hidden label passed in by the consumer: it positions the element\n absolutely, so it leaves the flex flow and the root's gap no longer reserves space for it. */}\n {label && <Switch.Label srOnly={hideLabel}>{label}</Switch.Label>}\n </Switch.Root>\n );\n});\n\nBitkitSwitchDefault.displayName = 'BitkitSwitchDefault';\n\nconst BitkitSwitchDynamicText = forwardRef<HTMLLabelElement, Omit<BitkitSwitchDynamicTextProps, 'variant'>>(\n (props, ref) => {\n const {\n inputRef,\n label,\n optional,\n tooltip,\n helperText,\n valueText,\n size = 'lg',\n state = 'default',\n ...rest\n } = props;\n\n const recipe = useSlotRecipe({ key: 'switch' });\n const styles = recipe({ size });\n\n return (\n <Switch.Root\n ref={ref}\n gap=\"4\"\n size={size}\n flexDirection=\"column\"\n alignItems=\"flex-start\"\n readOnly={state === 'readOnly'}\n disabled={state === 'disabled' || state === 'disabledInput' || state === 'skeleton'}\n {...rest}\n >\n <Switch.HiddenInput ref={inputRef} />\n <BitkitSwitchLabel label={label} state={state} tooltip={tooltip} optional={optional} />\n <Box css={styles.root}>\n <BitkitSwitchReadOnly state={state}>\n <Skeleton loading={state === 'skeleton'} borderRadius=\"12\" height={size === 'md' ? '16' : '24'}>\n <Switch.Control>\n <Switch.Thumb />\n <Switch.Indicator fallback={<IconCross size={size === 'md' ? '16' : '24'} />}>\n <IconCheck size={size === 'md' ? '16' : '24'} />\n </Switch.Indicator>\n </Switch.Control>\n </Skeleton>\n </BitkitSwitchReadOnly>\n <BitkitSwitchValueText size={size} state={state} valueText={valueText} />\n </Box>\n <BitkitSwitchHelperText state={state} helperText={helperText} />\n </Switch.Root>\n );\n },\n);\n\nBitkitSwitchDynamicText.displayName = 'BitkitSwitchDynamicText';\n\nconst BitkitSwitchFixed = forwardRef<HTMLDivElement, Omit<BitkitSwitchFixedProps, 'variant'>>((props, ref) => {\n const { icon, ids, inputRef, label, optional, tooltip, helperText, size = 'lg', state = 'default', ...rest } = props;\n const id = useId();\n const switchIds = { hiddenInput: `${id}-input`, label: `${id}-label`, ...ids };\n\n return (\n <Switch.Root\n asChild\n ids={switchIds}\n size={size}\n readOnly={state === 'readOnly'}\n disabled={state === 'disabled' || state === 'disabledInput' || state === 'skeleton'}\n {...rest}\n >\n <Box ref={ref} gap=\"24\" width=\"100%\" display=\"flex\">\n <Switch.HiddenInput ref={inputRef} />\n <Box display=\"flex\" flex=\"1\" flexDirection=\"column\" gap=\"4\" minWidth=\"0\">\n <BitkitSwitchLabel\n icon={icon}\n id={switchIds.label}\n label={label}\n state={state}\n tooltip={tooltip}\n optional={optional}\n />\n <BitkitSwitchHelperText state={state} helperText={helperText} />\n </Box>\n <BitkitSwitchReadOnly state={state}>\n <Skeleton loading={state === 'skeleton'} borderRadius=\"12\" height={size === 'md' ? '16' : '24'}>\n <Box asChild display=\"flex\">\n <label htmlFor={switchIds.hiddenInput}>\n <Switch.Control>\n <Switch.Thumb />\n <Switch.Indicator fallback={<IconCross size={size === 'md' ? '16' : '24'} />}>\n <IconCheck size={size === 'md' ? '16' : '24'} />\n </Switch.Indicator>\n </Switch.Control>\n </label>\n </Box>\n </Skeleton>\n </BitkitSwitchReadOnly>\n </Box>\n </Switch.Root>\n );\n});\n\nBitkitSwitchFixed.displayName = 'BitkitSwitchFixed';\n\nconst BitkitSwitch = forwardRef<HTMLElement, BitkitSwitchProps>((props, ref) => {\n // At runtime (e.g. a shared Storybook meta) sibling-variant props may still flow in, so split them\n // off here and forward only what the chosen variant consumes — otherwise they leak to the DOM.\n const { variant, hideLabel, icon, inputRef, tooltip, optional, valueText, helperText, ...rest } =\n props as BitkitSwitchAnyVariantProps;\n\n if (variant === 'dynamic-text') {\n return (\n <BitkitSwitchDynamicText\n ref={ref as ForwardedRef<HTMLLabelElement>}\n inputRef={inputRef}\n tooltip={tooltip}\n optional={optional}\n valueText={valueText}\n helperText={helperText}\n {...rest}\n />\n );\n }\n\n if (variant === 'fixed') {\n return (\n <BitkitSwitchFixed\n ref={ref as ForwardedRef<HTMLDivElement>}\n icon={icon}\n inputRef={inputRef}\n tooltip={tooltip}\n optional={optional}\n helperText={helperText as ReactNode}\n {...rest}\n />\n );\n }\n\n return (\n <BitkitSwitchDefault\n ref={ref as ForwardedRef<HTMLLabelElement>}\n hideLabel={hideLabel}\n inputRef={inputRef}\n {...(rest as Omit<BitkitSwitchDefaultProps, 'variant'>)}\n />\n );\n});\n\nBitkitSwitch.displayName = 'BitkitSwitch';\n\nexport default BitkitSwitch;\n"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { BitkitIconComponent } from '../../../icons';
|
|
|
2
2
|
import { BitkitSwitchDynamicTextProps } from '../BitkitSwitch.types';
|
|
3
3
|
type Props = Pick<BitkitSwitchDynamicTextProps, 'label' | 'state' | 'tooltip' | 'optional'> & {
|
|
4
4
|
icon?: BitkitIconComponent;
|
|
5
|
+
id?: string;
|
|
5
6
|
};
|
|
6
|
-
declare const BitkitSwitchLabel: ({ label, state, tooltip, optional, icon: Icon }: Props) => import('react').JSX.Element | null;
|
|
7
|
+
declare const BitkitSwitchLabel: ({ label, state, tooltip, optional, icon: Icon, id }: Props) => import('react').JSX.Element | null;
|
|
7
8
|
export default BitkitSwitchLabel;
|
|
@@ -6,7 +6,7 @@ import { Text } from "@chakra-ui/react/text";
|
|
|
6
6
|
import { Flex } from "@chakra-ui/react/flex";
|
|
7
7
|
import { useSwitchContext } from "@chakra-ui/react/switch";
|
|
8
8
|
//#region lib/components/BitkitSwitch/components/BitkitSwitchLabel.tsx
|
|
9
|
-
var BitkitSwitchLabel = ({ label, state, tooltip, optional, icon: Icon }) => {
|
|
9
|
+
var BitkitSwitchLabel = ({ label, state, tooltip, optional, icon: Icon, id }) => {
|
|
10
10
|
const { disabled } = useSwitchContext();
|
|
11
11
|
if (isEmptyNode(label)) return null;
|
|
12
12
|
const shouldShowAsDisabled = disabled && state !== "disabledInput" && state !== "skeleton";
|
|
@@ -20,6 +20,7 @@ var BitkitSwitchLabel = ({ label, state, tooltip, optional, icon: Icon }) => {
|
|
|
20
20
|
}),
|
|
21
21
|
/* @__PURE__ */ jsx(Text, {
|
|
22
22
|
as: "span",
|
|
23
|
+
id,
|
|
23
24
|
textStyle: "body/md/semibold",
|
|
24
25
|
color: shouldShowAsDisabled ? "text/disabled" : "text/primary",
|
|
25
26
|
children: label
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitkitSwitchLabel.js","names":[],"sources":["../../../../lib/components/BitkitSwitch/components/BitkitSwitchLabel.tsx"],"sourcesContent":["import { Flex } from '@chakra-ui/react/flex';\nimport { useSwitchContext } from '@chakra-ui/react/switch';\nimport { Text } from '@chakra-ui/react/text';\n\nimport { type BitkitIconComponent, IconInfoCircle } from '../../../icons';\nimport { isEmptyNode } from '../../../utilities/isEmptyNode';\nimport BitkitTooltip from '../../BitkitTooltip/BitkitTooltip';\nimport type { BitkitSwitchDynamicTextProps } from '../BitkitSwitch.types';\n\ntype Props = Pick<BitkitSwitchDynamicTextProps, 'label' | 'state' | 'tooltip' | 'optional'> & {\n icon?: BitkitIconComponent;\n};\n\nconst BitkitSwitchLabel = ({ label, state, tooltip, optional, icon: Icon }: Props) => {\n const { disabled } = useSwitchContext();\n\n if (isEmptyNode(label)) {\n return null;\n }\n\n const shouldShowAsDisabled = disabled && state !== 'disabledInput' && state !== 'skeleton';\n\n return (\n <Flex gap=\"4\" alignItems=\"center\">\n {!!Icon && <Icon size=\"16\" color={shouldShowAsDisabled ? 'icon/disabled' : 'icon/primary'} />}\n\n <Text
|
|
1
|
+
{"version":3,"file":"BitkitSwitchLabel.js","names":[],"sources":["../../../../lib/components/BitkitSwitch/components/BitkitSwitchLabel.tsx"],"sourcesContent":["import { Flex } from '@chakra-ui/react/flex';\nimport { useSwitchContext } from '@chakra-ui/react/switch';\nimport { Text } from '@chakra-ui/react/text';\n\nimport { type BitkitIconComponent, IconInfoCircle } from '../../../icons';\nimport { isEmptyNode } from '../../../utilities/isEmptyNode';\nimport BitkitTooltip from '../../BitkitTooltip/BitkitTooltip';\nimport type { BitkitSwitchDynamicTextProps } from '../BitkitSwitch.types';\n\ntype Props = Pick<BitkitSwitchDynamicTextProps, 'label' | 'state' | 'tooltip' | 'optional'> & {\n icon?: BitkitIconComponent;\n id?: string;\n};\n\nconst BitkitSwitchLabel = ({ label, state, tooltip, optional, icon: Icon, id }: Props) => {\n const { disabled } = useSwitchContext();\n\n if (isEmptyNode(label)) {\n return null;\n }\n\n const shouldShowAsDisabled = disabled && state !== 'disabledInput' && state !== 'skeleton';\n\n return (\n <Flex gap=\"4\" alignItems=\"center\">\n {!!Icon && <Icon size=\"16\" color={shouldShowAsDisabled ? 'icon/disabled' : 'icon/primary'} />}\n\n <Text\n as=\"span\"\n id={id}\n textStyle=\"body/md/semibold\"\n color={shouldShowAsDisabled ? 'text/disabled' : 'text/primary'}\n >\n {label}\n </Text>\n\n {!!optional && (\n <Text as=\"span\" textStyle=\"body/md/regular\" color={shouldShowAsDisabled ? 'text/disabled' : 'text/helper'}>\n (optional)\n </Text>\n )}\n\n {!!tooltip && (\n <BitkitTooltip text={tooltip}>\n <IconInfoCircle size=\"16\" color=\"icon/tertiary\" />\n </BitkitTooltip>\n )}\n </Flex>\n );\n};\n\nexport default BitkitSwitchLabel;\n"],"mappings":";;;;;;;;AAcA,IAAM,qBAAqB,EAAE,OAAO,OAAO,SAAS,UAAU,MAAM,MAAM,SAAgB;CACxF,MAAM,EAAE,aAAa,iBAAiB;CAEtC,IAAI,YAAY,KAAK,GACnB,OAAO;CAGT,MAAM,uBAAuB,YAAY,UAAU,mBAAmB,UAAU;CAEhF,OACE,qBAAC,MAAD;EAAM,KAAI;EAAI,YAAW;EAAzB,UAAA;GACG,CAAC,CAAC,QAAQ,oBAAC,MAAD;IAAM,MAAK;IAAK,OAAO,uBAAuB,kBAAkB;GAAiB,CAAA;GAE5F,oBAAC,MAAD;IACE,IAAG;IACC;IACJ,WAAU;IACV,OAAO,uBAAuB,kBAAkB;IAE/C,UAAA;GACG,CAAA;GAEL,CAAC,CAAC,YACD,oBAAC,MAAD;IAAM,IAAG;IAAO,WAAU;IAAkB,OAAO,uBAAuB,kBAAkB;IAAe,UAAA;GAErG,CAAA;GAGP,CAAC,CAAC,WACD,oBAAC,eAAD;IAAe,MAAM;IACnB,UAAA,oBAAC,gBAAD;KAAgB,MAAK;KAAK,OAAM;IAAiB,CAAA;GACpC,CAAA;EAEb;;AAEV"}
|