@ingamigo/ui 1.2.1 → 1.2.3
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/index.d.ts +354 -12
- package/dist/index.js +911 -7
- package/dist/index.js.map +1 -1
- package/package.json +4 -2
- package/dist/components/button/button.d.ts +0 -8
- package/dist/components/button/button.d.ts.map +0 -1
- package/dist/components/button/button.js +0 -7
- package/dist/components/button/button.js.map +0 -1
- package/dist/components/button/button.styles.d.ts +0 -8
- package/dist/components/button/button.styles.d.ts.map +0 -1
- package/dist/components/button/button.styles.js +0 -117
- package/dist/components/button/button.styles.js.map +0 -1
- package/dist/components/input/input.d.ts +0 -7
- package/dist/components/input/input.d.ts.map +0 -1
- package/dist/components/input/input.js +0 -7
- package/dist/components/input/input.js.map +0 -1
- package/dist/components/input/input.styles.d.ts +0 -9
- package/dist/components/input/input.styles.d.ts.map +0 -1
- package/dist/components/input/input.styles.js +0 -83
- package/dist/components/input/input.styles.js.map +0 -1
- package/dist/components/segmented-control/segmented-control.d.ts +0 -16
- package/dist/components/segmented-control/segmented-control.d.ts.map +0 -1
- package/dist/components/segmented-control/segmented-control.js +0 -50
- package/dist/components/segmented-control/segmented-control.js.map +0 -1
- package/dist/components/segmented-control/segmented-control.stories .d.ts +0 -25
- package/dist/components/segmented-control/segmented-control.stories .d.ts.map +0 -1
- package/dist/components/segmented-control/segmented-control.stories .js +0 -91
- package/dist/components/segmented-control/segmented-control.stories .js.map +0 -1
- package/dist/components/segmented-control/segmented-control.styles.d.ts +0 -11
- package/dist/components/segmented-control/segmented-control.styles.d.ts.map +0 -1
- package/dist/components/segmented-control/segmented-control.styles.js +0 -83
- package/dist/components/segmented-control/segmented-control.styles.js.map +0 -1
- package/dist/components/typography/typography.d.ts +0 -9
- package/dist/components/typography/typography.d.ts.map +0 -1
- package/dist/components/typography/typography.js +0 -17
- package/dist/components/typography/typography.js.map +0 -1
- package/dist/components/typography/typography.styles.d.ts +0 -5
- package/dist/components/typography/typography.styles.d.ts.map +0 -1
- package/dist/components/typography/typography.styles.js +0 -63
- package/dist/components/typography/typography.styles.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/theme/ThemeProvider.d.ts +0 -6
- package/dist/theme/ThemeProvider.d.ts.map +0 -1
- package/dist/theme/ThemeProvider.js +0 -8
- package/dist/theme/ThemeProvider.js.map +0 -1
- package/dist/theme/index.d.ts +0 -4
- package/dist/theme/index.d.ts.map +0 -1
- package/dist/theme/index.js +0 -3
- package/dist/theme/index.js.map +0 -1
- package/dist/theme/theme.d.ts +0 -458
- package/dist/theme/theme.d.ts.map +0 -1
- package/dist/theme/theme.js +0 -210
- package/dist/theme/theme.js.map +0 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kDAAkD,CAAC"}
|
|
1
|
+
"use client";{"version":3,"sources":["../src/theme/theme.ts","../src/theme/ThemeProvider.tsx","../src/components/button/button.styles.ts","../src/components/button/button.tsx","../src/components/input/input.styles.ts","../src/components/input/input.tsx","../src/components/typography/typography.styles.ts","../src/components/typography/typography.tsx","../src/components/segmented-control/segmented-control.styles.ts","../src/components/segmented-control/segmented-control.tsx","../src/components/logo/logo.styles.ts","../src/components/logo/logo.tsx"],"names":["EmotionThemeProvider","styled","theme","jsx"],"mappings":"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","file":"index.js","sourcesContent":["const primitives = {\n colors: {\n white: \"#ffffff\",\n black: \"#000000\",\n\n neutral: {\n 50: \"#f5f5f5\",\n 100: \"#e9e9ea\",\n 200: \"#d5d5d7\",\n 300: \"#b9b9bd\",\n 400: \"#97979d\",\n 500: \"#7b7b82\",\n 600: \"#5f6066\",\n 700: \"#45464b\",\n 800: \"#2e3035\",\n 900: \"#1d1e20\",\n 950: \"#141414\",\n },\n\n brand: {\n 400: \"#63c69d\",\n 500: \"#4db288\",\n 600: \"#3d9873\",\n },\n\n success: \"#4db288\",\n warning: \"#e7b94c\",\n danger: \"#cc5c6f\",\n },\n\n spacing: {\n 1: \"4px\",\n 2: \"8px\",\n 3: \"12px\",\n 4: \"16px\",\n 5: \"20px\",\n 6: \"24px\",\n 7: \"28px\",\n 8: \"32px\",\n 10: \"40px\",\n 12: \"48px\",\n 16: \"64px\",\n 20: \"80px\",\n },\n\n radius: {\n none: \"0px\",\n xs: \"8px\",\n sm: \"12px\",\n md: \"16px\",\n lg: \"20px\",\n xl: \"24px\",\n \"2xl\": \"28px\",\n full: \"9999px\",\n },\n\n typography: {\n fontFamily: `\n Inter,\n system-ui,\n -apple-system,\n BlinkMacSystemFont,\n \"Segoe UI\",\n Roboto,\n Helvetica,\n Arial,\n sans-serif\n `,\n\n fontSize: {\n xs: \"12px\",\n sm: \"14px\",\n md: \"16px\",\n lg: \"18px\",\n xl: \"20px\",\n \"2xl\": \"24px\",\n \"3xl\": \"32px\",\n \"4xl\": \"36px\",\n \"5xl\": \"40px\",\n },\n\n fontWeight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n\n lineHeight: {\n tight: 1.15,\n normal: 1.4,\n relaxed: 1.6,\n },\n },\n\n shadows: {\n sm: \"0 2px 8px rgb(0 0 0 / 18%)\",\n md: \"0 6px 16px rgb(0 0 0 / 24%)\",\n lg: \"0 12px 32px rgb(0 0 0 / 30%)\",\n xl: \"0 20px 48px rgb(0 0 0 / 36%)\",\n },\n\n motion: {\n duration: {\n fast: \"150ms\",\n normal: \"200ms\",\n slow: \"300ms\",\n },\n\n ease: {\n standard: \"ease\",\n },\n },\n} as const;\n\nconst lightSemantic = {\n background: {\n primary: primitives.colors.neutral[50],\n secondary: primitives.colors.white,\n },\n\n surface: {\n primary: primitives.colors.white,\n secondary: primitives.colors.neutral[50],\n tertiary: primitives.colors.neutral[100],\n },\n\n text: {\n primary: primitives.colors.neutral[950],\n secondary: primitives.colors.neutral[600],\n tertiary: primitives.colors.neutral[500],\n disabled: primitives.colors.neutral[400],\n inverse: primitives.colors.white,\n },\n\n border: {\n default: primitives.colors.neutral[200],\n strong: primitives.colors.neutral[300],\n focus: primitives.colors.brand[500],\n },\n\n action: {\n primary: primitives.colors.brand[500],\n primaryHover: primitives.colors.brand[600],\n },\n\n status: {\n success: primitives.colors.success,\n warning: primitives.colors.warning,\n danger: primitives.colors.danger,\n },\n\n semanticTypography: {\n fontSize: {\n body: primitives.typography.fontSize.md,\n bodySm: primitives.typography.fontSize.sm,\n bodyLg: primitives.typography.fontSize.lg,\n\n label: primitives.typography.fontSize.sm,\n\n heading1: primitives.typography.fontSize[\"4xl\"],\n heading2: primitives.typography.fontSize[\"3xl\"],\n heading3: primitives.typography.fontSize[\"2xl\"],\n },\n\n fontWeight: {\n heading: primitives.typography.fontWeight.bold,\n body: primitives.typography.fontWeight.regular,\n label: primitives.typography.fontWeight.medium,\n },\n },\n\n radiusSemantic: {\n control: primitives.radius.md,\n card: primitives.radius.xl,\n container: primitives.radius.xl,\n },\n\n elevation: {\n surface: primitives.shadows.sm,\n floating: primitives.shadows.md,\n overlay: primitives.shadows.lg,\n },\n\n motionSemantic: {\n interaction: primitives.motion.duration.normal,\n transition: primitives.motion.ease.standard,\n },\n} as const;\n\nconst darkSemantic = {\n background: {\n primary: primitives.colors.neutral[950],\n secondary: primitives.colors.neutral[900],\n },\n\n surface: {\n primary: primitives.colors.neutral[900],\n secondary: primitives.colors.neutral[800],\n tertiary: primitives.colors.neutral[700],\n },\n\n text: {\n primary: primitives.colors.white,\n secondary: primitives.colors.neutral[300],\n tertiary: primitives.colors.neutral[400],\n disabled: primitives.colors.neutral[500],\n inverse: primitives.colors.neutral[950],\n },\n\n border: {\n default: primitives.colors.neutral[800],\n strong: primitives.colors.neutral[700],\n focus: primitives.colors.brand[400],\n },\n\n action: {\n primary: primitives.colors.brand[500],\n primaryHover: primitives.colors.brand[600],\n },\n\n status: {\n success: primitives.colors.success,\n warning: primitives.colors.warning,\n danger: primitives.colors.danger,\n },\n\n semanticTypography: lightSemantic.semanticTypography,\n radiusSemantic: lightSemantic.radiusSemantic,\n elevation: lightSemantic.elevation,\n motionSemantic: lightSemantic.motionSemantic,\n} as const;\n\nexport const lightTheme = {\n ...primitives,\n ...lightSemantic,\n} as const;\n\nexport const darkTheme = {\n ...primitives,\n ...darkSemantic,\n} as const;\n\nexport const theme = lightTheme;\n\nexport type IngAmigoTheme = typeof lightTheme;","\"use client\";\n\nimport {\n ThemeProvider as EmotionThemeProvider,\n} from \"@emotion/react\";\n\nimport { theme } from \"./theme\";\n\ninterface ThemeProviderProps {\n children: React.ReactNode;\n}\n\nexport function ThemeProvider({\n children,\n}: ThemeProviderProps) {\n return (\n <EmotionThemeProvider theme={theme}>\n {children}\n </EmotionThemeProvider>\n );\n}","import styled from \"@emotion/styled\";\n\nexport const StyledButton = styled.button<{\n variant: \"primary\" | \"secondary\" | \"ghost\";\n size: \"small\" | \"medium\" | \"large\" | \"icon\";\n}>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: ${({ theme }) => theme.spacing[2]};\n\n border: 1px solid transparent;\n border-radius: ${({ theme }) => theme.radiusSemantic.control};\n\n font-family: ${({ theme }) => theme.typography.fontFamily};\n font-weight: ${({ theme }) => theme.semanticTypography.fontWeight.label};\n\n line-height: 1;\n white-space: nowrap;\n\n cursor: pointer;\n user-select: none;\n\n transition:\n background-color ${({ theme }) => theme.motionSemantic.interaction}\n ${({ theme }) => theme.motionSemantic.transition},\n color ${({ theme }) => theme.motionSemantic.interaction}\n ${({ theme }) => theme.motionSemantic.transition},\n border-color ${({ theme }) => theme.motionSemantic.interaction}\n ${({ theme }) => theme.motionSemantic.transition},\n box-shadow ${({ theme }) => theme.motionSemantic.interaction}\n ${({ theme }) => theme.motionSemantic.transition};\n\n ${({ theme, size }) => {\n switch (size) {\n case \"small\":\n return `\n min-height: 32px;\n padding: 0 ${theme.spacing[3]};\n font-size: ${theme.semanticTypography.fontSize.bodySm};\n `;\n\n case \"large\":\n return `\n min-height: 44px;\n padding: 0 ${theme.spacing[5]};\n font-size: ${theme.semanticTypography.fontSize.bodyLg};\n `;\n\n case \"icon\":\n return `\n min-width: 36px;\n min-height: 36px;\n padding: ${theme.spacing[2]};\n aspect-ratio: 1 / 1;\n `;\n\n case \"medium\":\n default:\n return `\n min-height: 36px;\n padding: 0 ${theme.spacing[4]};\n font-size: ${theme.semanticTypography.fontSize.body};\n `;\n }\n }}\n\n ${({ theme, variant }) => {\n switch (variant) {\n case \"primary\":\n return `\n background: ${theme.action.primary};\n color: ${theme.text.inverse};\n border-color: ${theme.action.primary};\n\n &:hover:not(:disabled) {\n background: ${theme.action.primaryHover};\n border-color: ${theme.action.primaryHover};\n }\n `;\n\n case \"secondary\":\n return `\n background: ${theme.surface.secondary};\n color: ${theme.text.primary};\n border-color: ${theme.border.default};\n\n &:hover:not(:disabled) {\n background: ${theme.surface.tertiary};\n border-color: ${theme.border.strong};\n }\n `;\n\n case \"ghost\":\n return `\n background: transparent;\n color: ${theme.text.secondary};\n border-color: transparent;\n\n &:hover:not(:disabled) {\n background: ${theme.surface.tertiary};\n color: ${theme.text.primary};\n }\n\n &:active:not(:disabled) {\n background: ${theme.surface.tertiary};\n }\n `;\n }\n }}\n\n &:focus-visible {\n outline: 2px solid ${({ theme }) => theme.border.focus};\n outline-offset: 2px;\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n &[aria-busy=\"true\"] {\n cursor: wait;\n }\n`;\n","import type { ButtonHTMLAttributes } from \"react\";\n\nimport { StyledButton } from \"./button.styles\";\n\nexport interface ButtonProps\n extends ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: \"primary\" | \"secondary\" | \"ghost\";\n size?: \"small\" | \"medium\" | \"large\" | \"icon\";\n}\n\nconst Button = ({\n variant = \"primary\",\n size = \"medium\",\n children,\n ...props\n}: ButtonProps) => {\n return (\n <StyledButton\n variant={variant}\n size={size}\n {...props}\n >\n {children}\n </StyledButton>\n );\n};\n\nexport default Button;","import styled from \"@emotion/styled\";\n\ninterface StyledInputProps {\n inputSize: \"small\" | \"medium\" | \"large\";\n}\n\nexport const StyledInput = styled.input<StyledInputProps>`\n display: block;\n width: 100%;\n\n border: 1px solid ${({ theme }) => theme.border.default};\n border-radius: ${({ theme }) => theme.radius.md};\n\n background: ${({ theme }) => theme.surface.primary};\n color: ${({ theme }) => theme.text.primary};\n\n font-family:\n Inter,\n system-ui,\n -apple-system,\n BlinkMacSystemFont,\n \"Segoe UI\",\n Roboto,\n Helvetica,\n Arial,\n sans-serif;\n font-weight: ${({ theme }) => theme.typography.fontWeight.regular};\n line-height: 1;\n\n outline: none;\n\n transition:\n background-color ${({ theme }) => theme.motion.duration.normal}\n ${({ theme }) => theme.motion.ease.standard},\n border-color ${({ theme }) => theme.motion.duration.normal}\n ${({ theme }) => theme.motion.ease.standard},\n box-shadow ${({ theme }) => theme.motion.duration.normal}\n ${({ theme }) => theme.motion.ease.standard},\n color ${({ theme }) => theme.motion.duration.normal}\n ${({ theme }) => theme.motion.ease.standard};\n\n &::placeholder {\n color: ${({ theme }) => theme.text.tertiary};\n }\n\n &:hover:not(:disabled) {\n border-color: ${({ theme }) => theme.border.strong};\n }\n\n &:focus {\n border-color: ${({ theme }) => theme.border.focus};\n\n box-shadow: 0 0 0 3px\n color-mix(\n in srgb,\n ${({ theme }) => theme.border.focus} 18%,\n transparent\n );\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n background: ${({ theme }) => theme.surface.secondary};\n }\n\n ${({ theme, inputSize }) =>\n inputSize === \"small\" &&\n `\n min-height: 32px;\n padding: 0 ${theme.spacing[3]};\n font-size: ${theme.typography.fontSize.sm};\n `}\n\n ${({ theme, inputSize }) =>\n inputSize === \"medium\" &&\n `\n min-height: 40px;\n padding: 0 ${theme.spacing[4]};\n font-size: ${theme.typography.fontSize.md};\n `}\n\n ${({ theme, inputSize }) =>\n inputSize === \"large\" &&\n `\n min-height: 48px;\n padding: 0 ${theme.spacing[4]};\n font-size: ${theme.typography.fontSize.lg};\n `}\n`;","import type { InputHTMLAttributes } from \"react\";\n\nimport { StyledInput } from \"./input.styles\";\n\nexport interface InputProps\n extends InputHTMLAttributes<HTMLInputElement> {\n inputSize?: \"small\" | \"medium\" | \"large\";\n}\n\nconst Input = ({\n inputSize = \"medium\",\n ...props\n}: InputProps) => {\n return (\n <StyledInput\n inputSize={inputSize}\n {...props}\n />\n );\n};\n\nexport default Input;","import styled from \"@emotion/styled\";\n\nexport const StyledTypography = styled.span`\n margin: 0;\n\n font-family:\n Inter,\n system-ui,\n -apple-system,\n BlinkMacSystemFont,\n \"Segoe UI\",\n Roboto,\n Helvetica,\n Arial,\n sans-serif;\n\n color: ${({ theme }) => theme.text.primary};\n\n &[data-variant=\"heading-1\"] {\n font-size: ${({ theme }) => theme.typography.fontSize[\"4xl\"]};\n font-weight: ${({ theme }) => theme.typography.fontWeight.bold};\n line-height: 1.15;\n letter-spacing: -0.02em;\n }\n\n &[data-variant=\"heading-2\"] {\n font-size: ${({ theme }) => theme.typography.fontSize[\"3xl\"]};\n font-weight: ${({ theme }) => theme.typography.fontWeight.bold};\n line-height: 1.15;\n letter-spacing: -0.02em;\n }\n\n &[data-variant=\"heading-3\"] {\n font-size: ${({ theme }) => theme.typography.fontSize[\"2xl\"]};\n font-weight: ${({ theme }) => theme.typography.fontWeight.bold};\n line-height: 1.15;\n letter-spacing: -0.015em;\n }\n\n &[data-variant=\"body-lg\"] {\n font-size: ${({ theme }) => theme.typography.fontSize.lg};\n font-weight: ${({ theme }) => theme.typography.fontWeight.regular};\n line-height: 1.4;\n }\n\n &[data-variant=\"body\"] {\n font-size: ${({ theme }) => theme.typography.fontSize.md};\n font-weight: ${({ theme }) => theme.typography.fontWeight.regular};\n line-height: 1.4;\n }\n\n &[data-variant=\"body-sm\"] {\n font-size: ${({ theme }) => theme.typography.fontSize.sm};\n font-weight: ${({ theme }) => theme.typography.fontWeight.regular};\n line-height: 1.4;\n }\n\n &[data-variant=\"label\"] {\n font-size: ${({ theme }) => theme.typography.fontSize.sm};\n font-weight: ${({ theme }) => theme.typography.fontWeight.medium};\n line-height: 1.4;\n }\n`;","import type { HTMLAttributes, ReactNode } from \"react\";\nimport { StyledTypography } from \"./typography.styles\";\n\nexport type TypographyVariant =\n | \"heading-1\"\n | \"heading-2\"\n | \"heading-3\"\n | \"body-lg\"\n | \"body\"\n | \"body-sm\"\n | \"label\";\n\nexport interface TypographyProps extends HTMLAttributes<HTMLElement> {\n variant?: TypographyVariant;\n children: ReactNode;\n}\n\nconst variantElements: Record<\n TypographyVariant,\n keyof HTMLElementTagNameMap\n> = {\n \"heading-1\": \"h1\",\n \"heading-2\": \"h2\",\n \"heading-3\": \"h3\",\n \"body-lg\": \"p\",\n body: \"p\",\n \"body-sm\": \"p\",\n label: \"span\",\n};\n\nconst Typography = ({\n variant = \"body\",\n children,\n ...props\n}: TypographyProps) => {\n const Component = variantElements[variant];\n\n return (\n <StyledTypography\n as={Component}\n data-variant={variant}\n {...props}\n >\n {children}\n </StyledTypography>\n );\n};\n\nexport default Typography;","import styled from \"@emotion/styled\";\n\nexport const StyledSegmentedControl = styled.div`\n display: inline-flex;\n align-items: center;\n gap: 2px;\n\n padding: ${({ theme }) => theme.spacing[1]};\n\n background: ${({ theme }) => theme.surface.secondary};\n border: 1px solid ${({ theme }) => theme.border.default};\n border-radius: ${({ theme }) => theme.radius.full};\n`;\n\nexport const StyledSegment = styled.button<{\n size: \"small\" | \"medium\" | \"large\";\n}>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n border: 0;\n border-radius: ${({ theme }) => theme.radius.full};\n\n background: transparent;\n color: ${({ theme }) => theme.text.secondary};\n\n font-family: ${({ theme }) => theme.typography.fontFamily};\n font-weight: ${({ theme }) =>\n theme.semanticTypography.fontWeight.label};\n line-height: 1;\n\n cursor: pointer;\n user-select: none;\n\n transition:\n background-color ${({ theme }) =>\n theme.motionSemantic.interaction}\n ${({ theme }) => theme.motionSemantic.transition},\n color ${({ theme }) =>\n theme.motionSemantic.interaction}\n ${({ theme }) => theme.motionSemantic.transition},\n box-shadow ${({ theme }) =>\n theme.motionSemantic.interaction}\n ${({ theme }) => theme.motionSemantic.transition};\n\n ${({ theme, size }) => {\n switch (size) {\n case \"small\":\n return `\n min-height: 32px;\n padding: 0 ${theme.spacing[3]};\n font-size: ${theme.semanticTypography.fontSize.bodySm};\n `;\n\n case \"large\":\n return `\n min-height: 44px;\n padding: 0 ${theme.spacing[5]};\n font-size: ${theme.semanticTypography.fontSize.bodyLg};\n `;\n\n case \"medium\":\n default:\n return `\n min-height: 36px;\n padding: 0 ${theme.spacing[4]};\n font-size: ${theme.semanticTypography.fontSize.body};\n `;\n }\n }}\n\n &:hover:not(:disabled) {\n color: ${({ theme }) => theme.text.primary};\n }\n\n &:focus-visible {\n outline: 2px solid ${({ theme }) => theme.border.focus};\n outline-offset: 2px;\n }\n\n &:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n &[aria-checked=\"true\"] {\n background: ${({ theme }) => theme.surface.primary};\n color: ${({ theme }) => theme.text.primary};\n box-shadow: ${({ theme }) => theme.elevation.surface};\n }\n`;","import { useRef } from \"react\";\nimport type { KeyboardEvent, ReactNode } from \"react\";\n\nimport {\n StyledSegment,\n StyledSegmentedControl,\n} from \"./segmented-control.styles\";\n\nexport interface SegmentedControlOption<T extends string> {\n value: T;\n label: ReactNode;\n disabled?: boolean;\n}\n\nexport interface SegmentedControlProps<T extends string> {\n options: SegmentedControlOption<T>[];\n value: T;\n onChange: (value: T) => void;\n size?: \"small\" | \"medium\" | \"large\";\n disabled?: boolean;\n}\n\nconst SegmentedControl = <T extends string>({\n options,\n value,\n onChange,\n size = \"medium\",\n disabled = false,\n}: SegmentedControlProps<T>) => {\n const refs = useRef<(HTMLButtonElement | null)[]>([]);\n\n const enabledOptions = options.filter(\n (option) => !option.disabled,\n );\n\n const handleKeyDown = (\n event: KeyboardEvent<HTMLButtonElement>,\n currentIndex: number,\n ) => {\n if (disabled || currentIndex === -1) {\n return;\n }\n\n let nextIndex: number;\n\n switch (event.key) {\n case \"ArrowRight\":\n case \"ArrowDown\":\n nextIndex = (currentIndex + 1) % enabledOptions.length;\n break;\n\n case \"ArrowLeft\":\n case \"ArrowUp\":\n nextIndex =\n (currentIndex - 1 + enabledOptions.length) %\n enabledOptions.length;\n break;\n\n case \"Home\":\n nextIndex = 0;\n break;\n\n case \"End\":\n nextIndex = enabledOptions.length - 1;\n break;\n\n default:\n return;\n }\n\n event.preventDefault();\n\n const nextOption = enabledOptions[nextIndex];\n\n const originalIndex = options.findIndex(\n (option) => option.value === nextOption.value,\n );\n\n refs.current[originalIndex]?.focus();\n\n onChange(nextOption.value);\n };\n\n return (\n <StyledSegmentedControl\n role=\"radiogroup\"\n aria-disabled={disabled}\n >\n {options.map((option, index) => {\n const checked = option.value === value;\n const optionDisabled = disabled || option.disabled;\n\n const enabledIndex = enabledOptions.findIndex(\n (item) => item.value === option.value,\n );\n\n return (\n <StyledSegment\n key={option.value}\n ref={(element) => {\n refs.current[index] = element;\n }}\n size={size}\n type=\"button\"\n role=\"radio\"\n aria-checked={checked}\n tabIndex={checked && !optionDisabled ? 0 : -1}\n disabled={optionDisabled}\n onClick={() => onChange(option.value)}\n onKeyDown={(event) => {\n handleKeyDown(event, enabledIndex);\n }}\n >\n {option.label}\n </StyledSegment>\n );\n })}\n </StyledSegmentedControl>\n );\n};\n\nexport default SegmentedControl;","import styled from \"@emotion/styled\";\n\ntype LogoSize = \"small\" | \"medium\" | \"large\";\n\nconst sizeHeight = (size: LogoSize): number => {\n switch (size) {\n case \"small\":\n return 24;\n case \"large\":\n return 48;\n case \"medium\":\n default:\n return 32;\n }\n};\n\nexport const StyledLogoContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"size\",\n})<{ size: LogoSize }>`\n display: inline-flex;\n align-items: center;\n font-family: ${({ theme }) => theme.typography.fontFamily};\n user-select: none;\n`;\n\n\nexport const StyledSvgIcon = styled.svg<{ size: LogoSize }>`\n flex-shrink: 0;\n\n margin-right: ${({ theme }) => theme.spacing[3]};\n\n .green-part {\n fill: #00ff22;\n }\n .blue-part {\n fill: #006fff;\n }\n\n ${({ size }) => {\n switch (size) {\n case \"small\":\n return { width: \"24px\", height: \"24px\" };\n case \"large\":\n return { width: \"56px\", height: \"56px\" };\n case \"medium\":\n default:\n return { width: \"40px\", height: \"40px\" };\n }\n }}\n`;\n\nexport const StyledBrandText = styled.span<{ size: LogoSize }>`\n color: ${({ theme }) => theme.text.primary};\n font-weight: ${({ theme }) => theme.semanticTypography.fontWeight.label};\n letter-spacing: -0.5px;\n line-height: 1;\n\n ${({ theme, size }) => {\n switch (size) {\n case \"small\":\n return { fontSize: theme.semanticTypography.fontSize.bodyLg };\n case \"large\":\n return { fontSize: theme.semanticTypography.fontSize.heading1 };\n case \"medium\":\n default:\n return { fontSize: theme.semanticTypography.fontSize.heading3};\n }\n }}\n`;\n\nexport const StyledBrandAccent = styled.span`\n font-weight: 700;\n`;\n\nexport const StyledPrefixWrapper = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const StyledDivider = styled.span<{ size: LogoSize }>`\n font-weight: 300;\n line-height: 2;\n margin: 0 ${({ theme }) => theme.spacing[3]};\n\n ${({ theme, size }) => {\n switch (size) {\n case \"small\":\n return { fontSize: theme.semanticTypography.fontSize.bodyLg };\n case \"large\":\n return { fontSize: theme.semanticTypography.fontSize.heading1 };\n case \"medium\":\n default:\n return { fontSize: theme.semanticTypography.fontSize.heading3 };\n }\n }}\n`;\n\nexport const StyledDrumContainer = styled.div<{ size: LogoSize }>`\n overflow: hidden;\n position: relative;\n display: flex;\n height: ${({ size }) => sizeHeight(size)}px;\n`;\n\nexport const StyledDrumTrack = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"size\" &&\n prop !== \"offset\" &&\n prop !== \"isScrolling\" &&\n prop !== \"duration\",\n})<{ size: LogoSize; offset: number; isScrolling: boolean; duration: number }>`\n display: flex;\n flex-direction: column;\n will-change: transform;\n transform: translateY(${({ size, offset }) => -offset * sizeHeight(size)}px);\n transition: ${({ isScrolling, duration }) =>\n isScrolling\n ? `transform ${duration}ms cubic-bezier(0.16, 1, 0.3, 1)`\n : \"none\"};\n`;\n\nexport const StyledPrefixText = styled.span<{ size: LogoSize }>`\n display: block;\n white-space: nowrap;\n color: ${({ theme }) => theme.text.primary};\n font-weight: 200;\n height: ${({ size }) => sizeHeight(size)}px;\n line-height: ${({ size }) => sizeHeight(size)}px;\n\n ${({ theme, size }) => {\n switch (size) {\n case \"small\":\n return { fontSize: theme.semanticTypography.fontSize.bodyLg };\n case \"large\":\n return { fontSize: theme.semanticTypography.fontSize.heading1 };\n case \"medium\":\n default:\n return { fontSize: theme.semanticTypography.fontSize.heading1 };\n }\n }}\n`;","import type { HTMLAttributes } from \"react\";\nimport { useEffect, useState } from \"react\";\n\nimport {\n StyledBrandAccent,\n StyledBrandText,\n StyledDivider,\n StyledDrumContainer,\n StyledDrumTrack,\n StyledLogoContainer,\n StyledPrefixText,\n StyledPrefixWrapper,\n StyledSvgIcon,\n} from \"./logo.styles\";\n\nconst ALL_SERVICES = [\"Услуги\", \"Облако\", \"VPN\", \"Инфраструктура\", \"Аналитика\"];\n\nconst DRUM_ROUNDS = 2;\nconst DRUM_DURATION = 1800;\n\nexport interface LogoProps extends HTMLAttributes<HTMLDivElement> {\n service?: string;\n animate?: boolean;\n size?: \"small\" | \"medium\" | \"large\";\n}\n\nconst shuffle = (source: string[]): string[] => {\n const copy = [...source];\n for (let i = copy.length - 1; i > 0; i -= 1) {\n const j = Math.floor(Math.random() * (i + 1));\n [copy[i], copy[j]] = [copy[j], copy[i]];\n }\n return copy;\n};\n\nconst buildDrumList = (target: string): string[] => {\n const pool = ALL_SERVICES.filter((item) => item !== target);\n if (pool.length === 0) return [target];\n\n const list: string[] = [];\n let previous: string | null = null;\n\n for (let round = 0; round < DRUM_ROUNDS; round += 1) {\n const batch = shuffle(pool);\n if (previous !== null && batch[0] === previous) {\n [batch[0], batch[batch.length - 1]] = [batch[batch.length - 1], batch[0]];\n }\n list.push(...batch);\n previous = batch[batch.length - 1];\n }\n\n list.push(target);\n return list;\n};\n\nconst Logo = ({\n service = \"\",\n animate = false,\n size = \"medium\",\n ...props\n}: LogoProps) => {\n const [prevService, setPrevService] = useState(service);\n const [prevAnimate, setPrevAnimate] = useState(animate);\n\n const [items, setItems] = useState<string[]>(() => (service ? [service] : []));\n const [offset, setOffset] = useState(0);\n const [isScrolling, setIsScrolling] = useState(false);\n\n const [triggerAnimation, setTriggerAnimation] = useState(false);\n\n if (service !== prevService || animate !== prevAnimate) {\n setPrevService(service);\n setPrevAnimate(animate);\n\n if (!animate || !service) {\n setItems(service ? [service] : []);\n setOffset(0);\n setIsScrolling(false);\n setTriggerAnimation(false);\n } else {\n const list = buildDrumList(service);\n setItems(list);\n setOffset(0);\n setIsScrolling(false);\n setTriggerAnimation(true);\n }\n }\n\n useEffect(() => {\n if (!triggerAnimation) {\n return;\n }\n\n let raf1 = 0;\n let raf2 = 0;\n\n raf1 = requestAnimationFrame(() => {\n raf2 = requestAnimationFrame(() => {\n setIsScrolling(true);\n setOffset(items.length - 1);\n setTriggerAnimation(false);\n });\n });\n\n return () => {\n cancelAnimationFrame(raf1);\n cancelAnimationFrame(raf2);\n };\n }, [triggerAnimation, items.length]);\n\n return (\n <StyledLogoContainer size={size} {...props}>\n <StyledSvgIcon\n size={size}\n viewBox=\"0 0 480 481\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path className=\"green-part\" d=\"M10.5688 180.779C10.5688 148.829 36.4688 122.929 68.418 122.929V122.929C84.3926 122.929 97.3426 135.879 97.3426 151.854V480.593H60.5689C32.9546 480.593 10.5688 458.207 10.5688 430.593V180.779Z\" />\n <path className=\"green-part\" d=\"M55.1756 211.45C34.6709 186.556 38.229 149.753 63.1229 129.248V129.248C71.0889 122.687 82.8658 123.825 89.4273 131.791L287.986 372.853L267.082 390.072C245.767 407.629 214.256 404.582 196.699 383.267L55.1756 211.45Z\" />\n <circle className=\"green-part\" cx=\"53.9553\" cy=\"53.9553\" r=\"53.9553\" />\n\n <path className=\"blue-part\" d=\"M469.323 180.779C469.323 148.829 443.423 122.929 411.474 122.929V122.929C395.499 122.929 382.549 135.879 382.549 151.854V480.593H419.323C446.937 480.593 469.323 458.207 469.323 430.593V180.779Z\" />\n <path className=\"blue-part\" d=\"M429.17 206.041C447.214 184.134 444.083 151.748 422.177 133.703V133.703C411.223 124.681 395.03 126.247 386.008 137.2L209.097 351.981C195.564 368.411 197.912 392.701 214.342 406.234V406.234C230.772 419.767 255.062 417.418 268.595 400.988L429.17 206.041Z\" />\n <circle className=\"blue-part\" cx=\"53.9553\" cy=\"53.9553\" r=\"53.9553\" transform=\"matrix(-1 0 0 1 479.891 0)\" />\n </StyledSvgIcon>\n\n <StyledBrandText size={size}>\n <StyledBrandAccent>ingAmigo</StyledBrandAccent>\n </StyledBrandText>\n\n {items.length > 0 && (\n <StyledPrefixWrapper>\n <StyledDivider size={size}>|</StyledDivider>\n <StyledDrumContainer size={size}>\n <StyledDrumTrack\n size={size}\n offset={offset}\n isScrolling={isScrolling}\n duration={DRUM_DURATION}\n >\n {items.map((item, index) => (\n <StyledPrefixText key={`${item}-${index}`} size={size}>\n {item}\n </StyledPrefixText>\n ))}\n </StyledDrumTrack>\n </StyledDrumContainer>\n </StyledPrefixWrapper>\n )}\n </StyledLogoContainer>\n );\n};\n\nexport default Logo;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ingamigo/ui",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
4
4
|
"description": "UI component library and design system for IngAmigo",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"url": "https://github.com/workshop-ideas/ingamigo-ui/issues"
|
|
21
21
|
},
|
|
22
22
|
"scripts": {
|
|
23
|
-
"build": "
|
|
23
|
+
"build": "tsup",
|
|
24
24
|
"storybook": "storybook dev -p 6006",
|
|
25
25
|
"build-storybook": "storybook build",
|
|
26
26
|
"lint": "eslint .",
|
|
@@ -64,6 +64,8 @@
|
|
|
64
64
|
"storybook": "^10.6.0",
|
|
65
65
|
"style-loader": "^4.0.0",
|
|
66
66
|
"ts-loader": "^9.6.2",
|
|
67
|
+
"tsup": "^8.5.1",
|
|
68
|
+
"tsup-plugin-prepend-directive": "^0.1.2",
|
|
67
69
|
"typescript": "^6.0.3",
|
|
68
70
|
"typescript-eslint": "^8.70.0",
|
|
69
71
|
"vite": "^8.3.0",
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { ButtonHTMLAttributes } from "react";
|
|
2
|
-
export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
3
|
-
variant?: "primary" | "secondary" | "ghost";
|
|
4
|
-
size?: "small" | "medium" | "large" | "icon";
|
|
5
|
-
}
|
|
6
|
-
declare const Button: ({ variant, size, children, ...props }: ButtonProps) => import("react").JSX.Element;
|
|
7
|
-
export default Button;
|
|
8
|
-
//# sourceMappingURL=button.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAIlD,MAAM,WAAW,WACf,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC/C,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC5C,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;CAC9C;AAED,QAAA,MAAM,MAAM,GAAI,uCAKb,WAAW,gCAUb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { StyledButton } from "./button.styles";
|
|
3
|
-
const Button = ({ variant = "primary", size = "medium", children, ...props }) => {
|
|
4
|
-
return (_jsx(StyledButton, { variant: variant, size: size, ...props, children: children }));
|
|
5
|
-
};
|
|
6
|
-
export default Button;
|
|
7
|
-
//# sourceMappingURL=button.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/button/button.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAQ/C,MAAM,MAAM,GAAG,CAAC,EACd,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,QAAQ,EACf,QAAQ,EACR,GAAG,KAAK,EACI,EAAE,EAAE;IAChB,OAAO,CACL,KAAC,YAAY,IACX,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,KACN,KAAK,YAER,QAAQ,GACI,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export declare const StyledButton: import("@emotion/styled").StyledComponent<{
|
|
2
|
-
theme?: import("@emotion/react").Theme;
|
|
3
|
-
as?: React.ElementType;
|
|
4
|
-
} & {
|
|
5
|
-
variant: "primary" | "secondary" | "ghost";
|
|
6
|
-
size: "small" | "medium" | "large" | "icon";
|
|
7
|
-
}, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
|
|
8
|
-
//# sourceMappingURL=button.styles.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;aACd,SAAS,GAAG,WAAW,GAAG,OAAO;UACpC,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM;qHAwH5C,CAAC"}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import styled from "@emotion/styled";
|
|
2
|
-
export const StyledButton = styled.button `
|
|
3
|
-
display: inline-flex;
|
|
4
|
-
align-items: center;
|
|
5
|
-
justify-content: center;
|
|
6
|
-
gap: ${({ theme }) => theme.spacing[2]};
|
|
7
|
-
|
|
8
|
-
border: 1px solid transparent;
|
|
9
|
-
border-radius: ${({ theme }) => theme.radiusSemantic.control};
|
|
10
|
-
|
|
11
|
-
font-family: ${({ theme }) => theme.typography.fontFamily};
|
|
12
|
-
font-weight: ${({ theme }) => theme.semanticTypography.fontWeight.label};
|
|
13
|
-
|
|
14
|
-
line-height: 1;
|
|
15
|
-
white-space: nowrap;
|
|
16
|
-
|
|
17
|
-
cursor: pointer;
|
|
18
|
-
user-select: none;
|
|
19
|
-
|
|
20
|
-
transition:
|
|
21
|
-
background-color ${({ theme }) => theme.motionSemantic.interaction}
|
|
22
|
-
${({ theme }) => theme.motionSemantic.transition},
|
|
23
|
-
color ${({ theme }) => theme.motionSemantic.interaction}
|
|
24
|
-
${({ theme }) => theme.motionSemantic.transition},
|
|
25
|
-
border-color ${({ theme }) => theme.motionSemantic.interaction}
|
|
26
|
-
${({ theme }) => theme.motionSemantic.transition},
|
|
27
|
-
box-shadow ${({ theme }) => theme.motionSemantic.interaction}
|
|
28
|
-
${({ theme }) => theme.motionSemantic.transition};
|
|
29
|
-
|
|
30
|
-
${({ theme, size }) => {
|
|
31
|
-
switch (size) {
|
|
32
|
-
case "small":
|
|
33
|
-
return `
|
|
34
|
-
min-height: 32px;
|
|
35
|
-
padding: 0 ${theme.spacing[3]};
|
|
36
|
-
font-size: ${theme.semanticTypography.fontSize.bodySm};
|
|
37
|
-
`;
|
|
38
|
-
case "large":
|
|
39
|
-
return `
|
|
40
|
-
min-height: 44px;
|
|
41
|
-
padding: 0 ${theme.spacing[5]};
|
|
42
|
-
font-size: ${theme.semanticTypography.fontSize.bodyLg};
|
|
43
|
-
`;
|
|
44
|
-
case "icon":
|
|
45
|
-
return `
|
|
46
|
-
min-width: 36px;
|
|
47
|
-
min-height: 36px;
|
|
48
|
-
padding: ${theme.spacing[2]};
|
|
49
|
-
aspect-ratio: 1 / 1;
|
|
50
|
-
`;
|
|
51
|
-
case "medium":
|
|
52
|
-
default:
|
|
53
|
-
return `
|
|
54
|
-
min-height: 36px;
|
|
55
|
-
padding: 0 ${theme.spacing[4]};
|
|
56
|
-
font-size: ${theme.semanticTypography.fontSize.body};
|
|
57
|
-
`;
|
|
58
|
-
}
|
|
59
|
-
}}
|
|
60
|
-
|
|
61
|
-
${({ theme, variant }) => {
|
|
62
|
-
switch (variant) {
|
|
63
|
-
case "primary":
|
|
64
|
-
return `
|
|
65
|
-
background: ${theme.action.primary};
|
|
66
|
-
color: ${theme.text.inverse};
|
|
67
|
-
border-color: ${theme.action.primary};
|
|
68
|
-
|
|
69
|
-
&:hover:not(:disabled) {
|
|
70
|
-
background: ${theme.action.primaryHover};
|
|
71
|
-
border-color: ${theme.action.primaryHover};
|
|
72
|
-
}
|
|
73
|
-
`;
|
|
74
|
-
case "secondary":
|
|
75
|
-
return `
|
|
76
|
-
background: ${theme.surface.secondary};
|
|
77
|
-
color: ${theme.text.primary};
|
|
78
|
-
border-color: ${theme.border.default};
|
|
79
|
-
|
|
80
|
-
&:hover:not(:disabled) {
|
|
81
|
-
background: ${theme.surface.tertiary};
|
|
82
|
-
border-color: ${theme.border.strong};
|
|
83
|
-
}
|
|
84
|
-
`;
|
|
85
|
-
case "ghost":
|
|
86
|
-
return `
|
|
87
|
-
background: transparent;
|
|
88
|
-
color: ${theme.text.secondary};
|
|
89
|
-
border-color: transparent;
|
|
90
|
-
|
|
91
|
-
&:hover:not(:disabled) {
|
|
92
|
-
background: ${theme.surface.tertiary};
|
|
93
|
-
color: ${theme.text.primary};
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
&:active:not(:disabled) {
|
|
97
|
-
background: ${theme.surface.tertiary};
|
|
98
|
-
}
|
|
99
|
-
`;
|
|
100
|
-
}
|
|
101
|
-
}}
|
|
102
|
-
|
|
103
|
-
&:focus-visible {
|
|
104
|
-
outline: 2px solid ${({ theme }) => theme.border.focus};
|
|
105
|
-
outline-offset: 2px;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
&:disabled {
|
|
109
|
-
cursor: not-allowed;
|
|
110
|
-
opacity: 0.5;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
&[aria-busy="true"] {
|
|
114
|
-
cursor: wait;
|
|
115
|
-
}
|
|
116
|
-
`;
|
|
117
|
-
//# sourceMappingURL=button.styles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button.styles.js","sourceRoot":"","sources":["../../../src/components/button/button.styles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { InputHTMLAttributes } from "react";
|
|
2
|
-
export interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
3
|
-
inputSize?: "small" | "medium" | "large";
|
|
4
|
-
}
|
|
5
|
-
declare const Input: ({ inputSize, ...props }: InputProps) => import("react").JSX.Element;
|
|
6
|
-
export default Input;
|
|
7
|
-
//# sourceMappingURL=input.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/components/input/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAIjD,MAAM,WAAW,UACf,SAAQ,mBAAmB,CAAC,gBAAgB,CAAC;IAC7C,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;CAC1C;AAED,QAAA,MAAM,KAAK,GAAI,yBAGZ,UAAU,gCAOZ,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { StyledInput } from "./input.styles";
|
|
3
|
-
const Input = ({ inputSize = "medium", ...props }) => {
|
|
4
|
-
return (_jsx(StyledInput, { inputSize: inputSize, ...props }));
|
|
5
|
-
};
|
|
6
|
-
export default Input;
|
|
7
|
-
//# sourceMappingURL=input.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/components/input/input.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAO7C,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,GAAG,QAAQ,EACpB,GAAG,KAAK,EACG,EAAE,EAAE;IACf,OAAO,CACL,KAAC,WAAW,IACV,SAAS,EAAE,SAAS,KAChB,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
interface StyledInputProps {
|
|
2
|
-
inputSize: "small" | "medium" | "large";
|
|
3
|
-
}
|
|
4
|
-
export declare const StyledInput: import("@emotion/styled").StyledComponent<{
|
|
5
|
-
theme?: import("@emotion/react").Theme;
|
|
6
|
-
as?: React.ElementType;
|
|
7
|
-
} & StyledInputProps, import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, {}>;
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=input.styles.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input.styles.d.ts","sourceRoot":"","sources":["../../../src/components/input/input.styles.ts"],"names":[],"mappings":"AAEA,UAAU,gBAAgB;IACxB,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;CACzC;AAED,eAAO,MAAM,WAAW;;;qIAmFvB,CAAC"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import styled from "@emotion/styled";
|
|
2
|
-
export const StyledInput = styled.input `
|
|
3
|
-
display: block;
|
|
4
|
-
width: 100%;
|
|
5
|
-
|
|
6
|
-
border: 1px solid ${({ theme }) => theme.border.default};
|
|
7
|
-
border-radius: ${({ theme }) => theme.radius.md};
|
|
8
|
-
|
|
9
|
-
background: ${({ theme }) => theme.surface.primary};
|
|
10
|
-
color: ${({ theme }) => theme.text.primary};
|
|
11
|
-
|
|
12
|
-
font-family:
|
|
13
|
-
Inter,
|
|
14
|
-
system-ui,
|
|
15
|
-
-apple-system,
|
|
16
|
-
BlinkMacSystemFont,
|
|
17
|
-
"Segoe UI",
|
|
18
|
-
Roboto,
|
|
19
|
-
Helvetica,
|
|
20
|
-
Arial,
|
|
21
|
-
sans-serif;
|
|
22
|
-
font-weight: ${({ theme }) => theme.typography.fontWeight.regular};
|
|
23
|
-
line-height: 1;
|
|
24
|
-
|
|
25
|
-
outline: none;
|
|
26
|
-
|
|
27
|
-
transition:
|
|
28
|
-
background-color ${({ theme }) => theme.motion.duration.normal}
|
|
29
|
-
${({ theme }) => theme.motion.ease.standard},
|
|
30
|
-
border-color ${({ theme }) => theme.motion.duration.normal}
|
|
31
|
-
${({ theme }) => theme.motion.ease.standard},
|
|
32
|
-
box-shadow ${({ theme }) => theme.motion.duration.normal}
|
|
33
|
-
${({ theme }) => theme.motion.ease.standard},
|
|
34
|
-
color ${({ theme }) => theme.motion.duration.normal}
|
|
35
|
-
${({ theme }) => theme.motion.ease.standard};
|
|
36
|
-
|
|
37
|
-
&::placeholder {
|
|
38
|
-
color: ${({ theme }) => theme.text.tertiary};
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
&:hover:not(:disabled) {
|
|
42
|
-
border-color: ${({ theme }) => theme.border.strong};
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
&:focus {
|
|
46
|
-
border-color: ${({ theme }) => theme.border.focus};
|
|
47
|
-
|
|
48
|
-
box-shadow: 0 0 0 3px
|
|
49
|
-
color-mix(
|
|
50
|
-
in srgb,
|
|
51
|
-
${({ theme }) => theme.border.focus} 18%,
|
|
52
|
-
transparent
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
&:disabled {
|
|
57
|
-
cursor: not-allowed;
|
|
58
|
-
opacity: 0.5;
|
|
59
|
-
background: ${({ theme }) => theme.surface.secondary};
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
${({ theme, inputSize }) => inputSize === "small" &&
|
|
63
|
-
`
|
|
64
|
-
min-height: 32px;
|
|
65
|
-
padding: 0 ${theme.spacing[3]};
|
|
66
|
-
font-size: ${theme.typography.fontSize.sm};
|
|
67
|
-
`}
|
|
68
|
-
|
|
69
|
-
${({ theme, inputSize }) => inputSize === "medium" &&
|
|
70
|
-
`
|
|
71
|
-
min-height: 40px;
|
|
72
|
-
padding: 0 ${theme.spacing[4]};
|
|
73
|
-
font-size: ${theme.typography.fontSize.md};
|
|
74
|
-
`}
|
|
75
|
-
|
|
76
|
-
${({ theme, inputSize }) => inputSize === "large" &&
|
|
77
|
-
`
|
|
78
|
-
min-height: 48px;
|
|
79
|
-
padding: 0 ${theme.spacing[4]};
|
|
80
|
-
font-size: ${theme.typography.fontSize.lg};
|
|
81
|
-
`}
|
|
82
|
-
`;
|
|
83
|
-
//# sourceMappingURL=input.styles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input.styles.js","sourceRoot":"","sources":["../../../src/components/input/input.styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAMrC,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAkB;;;;sBAInC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;mBACtC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;;gBAEjC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;WACzC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO;;;;;;;;;;;;iBAY3B,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO;;;;;;uBAM5C,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;QAC1D,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;mBAC9B,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;QACtD,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;iBAChC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;QACpD,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;YACrC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;QAC/C,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;;;aAGpC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ;;;;oBAI3B,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM;;;;oBAIlC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;UAK3C,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;;kBAQzB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS;;;IAGpD,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CACzB,SAAS,KAAK,OAAO;IACrB;;mBAEe,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;mBAChB,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;KAC1C;;IAED,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CACzB,SAAS,KAAK,QAAQ;IACtB;;mBAEe,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;mBAChB,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;KAC1C;;IAED,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CACzB,SAAS,KAAK,OAAO;IACrB;;mBAEe,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;mBAChB,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;KAC1C;CACJ,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from "react";
|
|
2
|
-
export interface SegmentedControlOption<T extends string> {
|
|
3
|
-
value: T;
|
|
4
|
-
label: ReactNode;
|
|
5
|
-
disabled?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export interface SegmentedControlProps<T extends string> {
|
|
8
|
-
options: SegmentedControlOption<T>[];
|
|
9
|
-
value: T;
|
|
10
|
-
onChange: (value: T) => void;
|
|
11
|
-
size?: "small" | "medium" | "large";
|
|
12
|
-
disabled?: boolean;
|
|
13
|
-
}
|
|
14
|
-
declare const SegmentedControl: <T extends string>({ options, value, onChange, size, disabled, }: SegmentedControlProps<T>) => import("react").JSX.Element;
|
|
15
|
-
export default SegmentedControl;
|
|
16
|
-
//# sourceMappingURL=segmented-control.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"segmented-control.d.ts","sourceRoot":"","sources":["../../../src/components/segmented-control/segmented-control.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAOtD,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM;IACtD,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,MAAM;IACrD,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,gBAAgB,GAAI,CAAC,SAAS,MAAM,EAAE,+CAMzC,qBAAqB,CAAC,CAAC,CAAC,gCA2F1B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useRef } from "react";
|
|
3
|
-
import { StyledSegment, StyledSegmentedControl, } from "./segmented-control.styles";
|
|
4
|
-
const SegmentedControl = ({ options, value, onChange, size = "medium", disabled = false, }) => {
|
|
5
|
-
const refs = useRef([]);
|
|
6
|
-
const enabledOptions = options.filter((option) => !option.disabled);
|
|
7
|
-
const handleKeyDown = (event, currentIndex) => {
|
|
8
|
-
if (disabled || currentIndex === -1) {
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
11
|
-
let nextIndex;
|
|
12
|
-
switch (event.key) {
|
|
13
|
-
case "ArrowRight":
|
|
14
|
-
case "ArrowDown":
|
|
15
|
-
nextIndex = (currentIndex + 1) % enabledOptions.length;
|
|
16
|
-
break;
|
|
17
|
-
case "ArrowLeft":
|
|
18
|
-
case "ArrowUp":
|
|
19
|
-
nextIndex =
|
|
20
|
-
(currentIndex - 1 + enabledOptions.length) %
|
|
21
|
-
enabledOptions.length;
|
|
22
|
-
break;
|
|
23
|
-
case "Home":
|
|
24
|
-
nextIndex = 0;
|
|
25
|
-
break;
|
|
26
|
-
case "End":
|
|
27
|
-
nextIndex = enabledOptions.length - 1;
|
|
28
|
-
break;
|
|
29
|
-
default:
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
event.preventDefault();
|
|
33
|
-
const nextOption = enabledOptions[nextIndex];
|
|
34
|
-
const originalIndex = options.findIndex((option) => option.value === nextOption.value);
|
|
35
|
-
refs.current[originalIndex]?.focus();
|
|
36
|
-
onChange(nextOption.value);
|
|
37
|
-
};
|
|
38
|
-
return (_jsx(StyledSegmentedControl, { role: "radiogroup", "aria-disabled": disabled, children: options.map((option, index) => {
|
|
39
|
-
const checked = option.value === value;
|
|
40
|
-
const optionDisabled = disabled || option.disabled;
|
|
41
|
-
const enabledIndex = enabledOptions.findIndex((item) => item.value === option.value);
|
|
42
|
-
return (_jsx(StyledSegment, { ref: (element) => {
|
|
43
|
-
refs.current[index] = element;
|
|
44
|
-
}, size: size, type: "button", role: "radio", "aria-checked": checked, tabIndex: checked && !optionDisabled ? 0 : -1, disabled: optionDisabled, onClick: () => onChange(option.value), onKeyDown: (event) => {
|
|
45
|
-
handleKeyDown(event, enabledIndex);
|
|
46
|
-
}, children: option.label }, option.value));
|
|
47
|
-
}) }));
|
|
48
|
-
};
|
|
49
|
-
export default SegmentedControl;
|
|
50
|
-
//# sourceMappingURL=segmented-control.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"segmented-control.js","sourceRoot":"","sources":["../../../src/components/segmented-control/segmented-control.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { StoryObj } from "@storybook/react";
|
|
2
|
-
declare const meta: {
|
|
3
|
-
title: string;
|
|
4
|
-
component: <T extends string>({ options, value, onChange, size, disabled, }: import("./segmented-control").SegmentedControlProps<T>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
5
|
-
parameters: {
|
|
6
|
-
layout: string;
|
|
7
|
-
};
|
|
8
|
-
argTypes: {
|
|
9
|
-
value: {
|
|
10
|
-
control: false;
|
|
11
|
-
};
|
|
12
|
-
onChange: {
|
|
13
|
-
action: string;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
export default meta;
|
|
18
|
-
type Story = StoryObj;
|
|
19
|
-
export declare const Default: Story;
|
|
20
|
-
export declare const Small: Story;
|
|
21
|
-
export declare const Large: Story;
|
|
22
|
-
export declare const WithDisabledOption: Story;
|
|
23
|
-
export declare const Disabled: Story;
|
|
24
|
-
export declare const ThreeOptions: Story;
|
|
25
|
-
//# sourceMappingURL=segmented-control.stories%20.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"segmented-control.stories .d.ts","sourceRoot":"","sources":["../../../src/components/segmented-control/segmented-control.stories .tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIvD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;CAc+B,CAAC;AAE1C,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AA4BtB,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAEnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAEnB,CAAC;AAwBF,eAAO,MAAM,kBAAkB,EAAE,KAEhC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAkBtB,CAAC;AA2BF,eAAO,MAAM,YAAY,EAAE,KAE1B,CAAC"}
|