@bitrise/bitkit-v2 0.3.290 → 0.3.291
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/atoms/DatePicker/DatePicker.js +1 -1
- package/dist/atoms/ImageCropper/ImageCropper.js +1 -1
- package/dist/components/BitkitAccordion/BitkitAccordion.js.map +1 -1
- package/dist/components/BitkitAvatar/BitkitAvatar.js.map +1 -1
- package/dist/components/BitkitBadge/BitkitBadge.js.map +1 -1
- package/dist/components/BitkitBreadcrumb/BitkitBreadcrumb.js.map +1 -1
- package/dist/components/BitkitBreadcrumb/components/OverflowMenu.js.map +1 -1
- package/dist/components/BitkitCalendar/BitkitCalendar.js +2 -1
- package/dist/components/BitkitCalendar/BitkitCalendar.js.map +1 -1
- package/dist/components/BitkitCalendar/components/CalendarFooter.js +2 -1
- package/dist/components/BitkitCalendar/components/CalendarFooter.js.map +1 -1
- package/dist/components/BitkitCalendar/components/CalendarMonthSelect.js.map +1 -1
- package/dist/components/BitkitCalendar/components/CalendarNextTrigger.js.map +1 -1
- package/dist/components/BitkitCalendar/components/CalendarPrevTrigger.js.map +1 -1
- package/dist/components/BitkitCalendar/components/CalendarSelect.js.map +1 -1
- package/dist/components/BitkitCalendar/components/CalendarTrigger.js.map +1 -1
- package/dist/components/BitkitCalendar/components/CalendarYearSelect.js.map +1 -1
- package/dist/components/BitkitCodeSnippet/BitkitCodeSnippet.js.map +1 -1
- package/dist/components/BitkitCollapsible/BitkitCollapsible.js.map +1 -1
- package/dist/components/BitkitCombobox/BitkitCombobox.js.map +1 -1
- package/dist/components/BitkitDataWidget/BitkitDataWidget.js.map +1 -1
- package/dist/components/BitkitDialog/BitkitStepperDialog.js +2 -2
- package/dist/components/BitkitDialog/BitkitStepperDialog.js.map +1 -1
- package/dist/components/BitkitDialog/DialogBodyContext.js +2 -1
- package/dist/components/BitkitDialog/DialogBodyContext.js.map +1 -1
- package/dist/components/BitkitDraggableCard/BitkitDraggableCard.js.map +1 -1
- package/dist/components/BitkitExpandableCard/BitkitExpandableCard.js.map +1 -1
- package/dist/components/BitkitFileInput/BitkitFileInput.js.map +1 -1
- package/dist/components/BitkitGroupHeading/BitkitGroupHeading.js.map +1 -1
- package/dist/components/BitkitInlineLoading/BitkitInlineLoading.js.map +1 -1
- package/dist/components/BitkitLabel/BitkitLabel.js.map +1 -1
- package/dist/components/BitkitLabeledData/BitkitLabeledData.js.map +1 -1
- package/dist/components/BitkitMarkdown/BitkitMarkdown.js.map +1 -1
- package/dist/components/BitkitMarkdownCard/BitkitMarkdownCard.js.map +1 -1
- package/dist/components/BitkitMultiselect/BitkitMultiselect.js.map +1 -1
- package/dist/components/BitkitMultiselectMenu/BitkitMultiselectMenu.js.map +1 -1
- package/dist/components/BitkitNativeSelect/BitkitNativeSelect.js.map +1 -1
- package/dist/components/BitkitNoteCard/BitkitNoteCard.js.map +1 -1
- package/dist/components/BitkitOverflowContent/BitkitOverflowContent.js.map +1 -1
- package/dist/components/BitkitPageFooter/BitkitPageFooter.js.map +1 -1
- package/dist/components/BitkitPagination/BitkitPagination.js.map +1 -1
- package/dist/components/BitkitPaginationLoadMore/BitkitPaginationLoadMore.js.map +1 -1
- package/dist/components/BitkitPopover/BitkitPopover.js +2 -1
- package/dist/components/BitkitPopover/BitkitPopover.js.map +1 -1
- package/dist/components/BitkitRibbon/BitkitRibbon.js.map +1 -1
- package/dist/components/BitkitSectionHeading/BitkitSectionHeading.js.map +1 -1
- package/dist/components/BitkitSelect/BitkitSelect.js.map +1 -1
- package/dist/components/BitkitSelectMenu/BitkitSelectMenu.js.map +1 -1
- package/dist/components/BitkitSelectMenu/SelectMenuShell.js.map +1 -1
- package/dist/components/BitkitSelectableTag/BitkitSelectableTag.js.map +1 -1
- package/dist/components/BitkitSettingsCard/BitkitSettingsCard.js.map +1 -1
- package/dist/components/BitkitSidebar/BitkitSidebar.js.map +1 -1
- package/dist/components/BitkitSplitButton/BitkitSplitButton.js.map +1 -1
- package/dist/components/BitkitStat/BitkitStat.js.map +1 -1
- package/dist/components/BitkitSteps/BitkitSteps.js.map +1 -1
- package/dist/components/BitkitStepsCard/BitkitStepsCard.js.map +1 -1
- package/dist/components/BitkitSwitch/BitkitSwitch.js.map +1 -1
- package/dist/components/BitkitTabs/BitkitTabs.js +1 -1
- package/dist/components/BitkitTabs/BitkitTabs.js.map +1 -1
- package/dist/components/BitkitTagsInput/BitkitTagsInput.js.map +1 -1
- package/dist/components/BitkitTextInput/BitkitTextInput.js.map +1 -1
- package/dist/components/BitkitTreeView/BitkitTreeView.js.map +1 -1
- package/dist/theme/recipes/Button.recipe.js.map +1 -1
- package/dist/theme/slot-recipes/ExpandableCard.recipe.js.map +1 -1
- package/dist/theme/slot-recipes/Multiselect.recipe.js +1 -1
- package/dist/theme/slot-recipes/NumberInput.recipe.js +1 -1
- package/dist/theme/slot-recipes/StepCard.recipe.js.map +1 -1
- package/dist/theme/slot-recipes/TagsInput.recipe.js.map +1 -1
- package/dist/theme/text-styles.js +4 -3
- package/dist/theme/text-styles.js.map +1 -1
- package/dist/theme/themeUtils.js +1 -1
- package/dist/theme/themeUtils.js.map +1 -1
- package/dist/theme/tokens/sizesAndSpacing.js +4 -2
- package/package.json +21 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitkitTagsInput.js","names":[],"sources":["../../../lib/components/BitkitTagsInput/BitkitTagsInput.tsx"],"sourcesContent":["import { chakra, useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { TagsInput } from '@chakra-ui/react/tags-input';\nimport { forwardRef } from 'react';\n\nimport { IconCross, IconErrorCircleFilled, IconWarningYellow } from '../../icons';\nimport BitkitField, { type BitkitFieldProps } from '../BitkitField/BitkitField';\n\nexport interface BitkitTagsInputProps extends Omit<BitkitFieldProps, 'children' | 'state'> {\n addOnPaste?: TagsInput.RootProps['addOnPaste'];\n blurBehavior?: TagsInput.RootProps['blurBehavior'];\n defaultValue?: string[];\n delimiter?: TagsInput.RootProps['delimiter'];\n max?: number;\n onValueChange?: TagsInput.RootProps['onValueChange'];\n placeholder?: string;\n size?: 'md' | 'lg';\n state?: 'disabled' | 'error' | 'readOnly' | 'warning';\n validate?: TagsInput.RootProps['validate'];\n value?: string[];\n}\n\nconst rejectEmpty: NonNullable<TagsInput.RootProps['validate']> = ({ inputValue }) => inputValue.trim().length > 0;\n\nconst BitkitTagsInput = forwardRef<HTMLDivElement, BitkitTagsInputProps>((props, ref) => {\n const {\n addOnPaste = true,\n blurBehavior = 'add',\n defaultValue,\n // Greedy `+` collapses runs of whitespace/commas into a single delimiter so pasting\n // \"alpha, beta\" doesn't spawn an empty tag between the alpha and beta.\n delimiter = /[\\s,]+/,\n max,\n onValueChange,\n placeholder,\n size = 'lg',\n state,\n validate,\n value,\n ...fieldProps\n } = props;\n\n // Always reject empty/whitespace-only input (covers leading/trailing delimiters on paste\n // and blurBehavior=\"add\" with an empty input). Chain with a user-supplied validate if any.\n const effectiveValidate: NonNullable<TagsInput.RootProps['validate']> = (details) =>\n rejectEmpty(details) && (validate?.(details) ?? true);\n\n const styles = useSlotRecipe({ key: 'tagsInput' })({ size });\n\n const hasWarning = state === 'warning' || !!fieldProps.warningText;\n const isInvalid = state === 'error' || !!fieldProps.errorText;\n const isDisabled = state === 'disabled';\n const isReadOnly = state === 'readOnly';\n\n let statusIcon = undefined;\n if (isInvalid) {\n statusIcon = <IconErrorCircleFilled color=\"icon/negative\" size={size === 'lg' ? '24' : '16'} />;\n } else if (hasWarning) {\n statusIcon = <IconWarningYellow size={size === 'lg' ? '24' : '16'} />;\n }\n\n return (\n <TagsInput.Root\n addOnPaste={addOnPaste}\n blurBehavior={blurBehavior}\n defaultValue={defaultValue}\n delimiter={delimiter}\n disabled={isDisabled}\n invalid={isInvalid}\n max={max}\n onValueChange={onValueChange}\n readOnly={isReadOnly}\n size={size}\n validate={effectiveValidate}\n value={value}\n >\n <TagsInput.Context>\n {({ value: tagValues }) => (\n <BitkitField\n counterText={max !== undefined ? `${tagValues.length}/${max}` : undefined}\n ref={ref}\n state={state}\n {...fieldProps}\n >\n <TagsInput.Control>\n <chakra.div css={styles.tagsBlock}>\n {tagValues.map((tagValue, index) => (\n <TagsInput.Item index={index} key={tagValue} value={tagValue}>\n <TagsInput.ItemPreview>\n <TagsInput.ItemText>{tagValue}</TagsInput.ItemText>\n {!isReadOnly && (\n <TagsInput.ItemDeleteTrigger>\n <IconCross size=\"16\" />\n </TagsInput.ItemDeleteTrigger>\n )}\n </TagsInput.ItemPreview>\n <TagsInput.ItemInput />\n </TagsInput.Item>\n ))}\n <TagsInput.Input placeholder={placeholder} />\n </chakra.div>\n {(statusIcon || (tagValues.length > 0 && !isDisabled && !isReadOnly)) && (\n <chakra.div css={styles.suffixBlock}>\n {statusIcon}\n {tagValues.length > 0 && !isDisabled && !isReadOnly && (\n <TagsInput.ClearTrigger css={styles.clearTrigger}>\n <IconCross size={size === 'lg' ? '24' : '16'} />\n </TagsInput.ClearTrigger>\n )}\n </chakra.div>\n )}\n </TagsInput.Control>\n <TagsInput.HiddenInput />\n </BitkitField>\n )}\n </TagsInput.Context>\n </TagsInput.Root>\n );\n});\n\nBitkitTagsInput.displayName = 'BitkitTagsInput';\nexport default BitkitTagsInput;\n"],"mappings":";;;;;;;;;AAqBA,IAAM,eAA6D,EAAE,iBAAiB,WAAW,KAAK,
|
|
1
|
+
{"version":3,"file":"BitkitTagsInput.js","names":[],"sources":["../../../lib/components/BitkitTagsInput/BitkitTagsInput.tsx"],"sourcesContent":["import { chakra, useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { TagsInput } from '@chakra-ui/react/tags-input';\nimport { forwardRef } from 'react';\n\nimport { IconCross, IconErrorCircleFilled, IconWarningYellow } from '../../icons';\nimport BitkitField, { type BitkitFieldProps } from '../BitkitField/BitkitField';\n\nexport interface BitkitTagsInputProps extends Omit<BitkitFieldProps, 'children' | 'state'> {\n addOnPaste?: TagsInput.RootProps['addOnPaste'];\n blurBehavior?: TagsInput.RootProps['blurBehavior'];\n defaultValue?: string[];\n delimiter?: TagsInput.RootProps['delimiter'];\n max?: number;\n onValueChange?: TagsInput.RootProps['onValueChange'];\n placeholder?: string;\n size?: 'md' | 'lg';\n state?: 'disabled' | 'error' | 'readOnly' | 'warning';\n validate?: TagsInput.RootProps['validate'];\n value?: string[];\n}\n\nconst rejectEmpty: NonNullable<TagsInput.RootProps['validate']> = ({ inputValue }) => inputValue.trim().length > 0;\n\nconst BitkitTagsInput = forwardRef<HTMLDivElement, BitkitTagsInputProps>((props, ref) => {\n const {\n addOnPaste = true,\n blurBehavior = 'add',\n defaultValue,\n // Greedy `+` collapses runs of whitespace/commas into a single delimiter so pasting\n // \"alpha, beta\" doesn't spawn an empty tag between the alpha and beta.\n delimiter = /[\\s,]+/,\n max,\n onValueChange,\n placeholder,\n size = 'lg',\n state,\n validate,\n value,\n ...fieldProps\n } = props;\n\n // Always reject empty/whitespace-only input (covers leading/trailing delimiters on paste\n // and blurBehavior=\"add\" with an empty input). Chain with a user-supplied validate if any.\n const effectiveValidate: NonNullable<TagsInput.RootProps['validate']> = (details) =>\n rejectEmpty(details) && (validate?.(details) ?? true);\n\n const styles = useSlotRecipe({ key: 'tagsInput' })({ size });\n\n const hasWarning = state === 'warning' || !!fieldProps.warningText;\n const isInvalid = state === 'error' || !!fieldProps.errorText;\n const isDisabled = state === 'disabled';\n const isReadOnly = state === 'readOnly';\n\n let statusIcon = undefined;\n if (isInvalid) {\n statusIcon = <IconErrorCircleFilled color=\"icon/negative\" size={size === 'lg' ? '24' : '16'} />;\n } else if (hasWarning) {\n statusIcon = <IconWarningYellow size={size === 'lg' ? '24' : '16'} />;\n }\n\n return (\n <TagsInput.Root\n addOnPaste={addOnPaste}\n blurBehavior={blurBehavior}\n defaultValue={defaultValue}\n delimiter={delimiter}\n disabled={isDisabled}\n invalid={isInvalid}\n max={max}\n onValueChange={onValueChange}\n readOnly={isReadOnly}\n size={size}\n validate={effectiveValidate}\n value={value}\n >\n <TagsInput.Context>\n {({ value: tagValues }) => (\n <BitkitField\n counterText={max !== undefined ? `${tagValues.length}/${max}` : undefined}\n ref={ref}\n state={state}\n {...fieldProps}\n >\n <TagsInput.Control>\n <chakra.div css={styles.tagsBlock}>\n {tagValues.map((tagValue, index) => (\n <TagsInput.Item index={index} key={tagValue} value={tagValue}>\n <TagsInput.ItemPreview>\n <TagsInput.ItemText>{tagValue}</TagsInput.ItemText>\n {!isReadOnly && (\n <TagsInput.ItemDeleteTrigger>\n <IconCross size=\"16\" />\n </TagsInput.ItemDeleteTrigger>\n )}\n </TagsInput.ItemPreview>\n <TagsInput.ItemInput />\n </TagsInput.Item>\n ))}\n <TagsInput.Input placeholder={placeholder} />\n </chakra.div>\n {(statusIcon || (tagValues.length > 0 && !isDisabled && !isReadOnly)) && (\n <chakra.div css={styles.suffixBlock}>\n {statusIcon}\n {tagValues.length > 0 && !isDisabled && !isReadOnly && (\n <TagsInput.ClearTrigger css={styles.clearTrigger}>\n <IconCross size={size === 'lg' ? '24' : '16'} />\n </TagsInput.ClearTrigger>\n )}\n </chakra.div>\n )}\n </TagsInput.Control>\n <TagsInput.HiddenInput />\n </BitkitField>\n )}\n </TagsInput.Context>\n </TagsInput.Root>\n );\n});\n\nBitkitTagsInput.displayName = 'BitkitTagsInput';\nexport default BitkitTagsInput;\n"],"mappings":";;;;;;;;;AAqBA,IAAM,eAA6D,EAAE,iBAAiB,WAAW,KAAK,CAAC,CAAC,SAAS;AAEjH,IAAM,kBAAkB,YAAkD,OAAO,QAAQ;CACvF,MAAM,EACJ,aAAa,MACb,eAAe,OACf,cAGA,YAAY,UACZ,KACA,eACA,aACA,OAAO,MACP,OACA,UACA,OACA,GAAG,eACD;CAIJ,MAAM,qBAAmE,YACvE,YAAY,OAAO,MAAM,WAAW,OAAO,KAAK;CAElD,MAAM,SAAS,cAAc,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;CAE3D,MAAM,aAAa,UAAU,aAAa,CAAC,CAAC,WAAW;CACvD,MAAM,YAAY,UAAU,WAAW,CAAC,CAAC,WAAW;CACpD,MAAM,aAAa,UAAU;CAC7B,MAAM,aAAa,UAAU;CAE7B,IAAI,aAAa,KAAA;CACjB,IAAI,WACF,aAAa,oBAAC,uBAAD;EAAuB,OAAM;EAAgB,MAAM,SAAS,OAAO,OAAO;CAAO,CAAA;MACzF,IAAI,YACT,aAAa,oBAAC,mBAAD,EAAmB,MAAM,SAAS,OAAO,OAAO,KAAO,CAAA;CAGtE,OACE,oBAAC,UAAU,MAAX;EACc;EACE;EACA;EACH;EACX,UAAU;EACV,SAAS;EACJ;EACU;EACf,UAAU;EACJ;EACN,UAAU;EACH;YAEP,oBAAC,UAAU,SAAX,EAAA,WACI,EAAE,OAAO,gBACT,qBAAC,aAAD;GACE,aAAa,QAAQ,KAAA,IAAY,GAAG,UAAU,OAAO,GAAG,QAAQ,KAAA;GAC3D;GACE;GACP,GAAI;aAJN,CAME,qBAAC,UAAU,SAAX,EAAA,UAAA,CACE,qBAAC,OAAO,KAAR;IAAY,KAAK,OAAO;cAAxB,CACG,UAAU,KAAK,UAAU,UACxB,qBAAC,UAAU,MAAX;KAAuB;KAAsB,OAAO;eAApD,CACE,qBAAC,UAAU,aAAX,EAAA,UAAA,CACE,oBAAC,UAAU,UAAX,EAAA,UAAqB,SAA6B,CAAA,GACjD,CAAC,cACA,oBAAC,UAAU,mBAAX,EAAA,UACE,oBAAC,WAAD,EAAW,MAAK,KAAM,CAAA,EACK,CAAA,CAEV,EAAA,CAAA,GACvB,oBAAC,UAAU,WAAX,CAAsB,CAAA,CACR;OAVmB,QAUnB,CACjB,GACD,oBAAC,UAAU,OAAX,EAA8B,YAAc,CAAA,CAClC;QACV,cAAe,UAAU,SAAS,KAAK,CAAC,cAAc,CAAC,eACvD,qBAAC,OAAO,KAAR;IAAY,KAAK,OAAO;cAAxB,CACG,YACA,UAAU,SAAS,KAAK,CAAC,cAAc,CAAC,cACvC,oBAAC,UAAU,cAAX;KAAwB,KAAK,OAAO;eAClC,oBAAC,WAAD,EAAW,MAAM,SAAS,OAAO,OAAO,KAAO,CAAA;IACzB,CAAA,CAEhB;KAEG,EAAA,CAAA,GACnB,oBAAC,UAAU,aAAX,CAAwB,CAAA,CACb;KAEE,CAAA;CACL,CAAA;AAEpB,CAAC;AAED,gBAAgB,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitkitTextInput.js","names":[],"sources":["../../../lib/components/BitkitTextInput/BitkitTextInput.tsx"],"sourcesContent":["import { Box } from '@chakra-ui/react/box';\nimport { Group } from '@chakra-ui/react/group';\nimport { Input, type InputProps } from '@chakra-ui/react/input';\nimport { InputAddon, type InputAddonProps } from '@chakra-ui/react/input-addon';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { forwardRef, type ReactNode } from 'react';\n\nimport { IconErrorCircleFilled, IconWarningYellow } from '../../icons';\nimport BitkitField, { type BitkitFieldProps } from '../BitkitField/BitkitField';\n\nexport interface BitkitTextInputProps extends Omit<BitkitFieldProps, 'children' | 'state'> {\n counter?: boolean;\n endAddon?: ReactNode;\n endAddonProps?: InputAddonProps;\n endElement?: ReactNode;\n inputProps?: InputProps;\n maxLength?: HTMLInputElement['maxLength'];\n placeholder?: string;\n size?: 'md' | 'lg';\n startAddon?: ReactNode;\n startAddonProps?: InputAddonProps;\n startElement?: ReactNode;\n state?: 'disabled' | 'error' | 'readOnly' | 'warning';\n}\n\nconst BitkitTextInput = forwardRef<HTMLDivElement, BitkitTextInputProps>((props, ref) => {\n const {\n counter,\n endAddon,\n endAddonProps,\n endElement,\n inputProps,\n maxLength,\n placeholder,\n size = 'lg',\n startAddon,\n startAddonProps,\n startElement,\n state,\n ...fieldProps\n } = props;\n\n const recipe = useSlotRecipe({ key: 'textInput' });\n const styles = recipe({ size });\n\n const iconSize = size === 'md' ? '16' : '24';\n const addonSize = size === 'md' ? 'md' : 'lg';\n\n const hasWarning = state === 'warning' || !!fieldProps.warningText;\n const isInvalid = state === 'error' || !!fieldProps.errorText;\n\n let statusIcon: ReactNode = null;\n if (isInvalid) {\n statusIcon = <IconErrorCircleFilled color=\"icon/negative\" size={iconSize} />;\n } else if (hasWarning) {\n statusIcon = <IconWarningYellow size={iconSize} />;\n }\n\n const counterText =\n counter && maxLength && inputProps?.value !== undefined\n ? `${inputProps.value.toString().length}/${maxLength}`\n : undefined;\n\n const stateAttrs = {\n 'data-disabled': state === 'disabled' ? '' : undefined,\n 'data-invalid': isInvalid ? '' : undefined,\n 'data-readonly': state === 'readOnly' ? '' : undefined,\n };\n\n return (\n <BitkitField counterText={counterText} ref={ref} state={state} {...fieldProps}>\n <Group attached width=\"100%\">\n {startAddon != null && (\n <InputAddon position=\"start\" size={addonSize} {...stateAttrs} {...startAddonProps}>\n {startAddon}\n </InputAddon>\n )}\n <Box css={styles.field} {...stateAttrs}>\n {startElement != null && (\n <Box css={styles.element} {...stateAttrs}>\n {startElement}\n </Box>\n )}\n <Input css={styles.input} maxLength={maxLength} placeholder={placeholder} {...inputProps} unstyled />\n {statusIcon != null && (\n <Box css={styles.element} {...stateAttrs}>\n {statusIcon}\n </Box>\n )}\n {endElement != null && (\n <Box css={styles.element} {...stateAttrs}>\n {endElement}\n </Box>\n )}\n </Box>\n {endAddon != null && (\n <InputAddon position=\"end\" size={addonSize} {...stateAttrs} {...endAddonProps}>\n {endAddon}\n </InputAddon>\n )}\n </Group>\n </BitkitField>\n );\n});\n\nBitkitTextInput.displayName = 'BitkitTextInput';\n\nexport default BitkitTextInput;\n"],"mappings":";;;;;;;;;;;AAyBA,IAAM,kBAAkB,YAAkD,OAAO,QAAQ;CACvF,MAAM,EACJ,SACA,UACA,eACA,YACA,YACA,WACA,aACA,OAAO,MACP,YACA,iBACA,cACA,OACA,GAAG,eACD;CAGJ,MAAM,SADS,cAAc,EAAE,KAAK,YAAY,CACjC,
|
|
1
|
+
{"version":3,"file":"BitkitTextInput.js","names":[],"sources":["../../../lib/components/BitkitTextInput/BitkitTextInput.tsx"],"sourcesContent":["import { Box } from '@chakra-ui/react/box';\nimport { Group } from '@chakra-ui/react/group';\nimport { Input, type InputProps } from '@chakra-ui/react/input';\nimport { InputAddon, type InputAddonProps } from '@chakra-ui/react/input-addon';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { forwardRef, type ReactNode } from 'react';\n\nimport { IconErrorCircleFilled, IconWarningYellow } from '../../icons';\nimport BitkitField, { type BitkitFieldProps } from '../BitkitField/BitkitField';\n\nexport interface BitkitTextInputProps extends Omit<BitkitFieldProps, 'children' | 'state'> {\n counter?: boolean;\n endAddon?: ReactNode;\n endAddonProps?: InputAddonProps;\n endElement?: ReactNode;\n inputProps?: InputProps;\n maxLength?: HTMLInputElement['maxLength'];\n placeholder?: string;\n size?: 'md' | 'lg';\n startAddon?: ReactNode;\n startAddonProps?: InputAddonProps;\n startElement?: ReactNode;\n state?: 'disabled' | 'error' | 'readOnly' | 'warning';\n}\n\nconst BitkitTextInput = forwardRef<HTMLDivElement, BitkitTextInputProps>((props, ref) => {\n const {\n counter,\n endAddon,\n endAddonProps,\n endElement,\n inputProps,\n maxLength,\n placeholder,\n size = 'lg',\n startAddon,\n startAddonProps,\n startElement,\n state,\n ...fieldProps\n } = props;\n\n const recipe = useSlotRecipe({ key: 'textInput' });\n const styles = recipe({ size });\n\n const iconSize = size === 'md' ? '16' : '24';\n const addonSize = size === 'md' ? 'md' : 'lg';\n\n const hasWarning = state === 'warning' || !!fieldProps.warningText;\n const isInvalid = state === 'error' || !!fieldProps.errorText;\n\n let statusIcon: ReactNode = null;\n if (isInvalid) {\n statusIcon = <IconErrorCircleFilled color=\"icon/negative\" size={iconSize} />;\n } else if (hasWarning) {\n statusIcon = <IconWarningYellow size={iconSize} />;\n }\n\n const counterText =\n counter && maxLength && inputProps?.value !== undefined\n ? `${inputProps.value.toString().length}/${maxLength}`\n : undefined;\n\n const stateAttrs = {\n 'data-disabled': state === 'disabled' ? '' : undefined,\n 'data-invalid': isInvalid ? '' : undefined,\n 'data-readonly': state === 'readOnly' ? '' : undefined,\n };\n\n return (\n <BitkitField counterText={counterText} ref={ref} state={state} {...fieldProps}>\n <Group attached width=\"100%\">\n {startAddon != null && (\n <InputAddon position=\"start\" size={addonSize} {...stateAttrs} {...startAddonProps}>\n {startAddon}\n </InputAddon>\n )}\n <Box css={styles.field} {...stateAttrs}>\n {startElement != null && (\n <Box css={styles.element} {...stateAttrs}>\n {startElement}\n </Box>\n )}\n <Input css={styles.input} maxLength={maxLength} placeholder={placeholder} {...inputProps} unstyled />\n {statusIcon != null && (\n <Box css={styles.element} {...stateAttrs}>\n {statusIcon}\n </Box>\n )}\n {endElement != null && (\n <Box css={styles.element} {...stateAttrs}>\n {endElement}\n </Box>\n )}\n </Box>\n {endAddon != null && (\n <InputAddon position=\"end\" size={addonSize} {...stateAttrs} {...endAddonProps}>\n {endAddon}\n </InputAddon>\n )}\n </Group>\n </BitkitField>\n );\n});\n\nBitkitTextInput.displayName = 'BitkitTextInput';\n\nexport default BitkitTextInput;\n"],"mappings":";;;;;;;;;;;AAyBA,IAAM,kBAAkB,YAAkD,OAAO,QAAQ;CACvF,MAAM,EACJ,SACA,UACA,eACA,YACA,YACA,WACA,aACA,OAAO,MACP,YACA,iBACA,cACA,OACA,GAAG,eACD;CAGJ,MAAM,SADS,cAAc,EAAE,KAAK,YAAY,CACjC,CAAA,CAAO,EAAE,KAAK,CAAC;CAE9B,MAAM,WAAW,SAAS,OAAO,OAAO;CACxC,MAAM,YAAY,SAAS,OAAO,OAAO;CAEzC,MAAM,aAAa,UAAU,aAAa,CAAC,CAAC,WAAW;CACvD,MAAM,YAAY,UAAU,WAAW,CAAC,CAAC,WAAW;CAEpD,IAAI,aAAwB;CAC5B,IAAI,WACF,aAAa,oBAAC,uBAAD;EAAuB,OAAM;EAAgB,MAAM;CAAW,CAAA;MACtE,IAAI,YACT,aAAa,oBAAC,mBAAD,EAAmB,MAAM,SAAW,CAAA;CAGnD,MAAM,cACJ,WAAW,aAAa,YAAY,UAAU,KAAA,IAC1C,GAAG,WAAW,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,cACzC,KAAA;CAEN,MAAM,aAAa;EACjB,iBAAiB,UAAU,aAAa,KAAK,KAAA;EAC7C,gBAAgB,YAAY,KAAK,KAAA;EACjC,iBAAiB,UAAU,aAAa,KAAK,KAAA;CAC/C;CAEA,OACE,oBAAC,aAAD;EAA0B;EAAkB;EAAY;EAAO,GAAI;YACjE,qBAAC,OAAD;GAAO,UAAA;GAAS,OAAM;aAAtB;IACG,cAAc,QACb,oBAAC,YAAD;KAAY,UAAS;KAAQ,MAAM;KAAW,GAAI;KAAY,GAAI;eAC/D;IACS,CAAA;IAEd,qBAAC,KAAD;KAAK,KAAK,OAAO;KAAO,GAAI;eAA5B;MACG,gBAAgB,QACf,oBAAC,KAAD;OAAK,KAAK,OAAO;OAAS,GAAI;iBAC3B;MACE,CAAA;MAEP,oBAAC,OAAD;OAAO,KAAK,OAAO;OAAkB;OAAwB;OAAa,GAAI;OAAY,UAAA;MAAU,CAAA;MACnG,cAAc,QACb,oBAAC,KAAD;OAAK,KAAK,OAAO;OAAS,GAAI;iBAC3B;MACE,CAAA;MAEN,cAAc,QACb,oBAAC,KAAD;OAAK,KAAK,OAAO;OAAS,GAAI;iBAC3B;MACE,CAAA;KAEJ;;IACJ,YAAY,QACX,oBAAC,YAAD;KAAY,UAAS;KAAM,MAAM;KAAW,GAAI;KAAY,GAAI;eAC7D;IACS,CAAA;GAET;;CACI,CAAA;AAEjB,CAAC;AAED,gBAAgB,cAAc"}
|
|
@@ -1 +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';\nimport { withSubComponents } from '../../utilities/withSubComponents';\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 = withSubComponents(Root, {\n Branch,\n Leaf,\n});\n\nexport default BitkitTreeView;\n"],"mappings":";;;;;;;;;;;;;AA+BA,IAAM,CAAC,iBAAiB,cAAc,gBAAkD;CACtF,MAAM;CACN,cAAc,EAAE,SAAS,QAAQ;AACnC,CAAC;AAED,IAAM,uBAAuB,YAAmC;CAE9D,OADe,cAAc,EAAE,KAAK,WAAW,CACxC,
|
|
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';\nimport { withSubComponents } from '../../utilities/withSubComponents';\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 = withSubComponents(Root, {\n Branch,\n Leaf,\n});\n\nexport default BitkitTreeView;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.recipe.js","names":[],"sources":["../../../lib/theme/recipes/Button.recipe.ts"],"sourcesContent":["import { defineRecipe, type SystemStyleObject } from '@chakra-ui/react/styled-system';\n\nimport { rem } from '../themeUtils';\n\n// `as const` is load-bearing: without it `(typeof buttonVariants)[number]` widens to `string`,\n// which collapses the recipe's `variant` prop type to `string` — losing TS autocomplete/checking\n// and leaving Storybook/docgen (and the bitkit-storybook MCP) unable to enumerate the variants.\nconst buttonVariants = [\n 'primary',\n 'secondary',\n 'tertiary',\n 'danger-primary',\n 'danger-secondary',\n 'danger-tertiary',\n 'ai-primary',\n 'ai-secondary',\n 'ai-tertiary',\n] as const;\n\nexport type Variant = (typeof buttonVariants)[number];\n\nconst variantStyles = buttonVariants.reduce(\n (obj, variant) => {\n let borderColor = variant?.includes('secondary') ? `button/${variant}/border` : `button/${variant}/bg`;\n let disabledBorderColor = variant?.includes('secondary')\n ? `button/${variant}/border-disabled`\n : `button/${variant}/bg-disabled`;\n if (variant?.includes('tertiary')) {\n borderColor = 'transparent';\n disabledBorderColor = 'transparent';\n }\n const isSecondary = variant === 'secondary';\n const activeStyles: SystemStyleObject = {\n backgroundColor: `button/${variant}/bg-active`,\n borderColor: variant?.includes('secondary') ? `button/${variant}/border-active` : `button/${variant}/bg-active`,\n color: isSecondary ? 'button/secondary/text-active' : `button/${variant}/fg-active`,\n _icon: {\n color: isSecondary ? 'button/secondary/icon-active' : undefined,\n },\n };\n obj[variant as NonNullable<Variant>] = {\n // `_hover`/`_active` (not raw `&:hover`/`&:active`) compile to `:not(:disabled, [data-disabled])`,\n // so they never match a disabled button — the `_disabled` styles win naturally, no `!important` needed.\n _hover: {\n backgroundColor: `button/${variant}/bg-hover`,\n borderColor: variant?.includes('secondary') ? `button/${variant}/border-hover` : `button/${variant}/bg-hover`,\n color: isSecondary ? 'button/secondary/text-hover' : `button/${variant}/fg-hover`,\n _icon: {\n color: isSecondary ? 'button/secondary/icon-hover' : undefined,\n },\n // Repeat active under hover so clicking-while-hovering keeps active styles (see CLAUDE.md).\n _active: activeStyles,\n },\n _active: activeStyles,\n _disabled: {\n backgroundColor: `button/${variant}/bg-disabled`,\n borderColor: disabledBorderColor,\n color: isSecondary ? 'button/secondary/text-disabled' : `button/${variant}/fg-disabled`,\n cursor: 'not-allowed',\n _icon: {\n color: isSecondary ? 'button/secondary/icon-disabled' : undefined,\n },\n },\n _icon: {\n color: isSecondary ? 'button/secondary/icon' : undefined,\n },\n backgroundColor: `button/${variant}/bg`,\n borderColor,\n borderStyle: 'solid',\n borderWidth: '1',\n color: isSecondary ? 'button/secondary/text' : `button/${variant}/fg`,\n };\n return obj;\n },\n {} as Record<NonNullable<Variant>, SystemStyleObject>,\n);\n\nconst buttonRecipe = defineRecipe({\n className: 'button',\n base: {\n borderRadius: '4',\n cursor: 'pointer',\n fontWeight: 600,\n border: '1px solid transparent',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '8',\n position: 'relative',\n '--spinner-color': 'currentColor',\n '--spinner-size': 'sizes.16',\n _disabled: {\n cursor: 'not-allowed',\n },\n },\n variants: {\n variant: variantStyles,\n size: {\n sm: {\n minWidth: '32',\n height: '32',\n paddingInline: rem(11),\n paddingBlock: rem(5),\n textStyle: 'comp/button/sm',\n },\n md: {\n minWidth: '40',\n height: '40',\n paddingInline: rem(15),\n paddingBlock: rem(7),\n textStyle: 'comp/button/md',\n },\n lg: {\n minWidth: '48',\n height: '48',\n padding: rem(15),\n textStyle: 'comp/button/lg',\n },\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'lg',\n },\n});\n\nexport default buttonRecipe;\n"],"mappings":";;;AA6EA,IAAM,eAAe,aAAa;CAChC,WAAW;CACX,MAAM;EACJ,cAAc;EACd,QAAQ;EACR,YAAY;EACZ,QAAQ;EACR,SAAS;EACT,YAAY;EACZ,gBAAgB;EAChB,KAAK;EACL,UAAU;EACV,mBAAmB;EACnB,kBAAkB;EAClB,WAAW,EACT,QAAQ,cACV;CACF;CACA,UAAU;EACR,SA3EkB;GAbpB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EAKoB,
|
|
1
|
+
{"version":3,"file":"Button.recipe.js","names":[],"sources":["../../../lib/theme/recipes/Button.recipe.ts"],"sourcesContent":["import { defineRecipe, type SystemStyleObject } from '@chakra-ui/react/styled-system';\n\nimport { rem } from '../themeUtils';\n\n// `as const` is load-bearing: without it `(typeof buttonVariants)[number]` widens to `string`,\n// which collapses the recipe's `variant` prop type to `string` — losing TS autocomplete/checking\n// and leaving Storybook/docgen (and the bitkit-storybook MCP) unable to enumerate the variants.\nconst buttonVariants = [\n 'primary',\n 'secondary',\n 'tertiary',\n 'danger-primary',\n 'danger-secondary',\n 'danger-tertiary',\n 'ai-primary',\n 'ai-secondary',\n 'ai-tertiary',\n] as const;\n\nexport type Variant = (typeof buttonVariants)[number];\n\nconst variantStyles = buttonVariants.reduce(\n (obj, variant) => {\n let borderColor = variant?.includes('secondary') ? `button/${variant}/border` : `button/${variant}/bg`;\n let disabledBorderColor = variant?.includes('secondary')\n ? `button/${variant}/border-disabled`\n : `button/${variant}/bg-disabled`;\n if (variant?.includes('tertiary')) {\n borderColor = 'transparent';\n disabledBorderColor = 'transparent';\n }\n const isSecondary = variant === 'secondary';\n const activeStyles: SystemStyleObject = {\n backgroundColor: `button/${variant}/bg-active`,\n borderColor: variant?.includes('secondary') ? `button/${variant}/border-active` : `button/${variant}/bg-active`,\n color: isSecondary ? 'button/secondary/text-active' : `button/${variant}/fg-active`,\n _icon: {\n color: isSecondary ? 'button/secondary/icon-active' : undefined,\n },\n };\n obj[variant as NonNullable<Variant>] = {\n // `_hover`/`_active` (not raw `&:hover`/`&:active`) compile to `:not(:disabled, [data-disabled])`,\n // so they never match a disabled button — the `_disabled` styles win naturally, no `!important` needed.\n _hover: {\n backgroundColor: `button/${variant}/bg-hover`,\n borderColor: variant?.includes('secondary') ? `button/${variant}/border-hover` : `button/${variant}/bg-hover`,\n color: isSecondary ? 'button/secondary/text-hover' : `button/${variant}/fg-hover`,\n _icon: {\n color: isSecondary ? 'button/secondary/icon-hover' : undefined,\n },\n // Repeat active under hover so clicking-while-hovering keeps active styles (see CLAUDE.md).\n _active: activeStyles,\n },\n _active: activeStyles,\n _disabled: {\n backgroundColor: `button/${variant}/bg-disabled`,\n borderColor: disabledBorderColor,\n color: isSecondary ? 'button/secondary/text-disabled' : `button/${variant}/fg-disabled`,\n cursor: 'not-allowed',\n _icon: {\n color: isSecondary ? 'button/secondary/icon-disabled' : undefined,\n },\n },\n _icon: {\n color: isSecondary ? 'button/secondary/icon' : undefined,\n },\n backgroundColor: `button/${variant}/bg`,\n borderColor,\n borderStyle: 'solid',\n borderWidth: '1',\n color: isSecondary ? 'button/secondary/text' : `button/${variant}/fg`,\n };\n return obj;\n },\n {} as Record<NonNullable<Variant>, SystemStyleObject>,\n);\n\nconst buttonRecipe = defineRecipe({\n className: 'button',\n base: {\n borderRadius: '4',\n cursor: 'pointer',\n fontWeight: 600,\n border: '1px solid transparent',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '8',\n position: 'relative',\n '--spinner-color': 'currentColor',\n '--spinner-size': 'sizes.16',\n _disabled: {\n cursor: 'not-allowed',\n },\n },\n variants: {\n variant: variantStyles,\n size: {\n sm: {\n minWidth: '32',\n height: '32',\n paddingInline: rem(11),\n paddingBlock: rem(5),\n textStyle: 'comp/button/sm',\n },\n md: {\n minWidth: '40',\n height: '40',\n paddingInline: rem(15),\n paddingBlock: rem(7),\n textStyle: 'comp/button/md',\n },\n lg: {\n minWidth: '48',\n height: '48',\n padding: rem(15),\n textStyle: 'comp/button/lg',\n },\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'lg',\n },\n});\n\nexport default buttonRecipe;\n"],"mappings":";;;AA6EA,IAAM,eAAe,aAAa;CAChC,WAAW;CACX,MAAM;EACJ,cAAc;EACd,QAAQ;EACR,YAAY;EACZ,QAAQ;EACR,SAAS;EACT,YAAY;EACZ,gBAAgB;EAChB,KAAK;EACL,UAAU;EACV,mBAAmB;EACnB,kBAAkB;EAClB,WAAW,EACT,QAAQ,cACV;CACF;CACA,UAAU;EACR,SA3EkB;GAbpB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EAKoB,CAAA,CAAe,QAClC,KAAK,YAAY;GAChB,IAAI,cAAc,SAAS,SAAS,WAAW,IAAI,UAAU,QAAQ,WAAW,UAAU,QAAQ;GAClG,IAAI,sBAAsB,SAAS,SAAS,WAAW,IACnD,UAAU,QAAQ,oBAClB,UAAU,QAAQ;GACtB,IAAI,SAAS,SAAS,UAAU,GAAG;IACjC,cAAc;IACd,sBAAsB;GACxB;GACA,MAAM,cAAc,YAAY;GAChC,MAAM,eAAkC;IACtC,iBAAiB,UAAU,QAAQ;IACnC,aAAa,SAAS,SAAS,WAAW,IAAI,UAAU,QAAQ,kBAAkB,UAAU,QAAQ;IACpG,OAAO,cAAc,iCAAiC,UAAU,QAAQ;IACxE,OAAO,EACL,OAAO,cAAc,iCAAiC,KAAA,EACxD;GACF;GACA,IAAI,WAAmC;IAGrC,QAAQ;KACN,iBAAiB,UAAU,QAAQ;KACnC,aAAa,SAAS,SAAS,WAAW,IAAI,UAAU,QAAQ,iBAAiB,UAAU,QAAQ;KACnG,OAAO,cAAc,gCAAgC,UAAU,QAAQ;KACvE,OAAO,EACL,OAAO,cAAc,gCAAgC,KAAA,EACvD;KAEA,SAAS;IACX;IACA,SAAS;IACT,WAAW;KACT,iBAAiB,UAAU,QAAQ;KACnC,aAAa;KACb,OAAO,cAAc,mCAAmC,UAAU,QAAQ;KAC1E,QAAQ;KACR,OAAO,EACL,OAAO,cAAc,mCAAmC,KAAA,EAC1D;IACF;IACA,OAAO,EACL,OAAO,cAAc,0BAA0B,KAAA,EACjD;IACA,iBAAiB,UAAU,QAAQ;IACnC;IACA,aAAa;IACb,aAAa;IACb,OAAO,cAAc,0BAA0B,UAAU,QAAQ;GACnE;GACA,OAAO;EACT,GACA,CAAC,CAsBU;EACT,MAAM;GACJ,IAAI;IACF,UAAU;IACV,QAAQ;IACR,eAAe,IAAI,EAAE;IACrB,cAAc,IAAI,CAAC;IACnB,WAAW;GACb;GACA,IAAI;IACF,UAAU;IACV,QAAQ;IACR,eAAe,IAAI,EAAE;IACrB,cAAc,IAAI,CAAC;IACnB,WAAW;GACb;GACA,IAAI;IACF,UAAU;IACV,QAAQ;IACR,SAAS,IAAI,EAAE;IACf,WAAW;GACb;EACF;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandableCard.recipe.js","names":[],"sources":["../../../lib/theme/slot-recipes/ExpandableCard.recipe.ts"],"sourcesContent":["import { cardAnatomy } from '@chakra-ui/react/anatomy';\nimport { defineSlotRecipe } from '@chakra-ui/react/styled-system';\n\nconst expandableCardSlotRecipe = defineSlotRecipe({\n className: 'expandable-card',\n slots: [...cardAnatomy.omit('body', 'footer').keys(), 'collapsible', 'icon', 'subtitle', 'suffix'],\n base: {\n root: {\n backgroundColor: 'background/primary',\n overflow: 'hidden',\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n cursor: 'pointer',\n width: '100%',\n color: 'text/primary',\n '&:active': {\n backgroundColor: 'background/active',\n },\n '&:hover:not(:active)': {\n backgroundColor: 'background/hover',\n },\n _hover: {\n color: 'text/primary',\n },\n _open: {\n backgroundColor: 'background/secondary',\n },\n },\n collapsible: {\n overflow: 'hidden',\n _open: {\n animationName: 'expand-height, fade-in',\n animationDuration: 'moderate',\n },\n _closed: {\n animationName: 'collapse-height, fade-out',\n animationDuration: 'moderate',\n },\n },\n icon: {\n color: 'icon/secondary',\n },\n subtitle: {\n color: 'text/secondary',\n },\n suffix: {\n color: 'text/secondary',\n mx: '16',\n textStyle: 'body/md/regular',\n },\n },\n variants: {\n size: {\n md: {\n header: { textStyle: 'body/md/regular', paddingX: '16', paddingY: '12' },\n subtitle: { textStyle: 'body/sm/regular' },\n },\n lg: {\n header: { textStyle: 'body/lg/regular', padding: '16' },\n subtitle: { textStyle: 'body/md/regular' },\n },\n },\n },\n defaultVariants: {\n size: 'lg',\n },\n});\n\nexport default expandableCardSlotRecipe;\n"],"mappings":";;;AAGA,IAAM,2BAA2B,iBAAiB;CAChD,WAAW;CACX,OAAO;EAAC,GAAG,YAAY,KAAK,QAAQ,QAAQ,
|
|
1
|
+
{"version":3,"file":"ExpandableCard.recipe.js","names":[],"sources":["../../../lib/theme/slot-recipes/ExpandableCard.recipe.ts"],"sourcesContent":["import { cardAnatomy } from '@chakra-ui/react/anatomy';\nimport { defineSlotRecipe } from '@chakra-ui/react/styled-system';\n\nconst expandableCardSlotRecipe = defineSlotRecipe({\n className: 'expandable-card',\n slots: [...cardAnatomy.omit('body', 'footer').keys(), 'collapsible', 'icon', 'subtitle', 'suffix'],\n base: {\n root: {\n backgroundColor: 'background/primary',\n overflow: 'hidden',\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n cursor: 'pointer',\n width: '100%',\n color: 'text/primary',\n '&:active': {\n backgroundColor: 'background/active',\n },\n '&:hover:not(:active)': {\n backgroundColor: 'background/hover',\n },\n _hover: {\n color: 'text/primary',\n },\n _open: {\n backgroundColor: 'background/secondary',\n },\n },\n collapsible: {\n overflow: 'hidden',\n _open: {\n animationName: 'expand-height, fade-in',\n animationDuration: 'moderate',\n },\n _closed: {\n animationName: 'collapse-height, fade-out',\n animationDuration: 'moderate',\n },\n },\n icon: {\n color: 'icon/secondary',\n },\n subtitle: {\n color: 'text/secondary',\n },\n suffix: {\n color: 'text/secondary',\n mx: '16',\n textStyle: 'body/md/regular',\n },\n },\n variants: {\n size: {\n md: {\n header: { textStyle: 'body/md/regular', paddingX: '16', paddingY: '12' },\n subtitle: { textStyle: 'body/sm/regular' },\n },\n lg: {\n header: { textStyle: 'body/lg/regular', padding: '16' },\n subtitle: { textStyle: 'body/md/regular' },\n },\n },\n },\n defaultVariants: {\n size: 'lg',\n },\n});\n\nexport default expandableCardSlotRecipe;\n"],"mappings":";;;AAGA,IAAM,2BAA2B,iBAAiB;CAChD,WAAW;CACX,OAAO;EAAC,GAAG,YAAY,KAAK,QAAQ,QAAQ,CAAC,CAAC,KAAK;EAAG;EAAe;EAAQ;EAAY;CAAQ;CACjG,MAAM;EACJ,MAAM;GACJ,iBAAiB;GACjB,UAAU;EACZ;EACA,QAAQ;GACN,SAAS;GACT,YAAY;GACZ,gBAAgB;GAChB,QAAQ;GACR,OAAO;GACP,OAAO;GACP,YAAY,EACV,iBAAiB,oBACnB;GACA,wBAAwB,EACtB,iBAAiB,mBACnB;GACA,QAAQ,EACN,OAAO,eACT;GACA,OAAO,EACL,iBAAiB,uBACnB;EACF;EACA,aAAa;GACX,UAAU;GACV,OAAO;IACL,eAAe;IACf,mBAAmB;GACrB;GACA,SAAS;IACP,eAAe;IACf,mBAAmB;GACrB;EACF;EACA,MAAM,EACJ,OAAO,iBACT;EACA,UAAU,EACR,OAAO,iBACT;EACA,QAAQ;GACN,OAAO;GACP,IAAI;GACJ,WAAW;EACb;CACF;CACA,UAAU,EACR,MAAM;EACJ,IAAI;GACF,QAAQ;IAAE,WAAW;IAAmB,UAAU;IAAM,UAAU;GAAK;GACvE,UAAU,EAAE,WAAW,kBAAkB;EAC3C;EACA,IAAI;GACF,QAAQ;IAAE,WAAW;IAAmB,SAAS;GAAK;GACtD,UAAU,EAAE,WAAW,kBAAkB;EAC3C;CACF,EACF;CACA,iBAAiB,EACf,MAAM,KACR;AACF,CAAC"}
|
|
@@ -87,6 +87,6 @@ var numberInputSlotRecipe = defineSlotRecipe({
|
|
|
87
87
|
defaultVariants: { size: "lg" }
|
|
88
88
|
});
|
|
89
89
|
//#endregion
|
|
90
|
-
export { numberInputSlotRecipe as default, triggerSeparatorStyle };
|
|
90
|
+
export { numberInputSlotRecipe as default, numberInputSlotRecipe, triggerSeparatorStyle };
|
|
91
91
|
|
|
92
92
|
//# sourceMappingURL=NumberInput.recipe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepCard.recipe.js","names":[],"sources":["../../../lib/theme/slot-recipes/StepCard.recipe.ts"],"sourcesContent":["import { cardAnatomy } from '@chakra-ui/react/anatomy';\nimport { defineSlotRecipe } from '@chakra-ui/react/styled-system';\n\nconst stepsCardAnatomy = cardAnatomy.extendWith('titleGroup');\n\nconst stepCardSlotRecipe = defineSlotRecipe({\n className: 'steps-card',\n slots: stepsCardAnatomy.keys(),\n base: {\n root: {\n backgroundColor: 'background/primary',\n border: '1px solid',\n borderColor: 'border/minimal',\n borderRadius: '8',\n boxShadow: 'elevation/md',\n overflow: 'hidden',\n },\n header: {\n paddingBlockStart: '32',\n paddingInline: '32',\n },\n body: {\n display: 'flex',\n flexDirection: 'column',\n gap: '24',\n paddingBlockEnd: '48',\n paddingBlockStart: '32',\n paddingInline: '32',\n },\n titleGroup: {\n display: 'flex',\n flexDirection: 'column',\n gap: '4',\n },\n title: {\n color: 'text/primary',\n textStyle: 'heading/h3',\n },\n description: {\n color: 'text/secondary',\n textStyle: 'body/md/regular',\n },\n footer: {\n alignItems: 'center',\n borderBlockStart: '1px solid',\n borderColor: 'border/minimal',\n display: 'flex',\n gap: '16',\n justifyContent: 'flex-end',\n padding: '32',\n },\n },\n});\n\nexport default stepCardSlotRecipe;\n"],"mappings":";;;AAKA,IAAM,qBAAqB,iBAAiB;CAC1C,WAAW;CACX,OAJuB,YAAY,WAAW,YAIvC,
|
|
1
|
+
{"version":3,"file":"StepCard.recipe.js","names":[],"sources":["../../../lib/theme/slot-recipes/StepCard.recipe.ts"],"sourcesContent":["import { cardAnatomy } from '@chakra-ui/react/anatomy';\nimport { defineSlotRecipe } from '@chakra-ui/react/styled-system';\n\nconst stepsCardAnatomy = cardAnatomy.extendWith('titleGroup');\n\nconst stepCardSlotRecipe = defineSlotRecipe({\n className: 'steps-card',\n slots: stepsCardAnatomy.keys(),\n base: {\n root: {\n backgroundColor: 'background/primary',\n border: '1px solid',\n borderColor: 'border/minimal',\n borderRadius: '8',\n boxShadow: 'elevation/md',\n overflow: 'hidden',\n },\n header: {\n paddingBlockStart: '32',\n paddingInline: '32',\n },\n body: {\n display: 'flex',\n flexDirection: 'column',\n gap: '24',\n paddingBlockEnd: '48',\n paddingBlockStart: '32',\n paddingInline: '32',\n },\n titleGroup: {\n display: 'flex',\n flexDirection: 'column',\n gap: '4',\n },\n title: {\n color: 'text/primary',\n textStyle: 'heading/h3',\n },\n description: {\n color: 'text/secondary',\n textStyle: 'body/md/regular',\n },\n footer: {\n alignItems: 'center',\n borderBlockStart: '1px solid',\n borderColor: 'border/minimal',\n display: 'flex',\n gap: '16',\n justifyContent: 'flex-end',\n padding: '32',\n },\n },\n});\n\nexport default stepCardSlotRecipe;\n"],"mappings":";;;AAKA,IAAM,qBAAqB,iBAAiB;CAC1C,WAAW;CACX,OAJuB,YAAY,WAAW,YAIvC,CAAA,CAAiB,KAAK;CAC7B,MAAM;EACJ,MAAM;GACJ,iBAAiB;GACjB,QAAQ;GACR,aAAa;GACb,cAAc;GACd,WAAW;GACX,UAAU;EACZ;EACA,QAAQ;GACN,mBAAmB;GACnB,eAAe;EACjB;EACA,MAAM;GACJ,SAAS;GACT,eAAe;GACf,KAAK;GACL,iBAAiB;GACjB,mBAAmB;GACnB,eAAe;EACjB;EACA,YAAY;GACV,SAAS;GACT,eAAe;GACf,KAAK;EACP;EACA,OAAO;GACL,OAAO;GACP,WAAW;EACb;EACA,aAAa;GACX,OAAO;GACP,WAAW;EACb;EACA,QAAQ;GACN,YAAY;GACZ,kBAAkB;GAClB,aAAa;GACb,SAAS;GACT,KAAK;GACL,gBAAgB;GAChB,SAAS;EACX;CACF;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagsInput.recipe.js","names":[],"sources":["../../../lib/theme/slot-recipes/TagsInput.recipe.ts"],"sourcesContent":["import { tagsInputAnatomy } from '@chakra-ui/react/anatomy';\nimport { defineSlotRecipe } from '@chakra-ui/react/styled-system';\n\nimport { rem } from '../themeUtils';\n\nconst extendedTagsInputAnatomy = tagsInputAnatomy.extendWith('tagsBlock', 'suffixBlock');\n\nconst tagsInputSlotRecipe = defineSlotRecipe({\n className: 'tags-input',\n slots: extendedTagsInputAnatomy.keys(),\n base: {\n root: {\n width: 'full',\n },\n control: {\n alignItems: 'flex-start',\n background: 'background/primary',\n borderColor: 'border/regular',\n borderRadius: '4',\n borderStyle: 'solid',\n borderWidth: '1',\n boxShadow: 'inset/field',\n display: 'flex',\n height: rem(88),\n overflowY: 'auto',\n transition: 'border-color 200ms',\n _focusWithin: {\n focusRing: 'outside',\n },\n _hover: {\n borderColor: 'border/hover',\n },\n _invalid: {\n borderColor: 'border/error',\n _hover: {\n borderColor: 'border/error',\n },\n },\n _disabled: {\n background: 'background/disabled',\n borderColor: 'border/disabled',\n cursor: 'not-allowed',\n _hover: {\n borderColor: 'border/disabled',\n },\n },\n _readOnly: {\n background: 'background/disabled',\n borderColor: 'border/disabled',\n _hover: {\n borderColor: 'border/disabled',\n },\n },\n },\n tagsBlock: {\n alignContent: 'flex-start',\n alignItems: 'center',\n display: 'flex',\n flex: '1',\n flexWrap: 'wrap',\n gap: '8',\n minWidth: 0,\n },\n suffixBlock: {\n alignItems: 'center',\n alignSelf: 'flex-start',\n display: 'flex',\n flexShrink: '0',\n gap: '8',\n paddingInline: '4',\n position: 'sticky',\n top: 0,\n '&:has(button)': {\n paddingInline: 0,\n },\n },\n input: {\n background: 'transparent',\n color: 'input/text/inputValue',\n flex: '1',\n lineHeight: 'normal',\n minWidth: rem(80),\n outline: 'none',\n // Per Figma, the empty-state placeholder is offset 4px further from the control's\n // left edge than a filled-state tag chip. That 4px comes from an \"input\" layer in\n // Figma that wraps the typing area — in our recipe we apply it as a left padding on\n // the typing <input> itself so tag chips (which live alongside but not inside the\n // input) remain flush with the control's padding.\n paddingInlineStart: '4',\n _placeholder: {\n color: 'input/text/placeholder',\n },\n _disabled: {\n cursor: 'not-allowed',\n _placeholder: {\n color: 'text/disabled',\n },\n },\n _readOnly: {\n display: 'none',\n },\n },\n item: {\n display: 'flex',\n maxWidth: '100%',\n minWidth: 0,\n },\n itemPreview: {\n alignItems: 'center',\n background: 'color/neutral/subtle',\n borderColor: 'color/neutral/muted',\n borderRadius: '4',\n borderStyle: 'solid',\n borderWidth: '1',\n color: 'text/primary',\n display: 'flex',\n gap: '4',\n height: '24',\n maxWidth: '100%',\n overflow: 'hidden',\n paddingBlock: '2',\n paddingInlineEnd: '1',\n paddingInlineStart: '8',\n textStyle: 'comp/tag/sm',\n _highlighted: {\n background: 'color/neutral/moderate',\n },\n _disabled: {\n background: 'background/disabled',\n borderColor: 'border/disabled',\n color: 'text/on-disabled',\n },\n '&:not(:has(button))': {\n paddingInlineEnd: '8',\n },\n },\n itemText: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n itemInput: {\n background: 'transparent',\n height: '24',\n minWidth: '20',\n outline: 'none',\n },\n itemDeleteTrigger: {\n alignItems: 'center',\n borderRadius: '2',\n color: 'icon/secondary',\n cursor: 'pointer',\n display: 'flex',\n flexShrink: '0',\n height: '20',\n justifyContent: 'center',\n width: '20',\n _hover: {\n background: 'color/neutral/moderate',\n },\n _disabled: {\n cursor: 'not-allowed',\n opacity: '0.5',\n },\n },\n clearTrigger: {\n alignItems: 'center',\n borderRadius: '4',\n color: 'icon/secondary',\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'center',\n padding: '4',\n _hover: {\n background: 'color/neutral/moderate',\n },\n _disabled: {\n cursor: 'not-allowed',\n opacity: '0.5',\n },\n },\n },\n variants: {\n size: {\n // Padding values below match the Figma control + input layer spec exactly\n // (see FRONTEND-572 thread / Figma node 1941:3510 for md, 1941:3487 for lg).\n // The outer control carries the size-specific padding; the inner tagsBlock adds a\n // constant 4px horizontal padding (set in the base) around the content regardless of size.\n md: {\n control: {\n paddingInlineEnd: '12',\n paddingInlineStart: '8',\n },\n // paddingBlock lives on tagsBlock (not control) so the suffixBlock (clear button) sits\n // at the control's inner top and its vertical center lines up with the first tag-row /\n // placeholder center — matches Figma's filled-state layout.\n tagsBlock: {\n paddingBlock: '8',\n },\n suffixBlock: {\n height: '40',\n },\n input: {\n height: '24',\n fontSize: '0.875rem',\n fontWeight: '400',\n lineHeight: 'normal',\n },\n },\n lg: {\n control: {\n paddingInlineEnd: '16',\n paddingInlineStart: '12',\n },\n tagsBlock: {\n paddingBlock: '12',\n },\n suffixBlock: {\n height: '48',\n },\n input: {\n fontSize: '1rem',\n fontWeight: '400',\n lineHeight: 'normal',\n },\n },\n },\n },\n defaultVariants: {\n size: 'lg',\n },\n});\n\nexport default tagsInputSlotRecipe;\n"],"mappings":";;;;AAOA,IAAM,sBAAsB,iBAAiB;CAC3C,WAAW;CACX,OAJ+B,iBAAiB,WAAW,aAAa,aAIjE,
|
|
1
|
+
{"version":3,"file":"TagsInput.recipe.js","names":[],"sources":["../../../lib/theme/slot-recipes/TagsInput.recipe.ts"],"sourcesContent":["import { tagsInputAnatomy } from '@chakra-ui/react/anatomy';\nimport { defineSlotRecipe } from '@chakra-ui/react/styled-system';\n\nimport { rem } from '../themeUtils';\n\nconst extendedTagsInputAnatomy = tagsInputAnatomy.extendWith('tagsBlock', 'suffixBlock');\n\nconst tagsInputSlotRecipe = defineSlotRecipe({\n className: 'tags-input',\n slots: extendedTagsInputAnatomy.keys(),\n base: {\n root: {\n width: 'full',\n },\n control: {\n alignItems: 'flex-start',\n background: 'background/primary',\n borderColor: 'border/regular',\n borderRadius: '4',\n borderStyle: 'solid',\n borderWidth: '1',\n boxShadow: 'inset/field',\n display: 'flex',\n height: rem(88),\n overflowY: 'auto',\n transition: 'border-color 200ms',\n _focusWithin: {\n focusRing: 'outside',\n },\n _hover: {\n borderColor: 'border/hover',\n },\n _invalid: {\n borderColor: 'border/error',\n _hover: {\n borderColor: 'border/error',\n },\n },\n _disabled: {\n background: 'background/disabled',\n borderColor: 'border/disabled',\n cursor: 'not-allowed',\n _hover: {\n borderColor: 'border/disabled',\n },\n },\n _readOnly: {\n background: 'background/disabled',\n borderColor: 'border/disabled',\n _hover: {\n borderColor: 'border/disabled',\n },\n },\n },\n tagsBlock: {\n alignContent: 'flex-start',\n alignItems: 'center',\n display: 'flex',\n flex: '1',\n flexWrap: 'wrap',\n gap: '8',\n minWidth: 0,\n },\n suffixBlock: {\n alignItems: 'center',\n alignSelf: 'flex-start',\n display: 'flex',\n flexShrink: '0',\n gap: '8',\n paddingInline: '4',\n position: 'sticky',\n top: 0,\n '&:has(button)': {\n paddingInline: 0,\n },\n },\n input: {\n background: 'transparent',\n color: 'input/text/inputValue',\n flex: '1',\n lineHeight: 'normal',\n minWidth: rem(80),\n outline: 'none',\n // Per Figma, the empty-state placeholder is offset 4px further from the control's\n // left edge than a filled-state tag chip. That 4px comes from an \"input\" layer in\n // Figma that wraps the typing area — in our recipe we apply it as a left padding on\n // the typing <input> itself so tag chips (which live alongside but not inside the\n // input) remain flush with the control's padding.\n paddingInlineStart: '4',\n _placeholder: {\n color: 'input/text/placeholder',\n },\n _disabled: {\n cursor: 'not-allowed',\n _placeholder: {\n color: 'text/disabled',\n },\n },\n _readOnly: {\n display: 'none',\n },\n },\n item: {\n display: 'flex',\n maxWidth: '100%',\n minWidth: 0,\n },\n itemPreview: {\n alignItems: 'center',\n background: 'color/neutral/subtle',\n borderColor: 'color/neutral/muted',\n borderRadius: '4',\n borderStyle: 'solid',\n borderWidth: '1',\n color: 'text/primary',\n display: 'flex',\n gap: '4',\n height: '24',\n maxWidth: '100%',\n overflow: 'hidden',\n paddingBlock: '2',\n paddingInlineEnd: '1',\n paddingInlineStart: '8',\n textStyle: 'comp/tag/sm',\n _highlighted: {\n background: 'color/neutral/moderate',\n },\n _disabled: {\n background: 'background/disabled',\n borderColor: 'border/disabled',\n color: 'text/on-disabled',\n },\n '&:not(:has(button))': {\n paddingInlineEnd: '8',\n },\n },\n itemText: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n itemInput: {\n background: 'transparent',\n height: '24',\n minWidth: '20',\n outline: 'none',\n },\n itemDeleteTrigger: {\n alignItems: 'center',\n borderRadius: '2',\n color: 'icon/secondary',\n cursor: 'pointer',\n display: 'flex',\n flexShrink: '0',\n height: '20',\n justifyContent: 'center',\n width: '20',\n _hover: {\n background: 'color/neutral/moderate',\n },\n _disabled: {\n cursor: 'not-allowed',\n opacity: '0.5',\n },\n },\n clearTrigger: {\n alignItems: 'center',\n borderRadius: '4',\n color: 'icon/secondary',\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'center',\n padding: '4',\n _hover: {\n background: 'color/neutral/moderate',\n },\n _disabled: {\n cursor: 'not-allowed',\n opacity: '0.5',\n },\n },\n },\n variants: {\n size: {\n // Padding values below match the Figma control + input layer spec exactly\n // (see FRONTEND-572 thread / Figma node 1941:3510 for md, 1941:3487 for lg).\n // The outer control carries the size-specific padding; the inner tagsBlock adds a\n // constant 4px horizontal padding (set in the base) around the content regardless of size.\n md: {\n control: {\n paddingInlineEnd: '12',\n paddingInlineStart: '8',\n },\n // paddingBlock lives on tagsBlock (not control) so the suffixBlock (clear button) sits\n // at the control's inner top and its vertical center lines up with the first tag-row /\n // placeholder center — matches Figma's filled-state layout.\n tagsBlock: {\n paddingBlock: '8',\n },\n suffixBlock: {\n height: '40',\n },\n input: {\n height: '24',\n fontSize: '0.875rem',\n fontWeight: '400',\n lineHeight: 'normal',\n },\n },\n lg: {\n control: {\n paddingInlineEnd: '16',\n paddingInlineStart: '12',\n },\n tagsBlock: {\n paddingBlock: '12',\n },\n suffixBlock: {\n height: '48',\n },\n input: {\n fontSize: '1rem',\n fontWeight: '400',\n lineHeight: 'normal',\n },\n },\n },\n },\n defaultVariants: {\n size: 'lg',\n },\n});\n\nexport default tagsInputSlotRecipe;\n"],"mappings":";;;;AAOA,IAAM,sBAAsB,iBAAiB;CAC3C,WAAW;CACX,OAJ+B,iBAAiB,WAAW,aAAa,aAIjE,CAAA,CAAyB,KAAK;CACrC,MAAM;EACJ,MAAM,EACJ,OAAO,OACT;EACA,SAAS;GACP,YAAY;GACZ,YAAY;GACZ,aAAa;GACb,cAAc;GACd,aAAa;GACb,aAAa;GACb,WAAW;GACX,SAAS;GACT,QAAQ,IAAI,EAAE;GACd,WAAW;GACX,YAAY;GACZ,cAAc,EACZ,WAAW,UACb;GACA,QAAQ,EACN,aAAa,eACf;GACA,UAAU;IACR,aAAa;IACb,QAAQ,EACN,aAAa,eACf;GACF;GACA,WAAW;IACT,YAAY;IACZ,aAAa;IACb,QAAQ;IACR,QAAQ,EACN,aAAa,kBACf;GACF;GACA,WAAW;IACT,YAAY;IACZ,aAAa;IACb,QAAQ,EACN,aAAa,kBACf;GACF;EACF;EACA,WAAW;GACT,cAAc;GACd,YAAY;GACZ,SAAS;GACT,MAAM;GACN,UAAU;GACV,KAAK;GACL,UAAU;EACZ;EACA,aAAa;GACX,YAAY;GACZ,WAAW;GACX,SAAS;GACT,YAAY;GACZ,KAAK;GACL,eAAe;GACf,UAAU;GACV,KAAK;GACL,iBAAiB,EACf,eAAe,EACjB;EACF;EACA,OAAO;GACL,YAAY;GACZ,OAAO;GACP,MAAM;GACN,YAAY;GACZ,UAAU,IAAI,EAAE;GAChB,SAAS;GAMT,oBAAoB;GACpB,cAAc,EACZ,OAAO,yBACT;GACA,WAAW;IACT,QAAQ;IACR,cAAc,EACZ,OAAO,gBACT;GACF;GACA,WAAW,EACT,SAAS,OACX;EACF;EACA,MAAM;GACJ,SAAS;GACT,UAAU;GACV,UAAU;EACZ;EACA,aAAa;GACX,YAAY;GACZ,YAAY;GACZ,aAAa;GACb,cAAc;GACd,aAAa;GACb,aAAa;GACb,OAAO;GACP,SAAS;GACT,KAAK;GACL,QAAQ;GACR,UAAU;GACV,UAAU;GACV,cAAc;GACd,kBAAkB;GAClB,oBAAoB;GACpB,WAAW;GACX,cAAc,EACZ,YAAY,yBACd;GACA,WAAW;IACT,YAAY;IACZ,aAAa;IACb,OAAO;GACT;GACA,uBAAuB,EACrB,kBAAkB,IACpB;EACF;EACA,UAAU;GACR,UAAU;GACV,cAAc;GACd,YAAY;EACd;EACA,WAAW;GACT,YAAY;GACZ,QAAQ;GACR,UAAU;GACV,SAAS;EACX;EACA,mBAAmB;GACjB,YAAY;GACZ,cAAc;GACd,OAAO;GACP,QAAQ;GACR,SAAS;GACT,YAAY;GACZ,QAAQ;GACR,gBAAgB;GAChB,OAAO;GACP,QAAQ,EACN,YAAY,yBACd;GACA,WAAW;IACT,QAAQ;IACR,SAAS;GACX;EACF;EACA,cAAc;GACZ,YAAY;GACZ,cAAc;GACd,OAAO;GACP,QAAQ;GACR,SAAS;GACT,gBAAgB;GAChB,SAAS;GACT,QAAQ,EACN,YAAY,yBACd;GACA,WAAW;IACT,QAAQ;IACR,SAAS;GACX;EACF;CACF;CACA,UAAU,EACR,MAAM;EAKJ,IAAI;GACF,SAAS;IACP,kBAAkB;IAClB,oBAAoB;GACtB;GAIA,WAAW,EACT,cAAc,IAChB;GACA,aAAa,EACX,QAAQ,KACV;GACA,OAAO;IACL,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,YAAY;GACd;EACF;EACA,IAAI;GACF,SAAS;IACP,kBAAkB;IAClB,oBAAoB;GACtB;GACA,WAAW,EACT,cAAc,KAChB;GACA,aAAa,EACX,QAAQ,KACV;GACA,OAAO;IACL,UAAU;IACV,YAAY;IACZ,YAAY;GACd;EACF;CACF,EACF;CACA,iBAAiB,EACf,MAAM,KACR;AACF,CAAC"}
|
|
@@ -173,7 +173,7 @@ var basicTextStyles = {
|
|
|
173
173
|
fontSize: "3rem"
|
|
174
174
|
} }
|
|
175
175
|
};
|
|
176
|
-
var
|
|
176
|
+
var dataObject = {
|
|
177
177
|
...basicTextStyles,
|
|
178
178
|
"display/lg": basicTextStyles["sans/size-8/bold"],
|
|
179
179
|
"display/sm": basicTextStyles["sans/size-7/bold"],
|
|
@@ -232,8 +232,9 @@ var textStyles = defineTextStyles({
|
|
|
232
232
|
"comp/avatar/48": basicTextStyles["sans/size-5/bold"],
|
|
233
233
|
"comp/avatar/64": basicTextStyles["sans/size-6/bold"],
|
|
234
234
|
"comp/avatar/128": basicTextStyles["sans/size-8/bold"]
|
|
235
|
-
}
|
|
235
|
+
};
|
|
236
|
+
var textStyles = defineTextStyles(dataObject);
|
|
236
237
|
//#endregion
|
|
237
|
-
export { textStyles as default };
|
|
238
|
+
export { dataObject, textStyles as default };
|
|
238
239
|
|
|
239
240
|
//# sourceMappingURL=text-styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-styles.js","names":[],"sources":["../../lib/theme/text-styles.ts"],"sourcesContent":["import { defineTextStyles } from '@chakra-ui/react/styled-system';\n\nconst basicTextStyles = {\n 'mono/code-2': {\n value: {\n fontFamily: 'mono',\n fontSize: '0.75rem',\n lineHeight: '1rem',\n letterSpacing: '-0.009375rem',\n fontWeight: '400',\n },\n },\n 'mono/code-3': {\n value: {\n fontFamily: 'mono',\n fontSize: '0.875rem',\n lineHeight: '1.25rem',\n letterSpacing: '-0.009375rem',\n fontWeight: '400',\n },\n },\n 'sans/size-1/normal': {\n value: {\n lineHeight: '1rem',\n fontSize: '0.75rem',\n letterSpacing: '0.009375rem',\n fontWeight: '400',\n },\n },\n 'sans/size-1/semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '1rem',\n fontSize: '0.75rem',\n letterSpacing: '0.009375rem',\n },\n },\n 'sans/size-1/bold': {\n value: {\n fontWeight: '700',\n lineHeight: '1rem',\n fontSize: '0.75rem',\n letterSpacing: '0.009375rem',\n },\n },\n 'sans/size-1/uppercase-bold': {\n value: {\n fontWeight: '700',\n lineHeight: '1rem',\n fontSize: '0.75rem',\n letterSpacing: '0.009375rem',\n textTransform: 'uppercase',\n },\n },\n 'sans/size-2/normal': {\n value: {\n lineHeight: '1.25rem',\n fontSize: '0.875rem',\n fontWeight: '400',\n },\n },\n 'sans/size-2/normal-underline': {\n value: {\n lineHeight: '1.25rem',\n fontSize: '0.875rem',\n textDecoration: 'underline',\n fontWeight: '400',\n },\n },\n 'sans/size-2/semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '1.25rem',\n fontSize: '0.875rem',\n },\n },\n 'sans/size-2/semibold-underline': {\n value: {\n fontWeight: '600',\n lineHeight: '1.25rem',\n fontSize: '0.875rem',\n textDecoration: 'underline',\n },\n },\n 'sans/size-2/bold': {\n value: {\n fontWeight: '700',\n lineHeight: '1.25rem',\n fontSize: '0.875rem',\n },\n },\n 'sans/size-2/uppercase-normal': {\n value: {\n lineHeight: '1.25rem',\n fontSize: '0.875rem',\n letterSpacing: '0.009375rem',\n textTransform: 'uppercase',\n },\n },\n 'sans/size-2/uppercase-semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '1.25rem',\n fontSize: '0.875rem',\n letterSpacing: '0.009375rem',\n textTransform: 'uppercase',\n },\n },\n 'sans/size-3/normal': {\n value: {\n lineHeight: '1.5rem',\n fontSize: '1rem',\n fontWeight: '400',\n },\n },\n 'sans/size-3/normal-underline': {\n value: {\n lineHeight: '1.5rem',\n fontSize: '1rem',\n textDecoration: 'underline',\n fontWeight: '400',\n },\n },\n 'sans/size-3/semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '1.5rem',\n fontSize: '1rem',\n },\n },\n 'sans/size-3/semibold-underline': {\n value: {\n fontWeight: '600',\n lineHeight: '1.5rem',\n fontSize: '1rem',\n textDecoration: 'underline',\n },\n },\n 'sans/size-3/bold': {\n value: {\n fontWeight: '700',\n lineHeight: '1.5rem',\n fontSize: '1rem',\n },\n },\n 'sans/size-4/normal': {\n value: {\n lineHeight: '1.75rem',\n fontSize: '1.1875rem',\n fontWeight: '400',\n },\n },\n 'sans/size-4/semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '1.75rem',\n fontSize: '1.1875rem',\n },\n },\n 'sans/size-4/bold': {\n value: {\n fontWeight: '700',\n lineHeight: '1.75rem',\n fontSize: '1.1875rem',\n },\n },\n 'sans/size-5/normal': {\n value: {\n lineHeight: '2.25rem',\n fontSize: '1.5rem',\n fontWeight: '400',\n },\n },\n 'sans/size-5/semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '2.25rem',\n fontSize: '1.5rem',\n },\n },\n 'sans/size-5/bold': {\n value: {\n fontWeight: '700',\n lineHeight: '2.25rem',\n fontSize: '1.5rem',\n },\n },\n 'sans/size-6/normal': {\n value: {\n lineHeight: '2.5rem',\n fontSize: '1.875rem',\n fontWeight: '400',\n },\n },\n 'sans/size-6/semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '2.5rem',\n fontSize: '1.875rem',\n },\n },\n 'sans/size-6/bold': {\n value: {\n fontWeight: '700',\n lineHeight: '2.5rem',\n fontSize: '1.875rem',\n },\n },\n 'sans/size-7/semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '3rem',\n fontSize: '2.25rem',\n },\n },\n 'sans/size-7/bold': {\n value: {\n fontWeight: '700',\n lineHeight: '3rem',\n fontSize: '2.25rem',\n },\n },\n 'sans/size-8/semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '3.75rem',\n fontSize: '3rem',\n },\n },\n 'sans/size-8/bold': {\n value: {\n fontWeight: '700',\n lineHeight: '3.75rem',\n fontSize: '3rem',\n },\n },\n};\n\nexport const dataObject = {\n ...basicTextStyles,\n 'display/lg': basicTextStyles['sans/size-8/bold'],\n 'display/sm': basicTextStyles['sans/size-7/bold'],\n 'heading/h1': basicTextStyles['sans/size-6/bold'],\n 'heading/h2': basicTextStyles['sans/size-5/bold'],\n 'heading/h3': basicTextStyles['sans/size-4/bold'],\n 'heading/h4': basicTextStyles['sans/size-3/bold'],\n 'heading/h5': basicTextStyles['sans/size-2/bold'],\n 'heading/h6': basicTextStyles['sans/size-1/uppercase-bold'],\n 'heading/mobile/h1': basicTextStyles['sans/size-5/bold'],\n 'heading/mobile/h2': basicTextStyles['sans/size-4/bold'],\n 'heading/mobile/h3': basicTextStyles['sans/size-3/bold'],\n 'body/sm/regular': basicTextStyles['sans/size-1/normal'],\n 'body/sm/semibold': basicTextStyles['sans/size-1/semibold'],\n 'body/md/regular': basicTextStyles['sans/size-2/normal'],\n 'body/md/semibold': basicTextStyles['sans/size-2/semibold'],\n 'body/md/underline': basicTextStyles['sans/size-2/normal-underline'],\n 'body/lg/regular': basicTextStyles['sans/size-3/normal'],\n 'body/lg/semibold': basicTextStyles['sans/size-3/semibold'],\n 'body/lg/underline': basicTextStyles['sans/size-3/normal-underline'],\n 'body/xl/regular': basicTextStyles['sans/size-4/normal'],\n 'body/xl/semibold': basicTextStyles['sans/size-4/semibold'],\n 'body/2xl/regular': basicTextStyles['sans/size-5/normal'],\n 'body/2xl/semibold': basicTextStyles['sans/size-5/semibold'],\n 'body/3xl/regular': basicTextStyles['sans/size-6/normal'],\n 'body/3xl/semibold': basicTextStyles['sans/size-6/semibold'],\n 'code/md': basicTextStyles['mono/code-2'],\n 'code/lg': basicTextStyles['mono/code-3'],\n 'comp/button/sm': basicTextStyles['sans/size-2/semibold'],\n 'comp/button/md': basicTextStyles['sans/size-2/semibold'],\n 'comp/button/lg': basicTextStyles['sans/size-3/semibold'],\n 'comp/notification/title': basicTextStyles['sans/size-3/semibold'],\n 'comp/notification/message': basicTextStyles['sans/size-2/normal'],\n 'comp/notification/message-link': basicTextStyles['sans/size-2/normal-underline'],\n 'comp/notification/button': basicTextStyles['sans/size-2/normal'],\n 'comp/input/label': basicTextStyles['sans/size-2/semibold'],\n 'comp/input/helperText': basicTextStyles['sans/size-1/normal'],\n 'comp/link/md': basicTextStyles['sans/size-2/normal'],\n 'comp/link/md-hover': basicTextStyles['sans/size-2/normal-underline'],\n 'comp/link/lg': basicTextStyles['sans/size-3/normal'],\n 'comp/link/lg-hover': basicTextStyles['sans/size-3/normal-underline'],\n 'comp/data/sm': basicTextStyles['sans/size-3/normal'],\n 'comp/data/md': basicTextStyles['sans/size-5/semibold'],\n 'comp/data/lg': basicTextStyles['sans/size-6/semibold'],\n 'comp/tabs/line': basicTextStyles['sans/size-3/bold'],\n 'comp/tabs/contained': basicTextStyles['sans/size-3/bold'],\n 'comp/tabs/contained-secondary': basicTextStyles['sans/size-2/normal'],\n 'comp/tag/sm': basicTextStyles['sans/size-1/normal'],\n 'comp/tag/md': basicTextStyles['sans/size-2/normal'],\n 'comp/badge/sm': basicTextStyles['sans/size-1/uppercase-bold'],\n 'comp/dialog/title': basicTextStyles['sans/size-5/bold'],\n 'comp/dialog/label': basicTextStyles['sans/size-2/uppercase-semibold'],\n 'comp/avatar/24': basicTextStyles['sans/size-1/bold'],\n 'comp/avatar/32': basicTextStyles['sans/size-3/bold'],\n 'comp/avatar/40': basicTextStyles['sans/size-4/bold'],\n 'comp/avatar/48': basicTextStyles['sans/size-5/bold'],\n 'comp/avatar/64': basicTextStyles['sans/size-6/bold'],\n 'comp/avatar/128': basicTextStyles['sans/size-8/bold'],\n};\n\nconst textStyles = defineTextStyles(dataObject);\n\nexport default textStyles;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"text-styles.js","names":[],"sources":["../../lib/theme/text-styles.ts"],"sourcesContent":["import { defineTextStyles } from '@chakra-ui/react/styled-system';\n\nconst basicTextStyles = {\n 'mono/code-2': {\n value: {\n fontFamily: 'mono',\n fontSize: '0.75rem',\n lineHeight: '1rem',\n letterSpacing: '-0.009375rem',\n fontWeight: '400',\n },\n },\n 'mono/code-3': {\n value: {\n fontFamily: 'mono',\n fontSize: '0.875rem',\n lineHeight: '1.25rem',\n letterSpacing: '-0.009375rem',\n fontWeight: '400',\n },\n },\n 'sans/size-1/normal': {\n value: {\n lineHeight: '1rem',\n fontSize: '0.75rem',\n letterSpacing: '0.009375rem',\n fontWeight: '400',\n },\n },\n 'sans/size-1/semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '1rem',\n fontSize: '0.75rem',\n letterSpacing: '0.009375rem',\n },\n },\n 'sans/size-1/bold': {\n value: {\n fontWeight: '700',\n lineHeight: '1rem',\n fontSize: '0.75rem',\n letterSpacing: '0.009375rem',\n },\n },\n 'sans/size-1/uppercase-bold': {\n value: {\n fontWeight: '700',\n lineHeight: '1rem',\n fontSize: '0.75rem',\n letterSpacing: '0.009375rem',\n textTransform: 'uppercase',\n },\n },\n 'sans/size-2/normal': {\n value: {\n lineHeight: '1.25rem',\n fontSize: '0.875rem',\n fontWeight: '400',\n },\n },\n 'sans/size-2/normal-underline': {\n value: {\n lineHeight: '1.25rem',\n fontSize: '0.875rem',\n textDecoration: 'underline',\n fontWeight: '400',\n },\n },\n 'sans/size-2/semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '1.25rem',\n fontSize: '0.875rem',\n },\n },\n 'sans/size-2/semibold-underline': {\n value: {\n fontWeight: '600',\n lineHeight: '1.25rem',\n fontSize: '0.875rem',\n textDecoration: 'underline',\n },\n },\n 'sans/size-2/bold': {\n value: {\n fontWeight: '700',\n lineHeight: '1.25rem',\n fontSize: '0.875rem',\n },\n },\n 'sans/size-2/uppercase-normal': {\n value: {\n lineHeight: '1.25rem',\n fontSize: '0.875rem',\n letterSpacing: '0.009375rem',\n textTransform: 'uppercase',\n },\n },\n 'sans/size-2/uppercase-semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '1.25rem',\n fontSize: '0.875rem',\n letterSpacing: '0.009375rem',\n textTransform: 'uppercase',\n },\n },\n 'sans/size-3/normal': {\n value: {\n lineHeight: '1.5rem',\n fontSize: '1rem',\n fontWeight: '400',\n },\n },\n 'sans/size-3/normal-underline': {\n value: {\n lineHeight: '1.5rem',\n fontSize: '1rem',\n textDecoration: 'underline',\n fontWeight: '400',\n },\n },\n 'sans/size-3/semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '1.5rem',\n fontSize: '1rem',\n },\n },\n 'sans/size-3/semibold-underline': {\n value: {\n fontWeight: '600',\n lineHeight: '1.5rem',\n fontSize: '1rem',\n textDecoration: 'underline',\n },\n },\n 'sans/size-3/bold': {\n value: {\n fontWeight: '700',\n lineHeight: '1.5rem',\n fontSize: '1rem',\n },\n },\n 'sans/size-4/normal': {\n value: {\n lineHeight: '1.75rem',\n fontSize: '1.1875rem',\n fontWeight: '400',\n },\n },\n 'sans/size-4/semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '1.75rem',\n fontSize: '1.1875rem',\n },\n },\n 'sans/size-4/bold': {\n value: {\n fontWeight: '700',\n lineHeight: '1.75rem',\n fontSize: '1.1875rem',\n },\n },\n 'sans/size-5/normal': {\n value: {\n lineHeight: '2.25rem',\n fontSize: '1.5rem',\n fontWeight: '400',\n },\n },\n 'sans/size-5/semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '2.25rem',\n fontSize: '1.5rem',\n },\n },\n 'sans/size-5/bold': {\n value: {\n fontWeight: '700',\n lineHeight: '2.25rem',\n fontSize: '1.5rem',\n },\n },\n 'sans/size-6/normal': {\n value: {\n lineHeight: '2.5rem',\n fontSize: '1.875rem',\n fontWeight: '400',\n },\n },\n 'sans/size-6/semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '2.5rem',\n fontSize: '1.875rem',\n },\n },\n 'sans/size-6/bold': {\n value: {\n fontWeight: '700',\n lineHeight: '2.5rem',\n fontSize: '1.875rem',\n },\n },\n 'sans/size-7/semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '3rem',\n fontSize: '2.25rem',\n },\n },\n 'sans/size-7/bold': {\n value: {\n fontWeight: '700',\n lineHeight: '3rem',\n fontSize: '2.25rem',\n },\n },\n 'sans/size-8/semibold': {\n value: {\n fontWeight: '600',\n lineHeight: '3.75rem',\n fontSize: '3rem',\n },\n },\n 'sans/size-8/bold': {\n value: {\n fontWeight: '700',\n lineHeight: '3.75rem',\n fontSize: '3rem',\n },\n },\n};\n\nexport const dataObject = {\n ...basicTextStyles,\n 'display/lg': basicTextStyles['sans/size-8/bold'],\n 'display/sm': basicTextStyles['sans/size-7/bold'],\n 'heading/h1': basicTextStyles['sans/size-6/bold'],\n 'heading/h2': basicTextStyles['sans/size-5/bold'],\n 'heading/h3': basicTextStyles['sans/size-4/bold'],\n 'heading/h4': basicTextStyles['sans/size-3/bold'],\n 'heading/h5': basicTextStyles['sans/size-2/bold'],\n 'heading/h6': basicTextStyles['sans/size-1/uppercase-bold'],\n 'heading/mobile/h1': basicTextStyles['sans/size-5/bold'],\n 'heading/mobile/h2': basicTextStyles['sans/size-4/bold'],\n 'heading/mobile/h3': basicTextStyles['sans/size-3/bold'],\n 'body/sm/regular': basicTextStyles['sans/size-1/normal'],\n 'body/sm/semibold': basicTextStyles['sans/size-1/semibold'],\n 'body/md/regular': basicTextStyles['sans/size-2/normal'],\n 'body/md/semibold': basicTextStyles['sans/size-2/semibold'],\n 'body/md/underline': basicTextStyles['sans/size-2/normal-underline'],\n 'body/lg/regular': basicTextStyles['sans/size-3/normal'],\n 'body/lg/semibold': basicTextStyles['sans/size-3/semibold'],\n 'body/lg/underline': basicTextStyles['sans/size-3/normal-underline'],\n 'body/xl/regular': basicTextStyles['sans/size-4/normal'],\n 'body/xl/semibold': basicTextStyles['sans/size-4/semibold'],\n 'body/2xl/regular': basicTextStyles['sans/size-5/normal'],\n 'body/2xl/semibold': basicTextStyles['sans/size-5/semibold'],\n 'body/3xl/regular': basicTextStyles['sans/size-6/normal'],\n 'body/3xl/semibold': basicTextStyles['sans/size-6/semibold'],\n 'code/md': basicTextStyles['mono/code-2'],\n 'code/lg': basicTextStyles['mono/code-3'],\n 'comp/button/sm': basicTextStyles['sans/size-2/semibold'],\n 'comp/button/md': basicTextStyles['sans/size-2/semibold'],\n 'comp/button/lg': basicTextStyles['sans/size-3/semibold'],\n 'comp/notification/title': basicTextStyles['sans/size-3/semibold'],\n 'comp/notification/message': basicTextStyles['sans/size-2/normal'],\n 'comp/notification/message-link': basicTextStyles['sans/size-2/normal-underline'],\n 'comp/notification/button': basicTextStyles['sans/size-2/normal'],\n 'comp/input/label': basicTextStyles['sans/size-2/semibold'],\n 'comp/input/helperText': basicTextStyles['sans/size-1/normal'],\n 'comp/link/md': basicTextStyles['sans/size-2/normal'],\n 'comp/link/md-hover': basicTextStyles['sans/size-2/normal-underline'],\n 'comp/link/lg': basicTextStyles['sans/size-3/normal'],\n 'comp/link/lg-hover': basicTextStyles['sans/size-3/normal-underline'],\n 'comp/data/sm': basicTextStyles['sans/size-3/normal'],\n 'comp/data/md': basicTextStyles['sans/size-5/semibold'],\n 'comp/data/lg': basicTextStyles['sans/size-6/semibold'],\n 'comp/tabs/line': basicTextStyles['sans/size-3/bold'],\n 'comp/tabs/contained': basicTextStyles['sans/size-3/bold'],\n 'comp/tabs/contained-secondary': basicTextStyles['sans/size-2/normal'],\n 'comp/tag/sm': basicTextStyles['sans/size-1/normal'],\n 'comp/tag/md': basicTextStyles['sans/size-2/normal'],\n 'comp/badge/sm': basicTextStyles['sans/size-1/uppercase-bold'],\n 'comp/dialog/title': basicTextStyles['sans/size-5/bold'],\n 'comp/dialog/label': basicTextStyles['sans/size-2/uppercase-semibold'],\n 'comp/avatar/24': basicTextStyles['sans/size-1/bold'],\n 'comp/avatar/32': basicTextStyles['sans/size-3/bold'],\n 'comp/avatar/40': basicTextStyles['sans/size-4/bold'],\n 'comp/avatar/48': basicTextStyles['sans/size-5/bold'],\n 'comp/avatar/64': basicTextStyles['sans/size-6/bold'],\n 'comp/avatar/128': basicTextStyles['sans/size-8/bold'],\n};\n\nconst textStyles = defineTextStyles(dataObject);\n\nexport default textStyles;\n"],"mappings":";;AAEA,IAAM,kBAAkB;CACtB,eAAe,EACb,OAAO;EACL,YAAY;EACZ,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;CACd,EACF;CACA,eAAe,EACb,OAAO;EACL,YAAY;EACZ,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;CACd,EACF;CACA,sBAAsB,EACpB,OAAO;EACL,YAAY;EACZ,UAAU;EACV,eAAe;EACf,YAAY;CACd,EACF;CACA,wBAAwB,EACtB,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;EACV,eAAe;CACjB,EACF;CACA,oBAAoB,EAClB,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;EACV,eAAe;CACjB,EACF;CACA,8BAA8B,EAC5B,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;EACV,eAAe;EACf,eAAe;CACjB,EACF;CACA,sBAAsB,EACpB,OAAO;EACL,YAAY;EACZ,UAAU;EACV,YAAY;CACd,EACF;CACA,gCAAgC,EAC9B,OAAO;EACL,YAAY;EACZ,UAAU;EACV,gBAAgB;EAChB,YAAY;CACd,EACF;CACA,wBAAwB,EACtB,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;CACZ,EACF;CACA,kCAAkC,EAChC,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;EACV,gBAAgB;CAClB,EACF;CACA,oBAAoB,EAClB,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;CACZ,EACF;CACA,gCAAgC,EAC9B,OAAO;EACL,YAAY;EACZ,UAAU;EACV,eAAe;EACf,eAAe;CACjB,EACF;CACA,kCAAkC,EAChC,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;EACV,eAAe;EACf,eAAe;CACjB,EACF;CACA,sBAAsB,EACpB,OAAO;EACL,YAAY;EACZ,UAAU;EACV,YAAY;CACd,EACF;CACA,gCAAgC,EAC9B,OAAO;EACL,YAAY;EACZ,UAAU;EACV,gBAAgB;EAChB,YAAY;CACd,EACF;CACA,wBAAwB,EACtB,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;CACZ,EACF;CACA,kCAAkC,EAChC,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;EACV,gBAAgB;CAClB,EACF;CACA,oBAAoB,EAClB,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;CACZ,EACF;CACA,sBAAsB,EACpB,OAAO;EACL,YAAY;EACZ,UAAU;EACV,YAAY;CACd,EACF;CACA,wBAAwB,EACtB,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;CACZ,EACF;CACA,oBAAoB,EAClB,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;CACZ,EACF;CACA,sBAAsB,EACpB,OAAO;EACL,YAAY;EACZ,UAAU;EACV,YAAY;CACd,EACF;CACA,wBAAwB,EACtB,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;CACZ,EACF;CACA,oBAAoB,EAClB,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;CACZ,EACF;CACA,sBAAsB,EACpB,OAAO;EACL,YAAY;EACZ,UAAU;EACV,YAAY;CACd,EACF;CACA,wBAAwB,EACtB,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;CACZ,EACF;CACA,oBAAoB,EAClB,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;CACZ,EACF;CACA,wBAAwB,EACtB,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;CACZ,EACF;CACA,oBAAoB,EAClB,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;CACZ,EACF;CACA,wBAAwB,EACtB,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;CACZ,EACF;CACA,oBAAoB,EAClB,OAAO;EACL,YAAY;EACZ,YAAY;EACZ,UAAU;CACZ,EACF;AACF;AAEA,IAAa,aAAa;CACxB,GAAG;CACH,cAAc,gBAAgB;CAC9B,cAAc,gBAAgB;CAC9B,cAAc,gBAAgB;CAC9B,cAAc,gBAAgB;CAC9B,cAAc,gBAAgB;CAC9B,cAAc,gBAAgB;CAC9B,cAAc,gBAAgB;CAC9B,cAAc,gBAAgB;CAC9B,qBAAqB,gBAAgB;CACrC,qBAAqB,gBAAgB;CACrC,qBAAqB,gBAAgB;CACrC,mBAAmB,gBAAgB;CACnC,oBAAoB,gBAAgB;CACpC,mBAAmB,gBAAgB;CACnC,oBAAoB,gBAAgB;CACpC,qBAAqB,gBAAgB;CACrC,mBAAmB,gBAAgB;CACnC,oBAAoB,gBAAgB;CACpC,qBAAqB,gBAAgB;CACrC,mBAAmB,gBAAgB;CACnC,oBAAoB,gBAAgB;CACpC,oBAAoB,gBAAgB;CACpC,qBAAqB,gBAAgB;CACrC,oBAAoB,gBAAgB;CACpC,qBAAqB,gBAAgB;CACrC,WAAW,gBAAgB;CAC3B,WAAW,gBAAgB;CAC3B,kBAAkB,gBAAgB;CAClC,kBAAkB,gBAAgB;CAClC,kBAAkB,gBAAgB;CAClC,2BAA2B,gBAAgB;CAC3C,6BAA6B,gBAAgB;CAC7C,kCAAkC,gBAAgB;CAClD,4BAA4B,gBAAgB;CAC5C,oBAAoB,gBAAgB;CACpC,yBAAyB,gBAAgB;CACzC,gBAAgB,gBAAgB;CAChC,sBAAsB,gBAAgB;CACtC,gBAAgB,gBAAgB;CAChC,sBAAsB,gBAAgB;CACtC,gBAAgB,gBAAgB;CAChC,gBAAgB,gBAAgB;CAChC,gBAAgB,gBAAgB;CAChC,kBAAkB,gBAAgB;CAClC,uBAAuB,gBAAgB;CACvC,iCAAiC,gBAAgB;CACjD,eAAe,gBAAgB;CAC/B,eAAe,gBAAgB;CAC/B,iBAAiB,gBAAgB;CACjC,qBAAqB,gBAAgB;CACrC,qBAAqB,gBAAgB;CACrC,kBAAkB,gBAAgB;CAClC,kBAAkB,gBAAgB;CAClC,kBAAkB,gBAAgB;CAClC,kBAAkB,gBAAgB;CAClC,kBAAkB,gBAAgB;CAClC,mBAAmB,gBAAgB;AACrC;AAEA,IAAM,aAAa,iBAAiB,UAAU"}
|
package/dist/theme/themeUtils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themeUtils.js","names":[],"sources":["../../lib/theme/themeUtils.ts"],"sourcesContent":["import { type TextProps } from '@chakra-ui/react/text';\nimport { isPlainObject } from 'es-toolkit';\n\n// Based on https://github.com/toss/es-toolkit/blob/main/src/object/flattenObject.ts\nexport const flattenTokens = (object: object, prefix: string = ''): Record<string, any> => {\n const result: Record<string, any> = {};\n const keys = Object.keys(object);\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const value = (object as any)[key];\n\n const prefixedKey = prefix ? `${prefix}/${key}` : key;\n\n if (isPlainObject(value) && Object.keys(value).length > 0 && Object.keys(value)[0] !== 'value') {\n Object.assign(result, flattenTokens(value, prefixedKey));\n continue;\n }\n\n result[prefixedKey] = value;\n }\n\n return result;\n};\n\nexport function withSlashes(object: Record<string, any>): Record<string, any> {\n return {\n ...object,\n ...flattenTokens(object),\n };\n}\n\n/**\n *\n * @param input Value in pixels\n * @returns Value in rems\n */\nexport const rem = (input: number): string => {\n return `${input / 16}rem`;\n};\n\nexport const getTextStyle = (as: TextProps['as']) => {\n if (['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(as as string)) {\n return `heading/${as}`;\n }\n return undefined;\n};\n"],"mappings":";;AAIA,IAAa,iBAAiB,QAAgB,SAAiB,OAA4B;CACzF,MAAM,SAA8B,CAAC;CACrC,MAAM,OAAO,OAAO,KAAK,MAAM;CAE/B,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;EACpC,MAAM,MAAM,KAAK;EACjB,MAAM,QAAS,OAAe;EAE9B,MAAM,cAAc,SAAS,GAAG,OAAO,GAAG,QAAQ;EAElD,IAAI,cAAc,KAAK,KAAK,OAAO,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"themeUtils.js","names":[],"sources":["../../lib/theme/themeUtils.ts"],"sourcesContent":["import { type TextProps } from '@chakra-ui/react/text';\nimport { isPlainObject } from 'es-toolkit';\n\n// Based on https://github.com/toss/es-toolkit/blob/main/src/object/flattenObject.ts\nexport const flattenTokens = (object: object, prefix: string = ''): Record<string, any> => {\n const result: Record<string, any> = {};\n const keys = Object.keys(object);\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const value = (object as any)[key];\n\n const prefixedKey = prefix ? `${prefix}/${key}` : key;\n\n if (isPlainObject(value) && Object.keys(value).length > 0 && Object.keys(value)[0] !== 'value') {\n Object.assign(result, flattenTokens(value, prefixedKey));\n continue;\n }\n\n result[prefixedKey] = value;\n }\n\n return result;\n};\n\nexport function withSlashes(object: Record<string, any>): Record<string, any> {\n return {\n ...object,\n ...flattenTokens(object),\n };\n}\n\n/**\n *\n * @param input Value in pixels\n * @returns Value in rems\n */\nexport const rem = (input: number): string => {\n return `${input / 16}rem`;\n};\n\nexport const getTextStyle = (as: TextProps['as']) => {\n if (['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(as as string)) {\n return `heading/${as}`;\n }\n return undefined;\n};\n"],"mappings":";;AAIA,IAAa,iBAAiB,QAAgB,SAAiB,OAA4B;CACzF,MAAM,SAA8B,CAAC;CACrC,MAAM,OAAO,OAAO,KAAK,MAAM;CAE/B,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;EACpC,MAAM,MAAM,KAAK;EACjB,MAAM,QAAS,OAAe;EAE9B,MAAM,cAAc,SAAS,GAAG,OAAO,GAAG,QAAQ;EAElD,IAAI,cAAc,KAAK,KAAK,OAAO,KAAK,KAAK,CAAC,CAAC,SAAS,KAAK,OAAO,KAAK,KAAK,CAAC,CAAC,OAAO,SAAS;GAC9F,OAAO,OAAO,QAAQ,cAAc,OAAO,WAAW,CAAC;GACvD;EACF;EAEA,OAAO,eAAe;CACxB;CAEA,OAAO;AACT;AAEA,SAAgB,YAAY,QAAkD;CAC5E,OAAO;EACL,GAAG;EACH,GAAG,cAAc,MAAM;CACzB;AACF;;;;;;AAOA,IAAa,OAAO,UAA0B;CAC5C,OAAO,GAAG,QAAQ,GAAG;AACvB"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
//#region lib/theme/tokens/sizesAndSpacing.json
|
|
2
|
+
var full = { "value": "100%" };
|
|
1
3
|
var sizesAndSpacing_default = {
|
|
2
4
|
"1": { "value": "0.0625rem" },
|
|
3
5
|
"2": { "value": "0.125rem" },
|
|
@@ -14,9 +16,9 @@ var sizesAndSpacing_default = {
|
|
|
14
16
|
"64": { "value": "4rem" },
|
|
15
17
|
"96": { "value": "6rem" },
|
|
16
18
|
"128": { "value": "8rem" },
|
|
17
|
-
full
|
|
19
|
+
full
|
|
18
20
|
};
|
|
19
21
|
//#endregion
|
|
20
|
-
export { sizesAndSpacing_default as default };
|
|
22
|
+
export { sizesAndSpacing_default as default, full };
|
|
21
23
|
|
|
22
24
|
//# sourceMappingURL=sizesAndSpacing.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitrise/bitkit-v2",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.291",
|
|
5
5
|
"description": "Bitrise Design System Components built with Chakra UI V3",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"react",
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
"postinstall": "node ./scripts/postinstall.cjs"
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
62
|
-
"@chakra-ui/cli": "3.36.
|
|
63
|
-
"@chakra-ui/react": "3.36.
|
|
62
|
+
"@chakra-ui/cli": "3.36.1",
|
|
63
|
+
"@chakra-ui/react": "3.36.1",
|
|
64
64
|
"@emotion/react": "11.14.0",
|
|
65
65
|
"@emotion/styled": "11.14.1",
|
|
66
66
|
"react": ">=18",
|
|
@@ -68,37 +68,37 @@
|
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@bitrise/eslint-plugin": "^4.1.0",
|
|
71
|
-
"@chakra-ui/cli": "3.36.
|
|
72
|
-
"@chakra-ui/react": "3.36.
|
|
71
|
+
"@chakra-ui/cli": "3.36.1",
|
|
72
|
+
"@chakra-ui/react": "3.36.1",
|
|
73
73
|
"@emotion/react": "11.14.0",
|
|
74
74
|
"@emotion/styled": "11.14.1",
|
|
75
|
-
"@figma-export/cli": "^6.4.
|
|
76
|
-
"@figma-export/output-components-as-svg": "^6.4.
|
|
77
|
-
"@figma-export/transform-svg-with-svgo": "^6.4.
|
|
75
|
+
"@figma-export/cli": "^6.4.1",
|
|
76
|
+
"@figma-export/output-components-as-svg": "^6.4.1",
|
|
77
|
+
"@figma-export/transform-svg-with-svgo": "^6.4.1",
|
|
78
78
|
"@google-cloud/storage": "^7.21.0",
|
|
79
|
-
"@storybook/addon-docs": "^10.
|
|
80
|
-
"@storybook/addon-mcp": "^0.
|
|
81
|
-
"@storybook/mcp": "^0.
|
|
82
|
-
"@storybook/react-vite": "^10.
|
|
79
|
+
"@storybook/addon-docs": "^10.5.3",
|
|
80
|
+
"@storybook/addon-mcp": "^0.7.0",
|
|
81
|
+
"@storybook/mcp": "^0.8.0",
|
|
82
|
+
"@storybook/react-vite": "^10.5.3",
|
|
83
83
|
"@svgr/plugin-jsx": "^8.1.0",
|
|
84
|
-
"@types/node": "^
|
|
84
|
+
"@types/node": "^26.1.1",
|
|
85
85
|
"@types/react": "^18.3.31",
|
|
86
86
|
"@types/react-dom": "^18.3.7",
|
|
87
87
|
"@vitejs/plugin-react": "^6.0.2",
|
|
88
88
|
"react": "^18.3.1",
|
|
89
89
|
"react-dom": "^18.3.1",
|
|
90
|
-
"release-it": "^20.2.
|
|
91
|
-
"storybook": "^10.
|
|
92
|
-
"tsx": "^4.
|
|
90
|
+
"release-it": "^20.2.1",
|
|
91
|
+
"storybook": "^10.5.3",
|
|
92
|
+
"tsx": "^4.23.1",
|
|
93
93
|
"typescript": "^6.0.3",
|
|
94
|
-
"vite": "^8.
|
|
95
|
-
"vite-plugin-dts": "^5.0.
|
|
94
|
+
"vite": "^8.1.5",
|
|
95
|
+
"vite-plugin-dts": "^5.0.3",
|
|
96
96
|
"vite-plugin-svgr": "^5.2.0"
|
|
97
97
|
},
|
|
98
98
|
"dependencies": {
|
|
99
|
-
"@fontsource-variable/figtree": "^5.
|
|
100
|
-
"@fontsource-variable/source-code-pro": "^5.
|
|
101
|
-
"es-toolkit": "^1.
|
|
99
|
+
"@fontsource-variable/figtree": "^5.3.0",
|
|
100
|
+
"@fontsource-variable/source-code-pro": "^5.3.0",
|
|
101
|
+
"es-toolkit": "^1.49.0",
|
|
102
102
|
"react-markdown": "^10.1.0"
|
|
103
103
|
},
|
|
104
104
|
"overrides": {
|