@fransek/ui 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/input/Input.d.ts +2 -1
- package/dist/cjs/components/input/Input.js +4 -2
- package/dist/cjs/components/input/Input.js.map +1 -1
- package/dist/cjs/components/select/Select.d.ts +7 -3
- package/dist/cjs/components/select/Select.js +3 -3
- package/dist/cjs/components/select/Select.js.map +1 -1
- package/dist/cjs/index.css +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/esm/components/input/Input.d.ts +2 -1
- package/dist/esm/components/input/Input.js +4 -2
- package/dist/esm/components/input/Input.js.map +1 -1
- package/dist/esm/components/select/Select.d.ts +7 -3
- package/dist/esm/components/select/Select.js +3 -3
- package/dist/esm/components/select/Select.js.map +1 -1
- package/dist/esm/index.css +1 -70
- package/dist/esm/index.d.ts +1 -0
- package/package.json +2 -2
- package/dist/cjs/lib/types.d.ts +0 -7
- package/dist/cjs/theme.css +0 -1
- package/dist/esm/lib/types.d.ts +0 -7
- package/dist/esm/theme.css +0 -72
|
@@ -4,5 +4,6 @@ import { BasicFieldProps } from "../../lib/utils";
|
|
|
4
4
|
import { FieldProps } from "../field/Field";
|
|
5
5
|
export interface InputProps extends BaseInputProps, BasicFieldProps {
|
|
6
6
|
fieldProps?: FieldProps;
|
|
7
|
+
button?: React.ReactNode;
|
|
7
8
|
}
|
|
8
|
-
export declare function Input({ label, isValidating, isValidatingMessage, errorMessage, className, description, fieldProps, ...props }: InputProps): React.JSX.Element;
|
|
9
|
+
export declare function Input({ label, isValidating, isValidatingMessage, errorMessage, className, description, fieldProps, button, ...props }: InputProps): React.JSX.Element;
|
|
@@ -5,9 +5,11 @@ var React = require('react');
|
|
|
5
5
|
var utils = require('../../lib/utils.js');
|
|
6
6
|
var Field = require('../field/Field.js');
|
|
7
7
|
|
|
8
|
-
function Input({ label, isValidating, isValidatingMessage, errorMessage, className, description, fieldProps, ...props }) {
|
|
8
|
+
function Input({ label, isValidating, isValidatingMessage, errorMessage, className, description, fieldProps, button, ...props }) {
|
|
9
9
|
return (React.createElement(Field.Field, { label: label, isValidating: isValidating, isValidatingMessage: isValidatingMessage, errorMessage: errorMessage, description: description, ...fieldProps },
|
|
10
|
-
React.createElement(
|
|
10
|
+
React.createElement("div", { className: "flex items-stretch gap-2" },
|
|
11
|
+
React.createElement(input.Input, { className: utils.cn("data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating focus:border-highlight placeholder:text-muted-foreground w-full min-w-40 rounded-lg border p-2 transition-colors outline-none", className), "data-validating": isValidating ? "" : undefined, ...props }),
|
|
12
|
+
button)));
|
|
11
13
|
}
|
|
12
14
|
|
|
13
15
|
exports.Input = Input;
|
|
@@ -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}\n\nexport function Input({\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n className,\n description,\n fieldProps,\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 <BaseInput\n
|
|
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 w-full min-w-40 rounded-lg border p-2 transition-colors outline-none\",\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,kOAAkO,EAClO,SAAS,CACV,EAAA,iBAAA,EACgB,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA,CACT;YACD,MAAM,CACH,CACA;AAEZ;;;;"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SelectIconProps, SelectItemIndicatorProps, SelectItemProps, SelectItemTextProps, SelectListProps, SelectPopupProps, SelectPortalProps, SelectPositionerProps, SelectScrollDownArrowProps, SelectScrollUpArrowProps, SelectTriggerProps, SelectValueProps } from "@base-ui/react/select";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { BasicFieldProps } from "../../lib/utils";
|
|
4
4
|
import { FieldProps } from "../field/Field";
|
|
5
|
-
export interface SelectProps<T> extends
|
|
5
|
+
export interface SelectProps<T> extends SelectTriggerProps, BasicFieldProps {
|
|
6
|
+
items?: ReadonlyArray<{
|
|
7
|
+
label: React.ReactNode;
|
|
8
|
+
value: T;
|
|
9
|
+
}>;
|
|
6
10
|
className?: string;
|
|
7
11
|
placeholder?: React.ReactNode;
|
|
8
12
|
fieldProps?: FieldProps;
|
|
@@ -21,4 +25,4 @@ export interface SelectProps<T> extends BaseSelectProps<T>, BasicFieldProps {
|
|
|
21
25
|
itemTextProps?: SelectItemTextProps;
|
|
22
26
|
scrollDownArrowProps?: SelectScrollDownArrowProps;
|
|
23
27
|
}
|
|
24
|
-
export declare function Select<T>({ label, isValidating, isValidatingMessage, errorMessage, className, description, fieldProps, items, placeholder,
|
|
28
|
+
export declare function Select<T>({ label, isValidating, isValidatingMessage, errorMessage, className, description, fieldProps, items, placeholder, valueProps: { className: valueClassName, ...valueProps }, selectIconProps: { className: selectIconClassName, ...selectIconProps }, iconProps: { className: iconClassName, ...iconProps }, portalProps, positionerProps: { className: positionerClassName, ...positionerProps }, popupProps: { className: popupClassName, ...popupProps }, scrollUpArrowProps: { className: scrollUpArrowClassName, ...scrollUpArrowProps }, listProps: { className: listClassName, ...listProps }, itemProps: { className: itemClassName, ...itemProps }, itemIndicatorProps: { className: itemIndicatorClassName, ...itemIndicatorProps }, checkIconProps: { className: checkIconClassName, ...checkIconProps }, itemTextProps: { className: itemTextClassName, ...itemTextProps }, scrollDownArrowProps: { className: scrollDownArrowClassName, ...scrollDownArrowProps }, ...props }: SelectProps<T>): React.JSX.Element;
|
|
@@ -6,10 +6,10 @@ var React = require('react');
|
|
|
6
6
|
var utils = require('../../lib/utils.js');
|
|
7
7
|
var Field = require('../field/Field.js');
|
|
8
8
|
|
|
9
|
-
function Select({ label, isValidating, isValidatingMessage, errorMessage, className, description, fieldProps, items, placeholder,
|
|
9
|
+
function Select({ label, isValidating, isValidatingMessage, errorMessage, className, description, fieldProps, items, placeholder, valueProps: { className: valueClassName, ...valueProps } = {}, selectIconProps: { className: selectIconClassName, ...selectIconProps } = {}, iconProps: { className: iconClassName, ...iconProps } = {}, portalProps, positionerProps: { className: positionerClassName, ...positionerProps } = {}, popupProps: { className: popupClassName, ...popupProps } = {}, scrollUpArrowProps: { className: scrollUpArrowClassName, ...scrollUpArrowProps } = {}, listProps: { className: listClassName, ...listProps } = {}, itemProps: { className: itemClassName, ...itemProps } = {}, itemIndicatorProps: { className: itemIndicatorClassName, ...itemIndicatorProps } = {}, checkIconProps: { className: checkIconClassName, ...checkIconProps } = {}, itemTextProps: { className: itemTextClassName, ...itemTextProps } = {}, scrollDownArrowProps: { className: scrollDownArrowClassName, ...scrollDownArrowProps } = {}, ...props }) {
|
|
10
10
|
return (React.createElement(Field.Field, { label: label, isValidating: isValidating, isValidatingMessage: isValidatingMessage, errorMessage: errorMessage, description: description, ...fieldProps },
|
|
11
|
-
React.createElement(select.Select.Root, { items: items
|
|
12
|
-
React.createElement(select.Select.Trigger, { className: utils.cn("data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating bg-background hover:bg-card data-popup-open:bg-card focus-visible:border-highlight flex min-w-40 items-center justify-between gap-3 rounded-lg border p-2 text-base transition-colors outline-none select-none", className
|
|
11
|
+
React.createElement(select.Select.Root, { items: items },
|
|
12
|
+
React.createElement(select.Select.Trigger, { className: utils.cn("data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating bg-background hover:bg-card data-popup-open:bg-card focus-visible:border-highlight flex min-w-40 items-center justify-between gap-3 rounded-lg border p-2 text-base transition-colors outline-none select-none", className), "data-validating": isValidating ? "" : undefined, ...props },
|
|
13
13
|
React.createElement(select.Select.Value, { className: utils.cn("data-placeholder:opacity-60", valueClassName), placeholder: placeholder, ...valueProps }),
|
|
14
14
|
React.createElement(select.Select.Icon, { className: utils.cn("flex", selectIconClassName), ...selectIconProps },
|
|
15
15
|
React.createElement(lucideReact.ChevronsUpDown, { className: utils.cn("size-4", iconClassName), ...iconProps }))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../../src/components/select/Select.tsx"],"sourcesContent":["import {\n Select as BaseSelect,\n SelectRootProps as BaseSelectProps,\n SelectIconProps,\n SelectItemIndicatorProps,\n SelectItemProps,\n SelectItemTextProps,\n SelectListProps,\n SelectPopupProps,\n SelectPortalProps,\n SelectPositionerProps,\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> extends BaseSelectProps<T>, BasicFieldProps {\n className?: string;\n placeholder?: React.ReactNode;\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 triggerProps: { className: triggerClassName, ...triggerProps } = {},\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 items={items} {...props}>\n <BaseSelect.Trigger\n className={cn(\n \"data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating bg-background hover:bg-card data-popup-open:bg-card focus-visible:border-highlight flex min-w-40 items-center justify-between gap-3 rounded-lg border p-2 text-base transition-colors outline-none select-none\",\n className,\n triggerClassName,\n )}\n data-validating={isValidating ? \"\" : undefined}\n {...triggerProps}\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={label}\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 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> extends SelectTriggerProps, BasicFieldProps {\n items?: ReadonlyArray<{\n label: React.ReactNode;\n value: T;\n }>;\n className?: string;\n placeholder?: React.ReactNode;\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 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 items={items}>\n <BaseSelect.Trigger\n className={cn(\n \"data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating bg-background hover:bg-card data-popup-open:bg-card focus-visible:border-highlight flex min-w-40 items-center justify-between gap-3 rounded-lg border p-2 text-base transition-colors outline-none select-none\",\n className,\n )}\n data-validating={isValidating ? \"\" : undefined}\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={label}\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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"}
|
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:#0a0a0a;--foreground:#ededed;--border:#333;--card:#141414;--primary:#
|
|
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 -4px color-mix(in oklab,var(--primary-foreground) 10%,transparent)}50%{border-color:var(--primary-foreground);box-shadow:0 0 4px 4px color-mix(in oklab,var(--primary-foreground) 10%,transparent)}}}@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/dist/cjs/index.d.ts
CHANGED
|
@@ -4,5 +4,6 @@ import { BasicFieldProps } from "../../lib/utils";
|
|
|
4
4
|
import { FieldProps } from "../field/Field";
|
|
5
5
|
export interface InputProps extends BaseInputProps, BasicFieldProps {
|
|
6
6
|
fieldProps?: FieldProps;
|
|
7
|
+
button?: React.ReactNode;
|
|
7
8
|
}
|
|
8
|
-
export declare function Input({ label, isValidating, isValidatingMessage, errorMessage, className, description, fieldProps, ...props }: InputProps): React.JSX.Element;
|
|
9
|
+
export declare function Input({ label, isValidating, isValidatingMessage, errorMessage, className, description, fieldProps, button, ...props }: InputProps): React.JSX.Element;
|
|
@@ -3,9 +3,11 @@ import React__default from 'react';
|
|
|
3
3
|
import { cn } from '../../lib/utils.js';
|
|
4
4
|
import { Field } from '../field/Field.js';
|
|
5
5
|
|
|
6
|
-
function Input({ label, isValidating, isValidatingMessage, errorMessage, className, description, fieldProps, ...props }) {
|
|
6
|
+
function Input({ label, isValidating, isValidatingMessage, errorMessage, className, description, fieldProps, button, ...props }) {
|
|
7
7
|
return (React__default.createElement(Field, { label: label, isValidating: isValidating, isValidatingMessage: isValidatingMessage, errorMessage: errorMessage, description: description, ...fieldProps },
|
|
8
|
-
React__default.createElement(
|
|
8
|
+
React__default.createElement("div", { className: "flex items-stretch gap-2" },
|
|
9
|
+
React__default.createElement(Input$1, { className: cn("data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating focus:border-highlight placeholder:text-muted-foreground w-full min-w-40 rounded-lg border p-2 transition-colors outline-none", className), "data-validating": isValidating ? "" : undefined, ...props }),
|
|
10
|
+
button)));
|
|
9
11
|
}
|
|
10
12
|
|
|
11
13
|
export { Input };
|
|
@@ -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}\n\nexport function Input({\n label,\n isValidating,\n isValidatingMessage,\n errorMessage,\n className,\n description,\n fieldProps,\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 <BaseInput\n
|
|
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 w-full min-w-40 rounded-lg border p-2 transition-colors outline-none\",\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,kOAAkO,EAClO,SAAS,CACV,EAAA,iBAAA,EACgB,YAAY,GAAG,EAAE,GAAG,SAAS,EAAA,GAC1C,KAAK,EAAA,CACT;YACD,MAAM,CACH,CACA;AAEZ;;;;"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SelectIconProps, SelectItemIndicatorProps, SelectItemProps, SelectItemTextProps, SelectListProps, SelectPopupProps, SelectPortalProps, SelectPositionerProps, SelectScrollDownArrowProps, SelectScrollUpArrowProps, SelectTriggerProps, SelectValueProps } from "@base-ui/react/select";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { BasicFieldProps } from "../../lib/utils";
|
|
4
4
|
import { FieldProps } from "../field/Field";
|
|
5
|
-
export interface SelectProps<T> extends
|
|
5
|
+
export interface SelectProps<T> extends SelectTriggerProps, BasicFieldProps {
|
|
6
|
+
items?: ReadonlyArray<{
|
|
7
|
+
label: React.ReactNode;
|
|
8
|
+
value: T;
|
|
9
|
+
}>;
|
|
6
10
|
className?: string;
|
|
7
11
|
placeholder?: React.ReactNode;
|
|
8
12
|
fieldProps?: FieldProps;
|
|
@@ -21,4 +25,4 @@ export interface SelectProps<T> extends BaseSelectProps<T>, BasicFieldProps {
|
|
|
21
25
|
itemTextProps?: SelectItemTextProps;
|
|
22
26
|
scrollDownArrowProps?: SelectScrollDownArrowProps;
|
|
23
27
|
}
|
|
24
|
-
export declare function Select<T>({ label, isValidating, isValidatingMessage, errorMessage, className, description, fieldProps, items, placeholder,
|
|
28
|
+
export declare function Select<T>({ label, isValidating, isValidatingMessage, errorMessage, className, description, fieldProps, items, placeholder, valueProps: { className: valueClassName, ...valueProps }, selectIconProps: { className: selectIconClassName, ...selectIconProps }, iconProps: { className: iconClassName, ...iconProps }, portalProps, positionerProps: { className: positionerClassName, ...positionerProps }, popupProps: { className: popupClassName, ...popupProps }, scrollUpArrowProps: { className: scrollUpArrowClassName, ...scrollUpArrowProps }, listProps: { className: listClassName, ...listProps }, itemProps: { className: itemClassName, ...itemProps }, itemIndicatorProps: { className: itemIndicatorClassName, ...itemIndicatorProps }, checkIconProps: { className: checkIconClassName, ...checkIconProps }, itemTextProps: { className: itemTextClassName, ...itemTextProps }, scrollDownArrowProps: { className: scrollDownArrowClassName, ...scrollDownArrowProps }, ...props }: SelectProps<T>): React.JSX.Element;
|
|
@@ -4,10 +4,10 @@ import React__default from 'react';
|
|
|
4
4
|
import { cn } from '../../lib/utils.js';
|
|
5
5
|
import { Field } from '../field/Field.js';
|
|
6
6
|
|
|
7
|
-
function Select({ label, isValidating, isValidatingMessage, errorMessage, className, description, fieldProps, items, placeholder,
|
|
7
|
+
function Select({ label, isValidating, isValidatingMessage, errorMessage, className, description, fieldProps, items, placeholder, valueProps: { className: valueClassName, ...valueProps } = {}, selectIconProps: { className: selectIconClassName, ...selectIconProps } = {}, iconProps: { className: iconClassName, ...iconProps } = {}, portalProps, positionerProps: { className: positionerClassName, ...positionerProps } = {}, popupProps: { className: popupClassName, ...popupProps } = {}, scrollUpArrowProps: { className: scrollUpArrowClassName, ...scrollUpArrowProps } = {}, listProps: { className: listClassName, ...listProps } = {}, itemProps: { className: itemClassName, ...itemProps } = {}, itemIndicatorProps: { className: itemIndicatorClassName, ...itemIndicatorProps } = {}, checkIconProps: { className: checkIconClassName, ...checkIconProps } = {}, itemTextProps: { className: itemTextClassName, ...itemTextProps } = {}, scrollDownArrowProps: { className: scrollDownArrowClassName, ...scrollDownArrowProps } = {}, ...props }) {
|
|
8
8
|
return (React__default.createElement(Field, { label: label, isValidating: isValidating, isValidatingMessage: isValidatingMessage, errorMessage: errorMessage, description: description, ...fieldProps },
|
|
9
|
-
React__default.createElement(Select$1.Root, { items: items
|
|
10
|
-
React__default.createElement(Select$1.Trigger, { className: cn("data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating bg-background hover:bg-card data-popup-open:bg-card focus-visible:border-highlight flex min-w-40 items-center justify-between gap-3 rounded-lg border p-2 text-base transition-colors outline-none select-none", className
|
|
9
|
+
React__default.createElement(Select$1.Root, { items: items },
|
|
10
|
+
React__default.createElement(Select$1.Trigger, { className: cn("data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating bg-background hover:bg-card data-popup-open:bg-card focus-visible:border-highlight flex min-w-40 items-center justify-between gap-3 rounded-lg border p-2 text-base transition-colors outline-none select-none", className), "data-validating": isValidating ? "" : undefined, ...props },
|
|
11
11
|
React__default.createElement(Select$1.Value, { className: cn("data-placeholder:opacity-60", valueClassName), placeholder: placeholder, ...valueProps }),
|
|
12
12
|
React__default.createElement(Select$1.Icon, { className: cn("flex", selectIconClassName), ...selectIconProps },
|
|
13
13
|
React__default.createElement(ChevronsUpDown, { className: cn("size-4", iconClassName), ...iconProps }))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../../src/components/select/Select.tsx"],"sourcesContent":["import {\n Select as BaseSelect,\n SelectRootProps as BaseSelectProps,\n SelectIconProps,\n SelectItemIndicatorProps,\n SelectItemProps,\n SelectItemTextProps,\n SelectListProps,\n SelectPopupProps,\n SelectPortalProps,\n SelectPositionerProps,\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> extends BaseSelectProps<T>, BasicFieldProps {\n className?: string;\n placeholder?: React.ReactNode;\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 triggerProps: { className: triggerClassName, ...triggerProps } = {},\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 items={items} {...props}>\n <BaseSelect.Trigger\n className={cn(\n \"data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating bg-background hover:bg-card data-popup-open:bg-card focus-visible:border-highlight flex min-w-40 items-center justify-between gap-3 rounded-lg border p-2 text-base transition-colors outline-none select-none\",\n className,\n triggerClassName,\n )}\n data-validating={isValidating ? \"\" : undefined}\n {...triggerProps}\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={label}\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 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> extends SelectTriggerProps, BasicFieldProps {\n items?: ReadonlyArray<{\n label: React.ReactNode;\n value: T;\n }>;\n className?: string;\n placeholder?: React.ReactNode;\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 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 items={items}>\n <BaseSelect.Trigger\n className={cn(\n \"data-invalid:not-focus:border-error-foreground data-validating:not-data-invalid:animate-validating bg-background hover:bg-card data-popup-open:bg-card focus-visible:border-highlight flex min-w-40 items-center justify-between gap-3 rounded-lg border p-2 text-base transition-colors outline-none select-none\",\n className,\n )}\n data-validating={isValidating ? \"\" : undefined}\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={label}\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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"}
|
package/dist/esm/index.css
CHANGED
|
@@ -1,70 +1 @@
|
|
|
1
|
-
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap");
|
|
2
|
-
@import "tailwindcss";
|
|
3
|
-
@source "./components/**/*.{ts,tsx,js,jsx}";
|
|
4
|
-
:root {
|
|
5
|
-
--background: #0a0a0a;
|
|
6
|
-
--foreground: #ededed;
|
|
7
|
-
--border: #333;
|
|
8
|
-
--card: #141414;
|
|
9
|
-
--primary: #3b2d7c;
|
|
10
|
-
--on-primary: #fff;
|
|
11
|
-
--primary-foreground: #946fd1;
|
|
12
|
-
--secondary: #e6e6e6;
|
|
13
|
-
--on-secondary: #000;
|
|
14
|
-
--secondary-foreground: #fff;
|
|
15
|
-
--muted: #5e5e5e;
|
|
16
|
-
--on-muted: #d1d1d1;
|
|
17
|
-
--muted-foreground: #919191;
|
|
18
|
-
--error: #972626;
|
|
19
|
-
--on-error: #fff;
|
|
20
|
-
--error-foreground: #d94141;
|
|
21
|
-
--success: #2d7e45;
|
|
22
|
-
--on-success: #fff;
|
|
23
|
-
--success-foreground: #47c26c;
|
|
24
|
-
--link: #3b82f6;
|
|
25
|
-
}
|
|
26
|
-
@theme inline {
|
|
27
|
-
--color-background: var(--background);
|
|
28
|
-
--color-foreground: var(--foreground);
|
|
29
|
-
--color-border: var(--border);
|
|
30
|
-
--color-card: var(--card);
|
|
31
|
-
--color-primary: var(--primary);
|
|
32
|
-
--color-on-primary: var(--on-primary);
|
|
33
|
-
--color-primary-foreground: var(--primary-foreground);
|
|
34
|
-
--color-secondary: var(--secondary);
|
|
35
|
-
--color-on-secondary: var(--on-secondary);
|
|
36
|
-
--color-secondary-foreground: var(--secondary-foreground);
|
|
37
|
-
--color-muted: var(--muted);
|
|
38
|
-
--color-on-muted: var(--on-muted);
|
|
39
|
-
--color-muted-foreground: var(--muted-foreground);
|
|
40
|
-
--color-error: var(--error);
|
|
41
|
-
--color-on-error: var(--on-error);
|
|
42
|
-
--color-error-foreground: var(--error-foreground);
|
|
43
|
-
--color-success: var(--success);
|
|
44
|
-
--color-on-success: var(--on-success);
|
|
45
|
-
--color-success-foreground: var(--success-foreground);
|
|
46
|
-
--color-link: var(--link);
|
|
47
|
-
--animate-validating: validating 1.5s ease-in-out infinite;
|
|
48
|
-
@keyframes validating {
|
|
49
|
-
0%,
|
|
50
|
-
to {
|
|
51
|
-
border-color: var(--primary);
|
|
52
|
-
}
|
|
53
|
-
50% {
|
|
54
|
-
border-color: var(--primary-foreground);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
body {
|
|
59
|
-
background-color: var(--background);
|
|
60
|
-
color: var(--foreground);
|
|
61
|
-
font-family:
|
|
62
|
-
Noto Sans,
|
|
63
|
-
sans-serif;
|
|
64
|
-
font-optical-sizing: auto;
|
|
65
|
-
font-style: normal;
|
|
66
|
-
font-variation-settings: "wdth" 100;
|
|
67
|
-
}
|
|
68
|
-
* {
|
|
69
|
-
border-color: var(--border);
|
|
70
|
-
}
|
|
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 -4px color-mix(in oklab,var(--primary-foreground) 10%,transparent)}50%{border-color:var(--primary-foreground);box-shadow:0 0 4px 4px color-mix(in oklab,var(--primary-foreground) 10%,transparent)}}}@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/dist/esm/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fransek/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"author": "Frans Ekman <fransedvinekman@gmail.com>",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"import": "./dist/esm/index.js",
|
|
27
27
|
"require": "./dist/cjs/index.js"
|
|
28
28
|
},
|
|
29
|
-
"./theme": {
|
|
29
|
+
"./theme.css": {
|
|
30
30
|
"import": "./dist/esm/index.css",
|
|
31
31
|
"require": "./dist/cjs/index.css"
|
|
32
32
|
},
|
package/dist/cjs/lib/types.d.ts
DELETED
package/dist/cjs/theme.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@import "tailwindcss";@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap");@source "../components/**/*.{ts,tsx,js,jsx}";:root{--background:#0a0a0a;--foreground:#ededed;--border:#333;--card:#141414;--primary:#3b2d7c;--on-primary:#fff;--primary-foreground:#946fd1;--secondary:#e6e6e6;--on-secondary:#000;--secondary-foreground:#fff;--muted:#5e5e5e;--on-muted:#d1d1d1;--muted-foreground:#919191;--error:#972626;--on-error:#fff;--error-foreground:#d94141;--success:#2d7e45;--on-success:#fff;--success-foreground:#47c26c;--link:#3b82f6}@theme inline{--color-background:var(--background);--color-foreground:var(--foreground);--color-border:var(--border);--color-card:var(--card);--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-success:var(--success);--color-on-success:var(--on-success);--color-success-foreground:var(--success-foreground);--color-link:var(--link);--animate-validating:validating 1.5s ease-in-out infinite;@keyframes validating{0%,to{border-color:var(--primary)}50%{border-color:var(--primary-foreground)}}}@layer components{.fransek-ui{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/dist/esm/lib/types.d.ts
DELETED
package/dist/esm/theme.css
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap");
|
|
2
|
-
@import "tailwindcss";
|
|
3
|
-
@source "../components/**/*.{ts,tsx,js,jsx}";
|
|
4
|
-
:root {
|
|
5
|
-
--background: #0a0a0a;
|
|
6
|
-
--foreground: #ededed;
|
|
7
|
-
--border: #333;
|
|
8
|
-
--card: #141414;
|
|
9
|
-
--primary: #3b2d7c;
|
|
10
|
-
--on-primary: #fff;
|
|
11
|
-
--primary-foreground: #946fd1;
|
|
12
|
-
--secondary: #e6e6e6;
|
|
13
|
-
--on-secondary: #000;
|
|
14
|
-
--secondary-foreground: #fff;
|
|
15
|
-
--muted: #5e5e5e;
|
|
16
|
-
--on-muted: #d1d1d1;
|
|
17
|
-
--muted-foreground: #919191;
|
|
18
|
-
--error: #972626;
|
|
19
|
-
--on-error: #fff;
|
|
20
|
-
--error-foreground: #d94141;
|
|
21
|
-
--success: #2d7e45;
|
|
22
|
-
--on-success: #fff;
|
|
23
|
-
--success-foreground: #47c26c;
|
|
24
|
-
--link: #3b82f6;
|
|
25
|
-
}
|
|
26
|
-
@theme inline {
|
|
27
|
-
--color-background: var(--background);
|
|
28
|
-
--color-foreground: var(--foreground);
|
|
29
|
-
--color-border: var(--border);
|
|
30
|
-
--color-card: var(--card);
|
|
31
|
-
--color-primary: var(--primary);
|
|
32
|
-
--color-on-primary: var(--on-primary);
|
|
33
|
-
--color-primary-foreground: var(--primary-foreground);
|
|
34
|
-
--color-secondary: var(--secondary);
|
|
35
|
-
--color-on-secondary: var(--on-secondary);
|
|
36
|
-
--color-secondary-foreground: var(--secondary-foreground);
|
|
37
|
-
--color-muted: var(--muted);
|
|
38
|
-
--color-on-muted: var(--on-muted);
|
|
39
|
-
--color-muted-foreground: var(--muted-foreground);
|
|
40
|
-
--color-error: var(--error);
|
|
41
|
-
--color-on-error: var(--on-error);
|
|
42
|
-
--color-error-foreground: var(--error-foreground);
|
|
43
|
-
--color-success: var(--success);
|
|
44
|
-
--color-on-success: var(--on-success);
|
|
45
|
-
--color-success-foreground: var(--success-foreground);
|
|
46
|
-
--color-link: var(--link);
|
|
47
|
-
--animate-validating: validating 1.5s ease-in-out infinite;
|
|
48
|
-
@keyframes validating {
|
|
49
|
-
0%,
|
|
50
|
-
to {
|
|
51
|
-
border-color: var(--primary);
|
|
52
|
-
}
|
|
53
|
-
50% {
|
|
54
|
-
border-color: var(--primary-foreground);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
@layer components {
|
|
59
|
-
.fransek-ui {
|
|
60
|
-
color: var(--foreground);
|
|
61
|
-
font-family:
|
|
62
|
-
Noto Sans,
|
|
63
|
-
sans-serif;
|
|
64
|
-
font-optical-sizing: auto;
|
|
65
|
-
font-style: normal;
|
|
66
|
-
font-variation-settings: "wdth" 100;
|
|
67
|
-
&,
|
|
68
|
-
* {
|
|
69
|
-
border-color: var(--border);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|