@nomos-ui/form 0.0.6 → 0.0.8

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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @nomos-ui/react
1
+ # Nomos UI Forms
2
2
 
3
3
  > **νόμος** (nomos) - Greek: law, order, principle
4
4
 
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/components/button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,cAAc;;;8EA8BnB,CAAC;AAEF,KAAK,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAC/C,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEJ,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAe,EACf,SAAiB,EACjB,IAAI,EACJ,IAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,WAAW,2CA4Cb;AAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,YAAY,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/components/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,cAAc;;;8EA8BnB,CAAC;AAEF,KAAK,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAC/C,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEJ,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAe,EACf,SAAiB,EACjB,IAAI,EACJ,IAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,WAAW,2CA4Cb;AAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,YAAY,EAAE,WAAW,EAAE,CAAC"}
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  "use strict";
3
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
3
  if (k2 === undefined) k2 = k;
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/components/button.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDb,yBAwDC;;AA1GD,6CAA+B;AAC/B,qDAA4C;AAC5C,uEAAkE;AAClE,+CAA0C;AAC1C,oDAA8C;AAE9C,MAAM,cAAc,GAAG,IAAA,8BAAG,EACxB,wdAAwd,EACxd;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,wDAAwD;YACjE,WAAW,EACT,mJAAmJ;YACrJ,OAAO,EACL,uIAAuI;YACzI,SAAS,EACP,8DAA8D;YAChE,KAAK,EACH,4IAA4I;YAC9I,IAAI,EAAE,qDAAqD;SAC5D;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,+BAA+B;YACxC,EAAE,EAAE,+CAA+C;YACnD,EAAE,EAAE,sCAAsC;YAC1C,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,SAAS;SACrB;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAC;AAwEO,wCAAc;AA1DvB,SAAwB,MAAM,CAAC,EAC7B,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAO,GAAG,KAAK,EACf,SAAS,GAAG,KAAK,EACjB,IAAI,EACJ,IAAI,GAAG,QAAQ,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,GAAG,KAAK,EACI;IACZ,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAsB,CAAC;IAC3E,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAoB,IAAI,CAAC,CAAC;IAExD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,SAAS,IAAI,SAAS,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YACnD,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,CAAC,SAAS,IAAI,WAAW,EAAE,CAAC;YACrC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAE7B,MAAM,WAAW,GAAG;QAClB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,QAAQ;QACzB,SAAS,EAAE,IAAA,UAAE,EAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3D,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;QACvD,GAAG,EAAE,SAAS;KACf,CAAC;IAEF,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAC1B,uBAAC,yBAAU,IAAC,SAAS,EAAC,qBAAqB,GAAG,CAC/C,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,uBAAC,iBAAI,OAAK,WAAW,KAAM,KAAK,YAC7B,OAAO,GACH,CACR,CAAC;IACJ,CAAC;IAED,OAAO,CACL,mCACE,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,SAAS,IAAI,QAAQ,KAC3B,WAAW,KACX,KAAK,YAER,OAAO,GACD,CACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/components/button.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDA,yBAwDC;;AA1GD,6CAA+B;AAC/B,qDAA4C;AAC5C,uEAAkE;AAClE,+CAA0C;AAC1C,oDAA8C;AAE9C,MAAM,cAAc,GAAG,IAAA,8BAAG,EACxB,wdAAwd,EACxd;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,wDAAwD;YACjE,WAAW,EACT,mJAAmJ;YACrJ,OAAO,EACL,uIAAuI;YACzI,SAAS,EACP,8DAA8D;YAChE,KAAK,EACH,4IAA4I;YAC9I,IAAI,EAAE,qDAAqD;SAC5D;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,+BAA+B;YACxC,EAAE,EAAE,+CAA+C;YACnD,EAAE,EAAE,sCAAsC;YAC1C,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,SAAS;SACrB;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAC;AAwEO,wCAAc;AA1DvB,SAAwB,MAAM,CAAC,EAC7B,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAO,GAAG,KAAK,EACf,SAAS,GAAG,KAAK,EACjB,IAAI,EACJ,IAAI,GAAG,QAAQ,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,GAAG,KAAK,EACI;IACZ,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAsB,CAAC;IAC3E,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAoB,IAAI,CAAC,CAAC;IAExD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,SAAS,IAAI,SAAS,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YACnD,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,CAAC,SAAS,IAAI,WAAW,EAAE,CAAC;YACrC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAE7B,MAAM,WAAW,GAAG;QAClB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,QAAQ;QACzB,SAAS,EAAE,IAAA,UAAE,EAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3D,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;QACvD,GAAG,EAAE,SAAS;KACf,CAAC;IAEF,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAC1B,uBAAC,yBAAU,IAAC,SAAS,EAAC,qBAAqB,GAAG,CAC/C,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,uBAAC,iBAAI,OAAK,WAAW,KAAM,KAAK,YAC7B,OAAO,GACH,CACR,CAAC;IACJ,CAAC;IAED,OAAO,CACL,mCACE,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,SAAS,IAAI,QAAQ,KAC3B,WAAW,KACX,KAAK,YAER,OAAO,GACD,CACV,CAAC;AACJ,CAAC"}
@@ -2,7 +2,7 @@ import * as React from "react";
2
2
  /**
3
3
  * Props for the enhanced Input component
4
4
  */
5
- export type InputProps = {
5
+ export type InputProps<TValue> = {
6
6
  /** Additional class name for the input element */
7
7
  inputClassName?: string;
8
8
  /** Additional class name for the container */
@@ -22,9 +22,9 @@ export type InputProps = {
22
22
  /** Whether to trim input value before calling onChange */
23
23
  trim?: boolean;
24
24
  /** Current value of the input */
25
- value?: string | number;
25
+ value?: TValue;
26
26
  /** Callback fired when input value changes */
27
- onChange?: (value: string | number | null, e?: React.ChangeEvent<HTMLInputElement>) => void;
27
+ onChange?: (value: TValue, e?: React.ChangeEvent<HTMLInputElement>) => void;
28
28
  /** Whether the field is required */
29
29
  required?: boolean;
30
30
  /** Whether to show an asterisk for required fields */
@@ -65,5 +65,5 @@ export type InputProps = {
65
65
  * />
66
66
  * ```
67
67
  */
68
- export default function Input({ inputClassName, className, placeholder, label, labelClassName, type, disabled, trim, value, onChange, required, showRequiredSign, tip, error, inputContainerClassName, ref, inputRef, showSearchIcon, ...props }: InputProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, keyof InputProps>): import("react/jsx-runtime").JSX.Element;
68
+ export default function Input<TValue extends string | number | null | undefined>({ inputClassName, className, placeholder, label, labelClassName, type, disabled, trim, value, onChange, required, showRequiredSign, tip, error, inputContainerClassName, ref, inputRef, showSearchIcon, ...props }: InputProps<TValue> & Omit<React.InputHTMLAttributes<HTMLInputElement>, keyof InputProps<TValue>>): import("react/jsx-runtime").JSX.Element;
69
69
  //# sourceMappingURL=input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAC7B,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KACpC,IAAI,CAAC;IACV,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,gCAAgC;IAChC,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,yEAAyE;IACzE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAC5B,cAAc,EACd,SAAS,EACT,WAAW,EACX,KAAK,EACL,cAAc,EACd,IAAa,EACb,QAAgB,EAChB,IAAY,EACZ,KAAU,EACV,QAAQ,EACR,QAAgB,EAChB,gBAAwB,EACxB,GAAG,EACH,KAAK,EACL,uBAAuB,EACvB,GAAG,EACH,QAAQ,EACR,cAAc,EACd,GAAG,KAAK,EACT,EAAE,UAAU,GACX,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,UAAU,CAAC,2CA2IpE"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,MAAM,IAAI;IAC/B,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC5E,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,gCAAgC;IAChC,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,yEAAyE;IACzE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EACjD,EACA,cAAc,EACd,SAAS,EACT,WAAW,EACX,KAAK,EACL,cAAc,EACd,IAAa,EACb,QAAgB,EAChB,IAAY,EACZ,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,gBAAwB,EACxB,GAAG,EACH,KAAK,EACL,uBAAuB,EACvB,GAAG,EACH,QAAQ,EACR,cAAc,EACd,GAAG,KAAK,EACT,EAAE,UAAU,CAAC,MAAM,CAAC,GACnB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,2CAqI5E"}
@@ -31,28 +31,25 @@ const utils_1 = require("../utils/shadcn-ui/utils");
31
31
  * />
32
32
  * ```
33
33
  */
34
- function Input({ inputClassName, className, placeholder, label, labelClassName, type = "text", disabled = false, trim = false, value = "", onChange, required = false, showRequiredSign = false, tip, error, inputContainerClassName, ref, inputRef, showSearchIcon, ...props }) {
34
+ function Input({ inputClassName, className, placeholder, label, labelClassName, type = "text", disabled = false, trim = false, value, onChange, required = false, showRequiredSign = false, tip, error, inputContainerClassName, ref, inputRef, showSearchIcon, ...props }) {
35
35
  const isPassword = type.includes("password");
36
36
  const [showPassword, setShowPassword] = (0, react_1.useState)(!isPassword);
37
37
  const [isFocused, setIsFocused] = (0, react_1.useState)(false);
38
- function handleOnChange(text) {
38
+ function handleOnChange(val, e) {
39
39
  if (disabled || !onChange)
40
40
  return;
41
- const processedValue = trim ? text.trim() : text;
42
- onChange(type === "number" && processedValue
43
- ? Number(processedValue)
44
- : processedValue);
41
+ onChange(type === "number" && val ? Number(val) : val, e);
45
42
  }
46
43
  const currentValue = (0, react_1.useMemo)(() => {
47
44
  if (type === "datetime-local") {
48
- let newValue = value.toString().split(".");
49
- if (newValue.length === 2)
45
+ let newValue = value?.toString().split(".");
46
+ if (newValue?.length === 2)
50
47
  return newValue[0]?.slice?.(0, -3);
51
48
  else
52
49
  return value;
53
50
  }
54
51
  if (type === "date")
55
- return value.toString().split("T")[0];
52
+ return value?.toString().split("T")[0];
56
53
  return value;
57
54
  }, [value, type]);
58
55
  return ((0, jsx_runtime_1.jsxs)("div", { ref: ref, className: (0, utils_1.cn)("gap-1 grid", className), children: [label && ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-row items-center gap-1", children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: props.id, className: (0, utils_1.cn)("text-sm font-bold text-foreground", labelClassName), children: label }), required && showRequiredSign && ((0, jsx_runtime_1.jsx)(lucide_react_1.AsteriskIcon, { size: 12, className: "text-destructive" }))] })), (0, jsx_runtime_1.jsxs)("div", { "data-focus": isFocused, className: (0, utils_1.cn)("flex w-full min-w-0 rounded-md border bg-transparent shadow-xs transition-[color,box-shadow,border-color]", "border-input file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground", "placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground",
@@ -75,9 +72,8 @@ function Input({ inputClassName, className, placeholder, label, labelClassName,
75
72
  }, onChange: (e) => {
76
73
  const value = e.currentTarget.value;
77
74
  if (onChange) {
78
- handleOnChange(value);
79
- onChange(value, e);
75
+ handleOnChange(value, e);
80
76
  }
81
- }, value: currentValue, placeholder: placeholder, className: (0, utils_1.cn)("h-9 w-full flex-1 bg-transparent px-3 py-1 text-base outline-none", "file:inline-flex file:h-7", "disabled:cursor-not-allowed disabled:bg-transparent", "md:text-sm", inputClassName), step: "any", ref: inputRef, ...props }), isPassword && ((0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => !disabled && setShowPassword((prev) => !prev), disabled: disabled, className: "mr-3 flex-shrink-0 cursor-pointer text-muted-foreground hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50", tabIndex: -1, children: showPassword ? (0, jsx_runtime_1.jsx)(lucide_react_1.EyeIcon, { size: 16 }) : (0, jsx_runtime_1.jsx)(lucide_react_1.EyeOffIcon, { size: 16 }) }))] }), tip && !error && ((0, jsx_runtime_1.jsx)("p", { className: "text-xs text-muted-foreground tip-message", children: tip })), error && ((0, jsx_runtime_1.jsxs)("p", { className: "text-xs text-destructive error-message", children: ["*", error] }))] }));
77
+ }, value: currentValue || "", placeholder: placeholder, className: (0, utils_1.cn)("h-9 w-full flex-1 bg-transparent px-3 py-1 text-base outline-none", "file:inline-flex file:h-7", "disabled:cursor-not-allowed disabled:bg-transparent", "md:text-sm", inputClassName), step: "any", ref: inputRef, ...props }), isPassword && ((0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => !disabled && setShowPassword((prev) => !prev), disabled: disabled, className: "mr-3 flex-shrink-0 cursor-pointer text-muted-foreground hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50", tabIndex: -1, children: showPassword ? (0, jsx_runtime_1.jsx)(lucide_react_1.EyeIcon, { size: 16 }) : (0, jsx_runtime_1.jsx)(lucide_react_1.EyeOffIcon, { size: 16 }) }))] }), tip && !error && ((0, jsx_runtime_1.jsx)("p", { className: "text-xs text-muted-foreground tip-message", children: tip })), error && ((0, jsx_runtime_1.jsxs)("p", { className: "text-xs text-destructive error-message", children: ["*", error] }))] }));
82
78
  }
83
79
  //# sourceMappingURL=input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import React from "react";
2
+ export type MultipleSelectOption<T = string> = {
3
+ value: T;
4
+ label: React.ReactNode;
5
+ };
6
+ export type SelectProps<T = string> = {
7
+ className?: string;
8
+ label?: string;
9
+ required?: boolean;
10
+ showRequiredSign?: boolean;
11
+ options: MultipleSelectOption<T>[];
12
+ value?: T | T[];
13
+ onChange?: (value: T | T[]) => void;
14
+ placeholder?: string;
15
+ multiple?: boolean;
16
+ labelProps?: {
17
+ className?: string;
18
+ };
19
+ triggerProps?: {
20
+ className?: string;
21
+ };
22
+ contentProps?: {
23
+ className?: string;
24
+ };
25
+ valueProps?: {
26
+ className?: string;
27
+ };
28
+ groupProps?: {
29
+ className?: string;
30
+ };
31
+ itemProps?: {
32
+ className?: string;
33
+ };
34
+ };
35
+ /**
36
+ * Customizable select dropdown with smart positioning and flexible styling
37
+ * Supports both single and multiple selection
38
+ */
39
+ export default function MultipleSelect<T extends string = string>({ className, label, required, showRequiredSign, options, value, onChange, placeholder, multiple, labelProps, triggerProps, contentProps, valueProps, groupProps, itemProps, }: SelectProps<T>): import("react/jsx-runtime").JSX.Element;
40
+ //# sourceMappingURL=multiple-select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiple-select.d.ts","sourceRoot":"","sources":["../../src/components/multiple-select.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,MAAM,IAAI;IAC7C,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,YAAY,CAAC,EAAE;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,YAAY,CAAC,EAAE;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAChE,SAAS,EACT,KAAK,EACL,QAAgB,EAChB,gBAAwB,EACxB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,WAAW,EACX,QAAgB,EAChB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,GACV,EAAE,WAAW,CAAC,CAAC,CAAC,2CAsJhB"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = MultipleSelect;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const select_1 = require("./shadcn-ui/select");
6
+ const tailwind_merge_1 = require("tailwind-merge");
7
+ const lucide_react_1 = require("lucide-react");
8
+ /**
9
+ * Customizable select dropdown with smart positioning and flexible styling
10
+ * Supports both single and multiple selection
11
+ */
12
+ function MultipleSelect({ className, label, required = false, showRequiredSign = false, options, value, onChange, placeholder, multiple = false, labelProps, triggerProps, contentProps, valueProps, groupProps, itemProps, }) {
13
+ const handleValueChange = (newValue) => {
14
+ if (!multiple) {
15
+ onChange?.(newValue);
16
+ return;
17
+ }
18
+ const currentValues = Array.isArray(value) ? value : [];
19
+ const isSelected = currentValues.includes(newValue);
20
+ if (isSelected) {
21
+ const filtered = currentValues.filter((v) => v !== newValue);
22
+ onChange?.(filtered);
23
+ }
24
+ else {
25
+ onChange?.([...currentValues, newValue]);
26
+ }
27
+ };
28
+ const handleRemoveTag = (valueToRemove) => {
29
+ if (!multiple || !Array.isArray(value))
30
+ return;
31
+ const filtered = value.filter((v) => v !== valueToRemove);
32
+ onChange?.(filtered);
33
+ };
34
+ const getSelectedLabels = () => {
35
+ if (!multiple || !Array.isArray(value))
36
+ return null;
37
+ return value
38
+ .map((v) => options.find((opt) => opt.value === v))
39
+ .filter(Boolean)
40
+ .map((opt) => ({
41
+ value: opt.value,
42
+ label: opt.label,
43
+ }));
44
+ };
45
+ if (multiple) {
46
+ const selectedLabels = getSelectedLabels();
47
+ return ((0, jsx_runtime_1.jsxs)("div", { className: (0, tailwind_merge_1.twMerge)("gap-1 grid", className), children: [label && ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-row items-center gap-1", children: [(0, jsx_runtime_1.jsx)("label", { className: (0, tailwind_merge_1.twMerge)("font-bold", labelProps?.className), children: label }), required && showRequiredSign && ((0, jsx_runtime_1.jsx)(lucide_react_1.AsteriskIcon, { size: 12, color: "red" }))] })), (0, jsx_runtime_1.jsxs)(select_1.Select, { value: "", onValueChange: handleValueChange, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: (0, tailwind_merge_1.twMerge)("min-h-10", triggerProps?.className), children: (0, jsx_runtime_1.jsx)("div", { className: "flex flex-wrap gap-2 flex-1", children: selectedLabels && selectedLabels.length > 0 ? (selectedLabels.map((item) => ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-1 px-2 py-1 text-sm bg-blue-100 text-blue-800 rounded-md", onClick: (e) => e.stopPropagation(), children: [item.label, (0, jsx_runtime_1.jsx)(lucide_react_1.X, { size: 14, className: "cursor-pointer hover:text-blue-600", onClick: (e) => {
48
+ e.stopPropagation();
49
+ handleRemoveTag(item.value);
50
+ } })] }, String(item.value))))) : ((0, jsx_runtime_1.jsx)("span", { className: (0, tailwind_merge_1.twMerge)("text-muted-foreground", valueProps?.className), children: placeholder })) }) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { className: contentProps?.className, children: (0, jsx_runtime_1.jsx)(select_1.SelectGroup, { className: groupProps?.className, children: options.map((option) => {
51
+ const isSelected = Array.isArray(value) && value.includes(option.value);
52
+ return ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: option.value, className: (0, tailwind_merge_1.twMerge)(isSelected && "bg-blue-50", itemProps?.className), children: option.label }, String(option.value)));
53
+ }) }) })] })] }));
54
+ }
55
+ return ((0, jsx_runtime_1.jsxs)("div", { className: (0, tailwind_merge_1.twMerge)("gap-1 grid", className), children: [label && ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-row items-center gap-1", children: [(0, jsx_runtime_1.jsx)("label", { className: (0, tailwind_merge_1.twMerge)("font-bold", labelProps?.className), children: label }), required && showRequiredSign && ((0, jsx_runtime_1.jsx)(lucide_react_1.AsteriskIcon, { size: 12, color: "red" }))] })), (0, jsx_runtime_1.jsxs)(select_1.Select, { value: value, onValueChange: onChange, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: triggerProps?.className, children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: placeholder, className: valueProps?.className }) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { className: contentProps?.className, children: (0, jsx_runtime_1.jsx)(select_1.SelectGroup, { className: groupProps?.className, children: options.map((option) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: option.value, className: itemProps?.className, children: option.label }, String(option.value)))) }) })] })] }));
56
+ }
57
+ //# sourceMappingURL=multiple-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiple-select.js","sourceRoot":"","sources":["../../src/components/multiple-select.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import React from "react";
2
+ export type SelectOption<T = string> = {
3
+ value: T;
4
+ label: React.ReactNode;
5
+ };
6
+ export type SelectProps<T = string> = {
7
+ className?: string;
8
+ label?: string;
9
+ required?: boolean;
10
+ showRequiredSign?: boolean;
11
+ options: SelectOption<T>[];
12
+ value?: T;
13
+ onChange?: (value: T) => void;
14
+ placeholder?: string;
15
+ labelProps?: {
16
+ className?: string;
17
+ };
18
+ triggerProps?: {
19
+ className?: string;
20
+ };
21
+ contentProps?: {
22
+ className?: string;
23
+ };
24
+ valueProps?: {
25
+ className?: string;
26
+ };
27
+ groupProps?: {
28
+ className?: string;
29
+ };
30
+ itemProps?: {
31
+ className?: string;
32
+ };
33
+ };
34
+ /**
35
+ * Customizable select dropdown with smart positioning and flexible styling
36
+ */
37
+ export default function Select<T extends string = string>({ className, label, required, showRequiredSign, options, value, onChange, placeholder, labelProps, triggerProps, contentProps, valueProps, groupProps, itemProps, }: SelectProps<T>): import("react/jsx-runtime").JSX.Element;
38
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/components/select.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,MAAM,IAAI;IACrC,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,YAAY,CAAC,EAAE;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,YAAY,CAAC,EAAE;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EACxD,SAAS,EACT,KAAK,EACL,QAAgB,EAChB,gBAAwB,EACxB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,GACV,EAAE,WAAW,CAAC,CAAC,CAAC,2CAqChB"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = Select;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const select_1 = require("./shadcn-ui/select");
6
+ const tailwind_merge_1 = require("tailwind-merge");
7
+ const lucide_react_1 = require("lucide-react");
8
+ /**
9
+ * Customizable select dropdown with smart positioning and flexible styling
10
+ */
11
+ function Select({ className, label, required = false, showRequiredSign = false, options, value, onChange, placeholder, labelProps, triggerProps, contentProps, valueProps, groupProps, itemProps, }) {
12
+ return ((0, jsx_runtime_1.jsxs)("div", { className: (0, tailwind_merge_1.twMerge)("gap-1 grid", className), children: [label && ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-row items-center gap-1", children: [(0, jsx_runtime_1.jsx)("label", { className: (0, tailwind_merge_1.twMerge)("font-bold", labelProps?.className), children: label }), required && showRequiredSign && ((0, jsx_runtime_1.jsx)(lucide_react_1.AsteriskIcon, { size: 12, color: "red" }))] })), (0, jsx_runtime_1.jsxs)(select_1.Select, { value: value, onValueChange: onChange, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: triggerProps?.className, children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: placeholder, className: valueProps?.className }) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { className: contentProps?.className, children: (0, jsx_runtime_1.jsx)(select_1.SelectGroup, { className: groupProps?.className, children: options.map((option) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: option.value, className: itemProps?.className, children: option.label }, String(option.value)))) }) })] })] }));
13
+ }
14
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/components/select.tsx"],"names":[],"mappings":";;AAiDA,yBAoDC;;AArGD,+CAO4B;AAC5B,mDAAyC;AACzC,+CAA4C;AAqC5C;;GAEG;AACH,SAAwB,MAAM,CAA4B,EACxD,SAAS,EACT,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,gBAAgB,GAAG,KAAK,EACxB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,GACM;IACf,OAAO,CACL,iCAAK,SAAS,EAAE,IAAA,wBAAO,EAAC,YAAY,EAAE,SAAS,CAAC,aAC7C,KAAK,IAAI,CACR,iCAAK,SAAS,EAAC,kCAAkC,aAC/C,kCAAO,SAAS,EAAE,IAAA,wBAAO,EAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,YAC1D,KAAK,GACA,EACP,QAAQ,IAAI,gBAAgB,IAAI,CAC/B,uBAAC,2BAAY,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,KAAK,GAAG,CACvC,IACG,CACP,EAED,wBAAC,eAAY,IAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,aACjD,uBAAC,sBAAa,IAAC,SAAS,EAAE,YAAY,EAAE,SAAS,YAC/C,uBAAC,oBAAW,IACV,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,UAAU,EAAE,SAAS,GAChC,GACY,EAChB,uBAAC,sBAAa,IAAC,SAAS,EAAE,YAAY,EAAE,SAAS,YAC/C,uBAAC,oBAAW,IAAC,SAAS,EAAE,UAAU,EAAE,SAAS,YAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,uBAAC,mBAAU,IAET,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,SAAS,EAAE,SAAS,EAAE,SAAS,YAE9B,MAAM,CAAC,KAAK,IAJR,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAKd,CACd,CAAC,GACU,GACA,IACH,IACX,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ import * as SelectPrimitive from "@radix-ui/react-select";
3
+ declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
5
+ declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): import("react/jsx-runtime").JSX.Element;
6
+ declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
7
+ size?: "sm" | "default";
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ declare function SelectContent({ className, children, position, align, ...props }: React.ComponentProps<typeof SelectPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
10
+ declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>): import("react/jsx-runtime").JSX.Element;
11
+ declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
12
+ declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
13
+ declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>): import("react/jsx-runtime").JSX.Element;
14
+ declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>): import("react/jsx-runtime").JSX.Element;
15
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
16
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/components/shadcn-ui/select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAI1D,iBAAS,MAAM,CAAC,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAEnD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,IAAgB,EAChB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACxD,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACzB,2CAiBA;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,QAAmB,EACnB,KAAgB,EAChB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CA6BtD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQpD;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAkBnD;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,2CAQxD;AAED,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,2CAa7D;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,gBAAgB,CAAC,2CAa/D;AAED,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,CAAC"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.Select = Select;
37
+ exports.SelectContent = SelectContent;
38
+ exports.SelectGroup = SelectGroup;
39
+ exports.SelectItem = SelectItem;
40
+ exports.SelectLabel = SelectLabel;
41
+ exports.SelectScrollDownButton = SelectScrollDownButton;
42
+ exports.SelectScrollUpButton = SelectScrollUpButton;
43
+ exports.SelectSeparator = SelectSeparator;
44
+ exports.SelectTrigger = SelectTrigger;
45
+ exports.SelectValue = SelectValue;
46
+ const jsx_runtime_1 = require("react/jsx-runtime");
47
+ const SelectPrimitive = __importStar(require("@radix-ui/react-select"));
48
+ const lucide_react_1 = require("lucide-react");
49
+ const utils_1 = require("../../utils/shadcn-ui/utils");
50
+ function Select({ ...props }) {
51
+ return (0, jsx_runtime_1.jsx)(SelectPrimitive.Root, { "data-slot": "select", ...props });
52
+ }
53
+ function SelectGroup({ ...props }) {
54
+ return (0, jsx_runtime_1.jsx)(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
55
+ }
56
+ function SelectValue({ ...props }) {
57
+ return (0, jsx_runtime_1.jsx)(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
58
+ }
59
+ function SelectTrigger({ className, size = "default", children, ...props }) {
60
+ return ((0, jsx_runtime_1.jsxs)(SelectPrimitive.Trigger, { "data-slot": "select-trigger", "data-size": size, className: (0, utils_1.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [children, (0, jsx_runtime_1.jsx)(SelectPrimitive.Icon, { asChild: true, children: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDownIcon, { className: "size-4 opacity-50" }) })] }));
61
+ }
62
+ function SelectContent({ className, children, position = "popper", align = "center", ...props }) {
63
+ return ((0, jsx_runtime_1.jsx)(SelectPrimitive.Portal, { children: (0, jsx_runtime_1.jsxs)(SelectPrimitive.Content, { "data-slot": "select-content", className: (0, utils_1.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md", position === "popper" &&
64
+ "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className), position: position, align: align, ...props, children: [(0, jsx_runtime_1.jsx)(SelectScrollUpButton, {}), (0, jsx_runtime_1.jsx)(SelectPrimitive.Viewport, { className: (0, utils_1.cn)("p-1", position === "popper" &&
65
+ "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"), children: children }), (0, jsx_runtime_1.jsx)(SelectScrollDownButton, {})] }) }));
66
+ }
67
+ function SelectLabel({ className, ...props }) {
68
+ return ((0, jsx_runtime_1.jsx)(SelectPrimitive.Label, { "data-slot": "select-label", className: (0, utils_1.cn)("text-muted-foreground px-2 py-1.5 text-xs", className), ...props }));
69
+ }
70
+ function SelectItem({ className, children, ...props }) {
71
+ return ((0, jsx_runtime_1.jsxs)(SelectPrimitive.Item, { "data-slot": "select-item", className: (0, utils_1.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className), ...props, children: [(0, jsx_runtime_1.jsx)("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: (0, jsx_runtime_1.jsx)(SelectPrimitive.ItemIndicator, { children: (0, jsx_runtime_1.jsx)(lucide_react_1.CheckIcon, { className: "size-4" }) }) }), (0, jsx_runtime_1.jsx)(SelectPrimitive.ItemText, { children: children })] }));
72
+ }
73
+ function SelectSeparator({ className, ...props }) {
74
+ return ((0, jsx_runtime_1.jsx)(SelectPrimitive.Separator, { "data-slot": "select-separator", className: (0, utils_1.cn)("bg-border pointer-events-none -mx-1 my-1 h-px", className), ...props }));
75
+ }
76
+ function SelectScrollUpButton({ className, ...props }) {
77
+ return ((0, jsx_runtime_1.jsx)(SelectPrimitive.ScrollUpButton, { "data-slot": "select-scroll-up-button", className: (0, utils_1.cn)("flex cursor-default items-center justify-center py-1", className), ...props, children: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronUpIcon, { className: "size-4" }) }));
78
+ }
79
+ function SelectScrollDownButton({ className, ...props }) {
80
+ return ((0, jsx_runtime_1.jsx)(SelectPrimitive.ScrollDownButton, { "data-slot": "select-scroll-down-button", className: (0, utils_1.cn)("flex cursor-default items-center justify-center py-1", className), ...props, children: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDownIcon, { className: "size-4" }) }));
81
+ }
82
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/components/shadcn-ui/select.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  import Button from "../components/button";
2
2
  import FormInput from "../components/form-input";
3
3
  import Input from "../components/input";
4
- export { Button, FormInput, Input };
4
+ import Select, { SelectOption, SelectProps } from "../components/select";
5
+ import MultipleSelect from "../components/multiple-select";
6
+ export { Button, FormInput, Input, Select, MultipleSelect };
7
+ export type { SelectOption, SelectProps };
5
8
  export * from "../components/input";
6
9
  export * from "../components/form-input";
7
10
  export * from "../components/button";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/exports/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/exports/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,MAAM,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC"}
@@ -17,13 +17,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.Input = exports.FormInput = exports.Button = void 0;
20
+ exports.MultipleSelect = exports.Select = exports.Input = exports.FormInput = exports.Button = void 0;
21
21
  const button_1 = __importDefault(require("../components/button"));
22
22
  exports.Button = button_1.default;
23
23
  const form_input_1 = __importDefault(require("../components/form-input"));
24
24
  exports.FormInput = form_input_1.default;
25
25
  const input_1 = __importDefault(require("../components/input"));
26
26
  exports.Input = input_1.default;
27
+ const select_1 = __importDefault(require("../components/select"));
28
+ exports.Select = select_1.default;
29
+ const multiple_select_1 = __importDefault(require("../components/multiple-select"));
30
+ exports.MultipleSelect = multiple_select_1.default;
27
31
  __exportStar(require("../components/input"), exports);
28
32
  __exportStar(require("../components/form-input"), exports);
29
33
  __exportStar(require("../components/button"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/exports/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,kEAA0C;AAIjC,iBAJF,gBAAM,CAIE;AAHf,0EAAiD;AAGhC,oBAHV,oBAAS,CAGU;AAF1B,gEAAwC;AAEZ,gBAFrB,eAAK,CAEqB;AACjC,sDAAoC;AACpC,2DAAyC;AACzC,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/exports/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,kEAA0C;AAMjC,iBANF,gBAAM,CAME;AALf,0EAAiD;AAKhC,oBALV,oBAAS,CAKU;AAJ1B,gEAAwC;AAIZ,gBAJrB,eAAK,CAIqB;AAHjC,kEAAyE;AAGtC,iBAH5B,gBAAM,CAG4B;AAFzC,oFAA2D;AAEhB,yBAFpC,yBAAc,CAEoC;AAEzD,sDAAoC;AACpC,2DAAyC;AACzC,uDAAqC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nomos-ui/form",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "description": "The Shadcn library for building robust React forms",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/exports/index.js",
@@ -75,6 +75,7 @@
75
75
  "sideEffects": false,
76
76
  "packageManager": "pnpm@10.13.1",
77
77
  "dependencies": {
78
+ "@radix-ui/react-select": "^2.2.6",
78
79
  "@radix-ui/react-slot": "^1.2.3",
79
80
  "@tailwindcss/postcss": "^4.1.16",
80
81
  "@tailwindcss/vite": "^4.1.16",