@zayne-labs/ui-react 0.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.
Files changed (36) hide show
  1. package/dist/esm/For-BmvZgK9J.d.ts +17 -0
  2. package/dist/esm/chunk-7TYZVYD6.js +42 -0
  3. package/dist/esm/chunk-7TYZVYD6.js.map +1 -0
  4. package/dist/esm/chunk-ABOA7YOO.js +9 -0
  5. package/dist/esm/chunk-ABOA7YOO.js.map +1 -0
  6. package/dist/esm/common/For/index.d.ts +9 -0
  7. package/dist/esm/common/For/index.js +3 -0
  8. package/dist/esm/common/For/index.js.map +1 -0
  9. package/dist/esm/common/Show/index.d.ts +22 -0
  10. package/dist/esm/common/Show/index.js +38 -0
  11. package/dist/esm/common/Show/index.js.map +1 -0
  12. package/dist/esm/common/Slot/index.d.ts +8 -0
  13. package/dist/esm/common/Slot/index.js +47 -0
  14. package/dist/esm/common/Slot/index.js.map +1 -0
  15. package/dist/esm/common/Switch/index.d.ts +20 -0
  16. package/dist/esm/common/Switch/index.js +26 -0
  17. package/dist/esm/common/Switch/index.js.map +1 -0
  18. package/dist/esm/common/Teleport/index.d.ts +12 -0
  19. package/dist/esm/common/Teleport/index.js +31 -0
  20. package/dist/esm/common/Teleport/index.js.map +1 -0
  21. package/dist/esm/index.d.ts +2 -0
  22. package/dist/esm/index.js +3 -0
  23. package/dist/esm/index.js.map +1 -0
  24. package/dist/esm/ui/carousel/index.d.ts +96 -0
  25. package/dist/esm/ui/carousel/index.js +263 -0
  26. package/dist/esm/ui/carousel/index.js.map +1 -0
  27. package/dist/esm/ui/drag-scroll/index.d.ts +25 -0
  28. package/dist/esm/ui/drag-scroll/index.js +104 -0
  29. package/dist/esm/ui/drag-scroll/index.js.map +1 -0
  30. package/dist/esm/ui/drop-zone/index.d.ts +655 -0
  31. package/dist/esm/ui/drop-zone/index.js +125 -0
  32. package/dist/esm/ui/drop-zone/index.js.map +1 -0
  33. package/dist/esm/ui/form/index.d.ts +159 -0
  34. package/dist/esm/ui/form/index.js +336 -0
  35. package/dist/esm/ui/form/index.js.map +1 -0
  36. package/package.json +113 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/icons/EyeIcon.tsx","../../../../src/components/ui/form/form.tsx"],"names":["HookFormProvider","ReactFragment","useHookFormContext","ControllerPrimitive","Controller"],"mappings":"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","file":"index.js","sourcesContent":["export const EyeIconInvisible = (props: React.SVGProps<SVGSVGElement>) => (\n\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" {...props}>\n\t\t<path\n\t\t\tfill=\"currentColor\"\n\t\t\td=\"M15.175 8.325q.725.725 1.063 1.65t.237 1.9q0 .375-.275.638t-.65.262t-.638-.262t-.262-.638q.125-.65-.075-1.25T13.95 9.6t-1.025-.65t-1.275-.1q-.375 0-.638-.275t-.262-.65t.263-.637t.637-.263q.95-.1 1.875.238t1.65 1.062M12 6q-.475 0-.925.037t-.9.138q-.425.075-.763-.125t-.462-.6t.088-.775t.612-.45q.575-.125 1.163-.175T12 4q3.425 0 6.263 1.8t4.337 4.85q.1.2.15.413t.05.437t-.038.438t-.137.412q-.45 1-1.112 1.875t-1.463 1.6q-.3.275-.7.225t-.65-.4t-.212-.763t.337-.687q.6-.575 1.1-1.25t.875-1.45q-1.25-2.525-3.613-4.012T12 6m0 13q-3.35 0-6.125-1.812T1.5 12.425q-.125-.2-.187-.437T1.25 11.5t.05-.475t.175-.45q.5-1 1.163-1.912T4.15 7L2.075 4.9q-.275-.3-.262-.712T2.1 3.5t.7-.275t.7.275l17 17q.275.275.288.688t-.288.712q-.275.275-.7.275t-.7-.275l-3.5-3.45q-.875.275-1.775.413T12 19M5.55 8.4q-.725.65-1.325 1.425T3.2 11.5q1.25 2.525 3.613 4.013T12 17q.5 0 .975-.062t.975-.138l-.9-.95q-.275.075-.525.113T12 16q-1.875 0-3.188-1.312T7.5 11.5q0-.275.038-.525t.112-.525zm4.2 4.2\"\n\t\t/>\n\t</svg>\n);\n\nexport const EyeIconVisible = (props: React.SVGProps<SVGSVGElement>) => (\n\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" {...props}>\n\t\t<path\n\t\t\tfill=\"currentColor\"\n\t\t\td=\"M12 16q1.875 0 3.188-1.312T16.5 11.5t-1.312-3.187T12 7T8.813 8.313T7.5 11.5t1.313 3.188T12 16m0-1.8q-1.125 0-1.912-.788T9.3 11.5t.788-1.912T12 8.8t1.913.788t.787 1.912t-.787 1.913T12 14.2m0 4.8q-3.35 0-6.113-1.8t-4.362-4.75q-.125-.225-.187-.462t-.063-.488t.063-.488t.187-.462q1.6-2.95 4.363-4.75T12 4t6.113 1.8t4.362 4.75q.125.225.188.463t.062.487t-.062.488t-.188.462q-1.6 2.95-4.362 4.75T12 19m0-2q2.825 0 5.188-1.487T20.8 11.5q-1.25-2.525-3.613-4.012T12 6T6.813 7.488T3.2 11.5q1.25 2.525 3.613 4.013T12 17\"\n\t\t/>\n\t</svg>\n);\n","\"use client\";\n\nimport * as React from \"react\";\n\nimport { getElementList } from \"@/components/common/For\";\nimport { EyeIconInvisible, EyeIconVisible } from \"@/components/icons\";\nimport { cnMerge } from \"@/lib/utils/cn\";\nimport { toArray } from \"@zayne-labs/toolkit-core\";\nimport { createCustomContext, useToggle } from \"@zayne-labs/toolkit-react\";\nimport {\n\ttype DiscriminatedRenderProps,\n\ttype InferProps,\n\ttype PolymorphicProps,\n\tgetOtherChildren,\n\tgetSlotElement,\n} from \"@zayne-labs/toolkit-react/utils\";\nimport { Fragment as ReactFragment, useEffect, useId, useMemo, useRef } from \"react\";\nimport {\n\ttype Control,\n\ttype ControllerFieldState,\n\tController as ControllerPrimitive,\n\ttype ControllerProps,\n\ttype ControllerRenderProps,\n\ttype FieldPath,\n\ttype FormState,\n\tFormProvider as HookFormProvider,\n\ttype RegisterOptions,\n\ttype UseFormReturn,\n\ttype UseFormStateReturn,\n\tuseFormState,\n\tuseFormContext as useHookFormContext,\n} from \"react-hook-form\";\n\ntype FieldValues = Record<string, unknown>;\n\ntype FormRootProps<TValues extends FieldValues> = React.ComponentPropsWithoutRef<\"form\"> & {\n\tchildren: React.ReactNode;\n\tmethods: UseFormReturn<TValues>;\n};\n\ntype ContextValue = {\n\tname: string;\n\tuniqueId: string;\n};\n\nconst [StrictFormItemProvider, useStrictFormItemContext] = createCustomContext<ContextValue>({\n\thookName: \"useStrictFormItemContext\",\n\tproviderName: \"StrictFormItemProvider\",\n});\n\nconst [LaxFormItemProvider, useLaxFormItemContext] = createCustomContext<ContextValue, false>({\n\thookName: \"useLaxFormItemContext\",\n\tproviderName: \"LaxFormItemProvider\",\n\tstrict: false,\n});\n\nexport function FormRoot<TValues extends FieldValues>(props: FormRootProps<TValues>) {\n\tconst { children, className, methods, ...restOfProps } = props;\n\n\treturn (\n\t\t<HookFormProvider {...methods}>\n\t\t\t<form\n\t\t\t\tclassName={cnMerge(\"flex flex-col\", className)}\n\t\t\t\t{...restOfProps}\n\t\t\t\tdata-scope=\"form\"\n\t\t\t\tdata-part=\"root\"\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</form>\n\t\t</HookFormProvider>\n\t);\n}\n\ntype FormItemProps<TControl, TFieldValues extends FieldValues> = (TControl extends Control<infer TValues>\n\t? {\n\t\t\tcontrol?: never;\n\t\t\tname: keyof TValues;\n\t\t}\n\t: {\n\t\t\tcontrol?: Control<TFieldValues>;\n\t\t\tname: keyof TFieldValues;\n\t\t}) & {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n\twithWrapper?: boolean;\n};\n\nexport function FormItem<TControl, TFieldValues extends FieldValues = FieldValues>(\n\tprops: FormItemProps<TControl, TFieldValues>\n) {\n\tconst { children, className, name, withWrapper = true } = props;\n\n\tconst uniqueId = useId();\n\n\tconst value = useMemo(\n\t\t() => ({ name: String(name), uniqueId: `${String(name)}-(${uniqueId})` }),\n\t\t[name, uniqueId]\n\t);\n\n\tconst WrapperElement = withWrapper ? \"div\" : ReactFragment;\n\n\tconst wrapperElementProps = withWrapper && {\n\t\tclassName: cnMerge(\"flex flex-col\", className),\n\t\t\"data-part\": \"item\",\n\t\t\"data-scope\": \"form\",\n\t};\n\n\treturn (\n\t\t<StrictFormItemProvider value={value}>\n\t\t\t<LaxFormItemProvider value={value}>\n\t\t\t\t<WrapperElement {...wrapperElementProps}>{children}</WrapperElement>\n\t\t\t</LaxFormItemProvider>\n\t\t</StrictFormItemProvider>\n\t);\n}\n\ntype FormItemContextProps = DiscriminatedRenderProps<(contextValue: ContextValue) => React.ReactNode>;\n\nfunction FormItemContext(props: FormItemContextProps) {\n\tconst { children, render } = props;\n\tconst contextValues = useStrictFormItemContext();\n\n\tif (typeof children === \"function\") {\n\t\treturn children(contextValues);\n\t}\n\n\treturn render(contextValues);\n}\n\nexport function FormLabel(props: InferProps<\"label\">) {\n\tconst { uniqueId } = useStrictFormItemContext();\n\tconst { children, className, ...restOfProps } = props;\n\n\treturn (\n\t\t<label data-scope=\"form\" data-part=\"label\" htmlFor={uniqueId} className={className} {...restOfProps}>\n\t\t\t{children}\n\t\t</label>\n\t);\n}\n\nexport function FormInputGroup(props: React.ComponentPropsWithRef<\"div\">) {\n\tconst { children, className, ...restOfProps } = props;\n\tconst LeftItemSlot = getSlotElement(children, FormInputLeftItem);\n\tconst RightItemSlot = getSlotElement(children, FormInputRightItem);\n\n\tconst otherChildren = getOtherChildren(children, [FormInputLeftItem, FormInputRightItem]);\n\n\treturn (\n\t\t<div\n\t\t\tdata-scope=\"form\"\n\t\t\tdata-part=\"input-group\"\n\t\t\tclassName={cnMerge(\"flex items-center justify-between gap-2\", className)}\n\t\t\t{...restOfProps}\n\t\t>\n\t\t\t{LeftItemSlot}\n\t\t\t{otherChildren}\n\t\t\t{RightItemSlot}\n\t\t</div>\n\t);\n}\n\ntype FormSideItemProps = {\n\tchildren?: React.ReactNode;\n\tclassName?: string;\n};\n\nexport function FormInputLeftItem<TElement extends React.ElementType = \"span\">(\n\tprops: PolymorphicProps<TElement, FormSideItemProps>\n) {\n\tconst { as: Element = \"span\", children, className, ...restOfProps } = props;\n\n\treturn (\n\t\t<Element\n\t\t\tdata-scope=\"form\"\n\t\t\tdata-part=\"left-item\"\n\t\t\tclassName={cnMerge(\"inline-flex items-center justify-center\", className)}\n\t\t\t{...restOfProps}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t);\n}\nFormInputLeftItem.slot = Symbol.for(\"leftItem\");\n\nexport function FormInputRightItem<TElement extends React.ElementType = \"span\">(\n\tprops: PolymorphicProps<TElement, FormSideItemProps>\n) {\n\tconst { as: Element = \"span\", children, className, ...restOfProps } = props;\n\n\treturn (\n\t\t<Element\n\t\t\tdata-scope=\"form\"\n\t\t\tdata-part=\"right-item\"\n\t\t\tclassName={cnMerge(\"inline-flex items-center justify-center\", className)}\n\t\t\t{...restOfProps}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t);\n}\nFormInputRightItem.slot = Symbol.for(\"rightItem\");\n\ntype FormInputPrimitiveProps<TFieldValues extends FieldValues = FieldValues> = Omit<\n\tReact.ComponentPropsWithRef<\"input\">,\n\t\"children\"\n> & {\n\tclassNames?: { error?: string; eyeIcon?: string; input?: string; inputGroup?: string };\n\tname?: keyof TFieldValues;\n\twithEyeIcon?: boolean;\n} & (\n\t\t| { control: Control<TFieldValues>; formState?: never }\n\t\t| { control?: never; formState?: FormState<TFieldValues> }\n\t);\n\nconst inputTypesWithoutFullWith = new Set<React.HTMLInputTypeAttribute>([\"checkbox\", \"radio\"]);\n\nexport function FormInputPrimitive<TFieldValues extends FieldValues>(\n\tprops: FormInputPrimitiveProps<TFieldValues>\n) {\n\tconst contextValues = useLaxFormItemContext();\n\n\tconst {\n\t\tclassName,\n\t\tclassNames,\n\t\tcontrol,\n\t\tformState,\n\t\tid = contextValues?.uniqueId,\n\t\tname = contextValues?.name,\n\t\ttype = \"text\",\n\t\twithEyeIcon = true,\n\t\t...restOfProps\n\t} = props;\n\n\tconst getFormState = (control ? useFormState : () => formState) as typeof useFormState;\n\n\tconst { errors } = (getFormState({ control }) as UseFormStateReturn<TFieldValues> | undefined) ?? {};\n\n\tconst [isPasswordVisible, toggleVisibility] = useToggle(false);\n\n\tconst shouldHaveEyeIcon = withEyeIcon && type === \"password\";\n\n\tconst WrapperElement = shouldHaveEyeIcon ? FormInputGroup : ReactFragment;\n\n\tconst wrapperElementProps = shouldHaveEyeIcon && {\n\t\tclassName: cnMerge(\"w-full\", classNames?.inputGroup, name && errors?.[name] && classNames?.error),\n\t};\n\n\treturn (\n\t\t<WrapperElement {...wrapperElementProps}>\n\t\t\t<input\n\t\t\t\tdata-scope=\"form\"\n\t\t\t\tdata-part=\"input\"\n\t\t\t\tid={id}\n\t\t\t\tname={name}\n\t\t\t\ttype={type === \"password\" && isPasswordVisible ? \"text\" : type}\n\t\t\t\tclassName={cnMerge(\n\t\t\t\t\t!inputTypesWithoutFullWith.has(type) && \"flex w-full\",\n\t\t\t\t\t`bg-transparent text-sm file:border-0 file:bg-transparent\n\t\t\t\t\tplaceholder:text-shadcn-muted-foreground focus-visible:outline-none\n\t\t\t\t\tdisabled:cursor-not-allowed disabled:opacity-50`,\n\t\t\t\t\tclassName,\n\t\t\t\t\tclassNames?.input,\n\t\t\t\t\ttype !== \"password\" && name && errors?.[name] && classNames?.error\n\t\t\t\t)}\n\t\t\t\t{...restOfProps}\n\t\t\t/>\n\n\t\t\t{shouldHaveEyeIcon && (\n\t\t\t\t<FormInputRightItem\n\t\t\t\t\tas=\"button\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={toggleVisibility}\n\t\t\t\t\tclassName=\"size-5 shrink-0 lg:size-6\"\n\t\t\t\t>\n\t\t\t\t\t{isPasswordVisible ? (\n\t\t\t\t\t\t<EyeIconInvisible className={cnMerge(\"size-full\", classNames?.eyeIcon)} />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<EyeIconVisible className={cnMerge(\"size-full\", classNames?.eyeIcon)} />\n\t\t\t\t\t)}\n\t\t\t\t</FormInputRightItem>\n\t\t\t)}\n\t\t</WrapperElement>\n\t);\n}\n\nfunction FormInput(\n\tprops: Omit<FormInputPrimitiveProps, \"control\" | \"formState\" | \"name\" | \"ref\"> & {\n\t\trules?: RegisterOptions;\n\t}\n) {\n\tconst { rules, ...restOfProps } = props;\n\n\tconst { name } = useStrictFormItemContext();\n\tconst { formState, register } = useHookFormContext();\n\n\treturn (\n\t\t<FormInputPrimitive\n\t\t\tname={name}\n\t\t\tformState={formState}\n\t\t\t{...(Boolean(name) && register(name, rules))}\n\t\t\t{...restOfProps}\n\t\t/>\n\t);\n}\n\ntype FormTextAreaPrimitiveProps<TFieldValues extends FieldValues = FieldValues> =\n\tReact.ComponentPropsWithRef<\"textarea\"> & {\n\t\terrorClassName?: string;\n\t\tname?: keyof TFieldValues;\n\t} & (\n\t\t\t| { control: Control<TFieldValues>; formState?: never }\n\t\t\t| { control?: never; formState?: FormState<TFieldValues> }\n\t\t);\n\nfunction FormTextAreaPrimitive<TFieldValues extends FieldValues>(\n\tprops: FormTextAreaPrimitiveProps<TFieldValues>\n) {\n\tconst contextValues = useLaxFormItemContext();\n\n\tconst {\n\t\tclassName,\n\t\tcontrol,\n\t\terrorClassName,\n\t\tformState,\n\t\tid = contextValues?.uniqueId,\n\t\tname = contextValues?.name,\n\t\t...restOfProps\n\t} = props;\n\n\tconst getFormState = (control ? useFormState : () => formState) as typeof useFormState;\n\n\tconst { errors } = (getFormState({ control }) as UseFormStateReturn<TFieldValues> | undefined) ?? {};\n\n\treturn (\n\t\t<textarea\n\t\t\tdata-scope=\"form\"\n\t\t\tdata-part=\"textarea\"\n\t\t\tid={id}\n\t\t\tname={name}\n\t\t\tclassName={cnMerge(\n\t\t\t\t`w-full bg-transparent text-sm placeholder:text-shadcn-muted-foreground\n\t\t\t\tfocus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`,\n\t\t\t\tclassName,\n\t\t\t\tname && errors?.[name] && errorClassName\n\t\t\t)}\n\t\t\t{...restOfProps}\n\t\t/>\n\t);\n}\n\nfunction FormTextArea(\n\tprops: Omit<FormTextAreaPrimitiveProps, \"control\" | \"formState\" | \"id\" | \"name\" | \"ref\"> & {\n\t\trules?: RegisterOptions;\n\t}\n) {\n\tconst { rules, ...restOfProps } = props;\n\n\tconst { name } = useStrictFormItemContext();\n\tconst { formState, register } = useHookFormContext();\n\n\treturn (\n\t\t<FormTextAreaPrimitive\n\t\t\tname={name}\n\t\t\tformState={formState}\n\t\t\t{...(Boolean(name) && register(name, rules))}\n\t\t\t{...restOfProps}\n\t\t/>\n\t);\n}\n\ntype FormControllerProps<TFieldValues> = Omit<\n\tControllerProps<FieldValues, FieldPath<FieldValues>>,\n\t\"control\" | \"name\" | \"render\"\n> & {\n\trender: (props: {\n\t\tfield: Omit<ControllerRenderProps, \"value\"> & { value: TFieldValues };\n\t\tfieldState: ControllerFieldState;\n\t\tformState: UseFormStateReturn<FieldValues>;\n\t}) => React.ReactElement;\n};\n\nfunction FormController<TFieldValues = never>(props: FormControllerProps<TFieldValues>) {\n\tconst { control } = useHookFormContext<FieldValues, FieldPath<FieldValues>>();\n\tconst { name } = useStrictFormItemContext();\n\n\treturn (\n\t\t<ControllerPrimitive name={name} control={control} {...(props as Omit<ControllerProps, \"name\">)} />\n\t);\n}\n\ntype FormErrorRenderProps = {\n\tclassName: string;\n\t\"data-index\": number;\n\t\"data-part\": string;\n\t\"data-scope\": string;\n\tonAnimationEnd?: React.ReactEventHandler<HTMLElement>;\n};\n\ntype FormErrorRenderPropState = { errorMessage: string; errorMessageArray: string[]; index: number };\n\ntype FormErrorMessagePrimitiveProps<TFieldValues extends FieldValues> = {\n\tclassName?: string;\n\tclassNames?: {\n\t\tcontainer?: string;\n\t\terrorMessage?: string;\n\t\terrorMessageAnimation?: string;\n\t};\n\tcontrol: Control<TFieldValues>; // == Here for type inference of errorField prop\n\trender: (context: { props: FormErrorRenderProps; state: FormErrorRenderPropState }) => React.ReactNode;\n\twithAnimationOnInvalid?: boolean;\n} & (\n\t| {\n\t\t\terrorField: keyof TFieldValues;\n\t\t\ttype?: \"regular\";\n\t }\n\t| {\n\t\t\terrorField: string;\n\t\t\ttype: \"root\";\n\t }\n);\n\nfunction FormErrorMessagePrimitive<TFieldValues extends FieldValues>(\n\tprops: Extract<FormErrorMessagePrimitiveProps<TFieldValues>, { type?: \"regular\" }>\n): React.ReactNode;\n\nfunction FormErrorMessagePrimitive<TFieldValues extends FieldValues>(\n\t// eslint-disable-next-line ts-eslint/unified-signatures -- This is intentional\n\tprops: Extract<FormErrorMessagePrimitiveProps<TFieldValues>, { type: \"root\" }>\n): React.ReactNode;\n\nfunction FormErrorMessagePrimitive<TFieldValues extends FieldValues>(\n\tprops: FormErrorMessagePrimitiveProps<TFieldValues>\n) {\n\tconst {\n\t\tclassName,\n\t\tclassNames,\n\t\tcontrol,\n\t\terrorField,\n\t\trender,\n\t\ttype = \"regular\",\n\t\twithAnimationOnInvalid = true,\n\t} = props;\n\n\tconst formState = useFormState({ control });\n\n\tconst wrapperRef = useRef<HTMLUListElement>(null);\n\n\tconst errorAnimationClass = classNames?.errorMessageAnimation ?? \"animate-shake\";\n\n\tuseEffect(() => {\n\t\tif (!withAnimationOnInvalid) return;\n\n\t\tconst errorMessageElements = wrapperRef.current?.children;\n\n\t\tif (!errorMessageElements) return;\n\n\t\tfor (const element of errorMessageElements) {\n\t\t\telement.classList.add(errorAnimationClass);\n\t\t}\n\t}, [errorAnimationClass, withAnimationOnInvalid]);\n\n\tuseEffect(() => {\n\t\tconst errorMessageElements = wrapperRef.current?.children;\n\n\t\tif (!errorMessageElements) return;\n\n\t\t// == Scroll to first error message\n\t\tif (Object.keys(formState.errors).indexOf(errorField as string) === 0) {\n\t\t\terrorMessageElements[0]?.scrollIntoView({\n\t\t\t\tbehavior: \"smooth\",\n\t\t\t\tblock: \"center\",\n\t\t\t});\n\n\t\t\twindow.scrollBy({ behavior: \"smooth\", top: -100 });\n\t\t}\n\t}, [errorField, formState.errors]);\n\n\tconst message = (\n\t\ttype === \"root\"\n\t\t\t? formState.errors.root?.[errorField as string]?.message\n\t\t\t: formState.errors[errorField]?.message\n\t) as string | string[];\n\n\tif (!message) {\n\t\treturn null;\n\t}\n\n\tconst errorMessageArray = toArray(message);\n\n\tconst [ErrorMessageList] = getElementList();\n\n\tconst onAnimationEnd: React.AnimationEventHandler<HTMLElement> | undefined = withAnimationOnInvalid\n\t\t? (event) => event.currentTarget.classList.remove(errorAnimationClass)\n\t\t: undefined;\n\n\treturn (\n\t\t<ErrorMessageList\n\t\t\tref={wrapperRef}\n\t\t\teach={errorMessageArray}\n\t\t\tclassName={cnMerge(\"flex flex-col\", classNames?.container)}\n\t\t\trender={(errorMessage, index) => {\n\t\t\t\treturn render({\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tclassName: cnMerge(errorAnimationClass, className, classNames?.errorMessage),\n\t\t\t\t\t\t\"data-index\": index,\n\t\t\t\t\t\t\"data-part\": \"error-message\",\n\t\t\t\t\t\t\"data-scope\": \"form\",\n\t\t\t\t\t\tonAnimationEnd,\n\t\t\t\t\t},\n\t\t\t\t\tstate: { errorMessage, errorMessageArray, index },\n\t\t\t\t});\n\t\t\t}}\n\t\t/>\n\t);\n}\n\ntype FormErrorMessageProps<TControl, TFieldValues extends FieldValues> =\n\t| (TControl extends Control<infer TValues>\n\t\t\t? {\n\t\t\t\t\tclassName?: string;\n\t\t\t\t\tcontrol?: never;\n\t\t\t\t\terrorField?: keyof TValues;\n\t\t\t\t\ttype?: \"regular\";\n\t\t\t\t}\n\t\t\t: {\n\t\t\t\t\tclassName?: string;\n\t\t\t\t\tcontrol?: Control<TFieldValues>; // == Here for type inference of errorField prop\n\t\t\t\t\terrorField?: keyof TFieldValues;\n\t\t\t\t\ttype?: \"regular\";\n\t\t\t\t})\n\t| {\n\t\t\tclassName?: string;\n\t\t\tcontrol?: never;\n\t\t\terrorField: string;\n\t\t\ttype: \"root\";\n\t };\n\nfunction FormErrorMessage<TControl, TFieldValues extends FieldValues = FieldValues>(\n\tprops: FormErrorMessageProps<TControl, TFieldValues>\n) {\n\tconst contextValues = useLaxFormItemContext();\n\n\tconst { className, errorField = contextValues?.name, type = \"regular\" } = props;\n\n\tconst { control } = useHookFormContext();\n\n\treturn (\n\t\t<FormErrorMessagePrimitive\n\t\t\tcontrol={control}\n\t\t\terrorField={errorField as string}\n\t\t\ttype={type as \"root\"}\n\t\t\trender={({ props: renderProps, state: { errorMessage } }) => (\n\t\t\t\t<p\n\t\t\t\t\tkey={errorMessage}\n\t\t\t\t\t{...renderProps}\n\t\t\t\t\tclassName={cnMerge(\"text-[13px]\", \"data-[index=0]:mt-1\", renderProps.className, className)}\n\t\t\t\t>\n\t\t\t\t\t{errorMessage}\n\t\t\t\t</p>\n\t\t\t)}\n\t\t/>\n\t);\n}\n\nexport const Root = FormRoot;\n\nexport const Item = FormItem;\n\nexport const ItemContext = FormItemContext;\n\nexport const Label = FormLabel;\n\nexport const ErrorMessagePrimitive = FormErrorMessagePrimitive;\n\nexport const ErrorMessage = FormErrorMessage;\n\nexport const Input = FormInput;\n\nexport const InputPrimitive = FormInputPrimitive;\n\nexport const InputGroup = FormInputGroup;\n\nexport const InputLeftItem = FormInputLeftItem;\n\nexport const InputRightItem = FormInputRightItem;\n\nexport const TextAreaPrimitive = FormTextAreaPrimitive;\n\nexport const TextArea = FormTextArea;\n\nexport const Controller = FormController;\n\n// eslint-disable-next-line react-refresh/only-export-components -- It's fine\nexport { useStrictFormItemContext as useFormItemContext };\n\nexport { Controller as ControllerPrimitive } from \"react-hook-form\";\n"]}
package/package.json ADDED
@@ -0,0 +1,113 @@
1
+ {
2
+ "name": "@zayne-labs/ui-react",
3
+ "type": "module",
4
+ "version": "0.0.3",
5
+ "description": "A composable UI/UI-utilities components library. ",
6
+ "author": "Ryan Zayne",
7
+ "license": "MIT",
8
+ "homepage": "https://github.com/zayne-labs/ui#readme",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/zayne-labs/ui.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/zayne-labs/ui/issues"
15
+ },
16
+ "keywords": [],
17
+ "sideEffects": false,
18
+ "exports": {
19
+ ".": null,
20
+ "./form": "./dist/esm/ui/form/index.js",
21
+ "./carousel": "./dist/esm/ui/carousel/index.js",
22
+ "./drop-zone": "./dist/esm/ui/drop-zone/index.js",
23
+ "./drag-scroll": "./dist/esm/ui/drag-scroll/index.js",
24
+ "./for": "./dist/esm/common/For/index.js",
25
+ "./show": "./dist/esm/common/Show/index.js",
26
+ "./slot": "./dist/esm/common/Slot/index.js",
27
+ "./switch": "./dist/esm/common/Switch/index.js",
28
+ "./teleport": "./dist/esm/common/Teleport/index.js"
29
+ },
30
+ "main": "./dist/esm/index.js",
31
+ "module": "./dist/esm/index.js",
32
+ "types": "./dist/esm/index.d.ts",
33
+ "files": [
34
+ "dist"
35
+ ],
36
+ "engines": {
37
+ "node": ">=18.x"
38
+ },
39
+ "peerDependencies": {
40
+ "clsx": ">=2.1.1",
41
+ "react": ">=18.0.0",
42
+ "react-dom": ">=18.0.0",
43
+ "react-hook-form": ">=7.53.2",
44
+ "tailwind-merge": ">=2.5.5"
45
+ },
46
+ "peerDependenciesMeta": {
47
+ "clsx": {
48
+ "optional": true
49
+ },
50
+ "react": {
51
+ "optional": true
52
+ },
53
+ "react-dom": {
54
+ "optional": true
55
+ },
56
+ "tailwind-merge": {
57
+ "optional": true
58
+ }
59
+ },
60
+ "dependencies": {
61
+ "@zayne-labs/toolkit-core": "^0.8.22",
62
+ "@zayne-labs/toolkit-react": "^0.8.22",
63
+ "@zayne-labs/toolkit-type-helpers": "^0.8.22",
64
+ "zustand": "^5.0.2"
65
+ },
66
+ "devDependencies": {
67
+ "@arethetypeswrong/cli": "0.17.0",
68
+ "@size-limit/esbuild-why": "11.1.6",
69
+ "@size-limit/preset-small-lib": "11.1.6",
70
+ "@total-typescript/ts-reset": "0.6.1",
71
+ "@types/react": "^19.0.2",
72
+ "@types/react-dom": "^19.0.2",
73
+ "@zayne-labs/tsconfig": "0.2.1",
74
+ "clsx": "^2.1.1",
75
+ "concurrently": "^9.0.1",
76
+ "cross-env": "^7.0.3",
77
+ "publint": "^0.2.11",
78
+ "react": "^18.0.0",
79
+ "react-dom": "^18.0.0",
80
+ "react-hook-form": "^7.53.2",
81
+ "size-limit": "11.1.6",
82
+ "tailwind-merge": "^2.5.5",
83
+ "terser": "5.36.0",
84
+ "tsup": "8.3.5",
85
+ "typescript": "^5.7.2"
86
+ },
87
+ "publishConfig": {
88
+ "access": "public",
89
+ "registry": "https://registry.npmjs.org/",
90
+ "provenance": true
91
+ },
92
+ "size-limit": [
93
+ {
94
+ "path": "src/components/ui/**/index.ts",
95
+ "limit": "4 kB"
96
+ },
97
+ {
98
+ "path": "src/components/common/**/index.ts",
99
+ "limit": "500 b"
100
+ }
101
+ ],
102
+ "scripts": {
103
+ "build": "tsup",
104
+ "build:dev": "cross-env NODE_ENV=development tsup",
105
+ "build:test": "concurrently --prefix-colors \"yellow.bold,#7da4f8.bold,magenta\" --names PUBLINT,TSUP 'pnpm:lint:publint' 'pnpm:build:dev'",
106
+ "lint:attw": "attw --pack . --ignore-rules=cjs-resolves-to-esm",
107
+ "lint:check-types": "tsc --pretty --incremental -p tsconfig.json",
108
+ "lint:publint": "publint --strict .",
109
+ "lint:size": "size-limit",
110
+ "release": "changeset publish",
111
+ "test:release": "pkg-pr-new publish"
112
+ }
113
+ }