@vkzstudio/muza-ui 1.0.20 → 1.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/components/Dialog/Dialog.js +1 -1
  2. package/dist/components/FileUpload/FileUpload.d.ts +4 -0
  3. package/dist/components/FileUpload/FileUpload.d.ts.map +1 -1
  4. package/dist/components/FileUpload/FileUpload.js +74 -70
  5. package/dist/components/FileUpload/FileUpload.stories.d.ts.map +1 -1
  6. package/dist/components/FormField/FormField.d.ts +4 -0
  7. package/dist/components/FormField/FormField.d.ts.map +1 -1
  8. package/dist/components/FormField/FormField.js +62 -49
  9. package/dist/components/Input/Input.d.ts +4 -0
  10. package/dist/components/Input/Input.d.ts.map +1 -1
  11. package/dist/components/Input/Input.js +25 -21
  12. package/dist/components/Input/Input.stories.d.ts.map +1 -1
  13. package/dist/components/MultiSelect/MultiSelect.d.ts +4 -0
  14. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  15. package/dist/components/MultiSelect/MultiSelect.js +42 -38
  16. package/dist/components/MultiSelect/MultiSelect.stories.d.ts.map +1 -1
  17. package/dist/components/Select/Select.d.ts +4 -0
  18. package/dist/components/Select/Select.d.ts.map +1 -1
  19. package/dist/components/Select/Select.js +36 -32
  20. package/dist/components/Select/Select.stories.d.ts.map +1 -1
  21. package/dist/components/TextEditor/TextEditor.d.ts.map +1 -1
  22. package/dist/components/TextEditor/TextEditor.js +66 -71
  23. package/dist/components/TextEditor/ToolbarButton.js +6 -6
  24. package/dist/components/Textarea/Textarea.d.ts +7 -1
  25. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  26. package/dist/components/Textarea/Textarea.js +71 -38
  27. package/dist/components/Textarea/Textarea.stories.d.ts +1 -0
  28. package/dist/components/Textarea/Textarea.stories.d.ts.map +1 -1
  29. package/package.json +1 -1
@@ -34,7 +34,7 @@ const Q = o.Root, U = o.Title, Z = o.Description, A = ({
34
34
  {
35
35
  ref: h,
36
36
  className: i(
37
- "-mx-comp-dialog-p -mt-comp-dialog-p border-b border-stroke-base-primary px-comp-dialog-p py-comp-dialog-p-hor",
37
+ "py-comp-dialog-p-hor -mx-comp-dialog-p -mt-comp-dialog-p border-b border-stroke-base-primary px-comp-dialog-p",
38
38
  l
39
39
  ),
40
40
  ...f,
@@ -103,6 +103,10 @@ export interface FileUploadProps extends Omit<React.HTMLAttributes<HTMLDivElemen
103
103
  preselectedUrls?: PreselectedUrl[];
104
104
  /** Fires when a URL-backed item is deleted. Receives the item and its index in the `preselectedUrls` array. */
105
105
  onDeleteUrl?: (item: PreselectedUrl, index: number) => void;
106
+ /** Extra content rendered inline next to the label (e.g. a tooltip icon). */
107
+ labelExtra?: React.ReactNode;
108
+ /** Tooltip content shown in an info icon next to the label. Overridden by `labelExtra` if both are provided. */
109
+ infoTooltip?: string;
106
110
  }
107
111
  declare const FileUpload: React.ForwardRefExoticComponent<FileUploadProps & React.RefAttributes<HTMLDivElement>>;
108
112
  export { FileUpload };
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/FileUpload.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/FileUpload.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
- import { jsxs as f, jsx as a, Fragment as ee } from "react/jsx-runtime";
2
- import * as F from "react";
3
- import { cva as B } from "class-variance-authority";
4
- import { useDropzone as oe } from "react-dropzone";
1
+ import { jsxs as f, jsx as a, Fragment as re } from "react/jsx-runtime";
2
+ import * as y from "react";
3
+ import { cva as G } from "class-variance-authority";
4
+ import { useDropzone as le } from "react-dropzone";
5
5
  import { FileItem as K } from "./FileItem.js";
6
- import { useMuzaTranslations as te } from "../../translations/TranslationContext.js";
7
- import { Flex as re } from "../Flex/Flex.js";
8
- import { FormField as le } from "../FormField/FormField.js";
9
- import { cn as _ } from "../../utils/cn.js";
10
- import { CloudUploadOutline as se } from "@solar-icons/react-perf";
11
- import { Typography as S } from "../Typography/Typography.js";
12
- const ie = B(
6
+ import { useMuzaTranslations as se } from "../../translations/TranslationContext.js";
7
+ import { Flex as _ } from "../Flex/Flex.js";
8
+ import { FormField as ie } from "../FormField/FormField.js";
9
+ import { cn as B } from "../../utils/cn.js";
10
+ import { CloudUploadOutline as ae } from "@solar-icons/react-perf";
11
+ import { Typography as k } from "../Typography/Typography.js";
12
+ const de = G(
13
13
  [
14
14
  "group relative cursor-pointer rounded-xl border-1 border-dashed transition-colors",
15
15
  "p-4xl pt-3xl pr-4xl pb-3xl",
@@ -45,7 +45,7 @@ const ie = B(
45
45
  }
46
46
  }
47
47
  }
48
- ), ae = B(
48
+ ), pe = G(
49
49
  [
50
50
  "text-center transition-colors",
51
51
  "text-comp-file-upload-text-dark-secondary"
@@ -57,39 +57,41 @@ const ie = B(
57
57
  }
58
58
  }
59
59
  }
60
- ), de = F.forwardRef(
60
+ ), ce = y.forwardRef(
61
61
  ({
62
- className: y,
62
+ className: $,
63
63
  onDrop: x,
64
64
  accept: u,
65
- multiple: k = !0,
65
+ multiple: w = !0,
66
66
  maxSize: g,
67
- maxSizeErrorMessage: G,
68
- size: $ = "base",
67
+ maxSizeErrorMessage: J,
68
+ size: N = "base",
69
69
  disabled: p = !1,
70
70
  readOnly: m = !1,
71
- dropzoneOptions: J,
72
- label: w,
73
- title: L,
74
- subtitle: N,
75
- preselectedFiles: Q = [],
76
- fileStatus: W = [],
71
+ dropzoneOptions: L,
72
+ label: I,
73
+ title: Q,
74
+ subtitle: R,
75
+ preselectedFiles: W = [],
76
+ fileStatus: X = [],
77
77
  itemErrors: b,
78
78
  itemHints: h,
79
- error: X,
79
+ error: Y,
80
80
  required: v,
81
- disableRequiredAsterisk: Y,
81
+ disableRequiredAsterisk: Z,
82
82
  onError: t,
83
83
  onDelete: z,
84
84
  onChange: c,
85
- preselectedUrls: U = [],
86
- onDeleteUrl: M,
87
- ...Z
88
- }, q) => {
89
- const n = te(), [I, R] = F.useState(Q), [j, A] = F.useState(!1), O = L ?? n.fileUpload.title, P = g ? n.fileUpload.maxSizeError.replace(
85
+ preselectedUrls: M = [],
86
+ onDeleteUrl: F,
87
+ labelExtra: q,
88
+ infoTooltip: O,
89
+ ...H
90
+ }, D) => {
91
+ const n = se(), [S, U] = y.useState(W), [j, A] = y.useState(!1), E = Q ?? n.fileUpload.title, P = g ? n.fileUpload.maxSizeError.replace(
90
92
  "{size}",
91
93
  (g / (1024 * 1024)).toFixed(0)
92
- ) : "", T = G ?? P, { getRootProps: H, getInputProps: D, isDragActive: E } = oe({
94
+ ) : "", T = J ?? P, { getRootProps: C, getInputProps: ee, isDragActive: oe } = le({
93
95
  onDrop: (e, l) => {
94
96
  try {
95
97
  if (A(!1), l.length > 0 && l.some(
@@ -100,7 +102,7 @@ const ie = B(
100
102
  t == null || t(r, l[0].file);
101
103
  return;
102
104
  }
103
- R((o) => {
105
+ U((o) => {
104
106
  const r = new Set(
105
107
  o.map((i) => `${i.name}-${i.size}-${i.lastModified}`)
106
108
  ), s = e.filter(
@@ -114,58 +116,60 @@ const ie = B(
114
116
  }
115
117
  },
116
118
  accept: typeof u == "string" ? { [u]: [] } : u ? Object.fromEntries(u.map((e) => [e, []])) : void 0,
117
- multiple: k,
119
+ multiple: w,
118
120
  maxSize: g,
119
121
  disabled: p,
120
- ...J
121
- }), V = m || !k && (I.length > 0 || U.length > 0);
122
- return /* @__PURE__ */ f(re, { direction: "column", gap: "lg", children: [
123
- (!V || w) && /* @__PURE__ */ a(
124
- le,
122
+ ...L
123
+ }), V = m || !w && (S.length > 0 || M.length > 0);
124
+ return /* @__PURE__ */ f(_, { direction: "column", gap: "lg", children: [
125
+ (!V || I) && /* @__PURE__ */ a(
126
+ ie,
125
127
  {
126
- label: w,
128
+ label: I,
127
129
  required: v,
128
- disableRequiredAsterisk: Y,
129
- children: !V && /* @__PURE__ */ f(ee, { children: [
130
+ disableRequiredAsterisk: Z,
131
+ labelExtra: q,
132
+ infoTooltip: O,
133
+ children: !V && /* @__PURE__ */ f(re, { children: [
130
134
  /* @__PURE__ */ f(
131
135
  "div",
132
136
  {
133
- ref: q,
137
+ ref: D,
134
138
  tabIndex: p ? void 0 : 0,
135
- className: _(
136
- ie({
137
- error: X || j,
139
+ className: B(
140
+ de({
141
+ error: Y || j,
138
142
  disabled: p,
139
- className: y,
140
- isDragActive: E
143
+ className: $,
144
+ isDragActive: oe
141
145
  })
142
146
  ),
143
- ...H(),
144
- ...Z,
147
+ ...C(),
148
+ ...H,
145
149
  children: [
146
150
  /* @__PURE__ */ a(
147
151
  "input",
148
152
  {
149
- ...D({ required: v }),
153
+ ...ee({ required: v }),
150
154
  "aria-required": v
151
155
  }
152
156
  ),
153
- /* @__PURE__ */ a(se, { className: "inline size-comp-file-upload-ico-size" }),
157
+ /* @__PURE__ */ a(ae, { className: "inline size-comp-file-upload-ico-size" }),
154
158
  /* @__PURE__ */ f("div", { children: [
155
- /* @__PURE__ */ a(S, { size: "base", component: "p", weight: "medium", children: O }),
156
- N && /* @__PURE__ */ a(
157
- S,
159
+ /* @__PURE__ */ a(k, { size: "base", component: "p", weight: "medium", children: E }),
160
+ R && /* @__PURE__ */ a(
161
+ k,
158
162
  {
159
163
  size: "sm",
160
164
  component: "p",
161
165
  weight: "regular",
162
- className: _(
163
- ae({
166
+ className: B(
167
+ pe({
164
168
  disabled: p,
165
- className: y
169
+ className: $
166
170
  })
167
171
  ),
168
- children: N
172
+ children: R
169
173
  }
170
174
  )
171
175
  ] })
@@ -173,7 +177,7 @@ const ie = B(
173
177
  }
174
178
  ),
175
179
  j && /* @__PURE__ */ a(
176
- S,
180
+ k,
177
181
  {
178
182
  size: "sm",
179
183
  variant: "body",
@@ -186,8 +190,8 @@ const ie = B(
186
190
  ] })
187
191
  }
188
192
  ),
189
- /* @__PURE__ */ f("ul", { className: "flex flex-col gap-md", children: [
190
- U.map((e, l) => /* @__PURE__ */ a(
193
+ (M.length > 0 || S.length > 0) && /* @__PURE__ */ f(_, { component: "ul", direction: "column", gap: "md", children: [
194
+ M.map((e, l) => /* @__PURE__ */ a(
191
195
  K,
192
196
  {
193
197
  source: "url",
@@ -197,13 +201,13 @@ const ie = B(
197
201
  uploaded: !0,
198
202
  disabled: p,
199
203
  readOnly: m,
200
- size: $,
201
- onDelete: () => M == null ? void 0 : M(e, l)
204
+ size: N,
205
+ onDelete: () => F == null ? void 0 : F(e, l)
202
206
  },
203
207
  `url-${e.url}`
204
208
  )),
205
- I.map((e, l) => {
206
- const o = W[l], r = o == null ? void 0 : o.uploaded;
209
+ S.map((e, l) => {
210
+ const o = X[l], r = o == null ? void 0 : o.uploaded;
207
211
  return m && !r ? null : /* @__PURE__ */ a(
208
212
  K,
209
213
  {
@@ -216,11 +220,11 @@ const ie = B(
216
220
  error: b == null ? void 0 : b.get(e),
217
221
  note: h == null ? void 0 : h.get(e),
218
222
  onError: t,
219
- size: $,
223
+ size: N,
220
224
  onDelete: () => {
221
225
  try {
222
- R((s) => {
223
- const d = s.filter((i, C) => C !== l);
226
+ U((s) => {
227
+ const d = s.filter((i, te) => te !== l);
224
228
  return c == null || c(d), d;
225
229
  }), z == null || z(e, l);
226
230
  } catch (s) {
@@ -236,7 +240,7 @@ const ie = B(
236
240
  ] });
237
241
  }
238
242
  );
239
- de.displayName = "FileUpload";
243
+ ce.displayName = "FileUpload";
240
244
  export {
241
- de as FileUpload
245
+ ce as FileUpload
242
246
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.stories.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/FileUpload.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,UAAU,EAAuB,MAAM,cAAc,CAAA;AAE9D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CA8KjC,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,OAAO,EAAE,KAerB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAgBtB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAmBnB,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,KAoBpC,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAsB9B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAkB3B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAiBxB,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAqBjC,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAexB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAiB3B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAmBtB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KA0ChC,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAoBtB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KA0F9B,CAAA;AAmBD,eAAO,MAAM,eAAe,EAAE,KA0B7B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAoC/B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAsB/B,CAAA"}
1
+ {"version":3,"file":"FileUpload.stories.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/FileUpload.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,UAAU,EAAuB,MAAM,cAAc,CAAA;AAE9D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAoLjC,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,OAAO,EAAE,KAiBrB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAgBtB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAmBnB,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,KAoBpC,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAsB9B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAkB3B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAiBxB,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAqBjC,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAexB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAiB3B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAmBtB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KA0ChC,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAoBtB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KA0F9B,CAAA;AAmBD,eAAO,MAAM,eAAe,EAAE,KA0B7B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAoC/B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAsB/B,CAAA"}
@@ -23,6 +23,10 @@ export interface FormFieldProps {
23
23
  hintId?: string;
24
24
  /** Extra content rendered inline next to the label (e.g. a tooltip icon). */
25
25
  labelExtra?: ReactNode;
26
+ /** Tooltip content shown in an info icon next to the label. Overridden by `labelExtra` if both are provided. */
27
+ infoTooltip?: string;
28
+ /** Content rendered on the right side of the label row (e.g. a character counter). */
29
+ labelRight?: ReactNode;
26
30
  /** Additional CSS classes for the outer wrapper. */
27
31
  className?: string;
28
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../src/components/FormField/FormField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAKlD,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,QAAQ,EAAE,SAAS,CAAA;IACnB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,SAAS,2GAoDrB,CAAA"}
1
+ {"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../src/components/FormField/FormField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAOlD,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,QAAQ,EAAE,SAAS,CAAA;IACnB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,gHAAgH;IAChH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sFAAsF;IACtF,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,SAAS,2GAwErB,CAAA"}
@@ -1,56 +1,69 @@
1
- import { jsxs as f, jsx as m } from "react/jsx-runtime";
2
- import { forwardRef as g } from "react";
3
- import { InputHint as h } from "./InputHint.js";
4
- import { InputLabel as e } from "./InputLabel.js";
5
- import { cn as F } from "../../utils/cn.js";
6
- const N = g(
1
+ import { jsxs as e, jsx as o } from "react/jsx-runtime";
2
+ import { forwardRef as N } from "react";
3
+ import { InputHint as g } from "./InputHint.js";
4
+ import { InputLabel as s } from "./InputLabel.js";
5
+ import { Tooltip as j, TooltipTrigger as C, TooltipContent as F } from "../Tooltip/Tooltip.js";
6
+ import { cn as T } from "../../utils/cn.js";
7
+ import { InfoCircleBold as w } from "@solar-icons/react-perf";
8
+ const y = N(
7
9
  ({
8
- children: t,
9
- label: i,
10
- hint: o,
11
- error: s,
12
- required: r,
13
- disableRequiredAsterisk: p,
14
- htmlFor: c,
15
- labelId: n,
10
+ children: l,
11
+ label: r,
12
+ hint: c,
13
+ error: a,
14
+ required: t,
15
+ disableRequiredAsterisk: m,
16
+ htmlFor: n,
17
+ labelId: p,
16
18
  hintId: x,
17
- labelExtra: d,
18
- className: a
19
- }, l) => /* @__PURE__ */ f(
20
- "div",
21
- {
22
- ref: l,
23
- className: F("flex flex-col gap-comp-input-gap", a),
24
- children: [
25
- i && (d ? /* @__PURE__ */ f("div", { className: "flex items-center gap-2xs", children: [
26
- /* @__PURE__ */ m(
27
- e,
19
+ labelExtra: h,
20
+ infoTooltip: d,
21
+ labelRight: i,
22
+ className: v
23
+ }, u) => {
24
+ const f = h ?? (d ? /* @__PURE__ */ e(j, { children: [
25
+ /* @__PURE__ */ o(C, { asChild: !0, children: /* @__PURE__ */ o(w, { className: "cursor-help text-comp-info-ico-def hover:text-comp-info-ico-hover" }) }),
26
+ /* @__PURE__ */ o(F, { children: d })
27
+ ] }) : void 0);
28
+ return /* @__PURE__ */ e(
29
+ "div",
30
+ {
31
+ ref: u,
32
+ className: T("flex flex-col gap-comp-input-gap", v),
33
+ children: [
34
+ (r || i) && (f || i ? /* @__PURE__ */ e("div", { className: "flex items-center justify-between", children: [
35
+ /* @__PURE__ */ e("div", { className: "flex items-center gap-2xs", children: [
36
+ r && /* @__PURE__ */ o(
37
+ s,
38
+ {
39
+ htmlFor: n,
40
+ id: p,
41
+ required: t,
42
+ disableRequiredAsterisk: m,
43
+ children: r
44
+ }
45
+ ),
46
+ f
47
+ ] }),
48
+ i
49
+ ] }) : /* @__PURE__ */ o(
50
+ s,
28
51
  {
29
- htmlFor: c,
30
- id: n,
31
- required: r,
32
- disableRequiredAsterisk: p,
33
- children: i
52
+ htmlFor: n,
53
+ id: p,
54
+ required: t,
55
+ disableRequiredAsterisk: m,
56
+ children: r
34
57
  }
35
- ),
36
- d
37
- ] }) : /* @__PURE__ */ m(
38
- e,
39
- {
40
- htmlFor: c,
41
- id: n,
42
- required: r,
43
- disableRequiredAsterisk: p,
44
- children: i
45
- }
46
- )),
47
- t,
48
- o && /* @__PURE__ */ m(h, { error: s, id: x, children: o })
49
- ]
50
- }
51
- )
58
+ )),
59
+ l,
60
+ c && /* @__PURE__ */ o(g, { error: a, id: x, children: c })
61
+ ]
62
+ }
63
+ );
64
+ }
52
65
  );
53
- N.displayName = "FormField";
66
+ y.displayName = "FormField";
54
67
  export {
55
- N as FormField
68
+ y as FormField
56
69
  };
@@ -39,6 +39,10 @@ export interface InputProps extends Omit<ComponentProps<'input'>, 'size' | 'pref
39
39
  disableRequiredAsterisk?: boolean;
40
40
  /** Displays helper or error text below the input. */
41
41
  hint?: string;
42
+ /** Extra content rendered inline next to the label (e.g. a tooltip icon). */
43
+ labelExtra?: ReactNode;
44
+ /** Tooltip content shown in an info icon next to the label. Overridden by `labelExtra` if both are provided. */
45
+ infoTooltip?: string;
42
46
  /**
43
47
  * Input mask pattern using react-imask syntax. All alphabetic input is automatically converted to uppercase.
44
48
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,SAAS,EAKf,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,KAAK,YAAY,EAAO,MAAM,0BAA0B,CAAA;AAMjE,QAAA,MAAM,oBAAoB;;;8EAyBzB,CAAA;AAgBD;;;;;GAKG;AACH,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,EAC1E,YAAY,CAAC,OAAO,oBAAoB,CAAC;IAC3C,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAA;IACxD;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,uEAAuE;IACvE,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,KAAK,sHA0IjB,CAAA"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,SAAS,EAKf,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,KAAK,YAAY,EAAO,MAAM,0BAA0B,CAAA;AAMjE,QAAA,MAAM,oBAAoB;;;8EAyBzB,CAAA;AAgBD;;;;;GAKG;AACH,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,EAC1E,YAAY,CAAC,OAAO,oBAAoB,CAAC;IAC3C,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAA;IACxD;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,uEAAuE;IACvE,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6EAA6E;IAC7E,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,gHAAgH;IAChH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,KAAK,sHA8IjB,CAAA"}
@@ -1,6 +1,6 @@
1
- import { jsx as c, jsxs as j } from "react/jsx-runtime";
2
- import { forwardRef as z, useId as W, useRef as $, useEffect as y } from "react";
3
- import { cva as A } from "class-variance-authority";
1
+ import { jsx as c, jsxs as W } from "react/jsx-runtime";
2
+ import { forwardRef as $, useId as A, useRef as C, useEffect as y } from "react";
3
+ import { cva as E } from "class-variance-authority";
4
4
  import "../../node_modules/imask/esm/index.js";
5
5
  import "../../node_modules/imask/esm/controls/input.js";
6
6
  import "../../node_modules/imask/esm/masked/factory.js";
@@ -10,12 +10,12 @@ import "../../node_modules/imask/esm/controls/html-mask-element.js";
10
10
  import "../../node_modules/imask/esm/controls/html-contenteditable-mask-element.js";
11
11
  import "../../node_modules/imask/esm/controls/input-history.js";
12
12
  import "../../node_modules/react-imask/esm/input.js";
13
- import C from "../../node_modules/react-imask/esm/hook.js";
13
+ import M from "../../node_modules/react-imask/esm/hook.js";
14
14
  import "../../node_modules/react-imask/esm/mixin.js";
15
- import { FormField as E } from "../FormField/FormField.js";
15
+ import { FormField as T } from "../FormField/FormField.js";
16
16
  import { cn as u } from "../../utils/cn.js";
17
- import { typographyVariants as M } from "../Typography/Typography.js";
18
- const T = A(
17
+ import { typographyVariants as U } from "../Typography/Typography.js";
18
+ const Y = E(
19
19
  [
20
20
  "rounded-full border border-comp-input-stroke-def",
21
21
  "bg-comp-input-fill-def transition-colors",
@@ -40,8 +40,8 @@ const T = A(
40
40
  error: !1
41
41
  }
42
42
  }
43
- ), U = (d) => u(
44
- M({
43
+ ), B = (d) => u(
44
+ U({
45
45
  size: d === "sm" ? "input" : "base",
46
46
  weight: "medium",
47
47
  fixY: !0
@@ -51,7 +51,7 @@ const T = A(
51
51
  "placeholder:font-regular",
52
52
  "disabled:cursor-not-allowed",
53
53
  "w-full"
54
- ), Y = z(
54
+ ), D = $(
55
55
  ({
56
56
  className: d,
57
57
  type: w = "text",
@@ -66,9 +66,11 @@ const T = A(
66
66
  id: I,
67
67
  required: l,
68
68
  disableRequiredAsterisk: N,
69
+ labelExtra: R,
70
+ infoTooltip: V,
69
71
  ...v
70
72
  }, o) => {
71
- const R = W(), p = I ?? R, g = h ? `${p}-hint` : void 0, k = b ? `${p}-label` : void 0, e = $(null), r = C(
73
+ const F = A(), p = I ?? F, g = h ? `${p}-hint` : void 0, k = b ? `${p}-label` : void 0, e = C(null), r = M(
72
74
  {
73
75
  mask: i || "",
74
76
  // Pattern like 'aaaaa-aaaaa' where 'a' = alphanumeric, '0' = digit
@@ -82,10 +84,10 @@ const T = A(
82
84
  y(() => {
83
85
  if (i && (r != null && r.maskRef.current) && a) {
84
86
  const t = r.maskRef.current, n = () => {
85
- const F = {
87
+ const z = {
86
88
  target: { value: t.value }
87
89
  };
88
- a(F);
90
+ a(z);
89
91
  };
90
92
  return t.on("accept", n), () => {
91
93
  t.off("accept", n);
@@ -94,12 +96,12 @@ const T = A(
94
96
  }, [i, r, a]), y(() => {
95
97
  o && (typeof o == "function" ? o(e.current) : o.current = e.current);
96
98
  }, [e, o]);
97
- const V = (t) => {
99
+ const j = (t) => {
98
100
  var n;
99
101
  v.disabled || t.target !== e.current && ((n = e.current) == null || n.focus());
100
102
  };
101
103
  return /* @__PURE__ */ c(
102
- E,
104
+ T,
103
105
  {
104
106
  label: b,
105
107
  hint: h,
@@ -109,17 +111,19 @@ const T = A(
109
111
  htmlFor: p,
110
112
  labelId: k,
111
113
  hintId: g,
112
- children: /* @__PURE__ */ j(
114
+ labelExtra: R,
115
+ infoTooltip: V,
116
+ children: /* @__PURE__ */ W(
113
117
  "div",
114
118
  {
115
119
  className: u(
116
- T({
120
+ Y({
117
121
  size: x,
118
122
  error: s
119
123
  }),
120
124
  d
121
125
  ),
122
- onClick: V,
126
+ onClick: j,
123
127
  children: [
124
128
  m && /* @__PURE__ */ c("div", { className: "flex items-center text-icon-dark-secondary-def", children: m }),
125
129
  /* @__PURE__ */ c(
@@ -128,7 +132,7 @@ const T = A(
128
132
  type: w,
129
133
  "data-slot": "input",
130
134
  className: u(
131
- U(x),
135
+ B(x),
132
136
  "[&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-clear-button]:hidden [&::-webkit-inner-spin-button]:hidden",
133
137
  "[&::-webkit-datetime-edit-text]:px-3xs"
134
138
  ),
@@ -151,7 +155,7 @@ const T = A(
151
155
  );
152
156
  }
153
157
  );
154
- Y.displayName = "Input";
158
+ D.displayName = "Input";
155
159
  export {
156
- Y as Input
160
+ D as Input
157
161
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Input.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,CA2J5B,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAA;AAGnC,eAAO,MAAM,OAAO,EAAE,KAarB,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,KAgBtC,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,KAenC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAgB5B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAgB3B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAyB3B,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,KAyBvC,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAoBtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAsBtB,CAAA"}
1
+ {"version":3,"file":"Input.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,CAiK5B,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAA;AAGnC,eAAO,MAAM,OAAO,EAAE,KAarB,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,KAgBtC,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,KAgBnC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAgB5B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAgB3B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAyB3B,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,KAyBvC,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAoBtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAsBtB,CAAA"}
@@ -45,6 +45,10 @@ export interface IMultiSelectProps {
45
45
  value?: string[];
46
46
  /** Fires when the selection changes. Receives the updated array of selected values. */
47
47
  onChange?: (value: string[]) => void;
48
+ /** Extra content rendered inline next to the label (e.g. a tooltip icon). */
49
+ labelExtra?: ReactNode;
50
+ /** Tooltip content shown in an info icon next to the label. Overridden by `labelExtra` if both are provided. */
51
+ infoTooltip?: string;
48
52
  }
49
53
  export declare const MultiSelect: React.ForwardRefExoticComponent<IMultiSelectProps & React.RefAttributes<HTMLButtonElement>>;
50
54
  //# sourceMappingURL=MultiSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelect.d.ts","sourceRoot":"","sources":["../../../src/components/MultiSelect/MultiSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,KAAK,SAAS,EAMf,MAAM,OAAO,CAAA;AAed;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+EAA+E;IAC/E,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,oGAAoG;IACpG,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mDAAmD;IACnD,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3B;;;;;;;;;OASG;IACH,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,SAAS,CAAA;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,IAAI,CAAC,EAAE,SAAS,CAAA;KACjB,CAAC,CAAA;IACF,yDAAyD;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,kGAAkG;IAClG,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;CACrC;AAED,eAAO,MAAM,WAAW,6FA+LvB,CAAA"}
1
+ {"version":3,"file":"MultiSelect.d.ts","sourceRoot":"","sources":["../../../src/components/MultiSelect/MultiSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,KAAK,SAAS,EAMf,MAAM,OAAO,CAAA;AAed;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+EAA+E;IAC/E,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,oGAAoG;IACpG,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mDAAmD;IACnD,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3B;;;;;;;;;OASG;IACH,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,SAAS,CAAA;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,IAAI,CAAC,EAAE,SAAS,CAAA;KACjB,CAAC,CAAA;IACF,yDAAyD;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,kGAAkG;IAClG,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACpC,6EAA6E;IAC7E,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,gHAAgH;IAChH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,WAAW,6FAmMvB,CAAA"}