@divayth/brick-ui 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -28,6 +28,26 @@ The package ships compiled CSS; consumers do not need Tailwind.
28
28
  No global CSS reset is included. Colors can be overridden via CSS variables.
29
29
  Interactive Button preserves its 'use client' directive; Text and Flex remain server-compatible.
30
30
 
31
+ ## Select and Autocomplete
32
+
33
+ The value type is inferred from `options`; explicit JSX type arguments are not needed.
34
+ Clearing a single selection returns `undefined`; `multiple` returns an array.
35
+
36
+ ```tsx
37
+ <Autocomplete
38
+ options={[{ value: 1, label: "Alice" }]}
39
+ onChange={(id) => console.log(id)} // number | undefined
40
+ />
41
+ ```
42
+
43
+ `SelectProps` describes selection controls. `AutocompleteProps` additionally includes
44
+ `onSearchChange`, `searchPlaceholder`, and `filterOptions`. Use `SelectControlProps`
45
+ for shared presentation props when building wrappers such as a user picker.
46
+
47
+ Options are not filtered by default. Pass `filterOptions` to enable local search,
48
+ or use `onSearchChange` to fetch options from a server. Replace the old
49
+ `<Select searchable />` API with `<Autocomplete />`.
50
+
31
51
  ## Themes
32
52
 
33
53
  `Provider` includes light and dark palettes. It restores the theme from the
@@ -1,4 +1,5 @@
1
- import { type SelectProps, type SelectValue } from "../Select/Select.js";
2
- export type AutocompleteProps<T extends SelectValue = SelectValue, Multiple extends boolean = false> = SelectProps<T, Multiple>;
3
- export declare const Autocomplete: <T extends SelectValue, Multiple extends boolean = false>(props: AutocompleteProps<T, Multiple>) => import("react").JSX.Element;
1
+ import { type SelectValue } from "../Select/Select.js";
2
+ import type { AutocompleteProps } from "../Select/Select.types.js";
3
+ export type { AutocompleteProps } from "../Select/Select.types.js";
4
+ export declare const Autocomplete: <T extends SelectValue, Multiple extends boolean = false, Clearable extends boolean = boolean>(props: AutocompleteProps<T, Multiple, Clearable>) => import("react").JSX.Element;
4
5
  //# sourceMappingURL=Autocomplete.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../src/ui/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,QAAQ,SAAS,OAAO,GAAG,KAAK,IAC9B,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAE7B,eAAO,MAAM,YAAY,GACvB,CAAC,SAAS,WAAW,EACrB,QAAQ,SAAS,OAAO,GAAG,KAAK,EAEhC,OAAO,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,gCACF,CAAC"}
1
+ {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../src/ui/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,eAAO,MAAM,YAAY,GACvB,CAAC,SAAS,WAAW,EACrB,QAAQ,SAAS,OAAO,GAAG,KAAK,EAChC,SAAS,SAAS,OAAO,GAAG,OAAO,EAEnC,OAAO,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,gCACe,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { jsx as o } from "react/jsx-runtime";
3
- import { Select as t } from "../Select/Select.js";
3
+ import { SelectBase as t } from "../Select/Select.js";
4
4
  const c = (e) => /* @__PURE__ */ o(t, { ...e, searchable: !0 });
5
5
  export {
6
6
  c as Autocomplete
@@ -1,4 +1,5 @@
1
- import type { SelectProps, SelectValue } from "./Select.types.js";
2
- export type { SelectOption, SelectProps, SelectValue } from "./Select.types.js";
3
- export declare const Select: <T extends SelectValue, Multiple extends boolean = false>({ value, onChange, renderValue, onSearchChange, filterOptions, isLoading, multiple, searchable, options, label, disabled, placeholder, searchPlaceholder, error, withArrow, clearable, className, size, variant, }: SelectProps<T, Multiple>) => import("react").JSX.Element;
1
+ import type { SelectProps, SelectBaseProps, SelectValue } from "./Select.types.js";
2
+ export type { SelectOption, SelectProps, SelectValue, SelectControlProps } from "./Select.types.js";
3
+ export declare const SelectBase: <T extends SelectValue, Multiple extends boolean = false, Clearable extends boolean = boolean>({ value, onChange, renderValue, onSearchChange, filterOptions, isLoading, multiple, searchable, options, label, disabled, placeholder, searchPlaceholder, error, withArrow, clearable, className, size, variant, }: SelectBaseProps<T, Multiple, Clearable>) => import("react").JSX.Element;
4
+ export declare const Select: <T extends SelectValue, Multiple extends boolean = false, Clearable extends boolean = boolean>(props: SelectProps<T, Multiple, Clearable>) => import("react").JSX.Element;
4
5
  //# sourceMappingURL=Select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/ui/Select/Select.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAEV,WAAW,EACX,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOhF,eAAO,MAAM,MAAM,GACjB,CAAC,SAAS,WAAW,EACrB,QAAQ,SAAS,OAAO,GAAG,KAAK,EAChC,oNAoBC,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,gCAwI1B,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/ui/Select/Select.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAEV,WAAW,EACX,eAAe,EACf,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAOpG,eAAO,MAAM,UAAU,GACrB,CAAC,SAAS,WAAW,EACrB,QAAQ,SAAS,OAAO,GAAG,KAAK,EAChC,SAAS,SAAS,OAAO,GAAG,OAAO,EACnC,oNAoBC,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,gCAwIzC,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,WAAW,EAAE,QAAQ,SAAS,OAAO,GAAG,KAAK,EAAE,SAAS,SAAS,OAAO,GAAG,OAAO,EACjH,OAAO,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,gCAC6B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { jsx as r, jsxs as I } from "react/jsx-runtime";
2
+ import { jsx as o, jsxs as I } from "react/jsx-runtime";
3
3
  import { useId as G, useRef as H, useState as F } from "react";
4
4
  import { clsx as P } from "clsx";
5
5
  import { ChevronDown as J, X as K } from "lucide-react";
@@ -11,48 +11,48 @@ import { Flex as W } from "../Flex/Flex.js";
11
11
  import { IconButton as Y } from "../IconButton/IconButton.js";
12
12
  import { Popover as N } from "../Popover/Popover.js";
13
13
  import t from "./Select.module.css.js";
14
- const z = { sm: 16, md: 20, lg: 24 }, ee = { sm: "xs", md: "sm", lg: "md" }, fe = ({
15
- value: d,
14
+ const z = { sm: 16, md: 20, lg: 24 }, ee = { sm: "xs", md: "sm", lg: "md" }, oe = ({
15
+ value: s,
16
16
  onChange: k,
17
- renderValue: L,
18
- onSearchChange: R,
19
- filterOptions: Z = !0,
20
- isLoading: _ = !1,
21
- multiple: l,
17
+ renderValue: B,
18
+ onSearchChange: b,
19
+ filterOptions: L = !1,
20
+ isLoading: Z = !1,
21
+ multiple: i,
22
22
  searchable: g = !1,
23
- options: b = [],
24
- label: u,
25
- disabled: s,
26
- placeholder: f,
27
- searchPlaceholder: q,
28
- error: a,
29
- withArrow: B = !0,
30
- clearable: j = !0,
23
+ options: R = [],
24
+ label: f,
25
+ disabled: a,
26
+ placeholder: u,
27
+ searchPlaceholder: _,
28
+ error: c,
29
+ withArrow: q = !0,
30
+ clearable: j,
31
31
  className: D,
32
32
  size: h = "md",
33
33
  variant: T = "filled"
34
34
  }) => {
35
- const { messages: A } = M(), i = G(), v = H(null), [n, V] = F(!1), [E, O] = F(""), c = Array.isArray(d) ? d : [d], o = b.filter((e) => c.includes(e.value)), $ = o.map(({ label: e, value: y }) => e ?? y).join(", "), x = o.length ? L?.(d) : void 0, S = (e) => k?.(e), m = (e) => {
36
- V(e), O(""), R?.("");
35
+ const { messages: A } = M(), l = G(), v = H(null), [n, V] = F(!1), [E, O] = F(""), m = Array.isArray(s) ? s : [s], r = R.filter((e) => m.includes(e.value)), $ = r.map(({ label: e, value: y }) => e ?? y).join(", "), x = r.length ? B?.(s) : void 0, S = (e) => k?.(e), d = (e) => {
36
+ V(e), O(""), b?.("");
37
37
  }, w = {
38
- id: i,
38
+ id: l,
39
39
  className: t.trigger,
40
- disabled: s,
41
- "aria-expanded": n && !s,
42
- "aria-controls": `${i}-options`,
43
- "aria-invalid": !!a,
44
- "aria-describedby": a ? `${i}-error` : void 0
40
+ disabled: a,
41
+ "aria-expanded": n && !a,
42
+ "aria-controls": `${l}-options`,
43
+ "aria-invalid": !!c,
44
+ "aria-describedby": c ? `${l}-error` : void 0
45
45
  }, X = (e) => {
46
- if (l) {
47
- const y = c.includes(e.value) ? c.filter((C) => C !== e.value) : [...c.filter((C) => C !== void 0), e.value];
46
+ if (i) {
47
+ const y = m.includes(e.value) ? m.filter((C) => C !== e.value) : [...m.filter((C) => C !== void 0), e.value];
48
48
  S(y);
49
49
  } else
50
50
  S(e.value);
51
- m(!!l), v.current?.querySelector("input, button")?.focus();
51
+ d(!!i), v.current?.querySelector("input, button")?.focus();
52
52
  };
53
- return /* @__PURE__ */ r(N.Root, { open: n && !s, onOpenChange: m, children: /* @__PURE__ */ I(p.Root, { className: D, children: [
54
- u && /* @__PURE__ */ r(p.Label, { htmlFor: i, label: u }),
55
- /* @__PURE__ */ r(p.Control, { size: h, children: /* @__PURE__ */ r(N.Anchor, { children: /* @__PURE__ */ I(
53
+ return /* @__PURE__ */ o(N.Root, { open: n && !a, onOpenChange: d, children: /* @__PURE__ */ I(p.Root, { className: D, children: [
54
+ f && /* @__PURE__ */ o(p.Label, { htmlFor: l, label: f }),
55
+ /* @__PURE__ */ o(p.Control, { size: h, children: /* @__PURE__ */ o(N.Anchor, { children: /* @__PURE__ */ I(
56
56
  W,
57
57
  {
58
58
  ref: v,
@@ -60,40 +60,40 @@ const z = { sm: 16, md: 20, lg: 24 }, ee = { sm: "xs", md: "sm", lg: "md" }, fe
60
60
  alignItems: "center",
61
61
  justifyContent: "between",
62
62
  className: P(t.select, t[T], {
63
- [t.error]: a,
64
- [t.disabled]: s
63
+ [t.error]: c,
64
+ [t.disabled]: a
65
65
  }),
66
66
  children: [
67
- g ? /* @__PURE__ */ r(
67
+ g ? /* @__PURE__ */ o(
68
68
  Q,
69
69
  {
70
70
  size: h,
71
71
  value: n ? E : $,
72
72
  displayValue: x,
73
- placeholder: n ? q ?? A.search : f,
74
- "aria-label": u ?? f,
75
- open: n && !s,
73
+ placeholder: n ? _ ?? A.search : u,
74
+ "aria-label": f ?? u,
75
+ open: n && !a,
76
76
  onClick: () => {
77
- n || m(!0);
77
+ n || d(!0);
78
78
  },
79
79
  onChange: (e) => {
80
- n || m(!0), O(e.target.value), R?.(e.target.value);
80
+ n || d(!0), O(e.target.value), b?.(e.target.value);
81
81
  },
82
82
  ...w
83
83
  }
84
- ) : /* @__PURE__ */ r(N.Trigger, { children: /* @__PURE__ */ I("button", { type: "button", "aria-haspopup": "listbox", ...w, children: [
85
- !l && x == null && o[0]?.icon,
86
- /* @__PURE__ */ r(
84
+ ) : /* @__PURE__ */ o(N.Trigger, { children: /* @__PURE__ */ I("button", { type: "button", "aria-haspopup": "listbox", ...w, children: [
85
+ !i && x == null && r[0]?.icon,
86
+ /* @__PURE__ */ o(
87
87
  "span",
88
88
  {
89
89
  className: P(
90
90
  t.value,
91
- !o.length && t.placeholder
91
+ !r.length && t.placeholder
92
92
  ),
93
- children: o.length ? x ?? $ : f
93
+ children: r.length ? x ?? $ : u
94
94
  }
95
95
  ),
96
- B && !(o.length && j) && /* @__PURE__ */ r(
96
+ q && !(r.length && j !== !1) && /* @__PURE__ */ o(
97
97
  J,
98
98
  {
99
99
  size: z[h],
@@ -102,32 +102,32 @@ const z = { sm: 16, md: 20, lg: 24 }, ee = { sm: "xs", md: "sm", lg: "md" }, fe
102
102
  }
103
103
  )
104
104
  ] }) }),
105
- j && (g || o.length > 0) && /* @__PURE__ */ r(
105
+ j !== !1 && (g || r.length > 0) && /* @__PURE__ */ o(
106
106
  Y,
107
107
  {
108
108
  size: ee[h],
109
109
  color: "secondary",
110
- className: o.length ? void 0 : "invisible",
111
- disabled: s || !o.length,
112
- "aria-hidden": !o.length || void 0,
110
+ className: r.length ? void 0 : "invisible",
111
+ disabled: a || !r.length,
112
+ "aria-hidden": !r.length || void 0,
113
113
  "aria-label": A.clear,
114
114
  onClick: () => {
115
- S(l ? [] : void 0), m(!1);
115
+ S(i ? [] : void 0), d(!1);
116
116
  },
117
- children: /* @__PURE__ */ r(K, {})
117
+ children: /* @__PURE__ */ o(K, {})
118
118
  }
119
119
  ),
120
- /* @__PURE__ */ r(
120
+ /* @__PURE__ */ o(
121
121
  U,
122
122
  {
123
- id: `${i}-options`,
124
- "aria-label": u ?? f,
125
- options: b,
126
- values: c,
123
+ id: `${l}-options`,
124
+ "aria-label": f ?? u,
125
+ options: R,
126
+ values: m,
127
127
  search: E,
128
- filterOptions: Z,
129
- isLoading: _,
130
- multiple: l,
128
+ filterOptions: L,
129
+ isLoading: Z,
130
+ multiple: i,
131
131
  searchable: g,
132
132
  anchorRef: v,
133
133
  onSelect: X
@@ -136,9 +136,10 @@ const z = { sm: 16, md: 20, lg: 24 }, ee = { sm: "xs", md: "sm", lg: "md" }, fe
136
136
  ]
137
137
  }
138
138
  ) }) }),
139
- a && /* @__PURE__ */ r(p.Error, { id: `${i}-error`, error: a })
139
+ c && /* @__PURE__ */ o(p.Error, { id: `${l}-error`, error: c })
140
140
  ] }) });
141
- };
141
+ }, he = (s) => /* @__PURE__ */ o(oe, { ...s, searchable: !1 });
142
142
  export {
143
- fe as Select
143
+ he as Select,
144
+ oe as SelectBase
144
145
  };
@@ -7,27 +7,17 @@ export interface SelectSearchProps extends Extract<InputProps, {
7
7
  open: boolean;
8
8
  displayValue?: ReactNode;
9
9
  }
10
- export interface SelectOption<T> {
10
+ export interface SelectOption<T = SelectValue> {
11
11
  value: T;
12
12
  label?: string;
13
13
  icon?: ReactNode;
14
14
  }
15
15
  export type SelectValue = string | number | boolean | undefined;
16
- export type Selection<T, Multiple extends boolean> = Multiple extends true ? T[] : T;
17
- export interface SelectProps<T extends SelectValue = SelectValue, Multiple extends boolean = false> {
18
- value?: Selection<T, Multiple>;
19
- onChange?: (value: Selection<T, Multiple>) => void;
20
- renderValue?: (value: Selection<T, Multiple>) => ReactNode;
21
- onSearchChange?: (search: string) => void;
22
- filterOptions?: boolean;
23
- isLoading?: boolean;
24
- options: SelectOption<T>[];
25
- multiple?: Multiple;
16
+ export type Selection<T, Multiple extends boolean, Clearable extends boolean = boolean> = Multiple extends true ? T[] : Clearable extends false ? T : T | undefined;
17
+ export interface SelectControlProps {
26
18
  size?: ControlSize;
27
- searchable?: boolean;
28
19
  disabled?: boolean;
29
20
  placeholder?: string;
30
- searchPlaceholder?: string;
31
21
  label?: string;
32
22
  error?: string;
33
23
  withArrow?: boolean;
@@ -35,6 +25,23 @@ export interface SelectProps<T extends SelectValue = SelectValue, Multiple exten
35
25
  className?: string;
36
26
  variant?: "filled" | "outlined";
37
27
  }
28
+ export interface SelectProps<T extends SelectValue = SelectValue, Multiple extends boolean = false, Clearable extends boolean = boolean> extends SelectControlProps {
29
+ options: readonly SelectOption<T>[];
30
+ value?: Selection<NoInfer<T>, Multiple>;
31
+ onChange?: (value: Selection<NoInfer<T>, Multiple, Clearable>) => void;
32
+ renderValue?: (value: Selection<NoInfer<T>, Multiple>) => ReactNode;
33
+ multiple?: Multiple;
34
+ clearable?: Clearable;
35
+ isLoading?: boolean;
36
+ }
37
+ export interface AutocompleteProps<T extends SelectValue = SelectValue, Multiple extends boolean = false, Clearable extends boolean = boolean> extends SelectProps<T, Multiple, Clearable> {
38
+ onSearchChange?: (search: string) => void;
39
+ searchPlaceholder?: string;
40
+ filterOptions?: boolean;
41
+ }
42
+ export interface SelectBaseProps<T extends SelectValue, Multiple extends boolean, Clearable extends boolean> extends AutocompleteProps<T, Multiple, Clearable> {
43
+ searchable?: boolean;
44
+ }
38
45
  export interface SelectOptionProps<T> {
39
46
  item: SelectOption<T>;
40
47
  checked: boolean;
@@ -44,7 +51,7 @@ export interface SelectOptionProps<T> {
44
51
  export interface SelectOptionsProps<T> {
45
52
  id: string;
46
53
  "aria-label"?: string;
47
- options: SelectOption<T>[];
54
+ options: readonly SelectOption<T>[];
48
55
  values: T[];
49
56
  search: string;
50
57
  filterOptions?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Select.types.d.ts","sourceRoot":"","sources":["../../../src/ui/Select/Select.types.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Select.types.d.ts","sourceRoot":"","sources":["../../../src/ui/Select/Select.types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,iBAAkB,SAAQ,OAAO,CAChD,UAAU,EACV;IAAE,SAAS,CAAC,EAAE,KAAK,CAAA;CAAE,CACtB;IACC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,WAAW;IAC3C,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEhE,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,QAAQ,SAAS,OAAO,EAAE,SAAS,SAAS,OAAO,GAAG,OAAO,IAAI,QAAQ,SAAS,IAAI,GAC3G,CAAC,EAAE,GACH,SAAS,SAAS,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CACjC;AAED,MAAM,WAAW,WAAW,CAC1B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,QAAQ,SAAS,OAAO,GAAG,KAAK,EAChC,SAAS,SAAS,OAAO,GAAG,OAAO,CACnC,SAAQ,kBAAkB;IAC1B,OAAO,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC;IACvE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,SAAS,CAAC;IACpE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB,CAChC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,QAAQ,SAAS,OAAO,GAAG,KAAK,EAChC,SAAS,SAAS,OAAO,GAAG,OAAO,CACnC,SAAQ,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,SAAS,OAAO,EAAE,SAAS,SAAS,OAAO,CACzG,SAAQ,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC;IACjD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC5C,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CAC3C"}
@@ -11,7 +11,7 @@ const z = ({
11
11
  options: c,
12
12
  values: r,
13
13
  search: n,
14
- filterOptions: i = !0,
14
+ filterOptions: i = !1,
15
15
  isLoading: o = !1,
16
16
  multiple: l,
17
17
  searchable: m,
@@ -29,5 +29,5 @@ export { DateInput, type DateInputProps } from "./Date/DateInput.js";
29
29
  export { MultipleChip, type MultipleChipProps, type MultipleChipOption, } from "./MultipleChip/MultipleChip.js";
30
30
  export { Sticky, type StickyProps } from "./Sticky/Sticky.js";
31
31
  export { Autocomplete, type AutocompleteProps, } from "./Autocomplete/Autocomplete.js";
32
- export { Select, type SelectProps, type SelectOption, type SelectValue, } from "./Select/Select.js";
32
+ export { Select, type SelectProps, type SelectControlProps, type SelectOption, type SelectValue, } from "./Select/Select.js";
33
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@divayth/brick-ui",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "React components for Brick UI",
5
5
  "type": "module",
6
6
  "files": [
@@ -31,18 +31,18 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@radix-ui/react-compose-refs": "^1.1.5",
34
- "radix-ui": "^1.8.1",
35
34
  "clsx": "^2.1.1",
36
35
  "dayjs": "^1.11.23",
37
36
  "js-cookie": "^3.0.8",
38
37
  "lucide-react": "^1.57.0",
38
+ "radix-ui": "^1.8.1",
39
39
  "react-day-picker": "^10.0.2",
40
40
  "tailwind-merge": "^3.7.0"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@fontsource-variable/inter": "^5.3.0",
44
44
  "@storybook/addon-docs": "^10.3.6",
45
- "@storybook/react-vite": "^10.3.6",
45
+ "@storybook/react-vite": "^8.5.3",
46
46
  "@tailwindcss/vite": "^4.0.0",
47
47
  "@types/js-cookie": "^3.0.6",
48
48
  "@types/node": "^22.0.0",