@nithish_atum/atum 1.0.0 → 1.0.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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Button.tsx"],"sourcesContent":["import React from \"react\";\r\n\r\ntype Variant = \"solid\" | \"outline\" | \"ghost\";\r\n\r\ninterface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>{\r\n variant?: Variant;\r\n children: React.ReactNode;\r\n}\r\n\r\nexport const Button = ({ variant = \"solid\", children, ...rest}: ButtonProps) => {\r\n const style = {\r\n solid: { backgroundColor: \"#000\", color: \"#fff\" },\r\n outline: { border: \"1px solid #000\", color: \"#000\", background: \"none\" },\r\n ghost: { background: \"transparent\", color: \"#000\" },\r\n }\r\n\r\n return <button style={style[variant]} {...rest}>{children}</button>\r\n}"],"mappings":";AAgBW;AAPJ,IAAM,SAAS,CAAC,EAAE,UAAU,SAAS,UAAU,GAAG,KAAI,MAAmB;AAC5E,QAAM,QAAQ;AAAA,IACd,OAAO,EAAE,iBAAiB,QAAQ,OAAO,OAAO;AAAA,IAChD,SAAS,EAAE,QAAQ,kBAAkB,OAAO,QAAQ,YAAY,OAAO;AAAA,IACvE,OAAO,EAAE,YAAY,eAAe,OAAO,OAAO;AAAA,EAClD;AAEA,SAAO,oBAAC,YAAO,OAAO,MAAM,OAAO,GAAI,GAAG,MAAO,UAAS;AAC9D;","names":[]}
1
+ {"version":3,"sources":["../src/components/Box.tsx","../src/components/Button.tsx","../src/components/Card.tsx","../src/components/Checkbox.tsx","../src/components/DatePicker.tsx","../src/components/Divider.tsx","../src/components/Drawer.tsx","../src/components/Flex.tsx","../src/components/Form.tsx","../src/components/FormControl.tsx","../src/components/Heading.tsx","../src/components/Input.tsx","../src/components/Link.tsx","../src/components/Modal.tsx","../src/components/Paragraph.tsx","../src/components/Radio.tsx","../src/components/Select.tsx","../src/components/Switch.tsx","../src/components/Text.tsx","../src/components/Textarea.tsx"],"sourcesContent":["import React, { Children } from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\ntype Flex = \"row\" | \"col\";\r\ntype Gap = \"xs\" | \"sm\" | \"md\" | \"lg\";\r\ntype Variant = \"default\" | \"elevated\";\r\n\r\ninterface ContainerProps extends React.BaseHTMLAttributes<HTMLDivElement> {\r\n gap?: Gap;\r\n flex?: Flex;\r\n variant?: Variant;\r\n children: React.ReactNode;\r\n}\r\n\r\nconst baseStyle = css`\r\n display: flex;\r\n flex-direction: row;\r\n width: fit-content;\r\n height: fit-content;\r\n padding: 1em 1em;\r\n border: 1px solid lightgray;\r\n justify-self: center;\r\n`;\r\n\r\nconst variantStyles = {\r\n default: css`\r\n transition: none;\r\n `,\r\n elevated: css`\r\n transition: box-shadow 300ms ease;\r\n &:hover {\r\n box-shadow: rgba(36, 40, 45, 0.2) 0px 8px 24px;\r\n }\r\n `,\r\n};\r\n\r\nconst justifyStyles = {\r\n row: css`\r\n flex-direction: row;\r\n `,\r\n col: css`\r\n flex-direction: column;\r\n `,\r\n};\r\n\r\nconst gapStyles = {\r\n xs: css`\r\n gap: 0.5em;\r\n `,\r\n sm: css`\r\n gap: 1em;\r\n `,\r\n md: css`\r\n gap: 1.5em;\r\n `,\r\n lg: css`\r\n gap: 2.5em;\r\n `,\r\n};\r\n\r\nconst CustomDiv = styled.div<{ $flex: Flex; $gap: Gap, $variant: Variant }>`\r\n ${baseStyle}\r\n ${({ $flex, $gap, $variant }) => css`\r\n ${justifyStyles[$flex]}\r\n ${gapStyles[$gap]}\r\n ${variantStyles[$variant]}\r\n `}\r\n`;\r\n\r\nconst Box = ({\r\n flex = \"row\",\r\n gap = \"xs\",\r\n variant = \"default\",\r\n children,\r\n ...rest\r\n}: ContainerProps) => {\r\n return (\r\n <CustomDiv $flex={flex} $gap={gap} $variant={variant} {...rest}>\r\n {children}\r\n </CustomDiv>\r\n );\r\n};\r\n\r\nexport default Box;\r\n","import React from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\ntype Variant = \"primary_solid\" | \"primary_outline\" | \"primary_text\";\r\n\r\ninterface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\r\n variant?: Variant;\r\n children: React.ReactNode;\r\n}\r\n\r\nconst baseStyle = css`\r\n padding: 1em;\r\n cursor: pointer;\r\n font-weight: 600;\r\n transistion: all 900ms;\r\n`;\r\n\r\nconst variantStyles = {\r\n primary_solid: css`\r\n background-color: #2d8eff;\r\n color: white;\r\n border: 1px solid #2d8eff;\r\n transition: all 0.6s ease;\r\n // &:hover {\r\n // color: #fff;\r\n // border-right: none;\r\n // border-left: none;\r\n // border-top: 2px solid #fff;\r\n // border-bottom: 2px solid #fff;\r\n // background-color:rgba(144, 167, 194, 0);\r\n // letter-spacing: 4px;\r\n//}\r\n `,\r\n primary_outline: css`\r\n background-color: transparent;\r\n color: #2d8eff;\r\n border: 1px solid #2d8eff;\r\n `,\r\n primary_text: css`\r\n background-color: transparent;\r\n color: #2d8eff;\r\n border: none;\r\n transition: all 0.9s ease;\r\n // &:hover{\r\n // background-color: #2d8eff;\r\n // color: #fff;\r\n // }\r\n `,\r\n};\r\n\r\nconst StyledButton = styled.button<{ $variant: Variant }>`\r\n ${baseStyle}\r\n ${({ $variant }) => variantStyles[$variant]}\r\n`;\r\n\r\nconst Button = ({\r\n variant = \"primary_solid\",\r\n children,\r\n ...rest\r\n}: ButtonProps) => {\r\n return (\r\n <StyledButton $variant={variant} {...rest}>\r\n {children}\r\n </StyledButton>\r\n );\r\n};\r\n\r\nexport default Button;\r\n","import React, { Children } from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\ntype Direction = \"row\" | \"col\";\r\ntype Gap = \"xs\" | \"sm\" | \"md\" | \"lg\";\r\ntype ImageURL = string;\r\ntype ImageAlt = string;\r\n\r\ninterface ContainerProps extends React.BaseHTMLAttributes<HTMLDivElement> {\r\n gap?: Gap;\r\n Imageurl?: ImageURL;\r\n Imagealt?: ImageAlt;\r\n direction?: Direction;\r\n children: React.ReactNode;\r\n}\r\n\r\nconst baseStyle = css`\r\n display: flex;\r\n flex-direction: row;\r\n width: fit-content;\r\n height: fit-content;\r\n background-color: rgb(255, 255, 255);\r\n padding: 1em 1em;\r\n border-radius: 0.8em;\r\n box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;\r\n transition: all 0.9s ease;\r\n &:hover {\r\n box-shadow: rgba(36, 40, 45, 0.2) 0px 8px 24px;\r\n }\r\n`;\r\n\r\nconst justifyStyles = {\r\n row: css`\r\n flex-direction: row;\r\n `,\r\n col: css`\r\n flex-direction: column;\r\n `,\r\n};\r\nconst gapStyles = {\r\n xs: css`\r\n gap: 0.5em;\r\n `,\r\n sm: css`\r\n gap: 1em;\r\n `,\r\n md: css`\r\n gap: 1.5em;\r\n `,\r\n lg: css`\r\n gap: 2.5em;\r\n `,\r\n};\r\n\r\nconst CustomDiv = styled.div<{ $direction: Direction; $gap: Gap }>`\r\n ${baseStyle}\r\n ${({ $direction, $gap }) => css`\r\n ${justifyStyles[$direction]}\r\n ${gapStyles[$gap]}\r\n `}\r\n`;\r\n\r\nconst Card = ({\r\n direction = \"col\",\r\n gap = \"xs\",\r\n Imagealt = \"card-image\",\r\n Imageurl = \"\",\r\n children,\r\n ...rest\r\n}: ContainerProps) => {\r\n return (\r\n <CustomDiv $direction={direction} $gap={gap} {...rest}>\r\n {Imageurl.length > 0 ? \r\n <>\r\n <div style={{\r\n width:'100%',\r\n height: \"200px\",\r\n backgroundImage:`url(${Imageurl})`,\r\n backgroundPosition:'center',\r\n backgroundSize:'cover',\r\n borderRadius:'12px',\r\n border: \"1px solid #f1f1f1\"\r\n }}>\r\n {/* just for image holder */}\r\n </div> \r\n {children}\r\n </>\r\n : children}\r\n </CustomDiv>\r\n );\r\n};\r\n\r\nexport default Card;\r\n","import React, { useEffect, useRef } from \"react\";\nimport styled, { css } from \"styled-components\";\n\n/* =========================\n Types\n========================= */\n\ninterface CheckboxProps extends React.InputHTMLAttributes<HTMLInputElement> {\n label?: React.ReactNode;\n indeterminate?: boolean;\n}\n\n/* =========================\n Styles\n========================= */\n\nconst Wrapper = styled.label`\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n cursor: pointer;\n user-select: none;\n`;\n\nconst HiddenInput = styled.input.attrs({ type: \"checkbox\" })`\n position: absolute;\n opacity: 0;\n pointer-events: none;\n`;\n\nconst boxBase = css`\n width: 16px;\n height: 16px;\n border-radius: 4px;\n border: 1px solid #ccc;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.15s ease;\n`;\n\nconst Box = styled.span<{ $checked: boolean; $disabled?: boolean }>`\n ${boxBase}\n background-color: ${({ $checked }) => ($checked ? \"#2d8eff\" : \"#fff\")};\n border-color: ${({ $checked }) => ($checked ? \"#2d8eff\" : \"#ccc\")};\n opacity: ${({ $disabled }) => ($disabled ? 0.6 : 1)};\n\n ${Wrapper}:hover & {\n border-color: #2d8eff;\n }\n`;\n\nconst CheckMark = styled.span`\n width: 8px;\n height: 8px;\n background: white;\n border-radius: 2px;\n`;\n\n/* =========================\n Component\n========================= */\n\nconst Checkbox = ({\n checked = false,\n indeterminate = false,\n disabled = false,\n label,\n ...rest\n}: CheckboxProps) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate;\n }\n }, [indeterminate]);\n\n return (\n <Wrapper>\n <HiddenInput\n ref={inputRef}\n checked={checked}\n disabled={disabled}\n {...rest}\n />\n <Box $checked={checked || indeterminate} $disabled={disabled}>\n {(checked || indeterminate) && <CheckMark />}\n </Box>\n {label && <span>{label}</span>}\n </Wrapper>\n );\n};\n\nexport default Checkbox;\n","import React, { useEffect, useRef, useState } from \"react\";\nimport styled from \"styled-components\";\nimport { createPortal } from \"react-dom\";\n\n/* =========================\n Types\n========================= */\n\nexport interface DatePickerProps {\n value?: Date;\n onChange?: (date: Date) => void;\n placeholder?: string;\n}\n\n/* =========================\n Date utils (pure)\n========================= */\n\nconst isSameDay = (a: Date, b: Date) =>\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate();\n\nconst getDaysInMonth = (year: number, month: number) =>\n new Date(year, month + 1, 0).getDate();\n\nconst formatDate = (date: Date) =>\n date.toISOString().split(\"T\")[0];\n\n/* =========================\n Styles\n========================= */\n\nconst Wrapper = styled.div`\n position: relative;\n width: 100%;\n`;\n\nconst InputBox = styled.div`\n border: 1px solid #ccc;\n border-radius: 6px;\n padding: 0.5rem 0.75rem;\n cursor: pointer;\n background: #fff;\n`;\n\nconst Panel = styled.div`\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n background: white;\n border-radius: 8px;\n padding: 0.75rem;\n box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);\n z-index: 1000;\n`;\n\nconst Header = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 0.5rem;\n`;\n\nconst Grid = styled.div`\n display: grid;\n grid-template-columns: repeat(7, 32px);\n gap: 4px;\n`;\n\nconst Day = styled.div<{ $selected?: boolean }>`\n text-align: center;\n padding: 0.35rem 0;\n border-radius: 4px;\n cursor: pointer;\n background: ${({ $selected }) =>\n $selected ? \"#2d8eff\" : \"transparent\"};\n color: ${({ $selected }) =>\n $selected ? \"#fff\" : \"inherit\"};\n\n &:hover {\n background: #f0f0f0;\n }\n`;\n\n/* =========================\n Component\n========================= */\n\nconst DatePicker: React.FC<DatePickerProps> = ({\n value,\n onChange,\n placeholder = \"Select date\",\n}) => {\n const [open, setOpen] = useState(false);\n const [current, setCurrent] = useState(\n value || new Date()\n );\n\n const ref = useRef<HTMLDivElement>(null);\n\n /* Close on outside click */\n useEffect(() => {\n const handler = (e: MouseEvent) => {\n if (ref.current && !ref.current.contains(e.target as Node)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () =>\n document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const year = current.getFullYear();\n const month = current.getMonth();\n const daysInMonth = getDaysInMonth(year, month);\n\n const days = Array.from({ length: daysInMonth }, (_, i) => {\n const date = new Date(year, month, i + 1);\n return date;\n });\n\n return (\n <Wrapper ref={ref}>\n <InputBox onClick={() => setOpen(!open)}>\n {value ? formatDate(value) : placeholder}\n </InputBox>\n\n {open &&\n createPortal(\n <Panel>\n <Header>\n <button\n onClick={() =>\n setCurrent(\n new Date(year, month - 1, 1)\n )\n }\n >\n ◀\n </button>\n <strong>\n {current.toLocaleString(\"default\", {\n month: \"long\",\n })}{\" \"}\n {year}\n </strong>\n <button\n onClick={() =>\n setCurrent(\n new Date(year, month + 1, 1)\n )\n }\n >\n ▶\n </button>\n </Header>\n\n <Grid>\n {days.map((d) => (\n <Day\n key={d.toISOString()}\n $selected={\n value ? isSameDay(d, value) : false\n }\n onClick={() => {\n onChange?.(d);\n setOpen(false);\n }}\n >\n {d.getDate()}\n </Day>\n ))}\n </Grid>\n </Panel>,\n document.body\n )}\n </Wrapper>\n );\n};\n\nexport default DatePicker;\n","import React from \"react\";\nimport styled, { css } from \"styled-components\";\n\ntype Orientation = \"horizontal\" | \"vertical\";\ntype Size = \"thin\" | \"medium\";\ntype Gap = \"xs\" | \"sm\" | \"md\" | \"lg\";\n\ninterface DividerProps extends React.HTMLAttributes<HTMLDivElement> {\n orientation?: Orientation;\n size?: Size;\n gap?: Gap;\n}\n\nconst baseStyle = css`\n background-color: rgba(0, 0, 0, 0.12);\n flex-shrink: 0;\n`;\n\nconst orientationStyles: Record<Orientation, any> = {\n horizontal: css`\n width: 100%;\n height: 1px;\n `,\n vertical: css`\n height: 100%;\n width: 1px;\n `,\n};\n\nconst sizeStyles: Record<Size, any> = {\n thin: css`\n opacity: 0.6;\n `,\n medium: css`\n opacity: 1;\n `,\n};\n\nconst gapStyles: Record<Gap, any> = {\n xs: css`\n margin: 0.5rem 0;\n `,\n sm: css`\n margin: 1rem 0;\n `,\n md: css`\n margin: 2rem 0;\n `,\n lg: css`\n margin: 3rem 0;\n `,\n};\n\nconst StyledDivider = styled.div<{\n $orientation: Orientation;\n $size: Size;\n $gap: Gap;\n}>`\n ${baseStyle}\n ${({ $orientation }) => orientationStyles[$orientation]}\n ${({ $size }) => sizeStyles[$size]}\n ${({ $gap, $orientation }) =>\n $orientation === \"horizontal\"\n ? gapStyles[$gap]\n : css`\n margin: 0 ${gapStyles[$gap].styles?.margin?.split(\" \")[0] || \"1rem\"};\n `}\n`;\n\nconst Divider = ({\n orientation = \"horizontal\",\n size = \"thin\",\n gap = \"sm\",\n ...rest\n}: DividerProps) => {\n return (\n <StyledDivider\n role=\"separator\"\n $orientation={orientation}\n $size={size}\n $gap={gap}\n {...rest}\n />\n );\n};\n\nexport default Divider;\n","import React, { useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport styled, { css } from \"styled-components\";\n\n/* =========================\n Types\n========================= */\n\nexport type DrawerPlacement = \"right\" | \"left\" | \"bottom\";\n\nexport interface DrawerProps {\n open: boolean;\n onClose?: () => void;\n placement?: DrawerPlacement;\n width?: number | string;\n height?: number | string;\n children: React.ReactNode;\n}\n\n/* =========================\n Styles\n========================= */\n\nconst Overlay = styled.div`\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.45);\n z-index: 1000;\n`;\n\nconst baseDrawer = css`\n position: fixed;\n background: #fff;\n box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);\n z-index: 1001;\n display: flex;\n flex-direction: column;\n`;\n\nconst placementStyles = {\n right: css`\n top: 0;\n right: 0;\n height: 100%;\n `,\n left: css`\n top: 0;\n left: 0;\n height: 100%;\n `,\n bottom: css`\n left: 0;\n bottom: 0;\n width: 100%;\n `,\n};\n\nconst DrawerContainer = styled.div<{\n $placement: DrawerPlacement;\n $width?: number | string;\n $height?: number | string;\n}>`\n ${baseDrawer}\n ${({ $placement }) => placementStyles[$placement]}\n\n ${({ $placement, $width }) =>\n ($placement === \"left\" || $placement === \"right\") &&\n css`\n width: ${typeof $width === \"number\"\n ? `${$width}px`\n : $width || \"360px\"};\n `}\n\n ${({ $placement, $height }) =>\n $placement === \"bottom\" &&\n css`\n height: ${typeof $height === \"number\"\n ? `${$height}px`\n : $height || \"320px\"};\n `}\n`;\n\nconst Header = styled.div`\n display: flex;\n justify-content: flex-end;\n padding: 0.75rem;\n border-bottom: 1px solid #eee;\n`;\n\nconst CloseButton = styled.button`\n background: none;\n border: none;\n font-size: 1.25rem;\n cursor: pointer;\n`;\n\n/* =========================\n Component\n========================= */\n\nconst Drawer: React.FC<DrawerProps> = ({\n open,\n onClose,\n placement = \"right\",\n width,\n height,\n children,\n}) => {\n useEffect(() => {\n if (!open) return;\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") {\n onClose?.();\n }\n };\n\n document.addEventListener(\"keydown\", handleKeyDown);\n return () =>\n document.removeEventListener(\"keydown\", handleKeyDown);\n }, [open, onClose]);\n\n if (!open) return null;\n\n return createPortal(\n <>\n <Overlay onClick={onClose} />\n\n <DrawerContainer\n $placement={placement}\n $width={width}\n $height={height}\n >\n <Header>\n <CloseButton onClick={onClose}>×</CloseButton>\n </Header>\n {children}\n </DrawerContainer>\n </>,\n document.body\n );\n};\n\nexport default Drawer;\n","import React from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\ntype Gap = \"small\" | \"medium\" | \"large\";\r\ntype FlexDirection = \"row\" | \"col\";\r\ntype Justify = \"center\" | \"between\" | \"around\" | \"start\" | \"end\" | \"even\";\r\ntype Align = \"center\" | \"between\" | \"around\" | \"start\" | \"end\" | \"even\";\r\n\r\ninterface ButtonProps extends React.ButtonHTMLAttributes<HTMLDivElement> {\r\n gap?: Gap;\r\n flexDirection?: FlexDirection;\r\n justify?: Justify;\r\n align?: Align;\r\n children: React.ReactNode;\r\n}\r\n\r\nconst baseStyle = css`\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n`;\r\nconst FlexDirectionStyle = {\r\n row: css`\r\n flex-direction: row;\r\n `,\r\n col: css`\r\n flex-direction: column;\r\n `,\r\n};\r\nconst JustifyStyle = {\r\n center: css`\r\n justify-content: center;\r\n `,\r\n between: css`\r\n justify-content: space-between;\r\n `,\r\n around: css`\r\n justify-content: space-around;\r\n `,\r\n start: css`\r\n justify-content: flex-start;\r\n `,\r\n end: css`\r\n justify-content: flex-end;\r\n `,\r\n even: css`\r\n justify-content: space-evenly;\r\n `,\r\n};\r\nconst AlignStyle = {\r\n center: css`\r\n align-items: center;\r\n `,\r\n between: css`\r\n align-items: space-between;\r\n `,\r\n around: css`\r\n align-items: space-around;\r\n `,\r\n start: css`\r\n align-items: flex-start;\r\n `,\r\n end: css`\r\n align-items: flex-end;\r\n `,\r\n even: css`\r\n align-items: space-evenly;\r\n `,\r\n};\r\nconst GapStyle = {\r\n small: css`\r\n gap: 1em;\r\n `,\r\n medium: css`\r\n gap: 2em;\r\n `,\r\n large: css`\r\n gap: 3em;\r\n `,\r\n};\r\n\r\nconst StyledDiv = styled.div<{\r\n $flexDirection: FlexDirection;\r\n $gap: Gap;\r\n $justify: Justify;\r\n $align: Align\r\n}>`\r\n ${baseStyle}\r\n ${({ $flexDirection, $gap, $justify, $align }) => css`\r\n ${FlexDirectionStyle[$flexDirection]}\r\n ${GapStyle[$gap]}\r\n ${AlignStyle[$align]}\r\n ${JustifyStyle[$justify]}\r\n `}\r\n`;\r\n\r\nconst Flex = ({\r\n gap = \"small\",\r\n justify = \"center\",\r\n align = \"center\",\r\n flexDirection = 'col',\r\n children,\r\n ...rest\r\n}: ButtonProps) => {\r\n return (\r\n <StyledDiv $gap={gap} $justify={justify} $align={align} $flexDirection={flexDirection} {...rest}>\r\n {children}\r\n </StyledDiv>\r\n );\r\n};\r\n\r\nexport default Flex;\r\n","import React from \"react\";\nimport styled from \"styled-components\";\n\ninterface FormProps extends React.FormHTMLAttributes<HTMLFormElement> {\n children: React.ReactNode;\n}\n\nconst StyledForm = styled.form`\n width: 100%;\n`;\n\nconst Form = ({ children, ...rest }: FormProps) => {\n return <StyledForm {...rest}>{children}</StyledForm>;\n};\n\nexport default Form;\n","import React from \"react\";\nimport styled, { css } from \"styled-components\";\n\n/* =========================\n Types\n========================= */\n\ninterface FormControlProps {\n label?: React.ReactNode;\n error?: React.ReactNode;\n helperText?: React.ReactNode;\n required?: boolean;\n children: React.ReactNode;\n}\n\n/* =========================\n Styles\n========================= */\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n width: 100%;\n`;\n\nconst Label = styled.label<{ $error?: boolean }>`\n font-size: 0.875rem;\n font-weight: 500;\n color: ${({ $error }) => ($error ? \"#e53935\" : \"inherit\")};\n`;\n\nconst RequiredMark = styled.span`\n color: #e53935;\n margin-left: 0.25rem;\n`;\n\nconst Helper = styled.span`\n font-size: 0.75rem;\n color: #666;\n`;\n\nconst ErrorText = styled.span`\n font-size: 0.75rem;\n color: #e53935;\n`;\n\n/* =========================\n Component\n========================= */\n\nconst FormControl = ({\n label,\n error,\n helperText,\n required = false,\n children,\n}: FormControlProps) => {\n return (\n <Wrapper>\n {label && (\n <Label $error={!!error}>\n {label}\n {required && <RequiredMark>*</RequiredMark>}\n </Label>\n )}\n\n {children}\n\n {error ? (\n <ErrorText>{error}</ErrorText>\n ) : (\n helperText && <Helper>{helperText}</Helper>\n )}\n </Wrapper>\n );\n};\n\nexport default FormControl;\n","import React from \"react\";\nimport styled, { css } from \"styled-components\";\n\n/* =========================\n Types\n========================= */\n\nexport type Level = 1 | 2 | 3 | 4 | 5 | 6;\n\nexport interface HeadingProps\n extends React.HTMLAttributes<HTMLHeadingElement> {\n level?: Level;\n children: React.ReactNode;\n}\n\n/* =========================\n Styles\n========================= */\n\nconst levelStyles: Record<Level, ReturnType<typeof css>> = {\n 1: css`font-size: 2rem;`,\n 2: css`font-size: 1.75rem;`,\n 3: css`font-size: 1.5rem;`,\n 4: css`font-size: 1.25rem;`,\n 5: css`font-size: 1.1rem;`,\n 6: css`font-size: 1rem;`,\n};\n\nconst Base = styled.div<{ $level: Level }>`\n margin: 0;\n font-weight: 600;\n ${({ $level }) => levelStyles[$level]}\n`;\n\n/* =========================\n Component\n========================= */\n\nconst Heading: React.FC<HeadingProps> = ({\n level = 1,\n children,\n ...rest\n}) => {\n const Tag = `h${level}` as const;\n\n return (\n <Base\n as={Tag}\n $level={level}\n {...rest}\n >\n {children}\n </Base>\n );\n};\n\nexport default Heading;\n","import React from \"react\";\nimport styled, { css } from \"styled-components\";\n\n/* =========================\n Types\n========================= */\n\ntype InputSize = \"xs\" | \"sm\" | \"md\" | \"lg\";\ntype State = \"default\" | \"error\";\n\nexport interface InputProps\n extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"size\"\n > {\n inputSize?: InputSize;\n state?: State;\n}\n\n/* =========================\n Styles\n========================= */\n\nconst sizeStyles = {\n xs: css`padding: 0.25rem 0.5rem; font-size: 0.75rem;`,\n sm: css`padding: 0.4rem 0.6rem; font-size: 0.875rem;`,\n md: css`padding: 0.5rem 0.75rem; font-size: 1rem;`,\n lg: css`padding: 0.65rem 0.9rem; font-size: 1.1rem;`,\n};\n\nconst StyledInput = styled.input<{\n $inputSize: InputSize;\n $state: State;\n}>`\n width: 100%;\n border-radius: 6px;\n border: 1px solid\n ${({ $state }) =>\n $state === \"error\" ? \"#e53935\" : \"#ccc\"};\n outline: none;\n\n ${({ $inputSize }) => sizeStyles[$inputSize]}\n\n &:focus {\n border-color: #2d8eff;\n }\n`;\n\n/* =========================\n Component\n========================= */\n\nconst Input: React.FC<InputProps> = ({\n inputSize = \"md\",\n state = \"default\",\n ...rest\n}) => {\n return (\n <StyledInput\n $inputSize={inputSize}\n $state={state}\n {...rest}\n />\n );\n};\n\nexport default Input;\n","import React from \"react\";\nimport styled, { css } from \"styled-components\";\n\ntype Variant = \"default\" | \"muted\";\n\ninterface LinkProps\n extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n variant?: Variant;\n external?: boolean;\n children: React.ReactNode;\n}\n\nconst baseStyle = css`\n color: inherit;\n text-decoration: underline;\n cursor: pointer;\n transition: color 0.2s ease, text-decoration-color 0.2s ease;\n\n &:hover {\n text-decoration-thickness: 2px;\n }\n\n &:focus-visible {\n outline: 2px solid currentColor;\n outline-offset: 2px;\n }\n`;\n\nconst variantStyles: Record<Variant, any> = {\n default: css`\n opacity: 1;\n `,\n muted: css`\n opacity: 0.7;\n\n &:hover {\n opacity: 1;\n }\n `,\n};\n\nconst StyledLink = styled.a<{ $variant: Variant }>`\n ${baseStyle}\n ${({ $variant }) => variantStyles[$variant]}\n`;\n\nconst Link = ({\n variant = \"default\",\n external = false,\n children,\n ...rest\n}: LinkProps) => {\n return (\n <StyledLink\n $variant={variant}\n target={external ? \"_blank\" : rest.target}\n rel={external ? \"noopener noreferrer\" : rest.rel}\n {...rest}\n >\n {children}\n </StyledLink>\n );\n};\n\nexport default Link;\n","import React, { useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport styled from \"styled-components\";\n\n/* =========================\n Types\n========================= */\n\nexport interface ModalProps {\n open: boolean;\n onClose?: () => void;\n children: React.ReactNode;\n}\n\n/* =========================\n Styles\n========================= */\n\nconst Overlay = styled.div`\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.45);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n`;\n\nconst Content = styled.div`\n background: #fff;\n border-radius: 8px;\n width: 100%;\n max-width: 500px;\n padding: 1.5rem;\n box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);\n`;\n\n/* =========================\n Component\n========================= */\n\nconst Modal: React.FC<ModalProps> = ({\n open,\n onClose,\n children,\n}) => {\n useEffect(() => {\n if (!open) return;\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") {\n onClose?.();\n }\n };\n\n document.addEventListener(\"keydown\", handleKeyDown);\n return () =>\n document.removeEventListener(\"keydown\", handleKeyDown);\n }, [open, onClose]);\n\n if (!open) return null;\n\n return createPortal(\n <Overlay onClick={onClose}>\n <Content onClick={(e) => e.stopPropagation()}>\n {children}\n </Content>\n </Overlay>,\n document.body\n );\n};\n\nexport default Modal;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\ninterface ParagraphProps extends React.HTMLAttributes<HTMLParagraphElement> {\n children: React.ReactNode;\n}\n\nconst StyledParagraph = styled.p`\n margin: 0;\n font-size: 1rem;\n line-height: 1.6;\n color: inherit;\n`;\n\nconst Paragraph = ({ children, ...rest }: ParagraphProps) => {\n return <StyledParagraph {...rest}>{children}</StyledParagraph>;\n};\n\nexport default Paragraph;\n","import React from \"react\";\nimport styled, { css } from \"styled-components\";\n\n/* =========================\n Types\n========================= */\n\ninterface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n label?: React.ReactNode;\n}\n\n/* =========================\n Styles\n========================= */\n\nconst Wrapper = styled.label`\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n cursor: pointer;\n user-select: none;\n`;\n\nconst HiddenInput = styled.input.attrs({ type: \"radio\" })`\n position: absolute;\n opacity: 0;\n pointer-events: none;\n`;\n\nconst circleBase = css`\n width: 16px;\n height: 16px;\n border-radius: 50%;\n border: 2px solid #ccc;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.15s ease;\n`;\n\nconst Circle = styled.span<{ $checked: boolean; $disabled?: boolean }>`\n ${circleBase}\n border-color: ${({ $checked }) => ($checked ? \"#2d8eff\" : \"#ccc\")};\n opacity: ${({ $disabled }) => ($disabled ? 0.6 : 1)};\n\n ${Wrapper}:hover & {\n border-color: #2d8eff;\n }\n`;\n\nconst Dot = styled.span`\n width: 8px;\n height: 8px;\n background: #2d8eff;\n border-radius: 50%;\n`;\n\n/* =========================\n Component\n========================= */\n\nconst Radio = ({\n checked = false,\n disabled = false,\n label,\n ...rest\n}: RadioProps) => {\n return (\n <Wrapper>\n <HiddenInput\n checked={checked}\n disabled={disabled}\n {...rest}\n />\n <Circle $checked={checked} $disabled={disabled}>\n {checked && <Dot />}\n </Circle>\n {label && <span>{label}</span>}\n </Wrapper>\n );\n};\n\nexport default Radio;\n","import React, {\n useEffect,\n useRef,\n useState,\n ReactNode,\n} from \"react\";\nimport styled from \"styled-components\";\nimport { createPortal } from \"react-dom\";\n\n/* =========================\n Types\n========================= */\n\ntype SelectSize = \"sm\" | \"md\" | \"lg\";\ntype SelectState = \"default\" | \"error\";\n\nexport interface OptionType {\n label: ReactNode;\n value: string;\n}\n\nexport interface SelectProps\n extends Omit<\n React.HTMLAttributes<HTMLDivElement>,\n \"onChange\"\n > {\n value?: string;\n placeholder?: string;\n options?: OptionType[];\n onChange?: (value: string) => void;\n selectSize?: SelectSize;\n state?: SelectState;\n children?: ReactNode;\n}\n\n/* =========================\n Option (composition API)\n========================= */\n\nexport interface SelectOptionProps {\n value: string;\n children: ReactNode;\n}\n\nconst Option: React.FC<SelectOptionProps> = () => null;\nOption.displayName = \"SelectOption\";\n\n/* =========================\n Styles\n========================= */\n\nconst Trigger = styled.div<{\n $size: SelectSize;\n $state: SelectState;\n}>`\n border: 1px solid\n ${({ $state }) =>\n $state === \"error\" ? \"#e53935\" : \"#ccc\"};\n border-radius: 6px;\n padding: ${({ $size }) =>\n $size === \"sm\"\n ? \"0.4rem 0.6rem\"\n : $size === \"lg\"\n ? \"0.7rem 0.9rem\"\n : \"0.55rem 0.75rem\"};\n cursor: pointer;\n background: #fff;\n`;\n\nconst Dropdown = styled.div`\n position: fixed;\n min-width: 200px;\n background: white;\n border-radius: 6px;\n box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);\n padding: 0.25rem;\n z-index: 1000;\n`;\n\nconst Item = styled.div<{ $active?: boolean }>`\n padding: 0.4rem 0.6rem;\n border-radius: 4px;\n cursor: pointer;\n background: ${({ $active }) =>\n $active ? \"#2d8eff\" : \"transparent\"};\n color: ${({ $active }) =>\n $active ? \"#fff\" : \"inherit\"};\n\n &:hover {\n background: ${({ $active }) =>\n $active ? \"#2d8eff\" : \"#f5f5f5\"};\n }\n`;\n\n/* =========================\n Component typing\n========================= */\n\ninterface SelectComponent\n extends React.FC<SelectProps> {\n Option: React.FC<SelectOptionProps>;\n}\n\n/* =========================\n Component\n========================= */\n\nconst Select = (({\n value,\n placeholder = \"Select\",\n options,\n onChange,\n selectSize = \"md\",\n state = \"default\",\n children,\n ...rest\n}: SelectProps) => {\n const ref = useRef<HTMLDivElement>(null);\n const [open, setOpen] = useState(false);\n const [pos, setPos] = useState({ top: 0, left: 0 });\n\n /* =========================\n Resolve options\n ========================= */\n\n const childOptions: OptionType[] =\n React.Children.toArray(children)\n .filter(\n (\n child\n ): child is React.ReactElement<SelectOptionProps> =>\n React.isValidElement(child) &&\n child.type === Option\n )\n .map((child) => ({\n value: child.props.value,\n label: child.props.children,\n }));\n\n const finalOptions = options ?? childOptions;\n\n const selected =\n finalOptions.find((o) => o.value === value)\n ?.label ?? placeholder;\n\n /* =========================\n Positioning\n ========================= */\n\n const openDropdown = () => {\n if (!ref.current) return;\n\n const rect = ref.current.getBoundingClientRect();\n setPos({\n top: rect.bottom + 6,\n left: rect.left,\n });\n\n setOpen(true);\n };\n\n /* =========================\n Close on outside\n ========================= */\n\n useEffect(() => {\n const handler = (e: MouseEvent) => {\n if (\n ref.current &&\n !ref.current.contains(e.target as Node)\n ) {\n setOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () =>\n document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n /* =========================\n Render\n ========================= */\n\n return (\n <>\n <Trigger\n ref={ref}\n onClick={openDropdown}\n $size={selectSize}\n $state={state}\n {...rest}\n >\n {selected}\n </Trigger>\n\n {open &&\n createPortal(\n <Dropdown\n style={{\n top: pos.top,\n left: pos.left,\n }}\n >\n {finalOptions.map((opt) => (\n <Item\n key={opt.value}\n $active={opt.value === value}\n onClick={() => {\n onChange?.(opt.value);\n setOpen(false);\n }}\n >\n {opt.label}\n </Item>\n ))}\n </Dropdown>,\n document.body\n )}\n </>\n );\n}) as SelectComponent;\n\n/* =========================\n Attach Option\n========================= */\n\nSelect.Option = Option;\n\nexport default Select;\n","import React from \"react\";\nimport styled, { css } from \"styled-components\";\n\n/* =========================\n Types\n========================= */\n\ninterface SwitchProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n label?: React.ReactNode;\n}\n\n/* =========================\n Styles\n========================= */\n\nconst Wrapper = styled.label`\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n cursor: pointer;\n user-select: none;\n`;\n\nconst HiddenInput = styled.input.attrs({ type: \"checkbox\" })`\n position: absolute;\n opacity: 0;\n pointer-events: none;\n`;\n\nconst trackBase = css`\n width: 36px;\n height: 20px;\n border-radius: 999px;\n background-color: #ccc;\n position: relative;\n transition: background-color 0.2s ease;\n`;\n\nconst Track = styled.span<{ $checked: boolean; $disabled?: boolean }>`\n ${trackBase}\n background-color: ${({ $checked }) =>\n $checked ? \"#2d8eff\" : \"#ccc\"};\n opacity: ${({ $disabled }) => ($disabled ? 0.6 : 1)};\n`;\n\nconst Thumb = styled.span<{ $checked: boolean }>`\n width: 16px;\n height: 16px;\n background-color: #fff;\n border-radius: 50%;\n position: absolute;\n top: 2px;\n left: 2px;\n transition: transform 0.2s ease;\n\n transform: ${({ $checked }) =>\n $checked ? \"translateX(16px)\" : \"translateX(0)\"};\n`;\n\n/* =========================\n Component\n========================= */\n\nconst Switch = ({\n checked = false,\n disabled = false,\n label,\n ...rest\n}: SwitchProps) => {\n return (\n <Wrapper>\n <HiddenInput\n checked={checked}\n disabled={disabled}\n {...rest}\n />\n <Track $checked={checked} $disabled={disabled}>\n <Thumb $checked={checked} />\n </Track>\n {label && <span>{label}</span>}\n </Wrapper>\n );\n};\n\nexport default Switch;\n","import React from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\ntype FontVariant = \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\";\r\n\r\ninterface ButtonProps extends React.BaseHTMLAttributes<HTMLElement> {\r\n fontVariant?: FontVariant;\r\n children: React.ReactNode;\r\n}\r\n/*\r\n<h1>: Typically rendered at 2em (twice the size of the base font). \r\n<h2>: Typically rendered at 1.5em (1.5 times the size of the base font). \r\n<h3>: Typically rendered at 1.17em. \r\n<h4>: Typically rendered at 1em. \r\n<h5>: Typically rendered at 0.83em. \r\n<h6>: Typically rendered at 0.67em. \r\n*/\r\nconst baseStyle = css`\r\n font-size: 12px;\r\n`;\r\n\r\nconst variantStyles = {\r\n h1: css`\r\n font-size: 2em;\r\n font-weight: bold;\r\n `,\r\n h2: css`\r\n font-size: 1.5em;\r\n font-weight: bold;\r\n `,\r\n h3: css`\r\n font-size: 1.17em;\r\n font-weight: bold;\r\n `,\r\n h4: css`\r\n font-size: 1em;\r\n font-weight: bold;\r\n `,\r\n h5: css`\r\n font-size: 0.83em;\r\n font-weight: bold;\r\n `,\r\n h6: css`\r\n font-size: 0.67em;\r\n font-weight: bold;\r\n `,\r\n p: css`\r\n font-size: 0.875em;\r\n `,\r\n};\r\n\r\nconst StyledButton = styled.span<{ $variant: FontVariant }>`\r\n ${baseStyle}\r\n ${({ $variant }) => variantStyles[$variant]}\r\n`;\r\n\r\nconst Text = ({\r\n fontVariant = \"p\",\r\n children,\r\n ...rest\r\n}: ButtonProps) => {\r\n return (\r\n <StyledButton $variant={fontVariant} {...rest}>\r\n {children}\r\n </StyledButton>\r\n );\r\n};\r\n\r\nexport default Text;\r\n","import React from \"react\";\nimport styled, { css } from \"styled-components\";\n\ntype Size = \"sm\" | \"md\" | \"lg\";\ntype State = \"default\" | \"error\";\n\ninterface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n size?: Size;\n state?: State;\n}\n\nconst baseStyle = css`\n width: 100%;\n font-family: inherit;\n border-radius: 6px;\n border: 1px solid #ccc;\n background-color: #fff;\n color: inherit;\n outline: none;\n resize: vertical;\n transition: border-color 0.2s ease, box-shadow 0.2s ease;\n\n &:focus {\n border-color: #2d8eff;\n box-shadow: 0 0 0 2px rgba(45, 142, 255, 0.2);\n }\n\n &:disabled {\n background-color: #f5f5f5;\n cursor: not-allowed;\n opacity: 0.7;\n }\n`;\n\nconst sizeStyles: Record<Size, any> = {\n sm: css`\n padding: 0.4rem 0.6rem;\n font-size: 0.875rem;\n min-height: 80px;\n `,\n md: css`\n padding: 0.5rem 0.75rem;\n font-size: 1rem;\n min-height: 120px;\n `,\n lg: css`\n padding: 0.65rem 0.9rem;\n font-size: 1.125rem;\n min-height: 160px;\n `,\n};\n\nconst stateStyles: Record<State, any> = {\n default: css``,\n error: css`\n border-color: #e53935;\n\n &:focus {\n border-color: #e53935;\n box-shadow: 0 0 0 2px rgba(229, 57, 53, 0.2);\n }\n `,\n};\n\nconst StyledTextarea = styled.textarea<{\n $size: Size;\n $state: State;\n}>`\n ${baseStyle}\n ${({ $size }) => sizeStyles[$size]}\n ${({ $state }) => stateStyles[$state]}\n`;\n\nconst Textarea = ({\n size = \"md\",\n state = \"default\",\n ...rest\n}: TextareaProps) => {\n return <StyledTextarea $size={size} $state={state} {...rest} />;\n};\n\nexport default Textarea;\n"],"mappings":"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","names":["styled","css","jsx","baseStyle","variantStyles","styled","css","jsx","baseStyle","justifyStyles","gapStyles","CustomDiv","styled","css","jsx","jsxs","Box","useEffect","useRef","styled","jsx","jsxs","Wrapper","styled","css","jsx","baseStyle","gapStyles","useEffect","createPortal","styled","css","Fragment","jsx","jsxs","Header","styled","css","jsx","baseStyle","styled","jsx","styled","jsx","jsxs","Wrapper","styled","css","jsx","styled","css","jsx","sizeStyles","styled","css","jsx","baseStyle","variantStyles","useEffect","createPortal","styled","jsx","Overlay","styled","jsx","styled","css","jsx","jsxs","Wrapper","HiddenInput","React","useEffect","useRef","useState","styled","createPortal","Fragment","jsx","jsxs","styled","css","jsx","jsxs","Wrapper","HiddenInput","styled","css","jsx","baseStyle","variantStyles","StyledButton","styled","css","jsx","baseStyle","sizeStyles"]}
package/package.json CHANGED
@@ -1,30 +1,35 @@
1
- {
2
- "name": "@nithish_atum/atum",
3
- "version": "1.0.0",
4
- "description": "",
5
- "main": "dist/index.js",
6
- "module": "dist/index.mjs",
7
- "types": "dist/index.d.ts",
8
- "files": ["dist"],
9
- "publishConfig": {
10
- "access": "public"
11
- },
12
- "scripts": {
13
- "test": "echo \"Error: no test specified\" && exit 1",
14
- "dev":"tsup src/index.tsx --watch",
15
- "build":"tsup",
16
- "clean":"rm -rf dist",
17
- "prepare": "pnpm build"
18
- },
19
- "keywords": [],
20
- "author": "",
21
- "license": "ISC",
22
- "devDependencies": {
23
- "@types/react": "^19.1.7",
24
- "@types/react-dom": "^19.1.6",
25
- "react": "^19.1.0",
26
- "react-dom": "^19.1.0",
27
- "tsup": "^8.5.0",
28
- "typescript": "^5.8.3"
29
- }
30
- }
1
+ {
2
+ "name": "@nithish_atum/atum",
3
+ "version": "1.0.3",
4
+ "description": "",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.mjs",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "publishConfig": {
12
+ "access": "public"
13
+ },
14
+ "scripts": {
15
+ "test": "echo \"Error: no test specified\" && exit 1",
16
+ "dev": "tsup src/index.tsx --watch",
17
+ "build": "tsup src/index.ts",
18
+ "clean": "rm -rf dist",
19
+ "prepare": "npm run build"
20
+ },
21
+ "keywords": [],
22
+ "author": "",
23
+ "license": "ISC",
24
+ "devDependencies": {
25
+ "@types/react": "^19.1.7",
26
+ "@types/react-dom": "^19.1.6",
27
+ "react": "^19.1.0",
28
+ "react-dom": "^19.1.0",
29
+ "tsup": "^8.5.0",
30
+ "typescript": "^5.8.3"
31
+ },
32
+ "dependencies": {
33
+ "styled-components": "^6.1.19"
34
+ }
35
+ }