@fransek/ui 0.2.1 → 0.2.2
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.
|
@@ -11,7 +11,7 @@ function Field({ label, isValidating, isValidatingMessage, errorMessage, classNa
|
|
|
11
11
|
label && (React.createElement(field.Field.Label, { className: utils.cn("text-foreground text-sm font-semibold", labelClassName), ...labelProps }, label)),
|
|
12
12
|
children,
|
|
13
13
|
React.createElement(field.Field.Error, { className: utils.cn("text-error-foreground text-sm", errorMessageClassName), match: invalid, ...errorMessageProps }, errorMessage),
|
|
14
|
-
isValidating && isValidatingMessage && !errorMessage && (React.createElement(field.Field.Description, { className: utils.cn("text-primary-foreground text-sm", isValidatingMessageClassName), ...isValidatingMessageProps }, isValidatingMessage)),
|
|
14
|
+
isValidating && isValidatingMessage && !errorMessage && (React.createElement(field.Field.Description, { className: utils.cn("text-primary-foreground animate-validating-message text-sm", isValidatingMessageClassName), ...isValidatingMessageProps }, isValidatingMessage)),
|
|
15
15
|
description && (React.createElement(field.Field.Description, { className: utils.cn("text-muted-foreground text-sm", descriptionClassName), ...descriptionProps }, description)))));
|
|
16
16
|
}
|
|
17
17
|
const FieldContext = React.createContext({
|
|
@@ -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 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,
|
|
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;;;;;;"}
|
package/dist/cjs/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap");@import "tailwindcss";@source "./components/**/*.{ts,tsx,js,jsx}";:root{--background:#f8f8f8;--foreground:#141414;--border:#cacaca;--card:#eee;--highlight:#3a3a3a;--primary:#6453ad;--on-primary:#fff;--primary-foreground:#493991;--secondary:#141414;--on-secondary:#f0f0f0;--secondary-foreground:#141414;--muted:#555;--on-muted:#d4d4d4;--muted-foreground:#555;--error:#b63e3e;--on-error:#fff;--error-foreground:#ac3333;--warning:#e9bd44;--on-warning:#141414;--warning-foreground:#9b4f0d;--success:#307c47;--on-success:#fff;--success-foreground:#25693a;--link-foreground:#3766b3}.dark{--background:#0a0a0a;--foreground:#ededed;--border:#333;--card:#141414;--highlight:#ededed;--primary:#493991;--on-primary:#fff;--primary-foreground:#946fd1;--secondary:#ededed;--on-secondary:#0a0a0a;--secondary-foreground:#fff;--muted:#555;--on-muted:#d4d4d4;--muted-foreground:#919191;--error:#972626;--on-error:#fff;--error-foreground:#dd4b4b;--warning:#e7b62e;--on-warning:#000;--warning-foreground:#e7b62e;--success:#2d7e45;--on-success:#fff;--success-foreground:#47c26c;--link-foreground:#3b82f6}@theme inline{--color-background:var(--background);--color-foreground:var(--foreground);--color-border:var(--border);--color-card:var(--card);--color-highlight:var(--highlight);--color-primary:var(--primary);--color-on-primary:var(--on-primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-on-secondary:var(--on-secondary);--color-secondary-foreground:var(--secondary-foreground);--color-muted:var(--muted);--color-on-muted:var(--on-muted);--color-muted-foreground:var(--muted-foreground);--color-error:var(--error);--color-on-error:var(--on-error);--color-error-foreground:var(--error-foreground);--color-warning:var(--warning);--color-on-warning:var(--on-warning);--color-warning-foreground:var(--warning-foreground);--color-success:var(--success);--color-on-success:var(--on-success);--color-success-foreground:var(--success-foreground);--color-link-foreground:var(--link-foreground);--animate-validating:validating 1.5s ease-in-out infinite;@keyframes validating{0%,to{border-color:var(--primary);box-shadow:0 0 4px
|
|
1
|
+
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap");@import "tailwindcss";@source "./components/**/*.{ts,tsx,js,jsx}";:root{--background:#f8f8f8;--foreground:#141414;--border:#cacaca;--card:#eee;--highlight:#3a3a3a;--primary:#6453ad;--on-primary:#fff;--primary-foreground:#493991;--secondary:#141414;--on-secondary:#f0f0f0;--secondary-foreground:#141414;--muted:#555;--on-muted:#d4d4d4;--muted-foreground:#555;--error:#b63e3e;--on-error:#fff;--error-foreground:#ac3333;--warning:#e9bd44;--on-warning:#141414;--warning-foreground:#9b4f0d;--success:#307c47;--on-success:#fff;--success-foreground:#25693a;--link-foreground:#3766b3}.dark{--background:#0a0a0a;--foreground:#ededed;--border:#333;--card:#141414;--highlight:#ededed;--primary:#493991;--on-primary:#fff;--primary-foreground:#946fd1;--secondary:#ededed;--on-secondary:#0a0a0a;--secondary-foreground:#fff;--muted:#555;--on-muted:#d4d4d4;--muted-foreground:#919191;--error:#972626;--on-error:#fff;--error-foreground:#dd4b4b;--warning:#e7b62e;--on-warning:#000;--warning-foreground:#e7b62e;--success:#2d7e45;--on-success:#fff;--success-foreground:#47c26c;--link-foreground:#3b82f6}@theme inline{--color-background:var(--background);--color-foreground:var(--foreground);--color-border:var(--border);--color-card:var(--card);--color-highlight:var(--highlight);--color-primary:var(--primary);--color-on-primary:var(--on-primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-on-secondary:var(--on-secondary);--color-secondary-foreground:var(--secondary-foreground);--color-muted:var(--muted);--color-on-muted:var(--on-muted);--color-muted-foreground:var(--muted-foreground);--color-error:var(--error);--color-on-error:var(--on-error);--color-error-foreground:var(--error-foreground);--color-warning:var(--warning);--color-on-warning:var(--on-warning);--color-warning-foreground:var(--warning-foreground);--color-success:var(--success);--color-on-success:var(--on-success);--color-success-foreground:var(--success-foreground);--color-link-foreground:var(--link-foreground);--animate-validating:validating 1.5s ease-in-out infinite;--animate-validating-message:validating-message 1.5s ease-in-out infinite;@keyframes validating{0%,to{border-color:var(--primary);box-shadow:none}50%{border-color:color-mix(in oklab,var(--foreground) 40%,var(--primary));box-shadow:0 0 4px 4px color-mix(in oklab,var(--primary) 15%,transparent)}}@keyframes validating-message{0%,to{color:var(--primary-foreground);text-shadow:none}50%{color:color-mix(in oklab,var(--foreground) 40%,var(--primary-foreground));text-shadow:color-mix(in oklab,var(--primary-foreground) 25%,transparent) 0 0 4px}}}@layer base{body{background-color:var(--background);color:var(--foreground);font-family:Noto Sans,sans-serif;font-optical-sizing:auto;font-style:normal;font-variation-settings:"wdth" 100}*{border-color:var(--border)}}
|
|
@@ -9,7 +9,7 @@ function Field({ label, isValidating, isValidatingMessage, errorMessage, classNa
|
|
|
9
9
|
label && (React__default.createElement(Field$1.Label, { className: cn("text-foreground text-sm font-semibold", labelClassName), ...labelProps }, label)),
|
|
10
10
|
children,
|
|
11
11
|
React__default.createElement(Field$1.Error, { className: cn("text-error-foreground text-sm", errorMessageClassName), match: invalid, ...errorMessageProps }, errorMessage),
|
|
12
|
-
isValidating && isValidatingMessage && !errorMessage && (React__default.createElement(Field$1.Description, { className: cn("text-primary-foreground text-sm", isValidatingMessageClassName), ...isValidatingMessageProps }, isValidatingMessage)),
|
|
12
|
+
isValidating && isValidatingMessage && !errorMessage && (React__default.createElement(Field$1.Description, { className: cn("text-primary-foreground animate-validating-message text-sm", isValidatingMessageClassName), ...isValidatingMessageProps }, isValidatingMessage)),
|
|
13
13
|
description && (React__default.createElement(Field$1.Description, { className: cn("text-muted-foreground text-sm", descriptionClassName), ...descriptionProps }, description)))));
|
|
14
14
|
}
|
|
15
15
|
const FieldContext = React__default.createContext({
|
|
@@ -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 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,
|
|
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;;;;"}
|
package/dist/esm/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap");@import "tailwindcss";@source "./components/**/*.{ts,tsx,js,jsx}";:root{--background:#f8f8f8;--foreground:#141414;--border:#cacaca;--card:#eee;--highlight:#3a3a3a;--primary:#6453ad;--on-primary:#fff;--primary-foreground:#493991;--secondary:#141414;--on-secondary:#f0f0f0;--secondary-foreground:#141414;--muted:#555;--on-muted:#d4d4d4;--muted-foreground:#555;--error:#b63e3e;--on-error:#fff;--error-foreground:#ac3333;--warning:#e9bd44;--on-warning:#141414;--warning-foreground:#9b4f0d;--success:#307c47;--on-success:#fff;--success-foreground:#25693a;--link-foreground:#3766b3}.dark{--background:#0a0a0a;--foreground:#ededed;--border:#333;--card:#141414;--highlight:#ededed;--primary:#493991;--on-primary:#fff;--primary-foreground:#946fd1;--secondary:#ededed;--on-secondary:#0a0a0a;--secondary-foreground:#fff;--muted:#555;--on-muted:#d4d4d4;--muted-foreground:#919191;--error:#972626;--on-error:#fff;--error-foreground:#dd4b4b;--warning:#e7b62e;--on-warning:#000;--warning-foreground:#e7b62e;--success:#2d7e45;--on-success:#fff;--success-foreground:#47c26c;--link-foreground:#3b82f6}@theme inline{--color-background:var(--background);--color-foreground:var(--foreground);--color-border:var(--border);--color-card:var(--card);--color-highlight:var(--highlight);--color-primary:var(--primary);--color-on-primary:var(--on-primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-on-secondary:var(--on-secondary);--color-secondary-foreground:var(--secondary-foreground);--color-muted:var(--muted);--color-on-muted:var(--on-muted);--color-muted-foreground:var(--muted-foreground);--color-error:var(--error);--color-on-error:var(--on-error);--color-error-foreground:var(--error-foreground);--color-warning:var(--warning);--color-on-warning:var(--on-warning);--color-warning-foreground:var(--warning-foreground);--color-success:var(--success);--color-on-success:var(--on-success);--color-success-foreground:var(--success-foreground);--color-link-foreground:var(--link-foreground);--animate-validating:validating 1.5s ease-in-out infinite;@keyframes validating{0%,to{border-color:var(--primary);box-shadow:0 0 4px
|
|
1
|
+
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap");@import "tailwindcss";@source "./components/**/*.{ts,tsx,js,jsx}";:root{--background:#f8f8f8;--foreground:#141414;--border:#cacaca;--card:#eee;--highlight:#3a3a3a;--primary:#6453ad;--on-primary:#fff;--primary-foreground:#493991;--secondary:#141414;--on-secondary:#f0f0f0;--secondary-foreground:#141414;--muted:#555;--on-muted:#d4d4d4;--muted-foreground:#555;--error:#b63e3e;--on-error:#fff;--error-foreground:#ac3333;--warning:#e9bd44;--on-warning:#141414;--warning-foreground:#9b4f0d;--success:#307c47;--on-success:#fff;--success-foreground:#25693a;--link-foreground:#3766b3}.dark{--background:#0a0a0a;--foreground:#ededed;--border:#333;--card:#141414;--highlight:#ededed;--primary:#493991;--on-primary:#fff;--primary-foreground:#946fd1;--secondary:#ededed;--on-secondary:#0a0a0a;--secondary-foreground:#fff;--muted:#555;--on-muted:#d4d4d4;--muted-foreground:#919191;--error:#972626;--on-error:#fff;--error-foreground:#dd4b4b;--warning:#e7b62e;--on-warning:#000;--warning-foreground:#e7b62e;--success:#2d7e45;--on-success:#fff;--success-foreground:#47c26c;--link-foreground:#3b82f6}@theme inline{--color-background:var(--background);--color-foreground:var(--foreground);--color-border:var(--border);--color-card:var(--card);--color-highlight:var(--highlight);--color-primary:var(--primary);--color-on-primary:var(--on-primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-on-secondary:var(--on-secondary);--color-secondary-foreground:var(--secondary-foreground);--color-muted:var(--muted);--color-on-muted:var(--on-muted);--color-muted-foreground:var(--muted-foreground);--color-error:var(--error);--color-on-error:var(--on-error);--color-error-foreground:var(--error-foreground);--color-warning:var(--warning);--color-on-warning:var(--on-warning);--color-warning-foreground:var(--warning-foreground);--color-success:var(--success);--color-on-success:var(--on-success);--color-success-foreground:var(--success-foreground);--color-link-foreground:var(--link-foreground);--animate-validating:validating 1.5s ease-in-out infinite;--animate-validating-message:validating-message 1.5s ease-in-out infinite;@keyframes validating{0%,to{border-color:var(--primary);box-shadow:none}50%{border-color:color-mix(in oklab,var(--foreground) 40%,var(--primary));box-shadow:0 0 4px 4px color-mix(in oklab,var(--primary) 15%,transparent)}}@keyframes validating-message{0%,to{color:var(--primary-foreground);text-shadow:none}50%{color:color-mix(in oklab,var(--foreground) 40%,var(--primary-foreground));text-shadow:color-mix(in oklab,var(--primary-foreground) 25%,transparent) 0 0 4px}}}@layer base{body{background-color:var(--background);color:var(--foreground);font-family:Noto Sans,sans-serif;font-optical-sizing:auto;font-style:normal;font-variation-settings:"wdth" 100}*{border-color:var(--border)}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fransek/ui",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"author": "Frans Ekman <fransedvinekman@gmail.com>",
|
|
@@ -88,8 +88,8 @@
|
|
|
88
88
|
"vitest": "^4.0.18"
|
|
89
89
|
},
|
|
90
90
|
"peerDependencies": {
|
|
91
|
-
"react": "
|
|
92
|
-
"react-dom": "
|
|
91
|
+
"react": ">=18.0.0",
|
|
92
|
+
"react-dom": ">=18.0.0",
|
|
93
93
|
"@base-ui/react": "^1.2.0",
|
|
94
94
|
"clsx": "^2.0.0",
|
|
95
95
|
"tailwind-merge": "^3.0.0",
|