@fransek/ui 0.2.3 → 0.2.4

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 (56) hide show
  1. package/dist/cjs/components/button/index.d.ts +1 -1
  2. package/dist/cjs/components/checkbox/Checkbox.d.ts +2 -3
  3. package/dist/cjs/components/checkbox/Checkbox.js.map +1 -1
  4. package/dist/cjs/components/checkbox/index.d.ts +1 -1
  5. package/dist/cjs/components/checkbox-group/CheckboxGroup.d.ts +2 -3
  6. package/dist/cjs/components/checkbox-group/CheckboxGroup.js.map +1 -1
  7. package/dist/cjs/components/checkbox-group/index.d.ts +1 -1
  8. package/dist/cjs/components/field/Field.d.ts +2 -2
  9. package/dist/cjs/components/field/Field.js.map +1 -1
  10. package/dist/cjs/components/field/index.d.ts +1 -1
  11. package/dist/cjs/components/input/Input.d.ts +2 -2
  12. package/dist/cjs/components/input/Input.js.map +1 -1
  13. package/dist/cjs/components/input/index.d.ts +1 -1
  14. package/dist/cjs/components/radio/Radio.d.ts +1 -12
  15. package/dist/cjs/components/radio/Radio.js +0 -10
  16. package/dist/cjs/components/radio/Radio.js.map +1 -1
  17. package/dist/cjs/components/radio/index.d.ts +1 -1
  18. package/dist/cjs/components/radio-group/RadioGroup.d.ts +8 -0
  19. package/dist/cjs/components/radio-group/index.d.ts +1 -0
  20. package/dist/cjs/components/select/Select.d.ts +2 -2
  21. package/dist/cjs/components/select/Select.js.map +1 -1
  22. package/dist/cjs/components/select/index.d.ts +1 -1
  23. package/dist/cjs/index.d.ts +1 -0
  24. package/dist/cjs/index.js +0 -4
  25. package/dist/cjs/index.js.map +1 -1
  26. package/dist/cjs/lib/types.d.ts +8 -0
  27. package/dist/cjs/lib/utils.d.ts +0 -8
  28. package/dist/cjs/lib/utils.js.map +1 -1
  29. package/dist/esm/components/button/index.d.ts +1 -1
  30. package/dist/esm/components/checkbox/Checkbox.d.ts +2 -3
  31. package/dist/esm/components/checkbox/Checkbox.js.map +1 -1
  32. package/dist/esm/components/checkbox/index.d.ts +1 -1
  33. package/dist/esm/components/checkbox-group/CheckboxGroup.d.ts +2 -3
  34. package/dist/esm/components/checkbox-group/CheckboxGroup.js.map +1 -1
  35. package/dist/esm/components/checkbox-group/index.d.ts +1 -1
  36. package/dist/esm/components/field/Field.d.ts +2 -2
  37. package/dist/esm/components/field/Field.js.map +1 -1
  38. package/dist/esm/components/field/index.d.ts +1 -1
  39. package/dist/esm/components/input/Input.d.ts +2 -2
  40. package/dist/esm/components/input/Input.js.map +1 -1
  41. package/dist/esm/components/input/index.d.ts +1 -1
  42. package/dist/esm/components/radio/Radio.d.ts +1 -12
  43. package/dist/esm/components/radio/Radio.js +2 -11
  44. package/dist/esm/components/radio/Radio.js.map +1 -1
  45. package/dist/esm/components/radio/index.d.ts +1 -1
  46. package/dist/esm/components/radio-group/RadioGroup.d.ts +8 -0
  47. package/dist/esm/components/radio-group/index.d.ts +1 -0
  48. package/dist/esm/components/select/Select.d.ts +2 -2
  49. package/dist/esm/components/select/Select.js.map +1 -1
  50. package/dist/esm/components/select/index.d.ts +1 -1
  51. package/dist/esm/index.d.ts +1 -0
  52. package/dist/esm/index.js +3 -3
  53. package/dist/esm/lib/types.d.ts +8 -0
  54. package/dist/esm/lib/utils.d.ts +0 -8
  55. package/dist/esm/lib/utils.js.map +1 -1
  56. package/package.json +2 -1
@@ -1 +1 @@
1
- export * from "./Button";
1
+ export { Button, ButtonProps, ButtonSize, ButtonVariant } from "./Button";
@@ -1,8 +1,8 @@
1
1
  import { CheckboxRootProps as BaseCheckboxRootProps, CheckboxIndicatorProps } from "@base-ui/react/checkbox";
2
2
  import React from "react";
3
- import { BasicFieldProps } from "../../lib/utils";
3
+ import { FieldAttributes } from "../../lib/types";
4
4
  import { FieldProps } from "../field/Field";
5
- interface CheckboxProps extends BaseCheckboxRootProps, Omit<BasicFieldProps, "label"> {
5
+ export interface CheckboxProps extends BaseCheckboxRootProps, Omit<FieldAttributes, "label"> {
6
6
  label?: React.ReactNode;
7
7
  labelProps?: React.LabelHTMLAttributes<HTMLLabelElement>;
8
8
  indicatorProps?: CheckboxIndicatorProps;
@@ -10,4 +10,3 @@ interface CheckboxProps extends BaseCheckboxRootProps, Omit<BasicFieldProps, "la
10
10
  fieldProps?: FieldProps;
11
11
  }
12
12
  export declare function Checkbox({ label, className, fieldProps, description, isValidating: _isValidating, isValidatingMessage, errorMessage, labelProps: { className: labelClassName, ...labelProps }, indicatorProps: { className: indicatorClassName, ...indicatorProps }, iconProps: { className: iconClassName, ...iconProps }, ...props }: CheckboxProps): React.JSX.Element;
13
- export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["import {\n Checkbox as BaseCheckbox,\n CheckboxRootProps as BaseCheckboxRootProps,\n CheckboxIndicatorProps,\n} from \"@base-ui/react/checkbox\";\nimport { Field as BaseField } from \"@base-ui/react/field\";\nimport { CheckIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { BasicFieldProps, cn } from \"../../lib/utils\";\nimport { useCheckboxGroupContext } from \"../checkbox-group/CheckboxGroup\";\nimport { Field, FieldProps, useFieldContext } from \"../field/Field\";\n\ninterface CheckboxProps\n extends BaseCheckboxRootProps, Omit<BasicFieldProps, \"label\"> {\n label?: React.ReactNode;\n labelProps?: React.LabelHTMLAttributes<HTMLLabelElement>;\n indicatorProps?: CheckboxIndicatorProps;\n iconProps?: React.SVGProps<SVGSVGElement>;\n fieldProps?: FieldProps;\n}\n\nexport function Checkbox({\n label,\n className,\n fieldProps,\n description,\n isValidating: _isValidating,\n isValidatingMessage,\n errorMessage,\n labelProps: { className: labelClassName, ...labelProps } = {},\n indicatorProps: { className: indicatorClassName, ...indicatorProps } = {},\n iconProps: { className: iconClassName, ...iconProps } = {},\n ...props\n}: CheckboxProps) {\n const labelId = React.useId();\n const isInCheckboxGroup = useCheckboxGroupContext();\n const { isValidating: groupIsValidating } = useFieldContext();\n const isValidating = isInCheckboxGroup ? groupIsValidating : _isValidating;\n\n const children = (\n <BaseField.Label\n className={cn(\n \"text-foreground flex items-center gap-2 text-base\",\n labelClassName,\n )}\n {...labelProps}\n >\n <BaseCheckbox.Root\n className={cn(\n \"data-validating:not-data-invalid:animate-validating data-invalid:border-error-foreground data-invalid:data-checked:bg-error data-invalid:data-checked:border-error data-checked:bg-primary data-checked:border-primary focus-visible:outline-highlight flex size-5 items-center justify-center rounded-sm border outline-offset-2 focus-visible:outline-2\",\n className,\n )}\n aria-labelledby={labelId}\n data-validating={isValidating ? \"\" : undefined}\n {...props}\n >\n <BaseCheckbox.Indicator\n className={cn(\n \"text-on-primary data-invalid:border-error data-invalid:bg-error flex data-unchecked:hidden\",\n indicatorClassName,\n )}\n {...indicatorProps}\n >\n <CheckIcon className={cn(\"size-4\", iconClassName)} {...iconProps} />\n </BaseCheckbox.Indicator>\n </BaseCheckbox.Root>\n <span id={labelId}>{label}</span>\n </BaseField.Label>\n );\n\n if (isInCheckboxGroup) {\n return <BaseField.Item>{children}</BaseField.Item>;\n }\n\n return (\n <Field\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n {children}\n </Field>\n );\n}\n"],"names":["useCheckboxGroupContext","useFieldContext","BaseField","cn","BaseCheckbox","CheckIcon","Field"],"mappings":";;;;;;;;;;AAqBM,SAAU,QAAQ,CAAC,EACvB,KAAK,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EAAE,aAAa,EAC3B,mBAAmB,EACnB,YAAY,EACZ,UAAU,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,EAC7D,cAAc,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,EACzE,SAAS,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,EAC1D,GAAG,KAAK,EACM,EAAA;AACd,IAAA,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE;AAC7B,IAAA,MAAM,iBAAiB,GAAGA,qCAAuB,EAAE;IACnD,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAGC,qBAAe,EAAE;IAC7D,MAAM,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,aAAa;AAE1E,IAAA,MAAM,QAAQ,IACZ,KAAA,CAAA,aAAA,CAACC,WAAS,CAAC,KAAK,EAAA,EACd,SAAS,EAAEC,QAAE,CACX,mDAAmD,EACnD,cAAc,CACf,KACG,UAAU,EAAA;QAEd,KAAA,CAAA,aAAA,CAACC,iBAAY,CAAC,IAAI,EAAA,EAChB,SAAS,EAAED,QAAE,CACX,2VAA2V,EAC3V,SAAS,CACV,qBACgB,OAAO,EAAA,iBAAA,EACP,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA;AAET,YAAA,KAAA,CAAA,aAAA,CAACC,iBAAY,CAAC,SAAS,EAAA,EACrB,SAAS,EAAED,QAAE,CACX,4FAA4F,EAC5F,kBAAkB,CACnB,KACG,cAAc,EAAA;AAElB,gBAAA,KAAA,CAAA,aAAA,CAACE,qBAAS,EAAA,EAAC,SAAS,EAAEF,QAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAA,GAAM,SAAS,EAAA,CAAI,CAC7C,CACP;QACpB,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,EAAE,EAAE,OAAO,EAAA,EAAG,KAAK,CAAQ,CACjB,CACnB;IAED,IAAI,iBAAiB,EAAE;AACrB,QAAA,OAAO,oBAACD,WAAS,CAAC,IAAI,EAAA,IAAA,EAAE,QAAQ,CAAkB;IACpD;IAEA,QACE,KAAA,CAAA,aAAA,CAACI,WAAK,EAAA,EACJ,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EAAA,GACpB,UAAU,EAAA,EAEb,QAAQ,CACH;AAEZ;;;;"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["import {\n Checkbox as BaseCheckbox,\n CheckboxRootProps as BaseCheckboxRootProps,\n CheckboxIndicatorProps,\n} from \"@base-ui/react/checkbox\";\nimport { Field as BaseField } from \"@base-ui/react/field\";\nimport { CheckIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { FieldAttributes } from \"../../lib/types\";\nimport { cn } from \"../../lib/utils\";\nimport { useCheckboxGroupContext } from \"../checkbox-group/CheckboxGroup\";\nimport { Field, FieldProps, useFieldContext } from \"../field/Field\";\n\nexport interface CheckboxProps\n extends BaseCheckboxRootProps, Omit<FieldAttributes, \"label\"> {\n label?: React.ReactNode;\n labelProps?: React.LabelHTMLAttributes<HTMLLabelElement>;\n indicatorProps?: CheckboxIndicatorProps;\n iconProps?: React.SVGProps<SVGSVGElement>;\n fieldProps?: FieldProps;\n}\n\nexport function Checkbox({\n label,\n className,\n fieldProps,\n description,\n isValidating: _isValidating,\n isValidatingMessage,\n errorMessage,\n labelProps: { className: labelClassName, ...labelProps } = {},\n indicatorProps: { className: indicatorClassName, ...indicatorProps } = {},\n iconProps: { className: iconClassName, ...iconProps } = {},\n ...props\n}: CheckboxProps) {\n const labelId = React.useId();\n const isInCheckboxGroup = useCheckboxGroupContext();\n const { isValidating: groupIsValidating } = useFieldContext();\n const isValidating = isInCheckboxGroup ? groupIsValidating : _isValidating;\n\n const children = (\n <BaseField.Label\n className={cn(\n \"text-foreground flex items-center gap-2 text-base\",\n labelClassName,\n )}\n {...labelProps}\n >\n <BaseCheckbox.Root\n className={cn(\n \"data-validating:not-data-invalid:animate-validating data-invalid:border-error-foreground data-invalid:data-checked:bg-error data-invalid:data-checked:border-error data-checked:bg-primary data-checked:border-primary focus-visible:outline-highlight flex size-5 items-center justify-center rounded-sm border outline-offset-2 focus-visible:outline-2\",\n className,\n )}\n aria-labelledby={labelId}\n data-validating={isValidating ? \"\" : undefined}\n {...props}\n >\n <BaseCheckbox.Indicator\n className={cn(\n \"text-on-primary data-invalid:border-error data-invalid:bg-error flex data-unchecked:hidden\",\n indicatorClassName,\n )}\n {...indicatorProps}\n >\n <CheckIcon className={cn(\"size-4\", iconClassName)} {...iconProps} />\n </BaseCheckbox.Indicator>\n </BaseCheckbox.Root>\n <span id={labelId}>{label}</span>\n </BaseField.Label>\n );\n\n if (isInCheckboxGroup) {\n return <BaseField.Item>{children}</BaseField.Item>;\n }\n\n return (\n <Field\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n {children}\n </Field>\n );\n}\n"],"names":["useCheckboxGroupContext","useFieldContext","BaseField","cn","BaseCheckbox","CheckIcon","Field"],"mappings":";;;;;;;;;;AAsBM,SAAU,QAAQ,CAAC,EACvB,KAAK,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EAAE,aAAa,EAC3B,mBAAmB,EACnB,YAAY,EACZ,UAAU,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,EAC7D,cAAc,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,EACzE,SAAS,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,EAC1D,GAAG,KAAK,EACM,EAAA;AACd,IAAA,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE;AAC7B,IAAA,MAAM,iBAAiB,GAAGA,qCAAuB,EAAE;IACnD,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAGC,qBAAe,EAAE;IAC7D,MAAM,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,aAAa;AAE1E,IAAA,MAAM,QAAQ,IACZ,KAAA,CAAA,aAAA,CAACC,WAAS,CAAC,KAAK,EAAA,EACd,SAAS,EAAEC,QAAE,CACX,mDAAmD,EACnD,cAAc,CACf,KACG,UAAU,EAAA;QAEd,KAAA,CAAA,aAAA,CAACC,iBAAY,CAAC,IAAI,EAAA,EAChB,SAAS,EAAED,QAAE,CACX,2VAA2V,EAC3V,SAAS,CACV,qBACgB,OAAO,EAAA,iBAAA,EACP,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA;AAET,YAAA,KAAA,CAAA,aAAA,CAACC,iBAAY,CAAC,SAAS,EAAA,EACrB,SAAS,EAAED,QAAE,CACX,4FAA4F,EAC5F,kBAAkB,CACnB,KACG,cAAc,EAAA;AAElB,gBAAA,KAAA,CAAA,aAAA,CAACE,qBAAS,EAAA,EAAC,SAAS,EAAEF,QAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAA,GAAM,SAAS,EAAA,CAAI,CAC7C,CACP;QACpB,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,EAAE,EAAE,OAAO,EAAA,EAAG,KAAK,CAAQ,CACjB,CACnB;IAED,IAAI,iBAAiB,EAAE;AACrB,QAAA,OAAO,oBAACD,WAAS,CAAC,IAAI,EAAA,IAAA,EAAE,QAAQ,CAAkB;IACpD;IAEA,QACE,KAAA,CAAA,aAAA,CAACI,WAAK,EAAA,EACJ,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EAAA,GACpB,UAAU,EAAA,EAEb,QAAQ,CACH;AAEZ;;;;"}
@@ -1 +1 @@
1
- export * from "./Checkbox";
1
+ export { Checkbox, CheckboxProps } from "./Checkbox";
@@ -1,9 +1,9 @@
1
1
  import { CheckboxGroupProps as BaseCheckboxGroupProps } from "@base-ui/react/checkbox-group";
2
2
  import { FieldsetLegendProps, FieldsetRootProps } from "@base-ui/react/fieldset";
3
3
  import * as React from "react";
4
- import { BasicFieldProps } from "../../lib/utils";
4
+ import { FieldAttributes } from "../../lib/types";
5
5
  import { FieldProps } from "../field/Field";
6
- interface CheckboxGroupProps extends BaseCheckboxGroupProps, BasicFieldProps {
6
+ export interface CheckboxGroupProps extends BaseCheckboxGroupProps, FieldAttributes {
7
7
  children?: React.ReactNode;
8
8
  fieldProps?: FieldProps;
9
9
  fieldsetProps?: FieldsetRootProps;
@@ -11,4 +11,3 @@ interface CheckboxGroupProps extends BaseCheckboxGroupProps, BasicFieldProps {
11
11
  }
12
12
  export declare function CheckboxGroup({ children, label, isValidating, isValidatingMessage, errorMessage, description, fieldProps, fieldsetProps: { className: fieldsetClassName, ...fieldsetProps }, legendProps: { className: legendClassName, ...legendProps }, ...props }: CheckboxGroupProps): React.JSX.Element;
13
13
  export declare function useCheckboxGroupContext(): boolean;
14
- export {};
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxGroup.js","sources":["../../../../src/components/checkbox-group/CheckboxGroup.tsx"],"sourcesContent":["import {\n CheckboxGroup as BaseCheckboxGroup,\n CheckboxGroupProps as BaseCheckboxGroupProps,\n} from \"@base-ui/react/checkbox-group\";\nimport {\n Fieldset,\n FieldsetLegendProps,\n FieldsetRootProps,\n} from \"@base-ui/react/fieldset\";\nimport * as React from \"react\";\nimport { BasicFieldProps, cn } from \"../../lib/utils\";\nimport { Field, FieldProps } from \"../field/Field\";\n\ninterface CheckboxGroupProps extends BaseCheckboxGroupProps, BasicFieldProps {\n children?: React.ReactNode;\n fieldProps?: FieldProps;\n fieldsetProps?: FieldsetRootProps;\n legendProps?: FieldsetLegendProps;\n}\n\nexport function CheckboxGroup({\n children,\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n description,\n fieldProps,\n fieldsetProps: { className: fieldsetClassName, ...fieldsetProps } = {},\n legendProps: { className: legendClassName, ...legendProps } = {},\n ...props\n}: CheckboxGroupProps) {\n return (\n <CheckboxGroupContext.Provider value={true}>\n <Field\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n <Fieldset.Root\n render={<BaseCheckboxGroup {...props} />}\n className={cn(\"flex flex-col gap-1\", fieldsetClassName)}\n {...fieldsetProps}\n >\n <Fieldset.Legend\n className={cn(\n \"text-foreground text-sm font-semibold\",\n legendClassName,\n )}\n {...legendProps}\n >\n {label}\n </Fieldset.Legend>\n {children}\n </Fieldset.Root>\n </Field>\n </CheckboxGroupContext.Provider>\n );\n}\n\nconst CheckboxGroupContext = React.createContext<boolean>(false);\n\nexport function useCheckboxGroupContext() {\n return React.useContext(CheckboxGroupContext);\n}\n"],"names":["React","Field","Fieldset","BaseCheckboxGroup","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBM,SAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,aAAa,EAAE,GAAG,EAAE,EACtE,WAAW,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,EAChE,GAAG,KAAK,EACW,EAAA;IACnB,QACEA,+BAAC,oBAAoB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,IAAI,EAAA;AACxC,QAAAA,gBAAA,CAAA,aAAA,CAACC,WAAK,EAAA,EACJ,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,KACpB,UAAU,EAAA;YAEdD,gBAAA,CAAA,aAAA,CAACE,iBAAQ,CAAC,IAAI,EAAA,EACZ,MAAM,EAAEF,gBAAA,CAAA,aAAA,CAACG,2BAAiB,EAAA,EAAA,GAAK,KAAK,GAAI,EACxC,SAAS,EAAEC,QAAE,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,EAAA,GACnD,aAAa,EAAA;AAEjB,gBAAAJ,gBAAA,CAAA,aAAA,CAACE,iBAAQ,CAAC,MAAM,EAAA,EACd,SAAS,EAAEE,QAAE,CACX,uCAAuC,EACvC,eAAe,CAChB,EAAA,GACG,WAAW,EAAA,EAEd,KAAK,CACU;AACjB,gBAAA,QAAQ,CACK,CACV,CACsB;AAEpC;AAEA,MAAM,oBAAoB,GAAGJ,gBAAK,CAAC,aAAa,CAAU,KAAK,CAAC;SAEhD,uBAAuB,GAAA;AACrC,IAAA,OAAOA,gBAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC;AAC/C;;;;;"}
1
+ {"version":3,"file":"CheckboxGroup.js","sources":["../../../../src/components/checkbox-group/CheckboxGroup.tsx"],"sourcesContent":["import {\n CheckboxGroup as BaseCheckboxGroup,\n CheckboxGroupProps as BaseCheckboxGroupProps,\n} from \"@base-ui/react/checkbox-group\";\nimport {\n Fieldset,\n FieldsetLegendProps,\n FieldsetRootProps,\n} from \"@base-ui/react/fieldset\";\nimport * as React from \"react\";\nimport { FieldAttributes } from \"../../lib/types\";\nimport { cn } from \"../../lib/utils\";\nimport { Field, FieldProps } from \"../field/Field\";\n\nexport interface CheckboxGroupProps\n extends BaseCheckboxGroupProps, FieldAttributes {\n children?: React.ReactNode;\n fieldProps?: FieldProps;\n fieldsetProps?: FieldsetRootProps;\n legendProps?: FieldsetLegendProps;\n}\n\nexport function CheckboxGroup({\n children,\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n description,\n fieldProps,\n fieldsetProps: { className: fieldsetClassName, ...fieldsetProps } = {},\n legendProps: { className: legendClassName, ...legendProps } = {},\n ...props\n}: CheckboxGroupProps) {\n return (\n <CheckboxGroupContext.Provider value={true}>\n <Field\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n <Fieldset.Root\n render={<BaseCheckboxGroup {...props} />}\n className={cn(\"flex flex-col gap-1\", fieldsetClassName)}\n {...fieldsetProps}\n >\n <Fieldset.Legend\n className={cn(\n \"text-foreground text-sm font-semibold\",\n legendClassName,\n )}\n {...legendProps}\n >\n {label}\n </Fieldset.Legend>\n {children}\n </Fieldset.Root>\n </Field>\n </CheckboxGroupContext.Provider>\n );\n}\n\nconst CheckboxGroupContext = React.createContext<boolean>(false);\n\nexport function useCheckboxGroupContext() {\n return React.useContext(CheckboxGroupContext);\n}\n"],"names":["React","Field","Fieldset","BaseCheckboxGroup","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBM,SAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,aAAa,EAAE,GAAG,EAAE,EACtE,WAAW,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,EAChE,GAAG,KAAK,EACW,EAAA;IACnB,QACEA,+BAAC,oBAAoB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,IAAI,EAAA;AACxC,QAAAA,gBAAA,CAAA,aAAA,CAACC,WAAK,EAAA,EACJ,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,KACpB,UAAU,EAAA;YAEdD,gBAAA,CAAA,aAAA,CAACE,iBAAQ,CAAC,IAAI,EAAA,EACZ,MAAM,EAAEF,gBAAA,CAAA,aAAA,CAACG,2BAAiB,EAAA,EAAA,GAAK,KAAK,GAAI,EACxC,SAAS,EAAEC,QAAE,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,EAAA,GACnD,aAAa,EAAA;AAEjB,gBAAAJ,gBAAA,CAAA,aAAA,CAACE,iBAAQ,CAAC,MAAM,EAAA,EACd,SAAS,EAAEE,QAAE,CACX,uCAAuC,EACvC,eAAe,CAChB,EAAA,GACG,WAAW,EAAA,EAEd,KAAK,CACU;AACjB,gBAAA,QAAQ,CACK,CACV,CACsB;AAEpC;AAEA,MAAM,oBAAoB,GAAGJ,gBAAK,CAAC,aAAa,CAAU,KAAK,CAAC;SAEhD,uBAAuB,GAAA;AACrC,IAAA,OAAOA,gBAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC;AAC/C;;;;;"}
@@ -1 +1 @@
1
- export * from "./CheckboxGroup";
1
+ export { CheckboxGroup, CheckboxGroupProps } from "./CheckboxGroup";
@@ -1,7 +1,7 @@
1
1
  import { FieldRootProps as BaseFieldRootProps, FieldDescriptionProps, FieldErrorProps, FieldLabelProps } from "@base-ui/react/field";
2
2
  import React from "react";
3
- import { BasicFieldProps } from "../../lib/utils";
4
- export interface FieldProps extends BaseFieldRootProps, BasicFieldProps {
3
+ import { FieldAttributes } from "../../lib/types";
4
+ export interface FieldProps extends BaseFieldRootProps, FieldAttributes {
5
5
  labelProps?: FieldLabelProps;
6
6
  errorMessageProps?: FieldErrorProps;
7
7
  descriptionProps?: FieldDescriptionProps;
@@ -1 +1 @@
1
- {"version":3,"file":"Field.js","sources":["../../../../src/components/field/Field.tsx"],"sourcesContent":["import {\n Field as BaseField,\n FieldRootProps as BaseFieldRootProps,\n FieldDescriptionProps,\n FieldErrorProps,\n FieldLabelProps,\n} from \"@base-ui/react/field\";\nimport React from \"react\";\nimport { BasicFieldProps, cn } from \"../../lib/utils\";\n\nexport interface FieldProps extends BaseFieldRootProps, BasicFieldProps {\n labelProps?: FieldLabelProps;\n errorMessageProps?: FieldErrorProps;\n descriptionProps?: FieldDescriptionProps;\n isValidatingMessageProps?: FieldDescriptionProps;\n}\n\nexport function Field({\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n className,\n description,\n children,\n labelProps: { className: labelClassName, ...labelProps } = {},\n errorMessageProps: {\n className: errorMessageClassName,\n ...errorMessageProps\n } = {},\n descriptionProps: {\n className: descriptionClassName,\n ...descriptionProps\n } = {},\n isValidatingMessageProps: {\n className: isValidatingMessageClassName,\n ...isValidatingMessageProps\n } = {},\n ...props\n}: FieldProps) {\n const invalid = !!errorMessage;\n\n return (\n <FieldContext.Provider value={{ isValidating: !!isValidating }}>\n <BaseField.Root\n className={cn(\"flex flex-col gap-1\", className)}\n invalid={invalid}\n data-validating={isValidating ? \"\" : undefined}\n {...props}\n >\n {label && (\n <BaseField.Label\n className={cn(\n \"text-foreground text-sm font-semibold\",\n labelClassName,\n )}\n {...labelProps}\n >\n {label}\n </BaseField.Label>\n )}\n {children}\n <BaseField.Error\n className={cn(\"text-error-foreground text-sm\", errorMessageClassName)}\n match={invalid}\n {...errorMessageProps}\n >\n {errorMessage}\n </BaseField.Error>\n {isValidating && isValidatingMessage && !errorMessage && (\n <BaseField.Description\n className={cn(\n \"text-primary-foreground animate-validating-message text-sm\",\n isValidatingMessageClassName,\n )}\n {...isValidatingMessageProps}\n >\n {isValidatingMessage}\n </BaseField.Description>\n )}\n {description && (\n <BaseField.Description\n className={cn(\n \"text-muted-foreground text-sm\",\n descriptionClassName,\n )}\n {...descriptionProps}\n >\n {description}\n </BaseField.Description>\n )}\n </BaseField.Root>\n </FieldContext.Provider>\n );\n}\n\nexport const FieldContext = React.createContext({\n isValidating: false,\n});\n\nexport function useFieldContext() {\n return React.useContext(FieldContext);\n}\n"],"names":["BaseField","cn"],"mappings":";;;;;;AAiBM,SAAU,KAAK,CAAC,EACpB,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,UAAU,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,EAC7D,iBAAiB,EAAE,EACjB,SAAS,EAAE,qBAAqB,EAChC,GAAG,iBAAiB,EACrB,GAAG,EAAE,EACN,gBAAgB,EAAE,EAChB,SAAS,EAAE,oBAAoB,EAC/B,GAAG,gBAAgB,EACpB,GAAG,EAAE,EACN,wBAAwB,EAAE,EACxB,SAAS,EAAE,4BAA4B,EACvC,GAAG,wBAAwB,EAC5B,GAAG,EAAE,EACN,GAAG,KAAK,EACG,EAAA;AACX,IAAA,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY;AAE9B,IAAA,QACE,KAAA,CAAA,aAAA,CAAC,YAAY,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,EAAA;QAC5D,KAAA,CAAA,aAAA,CAACA,WAAS,CAAC,IAAI,EAAA,EACb,SAAS,EAAEC,QAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAC/C,OAAO,EAAE,OAAO,EAAA,iBAAA,EACC,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA;YAER,KAAK,KACJ,KAAA,CAAA,aAAA,CAACD,WAAS,CAAC,KAAK,EAAA,EACd,SAAS,EAAEC,QAAE,CACX,uCAAuC,EACvC,cAAc,CACf,EAAA,GACG,UAAU,EAAA,EAEb,KAAK,CACU,CACnB;YACA,QAAQ;YACT,KAAA,CAAA,aAAA,CAACD,WAAS,CAAC,KAAK,EAAA,EACd,SAAS,EAAEC,QAAE,CAAC,+BAA+B,EAAE,qBAAqB,CAAC,EACrE,KAAK,EAAE,OAAO,KACV,iBAAiB,EAAA,EAEpB,YAAY,CACG;YACjB,YAAY,IAAI,mBAAmB,IAAI,CAAC,YAAY,KACnD,KAAA,CAAA,aAAA,CAACD,WAAS,CAAC,WAAW,EAAA,EACpB,SAAS,EAAEC,QAAE,CACX,4DAA4D,EAC5D,4BAA4B,CAC7B,EAAA,GACG,wBAAwB,EAAA,EAE3B,mBAAmB,CACE,CACzB;YACA,WAAW,KACV,KAAA,CAAA,aAAA,CAACD,WAAS,CAAC,WAAW,EAAA,EACpB,SAAS,EAAEC,QAAE,CACX,+BAA+B,EAC/B,oBAAoB,CACrB,EAAA,GACG,gBAAgB,EAAA,EAEnB,WAAW,CACU,CACzB,CACc,CACK;AAE5B;AAEO,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC;AAC9C,IAAA,YAAY,EAAE,KAAK;AACpB,CAAA;SAEe,eAAe,GAAA;AAC7B,IAAA,OAAO,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC;AACvC;;;;;;"}
1
+ {"version":3,"file":"Field.js","sources":["../../../../src/components/field/Field.tsx"],"sourcesContent":["import {\n Field as BaseField,\n FieldRootProps as BaseFieldRootProps,\n FieldDescriptionProps,\n FieldErrorProps,\n FieldLabelProps,\n} from \"@base-ui/react/field\";\nimport React from \"react\";\nimport { FieldAttributes } from \"../../lib/types\";\nimport { cn } from \"../../lib/utils\";\n\nexport interface FieldProps extends BaseFieldRootProps, FieldAttributes {\n labelProps?: FieldLabelProps;\n errorMessageProps?: FieldErrorProps;\n descriptionProps?: FieldDescriptionProps;\n isValidatingMessageProps?: FieldDescriptionProps;\n}\n\nexport function Field({\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n className,\n description,\n children,\n labelProps: { className: labelClassName, ...labelProps } = {},\n errorMessageProps: {\n className: errorMessageClassName,\n ...errorMessageProps\n } = {},\n descriptionProps: {\n className: descriptionClassName,\n ...descriptionProps\n } = {},\n isValidatingMessageProps: {\n className: isValidatingMessageClassName,\n ...isValidatingMessageProps\n } = {},\n ...props\n}: FieldProps) {\n const invalid = !!errorMessage;\n\n return (\n <FieldContext.Provider value={{ isValidating: !!isValidating }}>\n <BaseField.Root\n className={cn(\"flex flex-col gap-1\", className)}\n invalid={invalid}\n data-validating={isValidating ? \"\" : undefined}\n {...props}\n >\n {label && (\n <BaseField.Label\n className={cn(\n \"text-foreground text-sm font-semibold\",\n labelClassName,\n )}\n {...labelProps}\n >\n {label}\n </BaseField.Label>\n )}\n {children}\n <BaseField.Error\n className={cn(\"text-error-foreground text-sm\", errorMessageClassName)}\n match={invalid}\n {...errorMessageProps}\n >\n {errorMessage}\n </BaseField.Error>\n {isValidating && isValidatingMessage && !errorMessage && (\n <BaseField.Description\n className={cn(\n \"text-primary-foreground animate-validating-message text-sm\",\n isValidatingMessageClassName,\n )}\n {...isValidatingMessageProps}\n >\n {isValidatingMessage}\n </BaseField.Description>\n )}\n {description && (\n <BaseField.Description\n className={cn(\n \"text-muted-foreground text-sm\",\n descriptionClassName,\n )}\n {...descriptionProps}\n >\n {description}\n </BaseField.Description>\n )}\n </BaseField.Root>\n </FieldContext.Provider>\n );\n}\n\nexport const FieldContext = React.createContext({\n isValidating: false,\n});\n\nexport function useFieldContext() {\n return React.useContext(FieldContext);\n}\n"],"names":["BaseField","cn"],"mappings":";;;;;;AAkBM,SAAU,KAAK,CAAC,EACpB,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,UAAU,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,EAC7D,iBAAiB,EAAE,EACjB,SAAS,EAAE,qBAAqB,EAChC,GAAG,iBAAiB,EACrB,GAAG,EAAE,EACN,gBAAgB,EAAE,EAChB,SAAS,EAAE,oBAAoB,EAC/B,GAAG,gBAAgB,EACpB,GAAG,EAAE,EACN,wBAAwB,EAAE,EACxB,SAAS,EAAE,4BAA4B,EACvC,GAAG,wBAAwB,EAC5B,GAAG,EAAE,EACN,GAAG,KAAK,EACG,EAAA;AACX,IAAA,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY;AAE9B,IAAA,QACE,KAAA,CAAA,aAAA,CAAC,YAAY,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,EAAA;QAC5D,KAAA,CAAA,aAAA,CAACA,WAAS,CAAC,IAAI,EAAA,EACb,SAAS,EAAEC,QAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAC/C,OAAO,EAAE,OAAO,EAAA,iBAAA,EACC,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA;YAER,KAAK,KACJ,KAAA,CAAA,aAAA,CAACD,WAAS,CAAC,KAAK,EAAA,EACd,SAAS,EAAEC,QAAE,CACX,uCAAuC,EACvC,cAAc,CACf,EAAA,GACG,UAAU,EAAA,EAEb,KAAK,CACU,CACnB;YACA,QAAQ;YACT,KAAA,CAAA,aAAA,CAACD,WAAS,CAAC,KAAK,EAAA,EACd,SAAS,EAAEC,QAAE,CAAC,+BAA+B,EAAE,qBAAqB,CAAC,EACrE,KAAK,EAAE,OAAO,KACV,iBAAiB,EAAA,EAEpB,YAAY,CACG;YACjB,YAAY,IAAI,mBAAmB,IAAI,CAAC,YAAY,KACnD,KAAA,CAAA,aAAA,CAACD,WAAS,CAAC,WAAW,EAAA,EACpB,SAAS,EAAEC,QAAE,CACX,4DAA4D,EAC5D,4BAA4B,CAC7B,EAAA,GACG,wBAAwB,EAAA,EAE3B,mBAAmB,CACE,CACzB;YACA,WAAW,KACV,KAAA,CAAA,aAAA,CAACD,WAAS,CAAC,WAAW,EAAA,EACpB,SAAS,EAAEC,QAAE,CACX,+BAA+B,EAC/B,oBAAoB,CACrB,EAAA,GACG,gBAAgB,EAAA,EAEnB,WAAW,CACU,CACzB,CACc,CACK;AAE5B;AAEO,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC;AAC9C,IAAA,YAAY,EAAE,KAAK;AACpB,CAAA;SAEe,eAAe,GAAA;AAC7B,IAAA,OAAO,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC;AACvC;;;;;;"}
@@ -1 +1 @@
1
- export * from "./Field";
1
+ export { Field, FieldProps } from "./Field";
@@ -1,8 +1,8 @@
1
1
  import { InputProps as BaseInputProps } from "@base-ui/react/input";
2
2
  import React from "react";
3
- import { BasicFieldProps } from "../../lib/utils";
3
+ import { FieldAttributes } from "../../lib/types";
4
4
  import { FieldProps } from "../field/Field";
5
- export interface InputProps extends BaseInputProps, BasicFieldProps {
5
+ export interface InputProps extends BaseInputProps, FieldAttributes {
6
6
  fieldProps?: FieldProps;
7
7
  button?: React.ReactNode;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../../../../src/components/input/Input.tsx"],"sourcesContent":["import {\n Input as BaseInput,\n InputProps as BaseInputProps,\n} from \"@base-ui/react/input\";\nimport React from \"react\";\nimport { BasicFieldProps, cn } from \"../../lib/utils\";\nimport { Field, FieldProps } from \"../field/Field\";\n\nexport interface InputProps extends BaseInputProps, BasicFieldProps {\n fieldProps?: FieldProps;\n button?: React.ReactNode;\n}\n\nexport function Input({\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n className,\n description,\n fieldProps,\n button,\n ...props\n}: InputProps) {\n return (\n <Field\n label={label}\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n <div className=\"flex items-stretch gap-2\">\n <BaseInput\n className={cn(\n \"data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating focus:border-highlight placeholder:text-muted-foreground focus:inset-shadow-muted/50 w-full min-w-40 rounded-lg border p-2 transition-colors outline-none focus:inset-shadow-sm\",\n className,\n )}\n data-validating={isValidating ? \"\" : undefined}\n {...props}\n />\n {button}\n </div>\n </Field>\n );\n}\n"],"names":["Field","BaseInput","cn"],"mappings":";;;;;;;AAaM,SAAU,KAAK,CAAC,EACpB,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,MAAM,EACN,GAAG,KAAK,EACG,EAAA;IACX,QACE,KAAA,CAAA,aAAA,CAACA,WAAK,EAAA,EACJ,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EAAA,GACpB,UAAU,EAAA;QAEd,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0BAA0B,EAAA;YACvC,KAAA,CAAA,aAAA,CAACC,WAAS,IACR,SAAS,EAAEC,QAAE,CACX,oRAAoR,EACpR,SAAS,CACV,EAAA,iBAAA,EACgB,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA,CACT;YACD,MAAM,CACH,CACA;AAEZ;;;;"}
1
+ {"version":3,"file":"Input.js","sources":["../../../../src/components/input/Input.tsx"],"sourcesContent":["import {\n Input as BaseInput,\n InputProps as BaseInputProps,\n} from \"@base-ui/react/input\";\nimport React from \"react\";\nimport { FieldAttributes } from \"../../lib/types\";\nimport { cn } from \"../../lib/utils\";\nimport { Field, FieldProps } from \"../field/Field\";\n\nexport interface InputProps extends BaseInputProps, FieldAttributes {\n fieldProps?: FieldProps;\n button?: React.ReactNode;\n}\n\nexport function Input({\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n className,\n description,\n fieldProps,\n button,\n ...props\n}: InputProps) {\n return (\n <Field\n label={label}\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n <div className=\"flex items-stretch gap-2\">\n <BaseInput\n className={cn(\n \"data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating focus:border-highlight placeholder:text-muted-foreground focus:inset-shadow-muted/50 w-full min-w-40 rounded-lg border p-2 transition-colors outline-none focus:inset-shadow-sm\",\n className,\n )}\n data-validating={isValidating ? \"\" : undefined}\n {...props}\n />\n {button}\n </div>\n </Field>\n );\n}\n"],"names":["Field","BaseInput","cn"],"mappings":";;;;;;;AAcM,SAAU,KAAK,CAAC,EACpB,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,MAAM,EACN,GAAG,KAAK,EACG,EAAA;IACX,QACE,KAAA,CAAA,aAAA,CAACA,WAAK,EAAA,EACJ,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EAAA,GACpB,UAAU,EAAA;QAEd,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0BAA0B,EAAA;YACvC,KAAA,CAAA,aAAA,CAACC,WAAS,IACR,SAAS,EAAEC,QAAE,CACX,oRAAoR,EACpR,SAAS,CACV,EAAA,iBAAA,EACgB,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA,CACT;YACD,MAAM,CACH,CACA;AAEZ;;;;"}
@@ -1 +1 @@
1
- export * from "./Input";
1
+ export { Input, InputProps } from "./Input";
@@ -1,18 +1,7 @@
1
1
  import { RadioIndicatorProps, RadioRootProps } from "@base-ui/react/radio";
2
- import { RadioGroupProps as BaseRadioGroupProps } from "@base-ui/react/radio-group";
3
2
  import * as React from "react";
4
- import { BasicFieldProps } from "../../lib/utils";
5
- import { FieldProps } from "../field/Field";
6
- interface RadioProps extends RadioRootProps {
3
+ export interface RadioProps extends RadioRootProps {
7
4
  label?: React.ReactNode;
8
5
  indicatorProps?: RadioIndicatorProps;
9
6
  }
10
7
  export declare function Radio({ label, indicatorProps: { className: indicatorClassName, ...indicatorProps }, ...props }: RadioProps): React.JSX.Element;
11
- export declare namespace Radio {
12
- var Group: typeof RadioGroup;
13
- }
14
- interface RadioGroupProps extends BaseRadioGroupProps, BasicFieldProps {
15
- fieldProps?: FieldProps;
16
- }
17
- export declare function RadioGroup({ isValidating, isValidatingMessage, errorMessage, description, fieldProps, label, children, ...props }: RadioGroupProps): React.JSX.Element;
18
- export {};
@@ -1,8 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var fieldset = require('@base-ui/react/fieldset');
4
3
  var radio = require('@base-ui/react/radio');
5
- var radioGroup = require('@base-ui/react/radio-group');
6
4
  var React = require('react');
7
5
  var utils = require('../../lib/utils.js');
8
6
  var Field = require('../field/Field.js');
@@ -34,14 +32,6 @@ function Radio({ label, indicatorProps: { className: indicatorClassName, ...indi
34
32
  React__namespace.createElement(radio.Radio.Indicator, { className: utils.cn("before:bg-primary data-invalid:before:bg-error flex before:size-3 before:rounded-full data-unchecked:hidden", indicatorClassName), ...indicatorProps })),
35
33
  label));
36
34
  }
37
- function RadioGroup({ isValidating, isValidatingMessage, errorMessage, description, fieldProps, label, children, ...props }) {
38
- return (React__namespace.createElement(Field.Field, { isValidating: isValidating, isValidatingMessage: isValidatingMessage, errorMessage: errorMessage, description: description, ...fieldProps },
39
- React__namespace.createElement(fieldset.Fieldset.Root, { render: React__namespace.createElement(radioGroup.RadioGroup, { ...props }), className: "flex flex-col gap-1" },
40
- React__namespace.createElement(fieldset.Fieldset.Legend, { className: "text-foreground text-sm font-semibold" }, label),
41
- children)));
42
- }
43
- Radio.Group = RadioGroup;
44
35
 
45
36
  exports.Radio = Radio;
46
- exports.RadioGroup = RadioGroup;
47
37
  //# sourceMappingURL=Radio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","sources":["../../../../src/components/radio/Radio.tsx"],"sourcesContent":["import { Fieldset } from \"@base-ui/react/fieldset\";\nimport {\n Radio as BaseRadio,\n RadioIndicatorProps,\n RadioRootProps,\n} from \"@base-ui/react/radio\";\nimport {\n RadioGroup as BaseRadioGroup,\n RadioGroupProps as BaseRadioGroupProps,\n} from \"@base-ui/react/radio-group\";\nimport * as React from \"react\";\nimport { BasicFieldProps, cn } from \"../../lib/utils\";\nimport { Field, FieldProps, useFieldContext } from \"../field/Field\";\n\ninterface RadioProps extends RadioRootProps {\n label?: React.ReactNode;\n indicatorProps?: RadioIndicatorProps;\n}\n\nexport function Radio({\n label,\n indicatorProps: { className: indicatorClassName, ...indicatorProps } = {},\n ...props\n}: RadioProps) {\n const id = React.useId();\n const { isValidating } = useFieldContext();\n\n return (\n <label className=\"flex items-center gap-2\" id={id}>\n <BaseRadio.Root\n className={cn(\n \"data-validating:not-data-invalid:animate-validating focus-visible:outline-highlight data-checked:border-primary-foreground data-invalid:border-error-foreground flex size-5 items-center justify-center rounded-full border focus-visible:outline-2 focus-visible:outline-offset-2\",\n )}\n aria-labelledby={id}\n data-validating={isValidating ? \"\" : undefined}\n {...props}\n >\n <BaseRadio.Indicator\n className={cn(\n \"before:bg-primary data-invalid:before:bg-error flex before:size-3 before:rounded-full data-unchecked:hidden\",\n indicatorClassName,\n )}\n {...indicatorProps}\n />\n </BaseRadio.Root>\n {label}\n </label>\n );\n}\n\ninterface RadioGroupProps extends BaseRadioGroupProps, BasicFieldProps {\n fieldProps?: FieldProps;\n}\n\nexport function RadioGroup({\n isValidating,\n isValidatingMessage,\n errorMessage,\n description,\n fieldProps,\n label,\n children,\n ...props\n}: RadioGroupProps) {\n return (\n <Field\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n <Fieldset.Root\n render={<BaseRadioGroup {...props} />}\n className=\"flex flex-col gap-1\"\n >\n <Fieldset.Legend className=\"text-foreground text-sm font-semibold\">\n {label}\n </Fieldset.Legend>\n {children}\n </Fieldset.Root>\n </Field>\n );\n}\n\nRadio.Group = RadioGroup;\n"],"names":["React","useFieldContext","BaseRadio","cn","Field","Fieldset","BaseRadioGroup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBM,SAAU,KAAK,CAAC,EACpB,KAAK,EACL,cAAc,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,EACzE,GAAG,KAAK,EACG,EAAA;AACX,IAAA,MAAM,EAAE,GAAGA,gBAAK,CAAC,KAAK,EAAE;AACxB,IAAA,MAAM,EAAE,YAAY,EAAE,GAAGC,qBAAe,EAAE;IAE1C,QACED,0CAAO,SAAS,EAAC,yBAAyB,EAAC,EAAE,EAAE,EAAE,EAAA;QAC/CA,gBAAA,CAAA,aAAA,CAACE,WAAS,CAAC,IAAI,EAAA,EACb,SAAS,EAAEC,QAAE,CACX,oRAAoR,CACrR,EAAA,iBAAA,EACgB,EAAE,EAAA,iBAAA,EACF,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA;AAET,YAAAH,gBAAA,CAAA,aAAA,CAACE,WAAS,CAAC,SAAS,EAAA,EAClB,SAAS,EAAEC,QAAE,CACX,6GAA6G,EAC7G,kBAAkB,CACnB,EAAA,GACG,cAAc,GAClB,CACa;QAChB,KAAK,CACA;AAEZ;AAMM,SAAU,UAAU,CAAC,EACzB,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACQ,EAAA;IAChB,QACEH,+BAACI,WAAK,EAAA,EACJ,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,KACpB,UAAU,EAAA;AAEd,QAAAJ,gBAAA,CAAA,aAAA,CAACK,iBAAQ,CAAC,IAAI,EAAA,EACZ,MAAM,EAAEL,gBAAA,CAAA,aAAA,CAACM,qBAAc,EAAA,EAAA,GAAK,KAAK,EAAA,CAAI,EACrC,SAAS,EAAC,qBAAqB,EAAA;YAE/BN,gBAAA,CAAA,aAAA,CAACK,iBAAQ,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,uCAAuC,EAAA,EAC/D,KAAK,CACU;YACjB,QAAQ,CACK,CACV;AAEZ;AAEA,KAAK,CAAC,KAAK,GAAG,UAAU;;;;;"}
1
+ {"version":3,"file":"Radio.js","sources":["../../../../src/components/radio/Radio.tsx"],"sourcesContent":["import {\n Radio as BaseRadio,\n RadioIndicatorProps,\n RadioRootProps,\n} from \"@base-ui/react/radio\";\nimport * as React from \"react\";\nimport { cn } from \"../../lib/utils\";\nimport { useFieldContext } from \"../field/Field\";\n\nexport interface RadioProps extends RadioRootProps {\n label?: React.ReactNode;\n indicatorProps?: RadioIndicatorProps;\n}\n\nexport function Radio({\n label,\n indicatorProps: { className: indicatorClassName, ...indicatorProps } = {},\n ...props\n}: RadioProps) {\n const id = React.useId();\n const { isValidating } = useFieldContext();\n\n return (\n <label className=\"flex items-center gap-2\" id={id}>\n <BaseRadio.Root\n className={cn(\n \"data-validating:not-data-invalid:animate-validating focus-visible:outline-highlight data-checked:border-primary-foreground data-invalid:border-error-foreground flex size-5 items-center justify-center rounded-full border focus-visible:outline-2 focus-visible:outline-offset-2\",\n )}\n aria-labelledby={id}\n data-validating={isValidating ? \"\" : undefined}\n {...props}\n >\n <BaseRadio.Indicator\n className={cn(\n \"before:bg-primary data-invalid:before:bg-error flex before:size-3 before:rounded-full data-unchecked:hidden\",\n indicatorClassName,\n )}\n {...indicatorProps}\n />\n </BaseRadio.Root>\n {label}\n </label>\n );\n}\n"],"names":["React","useFieldContext","BaseRadio","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAcM,SAAU,KAAK,CAAC,EACpB,KAAK,EACL,cAAc,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,EACzE,GAAG,KAAK,EACG,EAAA;AACX,IAAA,MAAM,EAAE,GAAGA,gBAAK,CAAC,KAAK,EAAE;AACxB,IAAA,MAAM,EAAE,YAAY,EAAE,GAAGC,qBAAe,EAAE;IAE1C,QACED,0CAAO,SAAS,EAAC,yBAAyB,EAAC,EAAE,EAAE,EAAE,EAAA;QAC/CA,gBAAA,CAAA,aAAA,CAACE,WAAS,CAAC,IAAI,EAAA,EACb,SAAS,EAAEC,QAAE,CACX,oRAAoR,CACrR,EAAA,iBAAA,EACgB,EAAE,EAAA,iBAAA,EACF,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA;AAET,YAAAH,gBAAA,CAAA,aAAA,CAACE,WAAS,CAAC,SAAS,EAAA,EAClB,SAAS,EAAEC,QAAE,CACX,6GAA6G,EAC7G,kBAAkB,CACnB,EAAA,GACG,cAAc,GAClB,CACa;QAChB,KAAK,CACA;AAEZ;;;;"}
@@ -1 +1 @@
1
- export * from "./Radio";
1
+ export { Radio, RadioProps } from "./Radio";
@@ -0,0 +1,8 @@
1
+ import { RadioGroupProps as BaseRadioGroupProps } from "@base-ui/react";
2
+ import * as React from "react";
3
+ import { FieldAttributes } from "../../lib/types";
4
+ import { FieldProps } from "../field/Field";
5
+ export interface RadioGroupProps extends BaseRadioGroupProps, FieldAttributes {
6
+ fieldProps?: FieldProps;
7
+ }
8
+ export declare function RadioGroup({ isValidating, isValidatingMessage, errorMessage, description, fieldProps, label, children, ...props }: RadioGroupProps): React.JSX.Element;
@@ -0,0 +1 @@
1
+ export { RadioGroup, RadioGroupProps } from "./RadioGroup";
@@ -1,8 +1,8 @@
1
1
  import { SelectIconProps, SelectItemIndicatorProps, SelectItemProps, SelectItemTextProps, SelectListProps, SelectPopupProps, SelectPortalProps, SelectPositionerProps, SelectRootProps, SelectScrollDownArrowProps, SelectScrollUpArrowProps, SelectTriggerProps, SelectValueProps } from "@base-ui/react/select";
2
2
  import React from "react";
3
- import { BasicFieldProps } from "../../lib/utils";
3
+ import { FieldAttributes } from "../../lib/types";
4
4
  import { FieldProps } from "../field/Field";
5
- export interface SelectProps<T> extends Omit<SelectTriggerProps, "value">, SelectRootProps<T>, BasicFieldProps {
5
+ export interface SelectProps<T> extends Omit<SelectTriggerProps, "value">, SelectRootProps<T>, FieldAttributes {
6
6
  placeholder?: React.ReactNode;
7
7
  triggerDisabled?: SelectTriggerProps["disabled"];
8
8
  triggerId?: SelectTriggerProps["id"];
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../../src/components/select/Select.tsx"],"sourcesContent":["import {\n Select as BaseSelect,\n SelectIconProps,\n SelectItemIndicatorProps,\n SelectItemProps,\n SelectItemTextProps,\n SelectListProps,\n SelectPopupProps,\n SelectPortalProps,\n SelectPositionerProps,\n SelectRootProps,\n SelectScrollDownArrowProps,\n SelectScrollUpArrowProps,\n SelectTriggerProps,\n SelectValueProps,\n} from \"@base-ui/react/select\";\nimport { Check, ChevronsUpDown } from \"lucide-react\";\nimport React from \"react\";\nimport { BasicFieldProps, cn } from \"../../lib/utils\";\nimport { Field, FieldProps } from \"../field/Field\";\n\nexport interface SelectProps<T>\n extends\n Omit<SelectTriggerProps, \"value\">,\n SelectRootProps<T>,\n BasicFieldProps {\n placeholder?: React.ReactNode;\n triggerDisabled?: SelectTriggerProps[\"disabled\"];\n triggerId?: SelectTriggerProps[\"id\"];\n triggerName?: SelectTriggerProps[\"name\"];\n triggerValue?: SelectTriggerProps[\"value\"];\n fieldProps?: FieldProps;\n triggerProps?: SelectTriggerProps;\n valueProps?: SelectValueProps;\n selectIconProps?: SelectIconProps;\n iconProps?: React.ComponentPropsWithoutRef<\"svg\">;\n portalProps?: SelectPortalProps;\n positionerProps?: SelectPositionerProps;\n popupProps?: SelectPopupProps;\n scrollUpArrowProps?: SelectScrollUpArrowProps;\n listProps?: SelectListProps;\n itemProps?: SelectItemProps;\n itemIndicatorProps?: SelectItemIndicatorProps;\n checkIconProps?: React.ComponentPropsWithoutRef<\"svg\">;\n itemTextProps?: SelectItemTextProps;\n scrollDownArrowProps?: SelectScrollDownArrowProps;\n}\n\nexport function Select<T>({\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n className,\n description,\n fieldProps,\n items,\n placeholder,\n actionsRef,\n autoComplete,\n defaultOpen,\n defaultValue,\n disabled,\n highlightItemOnHover,\n id,\n inputRef,\n isItemEqualToValue,\n itemToStringLabel,\n itemToStringValue,\n modal,\n multiple,\n name,\n onOpenChange,\n onOpenChangeComplete,\n onValueChange,\n open,\n readOnly,\n required,\n value,\n triggerDisabled,\n triggerId,\n triggerName,\n triggerValue,\n valueProps: { className: valueClassName, ...valueProps } = {},\n selectIconProps: { className: selectIconClassName, ...selectIconProps } = {},\n iconProps: { className: iconClassName, ...iconProps } = {},\n portalProps,\n positionerProps: { className: positionerClassName, ...positionerProps } = {},\n popupProps: { className: popupClassName, ...popupProps } = {},\n scrollUpArrowProps: {\n className: scrollUpArrowClassName,\n ...scrollUpArrowProps\n } = {},\n listProps: { className: listClassName, ...listProps } = {},\n itemProps: { className: itemClassName, ...itemProps } = {},\n itemIndicatorProps: {\n className: itemIndicatorClassName,\n ...itemIndicatorProps\n } = {},\n checkIconProps: { className: checkIconClassName, ...checkIconProps } = {},\n itemTextProps: { className: itemTextClassName, ...itemTextProps } = {},\n scrollDownArrowProps: {\n className: scrollDownArrowClassName,\n ...scrollDownArrowProps\n } = {},\n ...props\n}: SelectProps<T>) {\n return (\n <Field\n label={label}\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n <BaseSelect.Root\n items={items}\n actionsRef={actionsRef}\n autoComplete={autoComplete}\n defaultOpen={defaultOpen}\n defaultValue={defaultValue}\n disabled={disabled}\n highlightItemOnHover={highlightItemOnHover}\n id={id}\n inputRef={inputRef}\n isItemEqualToValue={isItemEqualToValue}\n itemToStringLabel={itemToStringLabel}\n itemToStringValue={itemToStringValue}\n modal={modal}\n multiple={multiple}\n name={name}\n onOpenChange={onOpenChange}\n onOpenChangeComplete={onOpenChangeComplete}\n onValueChange={onValueChange}\n open={open}\n readOnly={readOnly}\n required={required}\n value={value}\n >\n <BaseSelect.Trigger\n className={cn(\n \"data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating hover:bg-card data-popup-open:bg-card focus-visible:border-highlight focus:inset-shadow-muted/50 flex min-w-40 items-center justify-between gap-3 rounded-lg border p-2 text-base transition-colors outline-none select-none focus:inset-shadow-sm\",\n className,\n )}\n data-validating={isValidating ? \"\" : undefined}\n disabled={triggerDisabled}\n id={triggerId}\n name={triggerName}\n value={triggerValue}\n {...props}\n >\n <BaseSelect.Value\n className={cn(\"data-placeholder:opacity-60\", valueClassName)}\n placeholder={placeholder}\n {...valueProps}\n />\n <BaseSelect.Icon\n className={cn(\"flex\", selectIconClassName)}\n {...selectIconProps}\n >\n <ChevronsUpDown\n className={cn(\"size-4\", iconClassName)}\n {...iconProps}\n />\n </BaseSelect.Icon>\n </BaseSelect.Trigger>\n <BaseSelect.Portal {...portalProps}>\n <BaseSelect.Positioner\n className={cn(\"z-10 outline-none select-none\", positionerClassName)}\n sideOffset={8}\n {...positionerProps}\n >\n <BaseSelect.Popup\n className={cn(\n \"group bg-background outline-border min-w-(--anchor-width) origin-(--transform-origin) rounded-lg bg-clip-padding shadow-lg outline transition-[transform,scale,opacity] data-ending-style:scale-90 data-ending-style:opacity-0 data-starting-style:scale-90 data-starting-style:opacity-0 data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] data-[side=none]:data-ending-style:transition-none data-[side=none]:data-starting-style:scale-100 data-[side=none]:data-starting-style:opacity-100 data-[side=none]:data-starting-style:transition-none\",\n popupClassName,\n )}\n {...popupProps}\n >\n <BaseSelect.ScrollUpArrow\n className={cn(\n \"bg-background top-0 z-1 flex h-4 w-full cursor-default items-center justify-center rounded-lg text-center text-xs before:absolute before:left-0 before:h-full before:w-full before:content-[''] data-[side=none]:before:-top-full\",\n scrollUpArrowClassName,\n )}\n {...scrollUpArrowProps}\n />\n <BaseSelect.List\n className={cn(\n \"relative max-h-(--available-height) scroll-py-6 overflow-y-auto py-1\",\n listClassName,\n )}\n {...listProps}\n >\n {Array.isArray(items) &&\n items.map(({ label, value }) => (\n <BaseSelect.Item\n key={String(value)}\n value={value}\n className={cn(\n \"data-highlighted:before:bg-primary data-highlighted:text-on-primary grid cursor-default grid-cols-[0.75rem_1fr] items-center gap-2 py-2 pr-4 pl-2.5 text-sm leading-4 outline-none select-none group-data-[side=none]:pr-12 group-data-[side=none]:text-base group-data-[side=none]:leading-4 data-highlighted:relative data-highlighted:z-0 data-highlighted:before:absolute data-highlighted:before:inset-x-1 data-highlighted:before:inset-y-0 data-highlighted:before:z-[-1] data-highlighted:before:rounded-sm pointer-coarse:py-2.5 pointer-coarse:text-[0.925rem]\",\n itemClassName,\n )}\n {...itemProps}\n >\n <BaseSelect.ItemIndicator\n className={cn(\"col-start-1\", itemIndicatorClassName)}\n {...itemIndicatorProps}\n >\n <Check\n className={cn(\"size-3\", checkIconClassName)}\n {...checkIconProps}\n />\n </BaseSelect.ItemIndicator>\n <BaseSelect.ItemText\n className={cn(\"col-start-2\", itemTextClassName)}\n {...itemTextProps}\n >\n {label}\n </BaseSelect.ItemText>\n </BaseSelect.Item>\n ))}\n </BaseSelect.List>\n <BaseSelect.ScrollDownArrow\n className={cn(\n \"bg-background bottom-0 z-1 flex h-4 w-full cursor-default items-center justify-center rounded-lg text-center text-xs before:absolute before:left-0 before:h-full before:w-full before:content-[''] data-[side=none]:before:-bottom-full\",\n scrollDownArrowClassName,\n )}\n {...scrollDownArrowProps}\n />\n </BaseSelect.Popup>\n </BaseSelect.Positioner>\n </BaseSelect.Portal>\n </BaseSelect.Root>\n </Field>\n );\n}\n"],"names":["Field","BaseSelect","cn","ChevronsUpDown","Check"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../../src/components/select/Select.tsx"],"sourcesContent":["import {\n Select as BaseSelect,\n SelectIconProps,\n SelectItemIndicatorProps,\n SelectItemProps,\n SelectItemTextProps,\n SelectListProps,\n SelectPopupProps,\n SelectPortalProps,\n SelectPositionerProps,\n SelectRootProps,\n SelectScrollDownArrowProps,\n SelectScrollUpArrowProps,\n SelectTriggerProps,\n SelectValueProps,\n} from \"@base-ui/react/select\";\nimport { Check, ChevronsUpDown } from \"lucide-react\";\nimport React from \"react\";\nimport { FieldAttributes } from \"../../lib/types\";\nimport { cn } from \"../../lib/utils\";\nimport { Field, FieldProps } from \"../field/Field\";\n\nexport interface SelectProps<T>\n extends\n Omit<SelectTriggerProps, \"value\">,\n SelectRootProps<T>,\n FieldAttributes {\n placeholder?: React.ReactNode;\n triggerDisabled?: SelectTriggerProps[\"disabled\"];\n triggerId?: SelectTriggerProps[\"id\"];\n triggerName?: SelectTriggerProps[\"name\"];\n triggerValue?: SelectTriggerProps[\"value\"];\n fieldProps?: FieldProps;\n triggerProps?: SelectTriggerProps;\n valueProps?: SelectValueProps;\n selectIconProps?: SelectIconProps;\n iconProps?: React.ComponentPropsWithoutRef<\"svg\">;\n portalProps?: SelectPortalProps;\n positionerProps?: SelectPositionerProps;\n popupProps?: SelectPopupProps;\n scrollUpArrowProps?: SelectScrollUpArrowProps;\n listProps?: SelectListProps;\n itemProps?: SelectItemProps;\n itemIndicatorProps?: SelectItemIndicatorProps;\n checkIconProps?: React.ComponentPropsWithoutRef<\"svg\">;\n itemTextProps?: SelectItemTextProps;\n scrollDownArrowProps?: SelectScrollDownArrowProps;\n}\n\nexport function Select<T>({\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n className,\n description,\n fieldProps,\n items,\n placeholder,\n actionsRef,\n autoComplete,\n defaultOpen,\n defaultValue,\n disabled,\n highlightItemOnHover,\n id,\n inputRef,\n isItemEqualToValue,\n itemToStringLabel,\n itemToStringValue,\n modal,\n multiple,\n name,\n onOpenChange,\n onOpenChangeComplete,\n onValueChange,\n open,\n readOnly,\n required,\n value,\n triggerDisabled,\n triggerId,\n triggerName,\n triggerValue,\n valueProps: { className: valueClassName, ...valueProps } = {},\n selectIconProps: { className: selectIconClassName, ...selectIconProps } = {},\n iconProps: { className: iconClassName, ...iconProps } = {},\n portalProps,\n positionerProps: { className: positionerClassName, ...positionerProps } = {},\n popupProps: { className: popupClassName, ...popupProps } = {},\n scrollUpArrowProps: {\n className: scrollUpArrowClassName,\n ...scrollUpArrowProps\n } = {},\n listProps: { className: listClassName, ...listProps } = {},\n itemProps: { className: itemClassName, ...itemProps } = {},\n itemIndicatorProps: {\n className: itemIndicatorClassName,\n ...itemIndicatorProps\n } = {},\n checkIconProps: { className: checkIconClassName, ...checkIconProps } = {},\n itemTextProps: { className: itemTextClassName, ...itemTextProps } = {},\n scrollDownArrowProps: {\n className: scrollDownArrowClassName,\n ...scrollDownArrowProps\n } = {},\n ...props\n}: SelectProps<T>) {\n return (\n <Field\n label={label}\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n <BaseSelect.Root\n items={items}\n actionsRef={actionsRef}\n autoComplete={autoComplete}\n defaultOpen={defaultOpen}\n defaultValue={defaultValue}\n disabled={disabled}\n highlightItemOnHover={highlightItemOnHover}\n id={id}\n inputRef={inputRef}\n isItemEqualToValue={isItemEqualToValue}\n itemToStringLabel={itemToStringLabel}\n itemToStringValue={itemToStringValue}\n modal={modal}\n multiple={multiple}\n name={name}\n onOpenChange={onOpenChange}\n onOpenChangeComplete={onOpenChangeComplete}\n onValueChange={onValueChange}\n open={open}\n readOnly={readOnly}\n required={required}\n value={value}\n >\n <BaseSelect.Trigger\n className={cn(\n \"data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating hover:bg-card data-popup-open:bg-card focus-visible:border-highlight focus:inset-shadow-muted/50 flex min-w-40 items-center justify-between gap-3 rounded-lg border p-2 text-base transition-colors outline-none select-none focus:inset-shadow-sm\",\n className,\n )}\n data-validating={isValidating ? \"\" : undefined}\n disabled={triggerDisabled}\n id={triggerId}\n name={triggerName}\n value={triggerValue}\n {...props}\n >\n <BaseSelect.Value\n className={cn(\"data-placeholder:opacity-60\", valueClassName)}\n placeholder={placeholder}\n {...valueProps}\n />\n <BaseSelect.Icon\n className={cn(\"flex\", selectIconClassName)}\n {...selectIconProps}\n >\n <ChevronsUpDown\n className={cn(\"size-4\", iconClassName)}\n {...iconProps}\n />\n </BaseSelect.Icon>\n </BaseSelect.Trigger>\n <BaseSelect.Portal {...portalProps}>\n <BaseSelect.Positioner\n className={cn(\"z-10 outline-none select-none\", positionerClassName)}\n sideOffset={8}\n {...positionerProps}\n >\n <BaseSelect.Popup\n className={cn(\n \"group bg-background outline-border min-w-(--anchor-width) origin-(--transform-origin) rounded-lg bg-clip-padding shadow-lg outline transition-[transform,scale,opacity] data-ending-style:scale-90 data-ending-style:opacity-0 data-starting-style:scale-90 data-starting-style:opacity-0 data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] data-[side=none]:data-ending-style:transition-none data-[side=none]:data-starting-style:scale-100 data-[side=none]:data-starting-style:opacity-100 data-[side=none]:data-starting-style:transition-none\",\n popupClassName,\n )}\n {...popupProps}\n >\n <BaseSelect.ScrollUpArrow\n className={cn(\n \"bg-background top-0 z-1 flex h-4 w-full cursor-default items-center justify-center rounded-lg text-center text-xs before:absolute before:left-0 before:h-full before:w-full before:content-[''] data-[side=none]:before:-top-full\",\n scrollUpArrowClassName,\n )}\n {...scrollUpArrowProps}\n />\n <BaseSelect.List\n className={cn(\n \"relative max-h-(--available-height) scroll-py-6 overflow-y-auto py-1\",\n listClassName,\n )}\n {...listProps}\n >\n {Array.isArray(items) &&\n items.map(({ label, value }) => (\n <BaseSelect.Item\n key={String(value)}\n value={value}\n className={cn(\n \"data-highlighted:before:bg-primary data-highlighted:text-on-primary grid cursor-default grid-cols-[0.75rem_1fr] items-center gap-2 py-2 pr-4 pl-2.5 text-sm leading-4 outline-none select-none group-data-[side=none]:pr-12 group-data-[side=none]:text-base group-data-[side=none]:leading-4 data-highlighted:relative data-highlighted:z-0 data-highlighted:before:absolute data-highlighted:before:inset-x-1 data-highlighted:before:inset-y-0 data-highlighted:before:z-[-1] data-highlighted:before:rounded-sm pointer-coarse:py-2.5 pointer-coarse:text-[0.925rem]\",\n itemClassName,\n )}\n {...itemProps}\n >\n <BaseSelect.ItemIndicator\n className={cn(\"col-start-1\", itemIndicatorClassName)}\n {...itemIndicatorProps}\n >\n <Check\n className={cn(\"size-3\", checkIconClassName)}\n {...checkIconProps}\n />\n </BaseSelect.ItemIndicator>\n <BaseSelect.ItemText\n className={cn(\"col-start-2\", itemTextClassName)}\n {...itemTextProps}\n >\n {label}\n </BaseSelect.ItemText>\n </BaseSelect.Item>\n ))}\n </BaseSelect.List>\n <BaseSelect.ScrollDownArrow\n className={cn(\n \"bg-background bottom-0 z-1 flex h-4 w-full cursor-default items-center justify-center rounded-lg text-center text-xs before:absolute before:left-0 before:h-full before:w-full before:content-[''] data-[side=none]:before:-bottom-full\",\n scrollDownArrowClassName,\n )}\n {...scrollDownArrowProps}\n />\n </BaseSelect.Popup>\n </BaseSelect.Positioner>\n </BaseSelect.Portal>\n </BaseSelect.Root>\n </Field>\n );\n}\n"],"names":["Field","BaseSelect","cn","ChevronsUpDown","Check"],"mappings":"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"}
@@ -1 +1 @@
1
- export * from "./Select";
1
+ export { Select, SelectProps } from "./Select";
@@ -5,5 +5,6 @@ export * from "./components/field";
5
5
  export * from "./components/input";
6
6
  export * from "./components/radio";
7
7
  export * from "./components/select";
8
+ export * from "./lib/types";
8
9
  export * from "./lib/utils";
9
10
  import "./theme/theme.css";
package/dist/cjs/index.js CHANGED
@@ -14,13 +14,9 @@ var utils = require('./lib/utils.js');
14
14
  exports.Button = Button.Button;
15
15
  exports.Checkbox = Checkbox.Checkbox;
16
16
  exports.CheckboxGroup = CheckboxGroup.CheckboxGroup;
17
- exports.useCheckboxGroupContext = CheckboxGroup.useCheckboxGroupContext;
18
17
  exports.Field = Field.Field;
19
- exports.FieldContext = Field.FieldContext;
20
- exports.useFieldContext = Field.useFieldContext;
21
18
  exports.Input = Input.Input;
22
19
  exports.Radio = Radio.Radio;
23
- exports.RadioGroup = Radio.RadioGroup;
24
20
  exports.Select = Select.Select;
25
21
  exports.cn = utils.cn;
26
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ export interface FieldAttributes {
3
+ label?: React.ReactNode;
4
+ errorMessage?: React.ReactNode;
5
+ isValidating?: boolean;
6
+ isValidatingMessage?: React.ReactNode;
7
+ description?: React.ReactNode;
8
+ }
@@ -1,10 +1,2 @@
1
1
  import { type ClassValue } from "clsx";
2
- import React from "react";
3
2
  export declare function cn(...inputs: ClassValue[]): string;
4
- export interface BasicFieldProps {
5
- label?: React.ReactNode;
6
- errorMessage?: React.ReactNode;
7
- isValidating?: boolean;
8
- isValidatingMessage?: React.ReactNode;
9
- description?: React.ReactNode;
10
- }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport React from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\nexport interface BasicFieldProps {\n label?: React.ReactNode;\n errorMessage?: React.ReactNode;\n isValidating?: boolean;\n isValidatingMessage?: React.ReactNode;\n description?: React.ReactNode;\n}\n"],"names":["twMerge","clsx"],"mappings":";;;;;AAIM,SAAU,EAAE,CAAC,GAAG,MAAoB,EAAA;AACxC,IAAA,OAAOA,qBAAO,CAACC,SAAI,CAAC,MAAM,CAAC,CAAC;AAC9B;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"names":["twMerge","clsx"],"mappings":";;;;;AAGM,SAAU,EAAE,CAAC,GAAG,MAAoB,EAAA;AACxC,IAAA,OAAOA,qBAAO,CAACC,SAAI,CAAC,MAAM,CAAC,CAAC;AAC9B;;;;"}
@@ -1 +1 @@
1
- export * from "./Button";
1
+ export { Button, ButtonProps, ButtonSize, ButtonVariant } from "./Button";
@@ -1,8 +1,8 @@
1
1
  import { CheckboxRootProps as BaseCheckboxRootProps, CheckboxIndicatorProps } from "@base-ui/react/checkbox";
2
2
  import React from "react";
3
- import { BasicFieldProps } from "../../lib/utils";
3
+ import { FieldAttributes } from "../../lib/types";
4
4
  import { FieldProps } from "../field/Field";
5
- interface CheckboxProps extends BaseCheckboxRootProps, Omit<BasicFieldProps, "label"> {
5
+ export interface CheckboxProps extends BaseCheckboxRootProps, Omit<FieldAttributes, "label"> {
6
6
  label?: React.ReactNode;
7
7
  labelProps?: React.LabelHTMLAttributes<HTMLLabelElement>;
8
8
  indicatorProps?: CheckboxIndicatorProps;
@@ -10,4 +10,3 @@ interface CheckboxProps extends BaseCheckboxRootProps, Omit<BasicFieldProps, "la
10
10
  fieldProps?: FieldProps;
11
11
  }
12
12
  export declare function Checkbox({ label, className, fieldProps, description, isValidating: _isValidating, isValidatingMessage, errorMessage, labelProps: { className: labelClassName, ...labelProps }, indicatorProps: { className: indicatorClassName, ...indicatorProps }, iconProps: { className: iconClassName, ...iconProps }, ...props }: CheckboxProps): React.JSX.Element;
13
- export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["import {\n Checkbox as BaseCheckbox,\n CheckboxRootProps as BaseCheckboxRootProps,\n CheckboxIndicatorProps,\n} from \"@base-ui/react/checkbox\";\nimport { Field as BaseField } from \"@base-ui/react/field\";\nimport { CheckIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { BasicFieldProps, cn } from \"../../lib/utils\";\nimport { useCheckboxGroupContext } from \"../checkbox-group/CheckboxGroup\";\nimport { Field, FieldProps, useFieldContext } from \"../field/Field\";\n\ninterface CheckboxProps\n extends BaseCheckboxRootProps, Omit<BasicFieldProps, \"label\"> {\n label?: React.ReactNode;\n labelProps?: React.LabelHTMLAttributes<HTMLLabelElement>;\n indicatorProps?: CheckboxIndicatorProps;\n iconProps?: React.SVGProps<SVGSVGElement>;\n fieldProps?: FieldProps;\n}\n\nexport function Checkbox({\n label,\n className,\n fieldProps,\n description,\n isValidating: _isValidating,\n isValidatingMessage,\n errorMessage,\n labelProps: { className: labelClassName, ...labelProps } = {},\n indicatorProps: { className: indicatorClassName, ...indicatorProps } = {},\n iconProps: { className: iconClassName, ...iconProps } = {},\n ...props\n}: CheckboxProps) {\n const labelId = React.useId();\n const isInCheckboxGroup = useCheckboxGroupContext();\n const { isValidating: groupIsValidating } = useFieldContext();\n const isValidating = isInCheckboxGroup ? groupIsValidating : _isValidating;\n\n const children = (\n <BaseField.Label\n className={cn(\n \"text-foreground flex items-center gap-2 text-base\",\n labelClassName,\n )}\n {...labelProps}\n >\n <BaseCheckbox.Root\n className={cn(\n \"data-validating:not-data-invalid:animate-validating data-invalid:border-error-foreground data-invalid:data-checked:bg-error data-invalid:data-checked:border-error data-checked:bg-primary data-checked:border-primary focus-visible:outline-highlight flex size-5 items-center justify-center rounded-sm border outline-offset-2 focus-visible:outline-2\",\n className,\n )}\n aria-labelledby={labelId}\n data-validating={isValidating ? \"\" : undefined}\n {...props}\n >\n <BaseCheckbox.Indicator\n className={cn(\n \"text-on-primary data-invalid:border-error data-invalid:bg-error flex data-unchecked:hidden\",\n indicatorClassName,\n )}\n {...indicatorProps}\n >\n <CheckIcon className={cn(\"size-4\", iconClassName)} {...iconProps} />\n </BaseCheckbox.Indicator>\n </BaseCheckbox.Root>\n <span id={labelId}>{label}</span>\n </BaseField.Label>\n );\n\n if (isInCheckboxGroup) {\n return <BaseField.Item>{children}</BaseField.Item>;\n }\n\n return (\n <Field\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n {children}\n </Field>\n );\n}\n"],"names":["React","BaseField","BaseCheckbox","Field"],"mappings":";;;;;;;;AAqBM,SAAU,QAAQ,CAAC,EACvB,KAAK,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EAAE,aAAa,EAC3B,mBAAmB,EACnB,YAAY,EACZ,UAAU,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,EAC7D,cAAc,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,EACzE,SAAS,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,EAC1D,GAAG,KAAK,EACM,EAAA;AACd,IAAA,MAAM,OAAO,GAAGA,cAAK,CAAC,KAAK,EAAE;AAC7B,IAAA,MAAM,iBAAiB,GAAG,uBAAuB,EAAE;IACnD,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,eAAe,EAAE;IAC7D,MAAM,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,aAAa;AAE1E,IAAA,MAAM,QAAQ,IACZA,cAAA,CAAA,aAAA,CAACC,KAAS,CAAC,KAAK,EAAA,EACd,SAAS,EAAE,EAAE,CACX,mDAAmD,EACnD,cAAc,CACf,KACG,UAAU,EAAA;QAEdD,cAAA,CAAA,aAAA,CAACE,UAAY,CAAC,IAAI,EAAA,EAChB,SAAS,EAAE,EAAE,CACX,2VAA2V,EAC3V,SAAS,CACV,qBACgB,OAAO,EAAA,iBAAA,EACP,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA;AAET,YAAAF,cAAA,CAAA,aAAA,CAACE,UAAY,CAAC,SAAS,EAAA,EACrB,SAAS,EAAE,EAAE,CACX,4FAA4F,EAC5F,kBAAkB,CACnB,KACG,cAAc,EAAA;AAElB,gBAAAF,cAAA,CAAA,aAAA,CAAC,SAAS,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAA,GAAM,SAAS,EAAA,CAAI,CAC7C,CACP;QACpBA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,EAAE,EAAE,OAAO,EAAA,EAAG,KAAK,CAAQ,CACjB,CACnB;IAED,IAAI,iBAAiB,EAAE;AACrB,QAAA,OAAOA,6BAACC,KAAS,CAAC,IAAI,EAAA,IAAA,EAAE,QAAQ,CAAkB;IACpD;IAEA,QACED,cAAA,CAAA,aAAA,CAACG,OAAK,EAAA,EACJ,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EAAA,GACpB,UAAU,EAAA,EAEb,QAAQ,CACH;AAEZ;;;;"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["import {\n Checkbox as BaseCheckbox,\n CheckboxRootProps as BaseCheckboxRootProps,\n CheckboxIndicatorProps,\n} from \"@base-ui/react/checkbox\";\nimport { Field as BaseField } from \"@base-ui/react/field\";\nimport { CheckIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { FieldAttributes } from \"../../lib/types\";\nimport { cn } from \"../../lib/utils\";\nimport { useCheckboxGroupContext } from \"../checkbox-group/CheckboxGroup\";\nimport { Field, FieldProps, useFieldContext } from \"../field/Field\";\n\nexport interface CheckboxProps\n extends BaseCheckboxRootProps, Omit<FieldAttributes, \"label\"> {\n label?: React.ReactNode;\n labelProps?: React.LabelHTMLAttributes<HTMLLabelElement>;\n indicatorProps?: CheckboxIndicatorProps;\n iconProps?: React.SVGProps<SVGSVGElement>;\n fieldProps?: FieldProps;\n}\n\nexport function Checkbox({\n label,\n className,\n fieldProps,\n description,\n isValidating: _isValidating,\n isValidatingMessage,\n errorMessage,\n labelProps: { className: labelClassName, ...labelProps } = {},\n indicatorProps: { className: indicatorClassName, ...indicatorProps } = {},\n iconProps: { className: iconClassName, ...iconProps } = {},\n ...props\n}: CheckboxProps) {\n const labelId = React.useId();\n const isInCheckboxGroup = useCheckboxGroupContext();\n const { isValidating: groupIsValidating } = useFieldContext();\n const isValidating = isInCheckboxGroup ? groupIsValidating : _isValidating;\n\n const children = (\n <BaseField.Label\n className={cn(\n \"text-foreground flex items-center gap-2 text-base\",\n labelClassName,\n )}\n {...labelProps}\n >\n <BaseCheckbox.Root\n className={cn(\n \"data-validating:not-data-invalid:animate-validating data-invalid:border-error-foreground data-invalid:data-checked:bg-error data-invalid:data-checked:border-error data-checked:bg-primary data-checked:border-primary focus-visible:outline-highlight flex size-5 items-center justify-center rounded-sm border outline-offset-2 focus-visible:outline-2\",\n className,\n )}\n aria-labelledby={labelId}\n data-validating={isValidating ? \"\" : undefined}\n {...props}\n >\n <BaseCheckbox.Indicator\n className={cn(\n \"text-on-primary data-invalid:border-error data-invalid:bg-error flex data-unchecked:hidden\",\n indicatorClassName,\n )}\n {...indicatorProps}\n >\n <CheckIcon className={cn(\"size-4\", iconClassName)} {...iconProps} />\n </BaseCheckbox.Indicator>\n </BaseCheckbox.Root>\n <span id={labelId}>{label}</span>\n </BaseField.Label>\n );\n\n if (isInCheckboxGroup) {\n return <BaseField.Item>{children}</BaseField.Item>;\n }\n\n return (\n <Field\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n {children}\n </Field>\n );\n}\n"],"names":["React","BaseField","BaseCheckbox","Field"],"mappings":";;;;;;;;AAsBM,SAAU,QAAQ,CAAC,EACvB,KAAK,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EAAE,aAAa,EAC3B,mBAAmB,EACnB,YAAY,EACZ,UAAU,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,EAC7D,cAAc,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,EACzE,SAAS,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,EAC1D,GAAG,KAAK,EACM,EAAA;AACd,IAAA,MAAM,OAAO,GAAGA,cAAK,CAAC,KAAK,EAAE;AAC7B,IAAA,MAAM,iBAAiB,GAAG,uBAAuB,EAAE;IACnD,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,eAAe,EAAE;IAC7D,MAAM,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,aAAa;AAE1E,IAAA,MAAM,QAAQ,IACZA,cAAA,CAAA,aAAA,CAACC,KAAS,CAAC,KAAK,EAAA,EACd,SAAS,EAAE,EAAE,CACX,mDAAmD,EACnD,cAAc,CACf,KACG,UAAU,EAAA;QAEdD,cAAA,CAAA,aAAA,CAACE,UAAY,CAAC,IAAI,EAAA,EAChB,SAAS,EAAE,EAAE,CACX,2VAA2V,EAC3V,SAAS,CACV,qBACgB,OAAO,EAAA,iBAAA,EACP,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA;AAET,YAAAF,cAAA,CAAA,aAAA,CAACE,UAAY,CAAC,SAAS,EAAA,EACrB,SAAS,EAAE,EAAE,CACX,4FAA4F,EAC5F,kBAAkB,CACnB,KACG,cAAc,EAAA;AAElB,gBAAAF,cAAA,CAAA,aAAA,CAAC,SAAS,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAA,GAAM,SAAS,EAAA,CAAI,CAC7C,CACP;QACpBA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,EAAE,EAAE,OAAO,EAAA,EAAG,KAAK,CAAQ,CACjB,CACnB;IAED,IAAI,iBAAiB,EAAE;AACrB,QAAA,OAAOA,6BAACC,KAAS,CAAC,IAAI,EAAA,IAAA,EAAE,QAAQ,CAAkB;IACpD;IAEA,QACED,cAAA,CAAA,aAAA,CAACG,OAAK,EAAA,EACJ,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EAAA,GACpB,UAAU,EAAA,EAEb,QAAQ,CACH;AAEZ;;;;"}
@@ -1 +1 @@
1
- export * from "./Checkbox";
1
+ export { Checkbox, CheckboxProps } from "./Checkbox";
@@ -1,9 +1,9 @@
1
1
  import { CheckboxGroupProps as BaseCheckboxGroupProps } from "@base-ui/react/checkbox-group";
2
2
  import { FieldsetLegendProps, FieldsetRootProps } from "@base-ui/react/fieldset";
3
3
  import * as React from "react";
4
- import { BasicFieldProps } from "../../lib/utils";
4
+ import { FieldAttributes } from "../../lib/types";
5
5
  import { FieldProps } from "../field/Field";
6
- interface CheckboxGroupProps extends BaseCheckboxGroupProps, BasicFieldProps {
6
+ export interface CheckboxGroupProps extends BaseCheckboxGroupProps, FieldAttributes {
7
7
  children?: React.ReactNode;
8
8
  fieldProps?: FieldProps;
9
9
  fieldsetProps?: FieldsetRootProps;
@@ -11,4 +11,3 @@ interface CheckboxGroupProps extends BaseCheckboxGroupProps, BasicFieldProps {
11
11
  }
12
12
  export declare function CheckboxGroup({ children, label, isValidating, isValidatingMessage, errorMessage, description, fieldProps, fieldsetProps: { className: fieldsetClassName, ...fieldsetProps }, legendProps: { className: legendClassName, ...legendProps }, ...props }: CheckboxGroupProps): React.JSX.Element;
13
13
  export declare function useCheckboxGroupContext(): boolean;
14
- export {};
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxGroup.js","sources":["../../../../src/components/checkbox-group/CheckboxGroup.tsx"],"sourcesContent":["import {\n CheckboxGroup as BaseCheckboxGroup,\n CheckboxGroupProps as BaseCheckboxGroupProps,\n} from \"@base-ui/react/checkbox-group\";\nimport {\n Fieldset,\n FieldsetLegendProps,\n FieldsetRootProps,\n} from \"@base-ui/react/fieldset\";\nimport * as React from \"react\";\nimport { BasicFieldProps, cn } from \"../../lib/utils\";\nimport { Field, FieldProps } from \"../field/Field\";\n\ninterface CheckboxGroupProps extends BaseCheckboxGroupProps, BasicFieldProps {\n children?: React.ReactNode;\n fieldProps?: FieldProps;\n fieldsetProps?: FieldsetRootProps;\n legendProps?: FieldsetLegendProps;\n}\n\nexport function CheckboxGroup({\n children,\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n description,\n fieldProps,\n fieldsetProps: { className: fieldsetClassName, ...fieldsetProps } = {},\n legendProps: { className: legendClassName, ...legendProps } = {},\n ...props\n}: CheckboxGroupProps) {\n return (\n <CheckboxGroupContext.Provider value={true}>\n <Field\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n <Fieldset.Root\n render={<BaseCheckboxGroup {...props} />}\n className={cn(\"flex flex-col gap-1\", fieldsetClassName)}\n {...fieldsetProps}\n >\n <Fieldset.Legend\n className={cn(\n \"text-foreground text-sm font-semibold\",\n legendClassName,\n )}\n {...legendProps}\n >\n {label}\n </Fieldset.Legend>\n {children}\n </Fieldset.Root>\n </Field>\n </CheckboxGroupContext.Provider>\n );\n}\n\nconst CheckboxGroupContext = React.createContext<boolean>(false);\n\nexport function useCheckboxGroupContext() {\n return React.useContext(CheckboxGroupContext);\n}\n"],"names":["BaseCheckboxGroup"],"mappings":";;;;;;AAoBM,SAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,aAAa,EAAE,GAAG,EAAE,EACtE,WAAW,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,EAChE,GAAG,KAAK,EACW,EAAA;IACnB,QACE,oBAAC,oBAAoB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,IAAI,EAAA;AACxC,QAAA,KAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EACJ,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,KACpB,UAAU,EAAA;YAEd,KAAA,CAAA,aAAA,CAAC,QAAQ,CAAC,IAAI,EAAA,EACZ,MAAM,EAAE,KAAA,CAAA,aAAA,CAACA,eAAiB,EAAA,EAAA,GAAK,KAAK,GAAI,EACxC,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,EAAA,GACnD,aAAa,EAAA;AAEjB,gBAAA,KAAA,CAAA,aAAA,CAAC,QAAQ,CAAC,MAAM,EAAA,EACd,SAAS,EAAE,EAAE,CACX,uCAAuC,EACvC,eAAe,CAChB,EAAA,GACG,WAAW,EAAA,EAEd,KAAK,CACU;AACjB,gBAAA,QAAQ,CACK,CACV,CACsB;AAEpC;AAEA,MAAM,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAU,KAAK,CAAC;SAEhD,uBAAuB,GAAA;AACrC,IAAA,OAAO,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC;AAC/C;;;;"}
1
+ {"version":3,"file":"CheckboxGroup.js","sources":["../../../../src/components/checkbox-group/CheckboxGroup.tsx"],"sourcesContent":["import {\n CheckboxGroup as BaseCheckboxGroup,\n CheckboxGroupProps as BaseCheckboxGroupProps,\n} from \"@base-ui/react/checkbox-group\";\nimport {\n Fieldset,\n FieldsetLegendProps,\n FieldsetRootProps,\n} from \"@base-ui/react/fieldset\";\nimport * as React from \"react\";\nimport { FieldAttributes } from \"../../lib/types\";\nimport { cn } from \"../../lib/utils\";\nimport { Field, FieldProps } from \"../field/Field\";\n\nexport interface CheckboxGroupProps\n extends BaseCheckboxGroupProps, FieldAttributes {\n children?: React.ReactNode;\n fieldProps?: FieldProps;\n fieldsetProps?: FieldsetRootProps;\n legendProps?: FieldsetLegendProps;\n}\n\nexport function CheckboxGroup({\n children,\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n description,\n fieldProps,\n fieldsetProps: { className: fieldsetClassName, ...fieldsetProps } = {},\n legendProps: { className: legendClassName, ...legendProps } = {},\n ...props\n}: CheckboxGroupProps) {\n return (\n <CheckboxGroupContext.Provider value={true}>\n <Field\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n <Fieldset.Root\n render={<BaseCheckboxGroup {...props} />}\n className={cn(\"flex flex-col gap-1\", fieldsetClassName)}\n {...fieldsetProps}\n >\n <Fieldset.Legend\n className={cn(\n \"text-foreground text-sm font-semibold\",\n legendClassName,\n )}\n {...legendProps}\n >\n {label}\n </Fieldset.Legend>\n {children}\n </Fieldset.Root>\n </Field>\n </CheckboxGroupContext.Provider>\n );\n}\n\nconst CheckboxGroupContext = React.createContext<boolean>(false);\n\nexport function useCheckboxGroupContext() {\n return React.useContext(CheckboxGroupContext);\n}\n"],"names":["BaseCheckboxGroup"],"mappings":";;;;;;AAsBM,SAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,aAAa,EAAE,GAAG,EAAE,EACtE,WAAW,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,EAChE,GAAG,KAAK,EACW,EAAA;IACnB,QACE,oBAAC,oBAAoB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,IAAI,EAAA;AACxC,QAAA,KAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EACJ,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,KACpB,UAAU,EAAA;YAEd,KAAA,CAAA,aAAA,CAAC,QAAQ,CAAC,IAAI,EAAA,EACZ,MAAM,EAAE,KAAA,CAAA,aAAA,CAACA,eAAiB,EAAA,EAAA,GAAK,KAAK,GAAI,EACxC,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,EAAA,GACnD,aAAa,EAAA;AAEjB,gBAAA,KAAA,CAAA,aAAA,CAAC,QAAQ,CAAC,MAAM,EAAA,EACd,SAAS,EAAE,EAAE,CACX,uCAAuC,EACvC,eAAe,CAChB,EAAA,GACG,WAAW,EAAA,EAEd,KAAK,CACU;AACjB,gBAAA,QAAQ,CACK,CACV,CACsB;AAEpC;AAEA,MAAM,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAU,KAAK,CAAC;SAEhD,uBAAuB,GAAA;AACrC,IAAA,OAAO,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC;AAC/C;;;;"}
@@ -1 +1 @@
1
- export * from "./CheckboxGroup";
1
+ export { CheckboxGroup, CheckboxGroupProps } from "./CheckboxGroup";
@@ -1,7 +1,7 @@
1
1
  import { FieldRootProps as BaseFieldRootProps, FieldDescriptionProps, FieldErrorProps, FieldLabelProps } from "@base-ui/react/field";
2
2
  import React from "react";
3
- import { BasicFieldProps } from "../../lib/utils";
4
- export interface FieldProps extends BaseFieldRootProps, BasicFieldProps {
3
+ import { FieldAttributes } from "../../lib/types";
4
+ export interface FieldProps extends BaseFieldRootProps, FieldAttributes {
5
5
  labelProps?: FieldLabelProps;
6
6
  errorMessageProps?: FieldErrorProps;
7
7
  descriptionProps?: FieldDescriptionProps;
@@ -1 +1 @@
1
- {"version":3,"file":"Field.js","sources":["../../../../src/components/field/Field.tsx"],"sourcesContent":["import {\n Field as BaseField,\n FieldRootProps as BaseFieldRootProps,\n FieldDescriptionProps,\n FieldErrorProps,\n FieldLabelProps,\n} from \"@base-ui/react/field\";\nimport React from \"react\";\nimport { BasicFieldProps, cn } from \"../../lib/utils\";\n\nexport interface FieldProps extends BaseFieldRootProps, BasicFieldProps {\n labelProps?: FieldLabelProps;\n errorMessageProps?: FieldErrorProps;\n descriptionProps?: FieldDescriptionProps;\n isValidatingMessageProps?: FieldDescriptionProps;\n}\n\nexport function Field({\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n className,\n description,\n children,\n labelProps: { className: labelClassName, ...labelProps } = {},\n errorMessageProps: {\n className: errorMessageClassName,\n ...errorMessageProps\n } = {},\n descriptionProps: {\n className: descriptionClassName,\n ...descriptionProps\n } = {},\n isValidatingMessageProps: {\n className: isValidatingMessageClassName,\n ...isValidatingMessageProps\n } = {},\n ...props\n}: FieldProps) {\n const invalid = !!errorMessage;\n\n return (\n <FieldContext.Provider value={{ isValidating: !!isValidating }}>\n <BaseField.Root\n className={cn(\"flex flex-col gap-1\", className)}\n invalid={invalid}\n data-validating={isValidating ? \"\" : undefined}\n {...props}\n >\n {label && (\n <BaseField.Label\n className={cn(\n \"text-foreground text-sm font-semibold\",\n labelClassName,\n )}\n {...labelProps}\n >\n {label}\n </BaseField.Label>\n )}\n {children}\n <BaseField.Error\n className={cn(\"text-error-foreground text-sm\", errorMessageClassName)}\n match={invalid}\n {...errorMessageProps}\n >\n {errorMessage}\n </BaseField.Error>\n {isValidating && isValidatingMessage && !errorMessage && (\n <BaseField.Description\n className={cn(\n \"text-primary-foreground animate-validating-message text-sm\",\n isValidatingMessageClassName,\n )}\n {...isValidatingMessageProps}\n >\n {isValidatingMessage}\n </BaseField.Description>\n )}\n {description && (\n <BaseField.Description\n className={cn(\n \"text-muted-foreground text-sm\",\n descriptionClassName,\n )}\n {...descriptionProps}\n >\n {description}\n </BaseField.Description>\n )}\n </BaseField.Root>\n </FieldContext.Provider>\n );\n}\n\nexport const FieldContext = React.createContext({\n isValidating: false,\n});\n\nexport function useFieldContext() {\n return React.useContext(FieldContext);\n}\n"],"names":["React","BaseField"],"mappings":";;;;AAiBM,SAAU,KAAK,CAAC,EACpB,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,UAAU,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,EAC7D,iBAAiB,EAAE,EACjB,SAAS,EAAE,qBAAqB,EAChC,GAAG,iBAAiB,EACrB,GAAG,EAAE,EACN,gBAAgB,EAAE,EAChB,SAAS,EAAE,oBAAoB,EAC/B,GAAG,gBAAgB,EACpB,GAAG,EAAE,EACN,wBAAwB,EAAE,EACxB,SAAS,EAAE,4BAA4B,EACvC,GAAG,wBAAwB,EAC5B,GAAG,EAAE,EACN,GAAG,KAAK,EACG,EAAA;AACX,IAAA,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY;AAE9B,IAAA,QACEA,cAAA,CAAA,aAAA,CAAC,YAAY,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,EAAA;QAC5DA,cAAA,CAAA,aAAA,CAACC,OAAS,CAAC,IAAI,EAAA,EACb,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAC/C,OAAO,EAAE,OAAO,EAAA,iBAAA,EACC,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA;YAER,KAAK,KACJD,cAAA,CAAA,aAAA,CAACC,OAAS,CAAC,KAAK,EAAA,EACd,SAAS,EAAE,EAAE,CACX,uCAAuC,EACvC,cAAc,CACf,EAAA,GACG,UAAU,EAAA,EAEb,KAAK,CACU,CACnB;YACA,QAAQ;YACTD,cAAA,CAAA,aAAA,CAACC,OAAS,CAAC,KAAK,EAAA,EACd,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,qBAAqB,CAAC,EACrE,KAAK,EAAE,OAAO,KACV,iBAAiB,EAAA,EAEpB,YAAY,CACG;YACjB,YAAY,IAAI,mBAAmB,IAAI,CAAC,YAAY,KACnDD,cAAA,CAAA,aAAA,CAACC,OAAS,CAAC,WAAW,EAAA,EACpB,SAAS,EAAE,EAAE,CACX,4DAA4D,EAC5D,4BAA4B,CAC7B,EAAA,GACG,wBAAwB,EAAA,EAE3B,mBAAmB,CACE,CACzB;YACA,WAAW,KACVD,cAAA,CAAA,aAAA,CAACC,OAAS,CAAC,WAAW,EAAA,EACpB,SAAS,EAAE,EAAE,CACX,+BAA+B,EAC/B,oBAAoB,CACrB,EAAA,GACG,gBAAgB,EAAA,EAEnB,WAAW,CACU,CACzB,CACc,CACK;AAE5B;AAEO,MAAM,YAAY,GAAGD,cAAK,CAAC,aAAa,CAAC;AAC9C,IAAA,YAAY,EAAE,KAAK;AACpB,CAAA;SAEe,eAAe,GAAA;AAC7B,IAAA,OAAOA,cAAK,CAAC,UAAU,CAAC,YAAY,CAAC;AACvC;;;;"}
1
+ {"version":3,"file":"Field.js","sources":["../../../../src/components/field/Field.tsx"],"sourcesContent":["import {\n Field as BaseField,\n FieldRootProps as BaseFieldRootProps,\n FieldDescriptionProps,\n FieldErrorProps,\n FieldLabelProps,\n} from \"@base-ui/react/field\";\nimport React from \"react\";\nimport { FieldAttributes } from \"../../lib/types\";\nimport { cn } from \"../../lib/utils\";\n\nexport interface FieldProps extends BaseFieldRootProps, FieldAttributes {\n labelProps?: FieldLabelProps;\n errorMessageProps?: FieldErrorProps;\n descriptionProps?: FieldDescriptionProps;\n isValidatingMessageProps?: FieldDescriptionProps;\n}\n\nexport function Field({\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n className,\n description,\n children,\n labelProps: { className: labelClassName, ...labelProps } = {},\n errorMessageProps: {\n className: errorMessageClassName,\n ...errorMessageProps\n } = {},\n descriptionProps: {\n className: descriptionClassName,\n ...descriptionProps\n } = {},\n isValidatingMessageProps: {\n className: isValidatingMessageClassName,\n ...isValidatingMessageProps\n } = {},\n ...props\n}: FieldProps) {\n const invalid = !!errorMessage;\n\n return (\n <FieldContext.Provider value={{ isValidating: !!isValidating }}>\n <BaseField.Root\n className={cn(\"flex flex-col gap-1\", className)}\n invalid={invalid}\n data-validating={isValidating ? \"\" : undefined}\n {...props}\n >\n {label && (\n <BaseField.Label\n className={cn(\n \"text-foreground text-sm font-semibold\",\n labelClassName,\n )}\n {...labelProps}\n >\n {label}\n </BaseField.Label>\n )}\n {children}\n <BaseField.Error\n className={cn(\"text-error-foreground text-sm\", errorMessageClassName)}\n match={invalid}\n {...errorMessageProps}\n >\n {errorMessage}\n </BaseField.Error>\n {isValidating && isValidatingMessage && !errorMessage && (\n <BaseField.Description\n className={cn(\n \"text-primary-foreground animate-validating-message text-sm\",\n isValidatingMessageClassName,\n )}\n {...isValidatingMessageProps}\n >\n {isValidatingMessage}\n </BaseField.Description>\n )}\n {description && (\n <BaseField.Description\n className={cn(\n \"text-muted-foreground text-sm\",\n descriptionClassName,\n )}\n {...descriptionProps}\n >\n {description}\n </BaseField.Description>\n )}\n </BaseField.Root>\n </FieldContext.Provider>\n );\n}\n\nexport const FieldContext = React.createContext({\n isValidating: false,\n});\n\nexport function useFieldContext() {\n return React.useContext(FieldContext);\n}\n"],"names":["React","BaseField"],"mappings":";;;;AAkBM,SAAU,KAAK,CAAC,EACpB,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,UAAU,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,EAC7D,iBAAiB,EAAE,EACjB,SAAS,EAAE,qBAAqB,EAChC,GAAG,iBAAiB,EACrB,GAAG,EAAE,EACN,gBAAgB,EAAE,EAChB,SAAS,EAAE,oBAAoB,EAC/B,GAAG,gBAAgB,EACpB,GAAG,EAAE,EACN,wBAAwB,EAAE,EACxB,SAAS,EAAE,4BAA4B,EACvC,GAAG,wBAAwB,EAC5B,GAAG,EAAE,EACN,GAAG,KAAK,EACG,EAAA;AACX,IAAA,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY;AAE9B,IAAA,QACEA,cAAA,CAAA,aAAA,CAAC,YAAY,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,EAAA;QAC5DA,cAAA,CAAA,aAAA,CAACC,OAAS,CAAC,IAAI,EAAA,EACb,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAC/C,OAAO,EAAE,OAAO,EAAA,iBAAA,EACC,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA;YAER,KAAK,KACJD,cAAA,CAAA,aAAA,CAACC,OAAS,CAAC,KAAK,EAAA,EACd,SAAS,EAAE,EAAE,CACX,uCAAuC,EACvC,cAAc,CACf,EAAA,GACG,UAAU,EAAA,EAEb,KAAK,CACU,CACnB;YACA,QAAQ;YACTD,cAAA,CAAA,aAAA,CAACC,OAAS,CAAC,KAAK,EAAA,EACd,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,qBAAqB,CAAC,EACrE,KAAK,EAAE,OAAO,KACV,iBAAiB,EAAA,EAEpB,YAAY,CACG;YACjB,YAAY,IAAI,mBAAmB,IAAI,CAAC,YAAY,KACnDD,cAAA,CAAA,aAAA,CAACC,OAAS,CAAC,WAAW,EAAA,EACpB,SAAS,EAAE,EAAE,CACX,4DAA4D,EAC5D,4BAA4B,CAC7B,EAAA,GACG,wBAAwB,EAAA,EAE3B,mBAAmB,CACE,CACzB;YACA,WAAW,KACVD,cAAA,CAAA,aAAA,CAACC,OAAS,CAAC,WAAW,EAAA,EACpB,SAAS,EAAE,EAAE,CACX,+BAA+B,EAC/B,oBAAoB,CACrB,EAAA,GACG,gBAAgB,EAAA,EAEnB,WAAW,CACU,CACzB,CACc,CACK;AAE5B;AAEO,MAAM,YAAY,GAAGD,cAAK,CAAC,aAAa,CAAC;AAC9C,IAAA,YAAY,EAAE,KAAK;AACpB,CAAA;SAEe,eAAe,GAAA;AAC7B,IAAA,OAAOA,cAAK,CAAC,UAAU,CAAC,YAAY,CAAC;AACvC;;;;"}
@@ -1 +1 @@
1
- export * from "./Field";
1
+ export { Field, FieldProps } from "./Field";
@@ -1,8 +1,8 @@
1
1
  import { InputProps as BaseInputProps } from "@base-ui/react/input";
2
2
  import React from "react";
3
- import { BasicFieldProps } from "../../lib/utils";
3
+ import { FieldAttributes } from "../../lib/types";
4
4
  import { FieldProps } from "../field/Field";
5
- export interface InputProps extends BaseInputProps, BasicFieldProps {
5
+ export interface InputProps extends BaseInputProps, FieldAttributes {
6
6
  fieldProps?: FieldProps;
7
7
  button?: React.ReactNode;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../../../../src/components/input/Input.tsx"],"sourcesContent":["import {\n Input as BaseInput,\n InputProps as BaseInputProps,\n} from \"@base-ui/react/input\";\nimport React from \"react\";\nimport { BasicFieldProps, cn } from \"../../lib/utils\";\nimport { Field, FieldProps } from \"../field/Field\";\n\nexport interface InputProps extends BaseInputProps, BasicFieldProps {\n fieldProps?: FieldProps;\n button?: React.ReactNode;\n}\n\nexport function Input({\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n className,\n description,\n fieldProps,\n button,\n ...props\n}: InputProps) {\n return (\n <Field\n label={label}\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n <div className=\"flex items-stretch gap-2\">\n <BaseInput\n className={cn(\n \"data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating focus:border-highlight placeholder:text-muted-foreground focus:inset-shadow-muted/50 w-full min-w-40 rounded-lg border p-2 transition-colors outline-none focus:inset-shadow-sm\",\n className,\n )}\n data-validating={isValidating ? \"\" : undefined}\n {...props}\n />\n {button}\n </div>\n </Field>\n );\n}\n"],"names":["React","BaseInput"],"mappings":";;;;;AAaM,SAAU,KAAK,CAAC,EACpB,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,MAAM,EACN,GAAG,KAAK,EACG,EAAA;IACX,QACEA,cAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EACJ,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EAAA,GACpB,UAAU,EAAA;QAEdA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0BAA0B,EAAA;YACvCA,cAAA,CAAA,aAAA,CAACC,OAAS,IACR,SAAS,EAAE,EAAE,CACX,oRAAoR,EACpR,SAAS,CACV,EAAA,iBAAA,EACgB,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA,CACT;YACD,MAAM,CACH,CACA;AAEZ;;;;"}
1
+ {"version":3,"file":"Input.js","sources":["../../../../src/components/input/Input.tsx"],"sourcesContent":["import {\n Input as BaseInput,\n InputProps as BaseInputProps,\n} from \"@base-ui/react/input\";\nimport React from \"react\";\nimport { FieldAttributes } from \"../../lib/types\";\nimport { cn } from \"../../lib/utils\";\nimport { Field, FieldProps } from \"../field/Field\";\n\nexport interface InputProps extends BaseInputProps, FieldAttributes {\n fieldProps?: FieldProps;\n button?: React.ReactNode;\n}\n\nexport function Input({\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n className,\n description,\n fieldProps,\n button,\n ...props\n}: InputProps) {\n return (\n <Field\n label={label}\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n <div className=\"flex items-stretch gap-2\">\n <BaseInput\n className={cn(\n \"data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating focus:border-highlight placeholder:text-muted-foreground focus:inset-shadow-muted/50 w-full min-w-40 rounded-lg border p-2 transition-colors outline-none focus:inset-shadow-sm\",\n className,\n )}\n data-validating={isValidating ? \"\" : undefined}\n {...props}\n />\n {button}\n </div>\n </Field>\n );\n}\n"],"names":["React","BaseInput"],"mappings":";;;;;AAcM,SAAU,KAAK,CAAC,EACpB,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,MAAM,EACN,GAAG,KAAK,EACG,EAAA;IACX,QACEA,cAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EACJ,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EAAA,GACpB,UAAU,EAAA;QAEdA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0BAA0B,EAAA;YACvCA,cAAA,CAAA,aAAA,CAACC,OAAS,IACR,SAAS,EAAE,EAAE,CACX,oRAAoR,EACpR,SAAS,CACV,EAAA,iBAAA,EACgB,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA,CACT;YACD,MAAM,CACH,CACA;AAEZ;;;;"}
@@ -1 +1 @@
1
- export * from "./Input";
1
+ export { Input, InputProps } from "./Input";
@@ -1,18 +1,7 @@
1
1
  import { RadioIndicatorProps, RadioRootProps } from "@base-ui/react/radio";
2
- import { RadioGroupProps as BaseRadioGroupProps } from "@base-ui/react/radio-group";
3
2
  import * as React from "react";
4
- import { BasicFieldProps } from "../../lib/utils";
5
- import { FieldProps } from "../field/Field";
6
- interface RadioProps extends RadioRootProps {
3
+ export interface RadioProps extends RadioRootProps {
7
4
  label?: React.ReactNode;
8
5
  indicatorProps?: RadioIndicatorProps;
9
6
  }
10
7
  export declare function Radio({ label, indicatorProps: { className: indicatorClassName, ...indicatorProps }, ...props }: RadioProps): React.JSX.Element;
11
- export declare namespace Radio {
12
- var Group: typeof RadioGroup;
13
- }
14
- interface RadioGroupProps extends BaseRadioGroupProps, BasicFieldProps {
15
- fieldProps?: FieldProps;
16
- }
17
- export declare function RadioGroup({ isValidating, isValidatingMessage, errorMessage, description, fieldProps, label, children, ...props }: RadioGroupProps): React.JSX.Element;
18
- export {};
@@ -1,9 +1,7 @@
1
- import { Fieldset } from '@base-ui/react/fieldset';
2
1
  import { Radio as Radio$1 } from '@base-ui/react/radio';
3
- import { RadioGroup as RadioGroup$1 } from '@base-ui/react/radio-group';
4
2
  import * as React from 'react';
5
3
  import { cn } from '../../lib/utils.js';
6
- import { useFieldContext, Field } from '../field/Field.js';
4
+ import { useFieldContext } from '../field/Field.js';
7
5
 
8
6
  function Radio({ label, indicatorProps: { className: indicatorClassName, ...indicatorProps } = {}, ...props }) {
9
7
  const id = React.useId();
@@ -13,13 +11,6 @@ function Radio({ label, indicatorProps: { className: indicatorClassName, ...indi
13
11
  React.createElement(Radio$1.Indicator, { className: cn("before:bg-primary data-invalid:before:bg-error flex before:size-3 before:rounded-full data-unchecked:hidden", indicatorClassName), ...indicatorProps })),
14
12
  label));
15
13
  }
16
- function RadioGroup({ isValidating, isValidatingMessage, errorMessage, description, fieldProps, label, children, ...props }) {
17
- return (React.createElement(Field, { isValidating: isValidating, isValidatingMessage: isValidatingMessage, errorMessage: errorMessage, description: description, ...fieldProps },
18
- React.createElement(Fieldset.Root, { render: React.createElement(RadioGroup$1, { ...props }), className: "flex flex-col gap-1" },
19
- React.createElement(Fieldset.Legend, { className: "text-foreground text-sm font-semibold" }, label),
20
- children)));
21
- }
22
- Radio.Group = RadioGroup;
23
14
 
24
- export { Radio, RadioGroup };
15
+ export { Radio };
25
16
  //# sourceMappingURL=Radio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","sources":["../../../../src/components/radio/Radio.tsx"],"sourcesContent":["import { Fieldset } from \"@base-ui/react/fieldset\";\nimport {\n Radio as BaseRadio,\n RadioIndicatorProps,\n RadioRootProps,\n} from \"@base-ui/react/radio\";\nimport {\n RadioGroup as BaseRadioGroup,\n RadioGroupProps as BaseRadioGroupProps,\n} from \"@base-ui/react/radio-group\";\nimport * as React from \"react\";\nimport { BasicFieldProps, cn } from \"../../lib/utils\";\nimport { Field, FieldProps, useFieldContext } from \"../field/Field\";\n\ninterface RadioProps extends RadioRootProps {\n label?: React.ReactNode;\n indicatorProps?: RadioIndicatorProps;\n}\n\nexport function Radio({\n label,\n indicatorProps: { className: indicatorClassName, ...indicatorProps } = {},\n ...props\n}: RadioProps) {\n const id = React.useId();\n const { isValidating } = useFieldContext();\n\n return (\n <label className=\"flex items-center gap-2\" id={id}>\n <BaseRadio.Root\n className={cn(\n \"data-validating:not-data-invalid:animate-validating focus-visible:outline-highlight data-checked:border-primary-foreground data-invalid:border-error-foreground flex size-5 items-center justify-center rounded-full border focus-visible:outline-2 focus-visible:outline-offset-2\",\n )}\n aria-labelledby={id}\n data-validating={isValidating ? \"\" : undefined}\n {...props}\n >\n <BaseRadio.Indicator\n className={cn(\n \"before:bg-primary data-invalid:before:bg-error flex before:size-3 before:rounded-full data-unchecked:hidden\",\n indicatorClassName,\n )}\n {...indicatorProps}\n />\n </BaseRadio.Root>\n {label}\n </label>\n );\n}\n\ninterface RadioGroupProps extends BaseRadioGroupProps, BasicFieldProps {\n fieldProps?: FieldProps;\n}\n\nexport function RadioGroup({\n isValidating,\n isValidatingMessage,\n errorMessage,\n description,\n fieldProps,\n label,\n children,\n ...props\n}: RadioGroupProps) {\n return (\n <Field\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n <Fieldset.Root\n render={<BaseRadioGroup {...props} />}\n className=\"flex flex-col gap-1\"\n >\n <Fieldset.Legend className=\"text-foreground text-sm font-semibold\">\n {label}\n </Fieldset.Legend>\n {children}\n </Fieldset.Root>\n </Field>\n );\n}\n\nRadio.Group = RadioGroup;\n"],"names":["BaseRadio","BaseRadioGroup"],"mappings":";;;;;;;AAmBM,SAAU,KAAK,CAAC,EACpB,KAAK,EACL,cAAc,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,EACzE,GAAG,KAAK,EACG,EAAA;AACX,IAAA,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE;AACxB,IAAA,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE;IAE1C,QACE,+BAAO,SAAS,EAAC,yBAAyB,EAAC,EAAE,EAAE,EAAE,EAAA;QAC/C,KAAA,CAAA,aAAA,CAACA,OAAS,CAAC,IAAI,EAAA,EACb,SAAS,EAAE,EAAE,CACX,oRAAoR,CACrR,EAAA,iBAAA,EACgB,EAAE,EAAA,iBAAA,EACF,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA;AAET,YAAA,KAAA,CAAA,aAAA,CAACA,OAAS,CAAC,SAAS,EAAA,EAClB,SAAS,EAAE,EAAE,CACX,6GAA6G,EAC7G,kBAAkB,CACnB,EAAA,GACG,cAAc,GAClB,CACa;QAChB,KAAK,CACA;AAEZ;AAMM,SAAU,UAAU,CAAC,EACzB,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACQ,EAAA;IAChB,QACE,oBAAC,KAAK,EAAA,EACJ,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,KACpB,UAAU,EAAA;AAEd,QAAA,KAAA,CAAA,aAAA,CAAC,QAAQ,CAAC,IAAI,EAAA,EACZ,MAAM,EAAE,KAAA,CAAA,aAAA,CAACC,YAAc,EAAA,EAAA,GAAK,KAAK,EAAA,CAAI,EACrC,SAAS,EAAC,qBAAqB,EAAA;YAE/B,KAAA,CAAA,aAAA,CAAC,QAAQ,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,uCAAuC,EAAA,EAC/D,KAAK,CACU;YACjB,QAAQ,CACK,CACV;AAEZ;AAEA,KAAK,CAAC,KAAK,GAAG,UAAU;;;;"}
1
+ {"version":3,"file":"Radio.js","sources":["../../../../src/components/radio/Radio.tsx"],"sourcesContent":["import {\n Radio as BaseRadio,\n RadioIndicatorProps,\n RadioRootProps,\n} from \"@base-ui/react/radio\";\nimport * as React from \"react\";\nimport { cn } from \"../../lib/utils\";\nimport { useFieldContext } from \"../field/Field\";\n\nexport interface RadioProps extends RadioRootProps {\n label?: React.ReactNode;\n indicatorProps?: RadioIndicatorProps;\n}\n\nexport function Radio({\n label,\n indicatorProps: { className: indicatorClassName, ...indicatorProps } = {},\n ...props\n}: RadioProps) {\n const id = React.useId();\n const { isValidating } = useFieldContext();\n\n return (\n <label className=\"flex items-center gap-2\" id={id}>\n <BaseRadio.Root\n className={cn(\n \"data-validating:not-data-invalid:animate-validating focus-visible:outline-highlight data-checked:border-primary-foreground data-invalid:border-error-foreground flex size-5 items-center justify-center rounded-full border focus-visible:outline-2 focus-visible:outline-offset-2\",\n )}\n aria-labelledby={id}\n data-validating={isValidating ? \"\" : undefined}\n {...props}\n >\n <BaseRadio.Indicator\n className={cn(\n \"before:bg-primary data-invalid:before:bg-error flex before:size-3 before:rounded-full data-unchecked:hidden\",\n indicatorClassName,\n )}\n {...indicatorProps}\n />\n </BaseRadio.Root>\n {label}\n </label>\n );\n}\n"],"names":["BaseRadio"],"mappings":";;;;;AAcM,SAAU,KAAK,CAAC,EACpB,KAAK,EACL,cAAc,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,EACzE,GAAG,KAAK,EACG,EAAA;AACX,IAAA,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE;AACxB,IAAA,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE;IAE1C,QACE,+BAAO,SAAS,EAAC,yBAAyB,EAAC,EAAE,EAAE,EAAE,EAAA;QAC/C,KAAA,CAAA,aAAA,CAACA,OAAS,CAAC,IAAI,EAAA,EACb,SAAS,EAAE,EAAE,CACX,oRAAoR,CACrR,EAAA,iBAAA,EACgB,EAAE,EAAA,iBAAA,EACF,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA;AAET,YAAA,KAAA,CAAA,aAAA,CAACA,OAAS,CAAC,SAAS,EAAA,EAClB,SAAS,EAAE,EAAE,CACX,6GAA6G,EAC7G,kBAAkB,CACnB,EAAA,GACG,cAAc,GAClB,CACa;QAChB,KAAK,CACA;AAEZ;;;;"}
@@ -1 +1 @@
1
- export * from "./Radio";
1
+ export { Radio, RadioProps } from "./Radio";
@@ -0,0 +1,8 @@
1
+ import { RadioGroupProps as BaseRadioGroupProps } from "@base-ui/react";
2
+ import * as React from "react";
3
+ import { FieldAttributes } from "../../lib/types";
4
+ import { FieldProps } from "../field/Field";
5
+ export interface RadioGroupProps extends BaseRadioGroupProps, FieldAttributes {
6
+ fieldProps?: FieldProps;
7
+ }
8
+ export declare function RadioGroup({ isValidating, isValidatingMessage, errorMessage, description, fieldProps, label, children, ...props }: RadioGroupProps): React.JSX.Element;
@@ -0,0 +1 @@
1
+ export { RadioGroup, RadioGroupProps } from "./RadioGroup";
@@ -1,8 +1,8 @@
1
1
  import { SelectIconProps, SelectItemIndicatorProps, SelectItemProps, SelectItemTextProps, SelectListProps, SelectPopupProps, SelectPortalProps, SelectPositionerProps, SelectRootProps, SelectScrollDownArrowProps, SelectScrollUpArrowProps, SelectTriggerProps, SelectValueProps } from "@base-ui/react/select";
2
2
  import React from "react";
3
- import { BasicFieldProps } from "../../lib/utils";
3
+ import { FieldAttributes } from "../../lib/types";
4
4
  import { FieldProps } from "../field/Field";
5
- export interface SelectProps<T> extends Omit<SelectTriggerProps, "value">, SelectRootProps<T>, BasicFieldProps {
5
+ export interface SelectProps<T> extends Omit<SelectTriggerProps, "value">, SelectRootProps<T>, FieldAttributes {
6
6
  placeholder?: React.ReactNode;
7
7
  triggerDisabled?: SelectTriggerProps["disabled"];
8
8
  triggerId?: SelectTriggerProps["id"];
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../../src/components/select/Select.tsx"],"sourcesContent":["import {\n Select as BaseSelect,\n SelectIconProps,\n SelectItemIndicatorProps,\n SelectItemProps,\n SelectItemTextProps,\n SelectListProps,\n SelectPopupProps,\n SelectPortalProps,\n SelectPositionerProps,\n SelectRootProps,\n SelectScrollDownArrowProps,\n SelectScrollUpArrowProps,\n SelectTriggerProps,\n SelectValueProps,\n} from \"@base-ui/react/select\";\nimport { Check, ChevronsUpDown } from \"lucide-react\";\nimport React from \"react\";\nimport { BasicFieldProps, cn } from \"../../lib/utils\";\nimport { Field, FieldProps } from \"../field/Field\";\n\nexport interface SelectProps<T>\n extends\n Omit<SelectTriggerProps, \"value\">,\n SelectRootProps<T>,\n BasicFieldProps {\n placeholder?: React.ReactNode;\n triggerDisabled?: SelectTriggerProps[\"disabled\"];\n triggerId?: SelectTriggerProps[\"id\"];\n triggerName?: SelectTriggerProps[\"name\"];\n triggerValue?: SelectTriggerProps[\"value\"];\n fieldProps?: FieldProps;\n triggerProps?: SelectTriggerProps;\n valueProps?: SelectValueProps;\n selectIconProps?: SelectIconProps;\n iconProps?: React.ComponentPropsWithoutRef<\"svg\">;\n portalProps?: SelectPortalProps;\n positionerProps?: SelectPositionerProps;\n popupProps?: SelectPopupProps;\n scrollUpArrowProps?: SelectScrollUpArrowProps;\n listProps?: SelectListProps;\n itemProps?: SelectItemProps;\n itemIndicatorProps?: SelectItemIndicatorProps;\n checkIconProps?: React.ComponentPropsWithoutRef<\"svg\">;\n itemTextProps?: SelectItemTextProps;\n scrollDownArrowProps?: SelectScrollDownArrowProps;\n}\n\nexport function Select<T>({\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n className,\n description,\n fieldProps,\n items,\n placeholder,\n actionsRef,\n autoComplete,\n defaultOpen,\n defaultValue,\n disabled,\n highlightItemOnHover,\n id,\n inputRef,\n isItemEqualToValue,\n itemToStringLabel,\n itemToStringValue,\n modal,\n multiple,\n name,\n onOpenChange,\n onOpenChangeComplete,\n onValueChange,\n open,\n readOnly,\n required,\n value,\n triggerDisabled,\n triggerId,\n triggerName,\n triggerValue,\n valueProps: { className: valueClassName, ...valueProps } = {},\n selectIconProps: { className: selectIconClassName, ...selectIconProps } = {},\n iconProps: { className: iconClassName, ...iconProps } = {},\n portalProps,\n positionerProps: { className: positionerClassName, ...positionerProps } = {},\n popupProps: { className: popupClassName, ...popupProps } = {},\n scrollUpArrowProps: {\n className: scrollUpArrowClassName,\n ...scrollUpArrowProps\n } = {},\n listProps: { className: listClassName, ...listProps } = {},\n itemProps: { className: itemClassName, ...itemProps } = {},\n itemIndicatorProps: {\n className: itemIndicatorClassName,\n ...itemIndicatorProps\n } = {},\n checkIconProps: { className: checkIconClassName, ...checkIconProps } = {},\n itemTextProps: { className: itemTextClassName, ...itemTextProps } = {},\n scrollDownArrowProps: {\n className: scrollDownArrowClassName,\n ...scrollDownArrowProps\n } = {},\n ...props\n}: SelectProps<T>) {\n return (\n <Field\n label={label}\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n <BaseSelect.Root\n items={items}\n actionsRef={actionsRef}\n autoComplete={autoComplete}\n defaultOpen={defaultOpen}\n defaultValue={defaultValue}\n disabled={disabled}\n highlightItemOnHover={highlightItemOnHover}\n id={id}\n inputRef={inputRef}\n isItemEqualToValue={isItemEqualToValue}\n itemToStringLabel={itemToStringLabel}\n itemToStringValue={itemToStringValue}\n modal={modal}\n multiple={multiple}\n name={name}\n onOpenChange={onOpenChange}\n onOpenChangeComplete={onOpenChangeComplete}\n onValueChange={onValueChange}\n open={open}\n readOnly={readOnly}\n required={required}\n value={value}\n >\n <BaseSelect.Trigger\n className={cn(\n \"data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating hover:bg-card data-popup-open:bg-card focus-visible:border-highlight focus:inset-shadow-muted/50 flex min-w-40 items-center justify-between gap-3 rounded-lg border p-2 text-base transition-colors outline-none select-none focus:inset-shadow-sm\",\n className,\n )}\n data-validating={isValidating ? \"\" : undefined}\n disabled={triggerDisabled}\n id={triggerId}\n name={triggerName}\n value={triggerValue}\n {...props}\n >\n <BaseSelect.Value\n className={cn(\"data-placeholder:opacity-60\", valueClassName)}\n placeholder={placeholder}\n {...valueProps}\n />\n <BaseSelect.Icon\n className={cn(\"flex\", selectIconClassName)}\n {...selectIconProps}\n >\n <ChevronsUpDown\n className={cn(\"size-4\", iconClassName)}\n {...iconProps}\n />\n </BaseSelect.Icon>\n </BaseSelect.Trigger>\n <BaseSelect.Portal {...portalProps}>\n <BaseSelect.Positioner\n className={cn(\"z-10 outline-none select-none\", positionerClassName)}\n sideOffset={8}\n {...positionerProps}\n >\n <BaseSelect.Popup\n className={cn(\n \"group bg-background outline-border min-w-(--anchor-width) origin-(--transform-origin) rounded-lg bg-clip-padding shadow-lg outline transition-[transform,scale,opacity] data-ending-style:scale-90 data-ending-style:opacity-0 data-starting-style:scale-90 data-starting-style:opacity-0 data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] data-[side=none]:data-ending-style:transition-none data-[side=none]:data-starting-style:scale-100 data-[side=none]:data-starting-style:opacity-100 data-[side=none]:data-starting-style:transition-none\",\n popupClassName,\n )}\n {...popupProps}\n >\n <BaseSelect.ScrollUpArrow\n className={cn(\n \"bg-background top-0 z-1 flex h-4 w-full cursor-default items-center justify-center rounded-lg text-center text-xs before:absolute before:left-0 before:h-full before:w-full before:content-[''] data-[side=none]:before:-top-full\",\n scrollUpArrowClassName,\n )}\n {...scrollUpArrowProps}\n />\n <BaseSelect.List\n className={cn(\n \"relative max-h-(--available-height) scroll-py-6 overflow-y-auto py-1\",\n listClassName,\n )}\n {...listProps}\n >\n {Array.isArray(items) &&\n items.map(({ label, value }) => (\n <BaseSelect.Item\n key={String(value)}\n value={value}\n className={cn(\n \"data-highlighted:before:bg-primary data-highlighted:text-on-primary grid cursor-default grid-cols-[0.75rem_1fr] items-center gap-2 py-2 pr-4 pl-2.5 text-sm leading-4 outline-none select-none group-data-[side=none]:pr-12 group-data-[side=none]:text-base group-data-[side=none]:leading-4 data-highlighted:relative data-highlighted:z-0 data-highlighted:before:absolute data-highlighted:before:inset-x-1 data-highlighted:before:inset-y-0 data-highlighted:before:z-[-1] data-highlighted:before:rounded-sm pointer-coarse:py-2.5 pointer-coarse:text-[0.925rem]\",\n itemClassName,\n )}\n {...itemProps}\n >\n <BaseSelect.ItemIndicator\n className={cn(\"col-start-1\", itemIndicatorClassName)}\n {...itemIndicatorProps}\n >\n <Check\n className={cn(\"size-3\", checkIconClassName)}\n {...checkIconProps}\n />\n </BaseSelect.ItemIndicator>\n <BaseSelect.ItemText\n className={cn(\"col-start-2\", itemTextClassName)}\n {...itemTextProps}\n >\n {label}\n </BaseSelect.ItemText>\n </BaseSelect.Item>\n ))}\n </BaseSelect.List>\n <BaseSelect.ScrollDownArrow\n className={cn(\n \"bg-background bottom-0 z-1 flex h-4 w-full cursor-default items-center justify-center rounded-lg text-center text-xs before:absolute before:left-0 before:h-full before:w-full before:content-[''] data-[side=none]:before:-bottom-full\",\n scrollDownArrowClassName,\n )}\n {...scrollDownArrowProps}\n />\n </BaseSelect.Popup>\n </BaseSelect.Positioner>\n </BaseSelect.Portal>\n </BaseSelect.Root>\n </Field>\n );\n}\n"],"names":["React","BaseSelect"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../../src/components/select/Select.tsx"],"sourcesContent":["import {\n Select as BaseSelect,\n SelectIconProps,\n SelectItemIndicatorProps,\n SelectItemProps,\n SelectItemTextProps,\n SelectListProps,\n SelectPopupProps,\n SelectPortalProps,\n SelectPositionerProps,\n SelectRootProps,\n SelectScrollDownArrowProps,\n SelectScrollUpArrowProps,\n SelectTriggerProps,\n SelectValueProps,\n} from \"@base-ui/react/select\";\nimport { Check, ChevronsUpDown } from \"lucide-react\";\nimport React from \"react\";\nimport { FieldAttributes } from \"../../lib/types\";\nimport { cn } from \"../../lib/utils\";\nimport { Field, FieldProps } from \"../field/Field\";\n\nexport interface SelectProps<T>\n extends\n Omit<SelectTriggerProps, \"value\">,\n SelectRootProps<T>,\n FieldAttributes {\n placeholder?: React.ReactNode;\n triggerDisabled?: SelectTriggerProps[\"disabled\"];\n triggerId?: SelectTriggerProps[\"id\"];\n triggerName?: SelectTriggerProps[\"name\"];\n triggerValue?: SelectTriggerProps[\"value\"];\n fieldProps?: FieldProps;\n triggerProps?: SelectTriggerProps;\n valueProps?: SelectValueProps;\n selectIconProps?: SelectIconProps;\n iconProps?: React.ComponentPropsWithoutRef<\"svg\">;\n portalProps?: SelectPortalProps;\n positionerProps?: SelectPositionerProps;\n popupProps?: SelectPopupProps;\n scrollUpArrowProps?: SelectScrollUpArrowProps;\n listProps?: SelectListProps;\n itemProps?: SelectItemProps;\n itemIndicatorProps?: SelectItemIndicatorProps;\n checkIconProps?: React.ComponentPropsWithoutRef<\"svg\">;\n itemTextProps?: SelectItemTextProps;\n scrollDownArrowProps?: SelectScrollDownArrowProps;\n}\n\nexport function Select<T>({\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n className,\n description,\n fieldProps,\n items,\n placeholder,\n actionsRef,\n autoComplete,\n defaultOpen,\n defaultValue,\n disabled,\n highlightItemOnHover,\n id,\n inputRef,\n isItemEqualToValue,\n itemToStringLabel,\n itemToStringValue,\n modal,\n multiple,\n name,\n onOpenChange,\n onOpenChangeComplete,\n onValueChange,\n open,\n readOnly,\n required,\n value,\n triggerDisabled,\n triggerId,\n triggerName,\n triggerValue,\n valueProps: { className: valueClassName, ...valueProps } = {},\n selectIconProps: { className: selectIconClassName, ...selectIconProps } = {},\n iconProps: { className: iconClassName, ...iconProps } = {},\n portalProps,\n positionerProps: { className: positionerClassName, ...positionerProps } = {},\n popupProps: { className: popupClassName, ...popupProps } = {},\n scrollUpArrowProps: {\n className: scrollUpArrowClassName,\n ...scrollUpArrowProps\n } = {},\n listProps: { className: listClassName, ...listProps } = {},\n itemProps: { className: itemClassName, ...itemProps } = {},\n itemIndicatorProps: {\n className: itemIndicatorClassName,\n ...itemIndicatorProps\n } = {},\n checkIconProps: { className: checkIconClassName, ...checkIconProps } = {},\n itemTextProps: { className: itemTextClassName, ...itemTextProps } = {},\n scrollDownArrowProps: {\n className: scrollDownArrowClassName,\n ...scrollDownArrowProps\n } = {},\n ...props\n}: SelectProps<T>) {\n return (\n <Field\n label={label}\n isValidating={isValidating}\n isValidatingMessage={isValidatingMessage}\n errorMessage={errorMessage}\n description={description}\n {...fieldProps}\n >\n <BaseSelect.Root\n items={items}\n actionsRef={actionsRef}\n autoComplete={autoComplete}\n defaultOpen={defaultOpen}\n defaultValue={defaultValue}\n disabled={disabled}\n highlightItemOnHover={highlightItemOnHover}\n id={id}\n inputRef={inputRef}\n isItemEqualToValue={isItemEqualToValue}\n itemToStringLabel={itemToStringLabel}\n itemToStringValue={itemToStringValue}\n modal={modal}\n multiple={multiple}\n name={name}\n onOpenChange={onOpenChange}\n onOpenChangeComplete={onOpenChangeComplete}\n onValueChange={onValueChange}\n open={open}\n readOnly={readOnly}\n required={required}\n value={value}\n >\n <BaseSelect.Trigger\n className={cn(\n \"data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating hover:bg-card data-popup-open:bg-card focus-visible:border-highlight focus:inset-shadow-muted/50 flex min-w-40 items-center justify-between gap-3 rounded-lg border p-2 text-base transition-colors outline-none select-none focus:inset-shadow-sm\",\n className,\n )}\n data-validating={isValidating ? \"\" : undefined}\n disabled={triggerDisabled}\n id={triggerId}\n name={triggerName}\n value={triggerValue}\n {...props}\n >\n <BaseSelect.Value\n className={cn(\"data-placeholder:opacity-60\", valueClassName)}\n placeholder={placeholder}\n {...valueProps}\n />\n <BaseSelect.Icon\n className={cn(\"flex\", selectIconClassName)}\n {...selectIconProps}\n >\n <ChevronsUpDown\n className={cn(\"size-4\", iconClassName)}\n {...iconProps}\n />\n </BaseSelect.Icon>\n </BaseSelect.Trigger>\n <BaseSelect.Portal {...portalProps}>\n <BaseSelect.Positioner\n className={cn(\"z-10 outline-none select-none\", positionerClassName)}\n sideOffset={8}\n {...positionerProps}\n >\n <BaseSelect.Popup\n className={cn(\n \"group bg-background outline-border min-w-(--anchor-width) origin-(--transform-origin) rounded-lg bg-clip-padding shadow-lg outline transition-[transform,scale,opacity] data-ending-style:scale-90 data-ending-style:opacity-0 data-starting-style:scale-90 data-starting-style:opacity-0 data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] data-[side=none]:data-ending-style:transition-none data-[side=none]:data-starting-style:scale-100 data-[side=none]:data-starting-style:opacity-100 data-[side=none]:data-starting-style:transition-none\",\n popupClassName,\n )}\n {...popupProps}\n >\n <BaseSelect.ScrollUpArrow\n className={cn(\n \"bg-background top-0 z-1 flex h-4 w-full cursor-default items-center justify-center rounded-lg text-center text-xs before:absolute before:left-0 before:h-full before:w-full before:content-[''] data-[side=none]:before:-top-full\",\n scrollUpArrowClassName,\n )}\n {...scrollUpArrowProps}\n />\n <BaseSelect.List\n className={cn(\n \"relative max-h-(--available-height) scroll-py-6 overflow-y-auto py-1\",\n listClassName,\n )}\n {...listProps}\n >\n {Array.isArray(items) &&\n items.map(({ label, value }) => (\n <BaseSelect.Item\n key={String(value)}\n value={value}\n className={cn(\n \"data-highlighted:before:bg-primary data-highlighted:text-on-primary grid cursor-default grid-cols-[0.75rem_1fr] items-center gap-2 py-2 pr-4 pl-2.5 text-sm leading-4 outline-none select-none group-data-[side=none]:pr-12 group-data-[side=none]:text-base group-data-[side=none]:leading-4 data-highlighted:relative data-highlighted:z-0 data-highlighted:before:absolute data-highlighted:before:inset-x-1 data-highlighted:before:inset-y-0 data-highlighted:before:z-[-1] data-highlighted:before:rounded-sm pointer-coarse:py-2.5 pointer-coarse:text-[0.925rem]\",\n itemClassName,\n )}\n {...itemProps}\n >\n <BaseSelect.ItemIndicator\n className={cn(\"col-start-1\", itemIndicatorClassName)}\n {...itemIndicatorProps}\n >\n <Check\n className={cn(\"size-3\", checkIconClassName)}\n {...checkIconProps}\n />\n </BaseSelect.ItemIndicator>\n <BaseSelect.ItemText\n className={cn(\"col-start-2\", itemTextClassName)}\n {...itemTextProps}\n >\n {label}\n </BaseSelect.ItemText>\n </BaseSelect.Item>\n ))}\n </BaseSelect.List>\n <BaseSelect.ScrollDownArrow\n className={cn(\n \"bg-background bottom-0 z-1 flex h-4 w-full cursor-default items-center justify-center rounded-lg text-center text-xs before:absolute before:left-0 before:h-full before:w-full before:content-[''] data-[side=none]:before:-bottom-full\",\n scrollDownArrowClassName,\n )}\n {...scrollDownArrowProps}\n />\n </BaseSelect.Popup>\n </BaseSelect.Positioner>\n </BaseSelect.Portal>\n </BaseSelect.Root>\n </Field>\n );\n}\n"],"names":["React","BaseSelect"],"mappings":"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"}
@@ -1 +1 @@
1
- export * from "./Select";
1
+ export { Select, SelectProps } from "./Select";
@@ -5,5 +5,6 @@ export * from "./components/field";
5
5
  export * from "./components/input";
6
6
  export * from "./components/radio";
7
7
  export * from "./components/select";
8
+ export * from "./lib/types";
8
9
  export * from "./lib/utils";
9
10
  import "./theme/theme.css";
package/dist/esm/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  export { Button } from './components/button/Button.js';
2
2
  export { Checkbox } from './components/checkbox/Checkbox.js';
3
- export { CheckboxGroup, useCheckboxGroupContext } from './components/checkbox-group/CheckboxGroup.js';
4
- export { Field, FieldContext, useFieldContext } from './components/field/Field.js';
3
+ export { CheckboxGroup } from './components/checkbox-group/CheckboxGroup.js';
4
+ export { Field } from './components/field/Field.js';
5
5
  export { Input } from './components/input/Input.js';
6
- export { Radio, RadioGroup } from './components/radio/Radio.js';
6
+ export { Radio } from './components/radio/Radio.js';
7
7
  export { Select } from './components/select/Select.js';
8
8
  export { cn } from './lib/utils.js';
9
9
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ export interface FieldAttributes {
3
+ label?: React.ReactNode;
4
+ errorMessage?: React.ReactNode;
5
+ isValidating?: boolean;
6
+ isValidatingMessage?: React.ReactNode;
7
+ description?: React.ReactNode;
8
+ }
@@ -1,10 +1,2 @@
1
1
  import { type ClassValue } from "clsx";
2
- import React from "react";
3
2
  export declare function cn(...inputs: ClassValue[]): string;
4
- export interface BasicFieldProps {
5
- label?: React.ReactNode;
6
- errorMessage?: React.ReactNode;
7
- isValidating?: boolean;
8
- isValidatingMessage?: React.ReactNode;
9
- description?: React.ReactNode;
10
- }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport React from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\nexport interface BasicFieldProps {\n label?: React.ReactNode;\n errorMessage?: React.ReactNode;\n isValidating?: boolean;\n isValidatingMessage?: React.ReactNode;\n description?: React.ReactNode;\n}\n"],"names":[],"mappings":";;;AAIM,SAAU,EAAE,CAAC,GAAG,MAAoB,EAAA;AACxC,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"names":[],"mappings":";;;AAGM,SAAU,EAAE,CAAC,GAAG,MAAoB,EAAA;AACxC,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fransek/ui",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "author": "Frans Ekman <fransedvinekman@gmail.com>",
@@ -23,6 +23,7 @@
23
23
  "style": "dist/esm/theme.css",
24
24
  "exports": {
25
25
  ".": {
26
+ "style": "./dist/esm/theme.css",
26
27
  "import": "./dist/esm/index.js",
27
28
  "require": "./dist/cjs/index.js"
28
29
  },