@konstructio/ui 0.1.2-alpha.54 → 0.1.2-alpha.56

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 (138) hide show
  1. package/dist/assets/icons/components/BookOpen.d.ts +3 -0
  2. package/dist/assets/icons/components/BookOpen.js +32 -0
  3. package/dist/assets/icons/components/DollarSign.d.ts +3 -0
  4. package/dist/assets/icons/components/DollarSign.js +30 -0
  5. package/dist/assets/icons/components/LightBulb.d.ts +3 -0
  6. package/dist/assets/icons/components/LightBulb.js +43 -0
  7. package/dist/assets/icons/components/index.d.ts +3 -0
  8. package/dist/assets/icons/components/index.js +114 -108
  9. package/dist/assets/icons/index.js +114 -108
  10. package/dist/components/Autocomplete/Autocomplete.js +41 -40
  11. package/dist/components/Autocomplete/Autocomplete.types.d.ts +2 -0
  12. package/dist/components/Button/Button.variants.js +7 -1
  13. package/dist/components/ButtonGroup/ButtonGroup.d.ts +34 -0
  14. package/dist/components/ButtonGroup/ButtonGroup.js +136 -0
  15. package/dist/components/ButtonGroup/ButtonGroup.types.d.ts +94 -0
  16. package/dist/components/ButtonGroup/ButtonGroup.variants.d.ts +14 -0
  17. package/dist/components/ButtonGroup/ButtonGroup.variants.js +39 -0
  18. package/dist/components/ButtonGroup/components/ButtonGroupItem/ButtonGroupItem.d.ts +3 -0
  19. package/dist/components/ButtonGroup/components/ButtonGroupItem/ButtonGroupItem.js +112 -0
  20. package/dist/components/ButtonGroup/components/ButtonGroupItem/ButtonGroupItem.types.d.ts +19 -0
  21. package/dist/components/ButtonGroup/components/ButtonGroupItem/ButtonGroupItem.variants.d.ts +22 -0
  22. package/dist/components/ButtonGroup/components/ButtonGroupItem/ButtonGroupItem.variants.js +85 -0
  23. package/dist/components/ButtonGroup/components/ButtonGroupItem/index.d.ts +2 -0
  24. package/dist/components/ButtonGroup/components/ButtonGroupItem/index.js +4 -0
  25. package/dist/components/ButtonGroup/components/ButtonGroupLabel/ButtonGroupLabel.d.ts +3 -0
  26. package/dist/components/ButtonGroup/components/ButtonGroupLabel/ButtonGroupLabel.js +45 -0
  27. package/dist/components/ButtonGroup/components/ButtonGroupLabel/ButtonGroupLabel.types.d.ts +8 -0
  28. package/dist/components/ButtonGroup/components/ButtonGroupLabel/index.d.ts +2 -0
  29. package/dist/components/ButtonGroup/components/ButtonGroupLabel/index.js +4 -0
  30. package/dist/components/ButtonGroup/components/ButtonGroupMessage/ButtonGroupMessage.d.ts +3 -0
  31. package/dist/components/ButtonGroup/components/ButtonGroupMessage/ButtonGroupMessage.js +37 -0
  32. package/dist/components/ButtonGroup/components/ButtonGroupMessage/ButtonGroupMessage.types.d.ts +6 -0
  33. package/dist/components/ButtonGroup/components/ButtonGroupMessage/index.d.ts +2 -0
  34. package/dist/components/ButtonGroup/components/ButtonGroupMessage/index.js +4 -0
  35. package/dist/components/ButtonGroup/components/index.d.ts +3 -0
  36. package/dist/components/ButtonGroup/components/index.js +8 -0
  37. package/dist/components/ButtonGroup/hooks/index.d.ts +2 -0
  38. package/dist/components/ButtonGroup/hooks/index.js +4 -0
  39. package/dist/components/ButtonGroup/hooks/useButtonGroup.d.ts +3 -0
  40. package/dist/components/ButtonGroup/hooks/useButtonGroup.js +67 -0
  41. package/dist/components/ButtonGroup/hooks/useButtonGroup.types.d.ts +18 -0
  42. package/dist/components/Checkbox/Checkbox.js +152 -144
  43. package/dist/components/Checkbox/Checkbox.types.d.ts +2 -0
  44. package/dist/components/Counter/Counter.js +43 -42
  45. package/dist/components/Counter/Counter.types.d.ts +2 -0
  46. package/dist/components/DateRangePicker/DateRangePicker.js +94 -93
  47. package/dist/components/DateRangePicker/DateRangePicker.types.d.ts +2 -0
  48. package/dist/components/DateRangePicker/components/CalendarPanel/components/IndependentModeCalendar/IndependentModeCalendar.js +1 -1
  49. package/dist/components/DateRangePicker/components/CalendarPanel/components/TogetherModeCalendar/TogetherModeCalendar.js +1 -1
  50. package/dist/components/DateRangePicker/components/PresetPanel/PresetPanel.js +11 -11
  51. package/dist/components/Drawer/Drawer.d.ts +36 -0
  52. package/dist/components/Drawer/Drawer.js +134 -0
  53. package/dist/components/Drawer/Drawer.types.d.ts +65 -0
  54. package/dist/components/Drawer/Drawer.variants.d.ts +8 -0
  55. package/dist/components/Drawer/Drawer.variants.js +92 -0
  56. package/dist/components/Drawer/components/Body/Body.d.ts +3 -0
  57. package/dist/components/Drawer/components/Body/Body.js +24 -0
  58. package/dist/components/Drawer/components/Body/Body.types.d.ts +7 -0
  59. package/dist/components/Drawer/components/Body/index.d.ts +2 -0
  60. package/dist/components/Drawer/components/Body/index.js +4 -0
  61. package/dist/components/Drawer/components/Footer/Footer.d.ts +3 -0
  62. package/dist/components/Drawer/components/Footer/Footer.js +26 -0
  63. package/dist/components/Drawer/components/Footer/Footer.types.d.ts +7 -0
  64. package/dist/components/Drawer/components/Footer/index.d.ts +2 -0
  65. package/dist/components/Drawer/components/Footer/index.js +4 -0
  66. package/dist/components/Drawer/components/Header/Header.d.ts +3 -0
  67. package/dist/components/Drawer/components/Header/Header.js +27 -0
  68. package/dist/components/Drawer/components/Header/Header.types.d.ts +9 -0
  69. package/dist/components/Drawer/components/Header/index.d.ts +2 -0
  70. package/dist/components/Drawer/components/Header/index.js +4 -0
  71. package/dist/components/Drawer/components/index.d.ts +3 -0
  72. package/dist/components/Drawer/components/index.js +8 -0
  73. package/dist/components/Drawer/constants/index.d.ts +6 -0
  74. package/dist/components/Drawer/constants/index.js +9 -0
  75. package/dist/components/Drawer/contexts/Drawer.context.d.ts +7 -0
  76. package/dist/components/Drawer/contexts/Drawer.context.js +6 -0
  77. package/dist/components/Drawer/contexts/index.d.ts +2 -0
  78. package/dist/components/Drawer/contexts/index.js +5 -0
  79. package/dist/components/Drawer/hooks/index.d.ts +2 -0
  80. package/dist/components/Drawer/hooks/index.js +4 -0
  81. package/dist/components/Drawer/hooks/useDrawer.d.ts +2 -0
  82. package/dist/components/Drawer/hooks/useDrawer.js +66 -0
  83. package/dist/components/Drawer/hooks/useDrawer.types.d.ts +30 -0
  84. package/dist/components/ImageUpload/ImageUpload.d.ts +1 -1
  85. package/dist/components/ImageUpload/ImageUpload.js +51 -50
  86. package/dist/components/ImageUpload/ImageUpload.types.d.ts +2 -0
  87. package/dist/components/Input/Input.js +72 -58
  88. package/dist/components/Input/Input.types.d.ts +4 -0
  89. package/dist/components/MultiSelectDropdown/MultiSelectDropdown.types.d.ts +2 -0
  90. package/dist/components/MultiSelectDropdown/components/Wrapper/Wrapper.js +40 -39
  91. package/dist/components/PhoneNumberInput/PhoneNumberInput.types.d.ts +2 -0
  92. package/dist/components/PhoneNumberInput/components/Wrapper.js +163 -162
  93. package/dist/components/PhoneNumberInput/contexts/phone-number.provider.js +172 -116
  94. package/dist/components/RadioGroup/RadioGroup.js +34 -33
  95. package/dist/components/RadioGroup/RadioGroup.types.d.ts +3 -1
  96. package/dist/components/Range/Range.js +26 -24
  97. package/dist/components/Range/Range.types.d.ts +2 -0
  98. package/dist/components/Select/Select.types.d.ts +1 -0
  99. package/dist/components/Select/Select.variants.js +2 -1
  100. package/dist/components/Select/components/Wrapper.js +74 -73
  101. package/dist/components/Slider/Slider.js +30 -20
  102. package/dist/components/Slider/Slider.types.d.ts +2 -0
  103. package/dist/components/Stepper/Stepper.js +29 -25
  104. package/dist/components/Stepper/components/HorizontalStepItem/HorizontalStepItem.d.ts +1 -2
  105. package/dist/components/Stepper/components/HorizontalStepItem/HorizontalStepItem.js +96 -91
  106. package/dist/components/Stepper/components/StepConnector/StepConnector.d.ts +1 -2
  107. package/dist/components/Stepper/components/StepConnector/StepConnector.js +10 -9
  108. package/dist/components/Stepper/components/StepIndicatorContent/StepIndicatorContent.d.ts +1 -2
  109. package/dist/components/Stepper/components/StepIndicatorContent/StepIndicatorContent.js +13 -19
  110. package/dist/components/Stepper/components/StepItem/StepItem.d.ts +1 -2
  111. package/dist/components/Stepper/components/StepItem/StepItem.js +6 -5
  112. package/dist/components/Stepper/components/VerticalStepItem/VerticalStepItem.d.ts +1 -2
  113. package/dist/components/Stepper/components/VerticalStepItem/VerticalStepItem.js +65 -60
  114. package/dist/components/Stepper/constants/index.d.ts +3 -0
  115. package/dist/components/Stepper/constants/index.js +13 -0
  116. package/dist/components/Stepper/hooks/index.d.ts +1 -0
  117. package/dist/components/Stepper/hooks/index.js +4 -0
  118. package/dist/components/Stepper/hooks/useStepItemLogic.d.ts +2 -0
  119. package/dist/components/Stepper/hooks/useStepItemLogic.js +27 -0
  120. package/dist/components/Stepper/hooks/useStepItemLogic.types.d.ts +16 -0
  121. package/dist/components/Stepper/utils/index.d.ts +3 -0
  122. package/dist/components/Stepper/utils/index.js +13 -0
  123. package/dist/components/Switch/Switch.js +89 -87
  124. package/dist/components/Switch/Switch.types.d.ts +2 -0
  125. package/dist/components/TagSelect/TagSelect.types.d.ts +2 -0
  126. package/dist/components/TagSelect/components/Wrapper/Wrapper.js +47 -46
  127. package/dist/components/TextArea/TextArea.js +27 -26
  128. package/dist/components/TextArea/TextArea.types.d.ts +2 -0
  129. package/dist/components/Tooltip/Tooltip.variants.d.ts +2 -2
  130. package/dist/components/index.d.ts +2 -0
  131. package/dist/components/index.js +113 -109
  132. package/dist/icons.d.ts +1 -1
  133. package/dist/icons.js +114 -108
  134. package/dist/index.js +115 -111
  135. package/dist/package.json +26 -25
  136. package/dist/{proxy-Drz23HDt.js → proxy-BhEKW5n7.js} +1743 -1588
  137. package/dist/styles.css +1 -1
  138. package/package.json +23 -24
@@ -1,14 +1,14 @@
1
1
  import { jsxs as l, jsx as e, Fragment as j } from "react/jsx-runtime";
2
- import { useId as ee, useRef as D, useState as g, useEffect as te } from "react";
2
+ import { useId as te, useRef as D, useState as g, useEffect as ae } from "react";
3
3
  import { Button as F } from "../Button/Button.js";
4
- import { cn as m } from "../../utils/index.js";
5
- import { labelVariants as ae, inputFieldVariants as re, inputContainerVariants as le, helperTextVariants as ie, imageUploadVariants as se } from "./ImageUpload.variants.js";
6
- import { LoaderIcon as ne } from "../../assets/icons/components/Loader.js";
4
+ import { cn as c } from "../../utils/index.js";
5
+ import { labelVariants as re, inputFieldVariants as le, inputContainerVariants as ie, helperTextVariants as se, imageUploadVariants as ne } from "./ImageUpload.variants.js";
6
+ import { LoaderIcon as ce } from "../../assets/icons/components/Loader.js";
7
7
  import { PhotoLibraryIcon as oe } from "../../assets/icons/components/PhotoLibrary.js";
8
- import { WarningIcon as ce } from "../../assets/icons/components/Warning.js";
8
+ import { WarningIcon as de } from "../../assets/icons/components/Warning.js";
9
9
  import { X as P } from "../../x-B9bYxG31.js";
10
10
  var t = /* @__PURE__ */ ((s) => (s.Default = "default", s.Uploading = "uploading", s.Complete = "complete", s.Error = "error", s))(t || {});
11
- const de = ({
11
+ const me = ({
12
12
  className: s,
13
13
  error: b,
14
14
  fileName: T,
@@ -18,37 +18,38 @@ const de = ({
18
18
  isRequired: S = !1,
19
19
  label: p = "Item logo",
20
20
  labelClassName: L,
21
- name: A,
21
+ labelWrapperClassName: A,
22
+ name: H,
22
23
  onChange: N,
23
- onRemove: H,
24
+ onRemove: J,
24
25
  status: k = t.Default,
25
26
  theme: u,
26
- uploadButtonText: J = "Upload logo",
27
+ uploadButtonText: K = "Upload logo",
27
28
  accept: M = "image/svg+xml,image/png,image/jpeg,image/jpg",
28
- maxSize: K = 5 * 1024 * 1024
29
+ maxSize: W = 5 * 1024 * 1024
29
30
  }) => {
30
- const U = ee(), f = D(null), n = D(null), [W, o] = g(k), [$, B] = g(E), [X, C] = g(T), [q, G] = g(z);
31
- te(() => () => {
31
+ const U = te(), f = D(null), n = D(null), [$, o] = g(k), [X, B] = g(E), [q, C] = g(T), [O, G] = g(z);
32
+ ae(() => () => {
32
33
  n.current && clearTimeout(n.current);
33
34
  }, []);
34
- const a = k !== t.Default ? k : W, v = E ?? $, c = T ?? X, h = z ?? q, x = !!b || a === t.Error, O = (i) => {
35
+ const a = k !== t.Default ? k : $, v = E ?? X, d = T ?? q, h = z ?? O, x = !!b || a === t.Error, Q = (i) => {
35
36
  const r = i.target.files?.[0];
36
37
  if (!r) return;
37
- if (!M.split(",").map((d) => d.trim()).some((d) => {
38
- if (d.includes("*")) {
39
- const _ = d.split("/")[0];
40
- return r.type.startsWith(_);
38
+ if (!M.split(",").map((m) => m.trim()).some((m) => {
39
+ if (m.includes("*")) {
40
+ const ee = m.split("/")[0];
41
+ return r.type.startsWith(ee);
41
42
  }
42
- return r.type === d;
43
+ return r.type === m;
43
44
  })) {
44
45
  o(t.Error), N?.(i);
45
46
  return;
46
47
  }
47
- if (r.size > K) {
48
+ if (r.size > W) {
48
49
  o(t.Error), N?.(i);
49
50
  return;
50
51
  }
51
- o(t.Uploading), C(r.name), G(Y(r.size));
52
+ o(t.Uploading), C(r.name), G(Z(r.size));
52
53
  const y = new FileReader();
53
54
  y.onloadend = () => {
54
55
  B(y.result), n.current = setTimeout(() => {
@@ -56,31 +57,31 @@ const de = ({
56
57
  }, 500);
57
58
  }, y.readAsDataURL(r), N?.(i);
58
59
  }, I = () => {
59
- n.current && (clearTimeout(n.current), n.current = null), B(void 0), C(void 0), G(void 0), o(t.Default), f.current && (f.current.value = ""), H?.();
60
- }, Q = () => {
60
+ n.current && (clearTimeout(n.current), n.current = null), B(void 0), C(void 0), G(void 0), o(t.Default), f.current && (f.current.value = ""), J?.();
61
+ }, Y = () => {
61
62
  f.current?.click();
62
- }, Y = (i) => {
63
+ }, Z = (i) => {
63
64
  if (i === 0) return "0 Bytes";
64
65
  const r = 1024, V = ["Bytes", "KB", "MB", "GB"], w = Math.floor(Math.log(i) / Math.log(r));
65
66
  return `${parseFloat((i / Math.pow(r, w)).toFixed(2))}${V[w]}`;
66
- }, Z = b || (x ? "Invalid file format. Accepted file type is SVG, PNG, JPEG. Max file size is 5MB." : R || "Logo should be 32 x 32 pixels with transparent background (larger images will be downscaled proportionally to fit). Accepted file type is SVG, PNG, JPEG. Max file size is 5MB.");
67
+ }, _ = b || (x ? "Invalid file format. Accepted file type is SVG, PNG, JPEG. Max file size is 5MB." : R || "Logo should be 32 x 32 pixels with transparent background (larger images will be downscaled proportionally to fit). Accepted file type is SVG, PNG, JPEG. Max file size is 5MB.");
67
68
  return /* @__PURE__ */ l(
68
69
  "div",
69
70
  {
70
- className: m(
71
- se({
71
+ className: c(
72
+ ne({
72
73
  status: a,
73
74
  className: s
74
75
  })
75
76
  ),
76
77
  "data-theme": u,
77
78
  children: [
78
- p && /* @__PURE__ */ l(
79
+ p && /* @__PURE__ */ e("div", { className: c(A), children: /* @__PURE__ */ l(
79
80
  "label",
80
81
  {
81
82
  htmlFor: U,
82
- className: m(
83
- ae({
83
+ className: c(
84
+ re({
84
85
  className: L
85
86
  }),
86
87
  "cursor-pointer"
@@ -90,12 +91,12 @@ const de = ({
90
91
  S && /* @__PURE__ */ e("span", { className: "text-red-600 dark:text-red-500 text-xs mt-0.5", children: "*" })
91
92
  ]
92
93
  }
93
- ),
94
+ ) }),
94
95
  /* @__PURE__ */ l(
95
96
  "div",
96
97
  {
97
- className: m(
98
- le({
98
+ className: c(
99
+ ie({
99
100
  status: a
100
101
  })
101
102
  ),
@@ -103,8 +104,8 @@ const de = ({
103
104
  /* @__PURE__ */ l(
104
105
  "div",
105
106
  {
106
- className: m(
107
- re({
107
+ className: c(
108
+ le({
108
109
  status: a
109
110
  }),
110
111
  {
@@ -115,14 +116,14 @@ const de = ({
115
116
  children: [
116
117
  a === t.Uploading && /* @__PURE__ */ l(j, { children: [
117
118
  /* @__PURE__ */ e(
118
- ne,
119
+ ce,
119
120
  {
120
121
  size: 20,
121
122
  className: "shrink-0 animate-spin text-metal-400"
122
123
  }
123
124
  ),
124
- c && /* @__PURE__ */ l("div", { className: "flex flex-col items-start min-w-0 flex-1", children: [
125
- /* @__PURE__ */ e("p", { className: "text-sm leading-5 truncate w-full text-slate-800 dark:text-metal-50", children: c }),
125
+ d && /* @__PURE__ */ l("div", { className: "flex flex-col items-start min-w-0 flex-1", children: [
126
+ /* @__PURE__ */ e("p", { className: "text-sm leading-5 truncate w-full text-slate-800 dark:text-metal-50", children: d }),
126
127
  h && /* @__PURE__ */ e("p", { className: "text-xs leading-4 text-slate-600 dark:text-metal-300 tracking-[0.15px]", children: h })
127
128
  ] })
128
129
  ] }),
@@ -131,17 +132,17 @@ const de = ({
131
132
  "img",
132
133
  {
133
134
  src: v,
134
- alt: c || "Uploaded image",
135
+ alt: d || "Uploaded image",
135
136
  className: "w-full h-full object-contain"
136
137
  }
137
138
  ) }),
138
- c && /* @__PURE__ */ l("div", { className: "flex flex-col items-start min-w-0 flex-1", children: [
139
- /* @__PURE__ */ e("p", { className: "text-sm leading-5 truncate w-full text-slate-800 dark:text-slate-50 kubefirst-dark:text-slate-50", children: c }),
139
+ d && /* @__PURE__ */ l("div", { className: "flex flex-col items-start min-w-0 flex-1", children: [
140
+ /* @__PURE__ */ e("p", { className: "text-sm leading-5 truncate w-full text-slate-800 dark:text-slate-50 kubefirst-dark:text-slate-50", children: d }),
140
141
  h && /* @__PURE__ */ e("p", { className: "text-xs leading-4 text-slate-600 dark:text-slate-400 kubefirst-dark:text-slate-400 tracking-[0.15px]", children: h })
141
142
  ] })
142
143
  ] }),
143
144
  (a === t.Default || a === t.Error && !v) && /* @__PURE__ */ e("div", { className: "w-8 h-8 shrink-0 flex items-center justify-center", children: /* @__PURE__ */ e(oe, { className: "w-8 h-8 text-slate-400 dark:text-slate-500 kubefirst-dark:text-slate-500" }) }),
144
- x && /* @__PURE__ */ e("div", { className: "shrink-0", children: /* @__PURE__ */ e(ce, { className: "w-5 h-5 text-red-700 dark:text-red-500 kubefirst-dark:text-red-500" }) })
145
+ x && /* @__PURE__ */ e("div", { className: "shrink-0", children: /* @__PURE__ */ e(de, { className: "w-5 h-5 text-red-700 dark:text-red-500 kubefirst-dark:text-red-500" }) })
145
146
  ]
146
147
  }
147
148
  ),
@@ -149,10 +150,10 @@ const de = ({
149
150
  F,
150
151
  {
151
152
  variant: "secondary",
152
- onClick: Q,
153
+ onClick: Y,
153
154
  theme: u,
154
155
  className: "h-10 px-4 py-2 shrink-0",
155
- children: J
156
+ children: K
156
157
  }
157
158
  ),
158
159
  a === t.Uploading && /* @__PURE__ */ e(
@@ -188,12 +189,12 @@ const de = ({
188
189
  /* @__PURE__ */ e("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ e(
189
190
  "p",
190
191
  {
191
- className: m(
192
- ie({
192
+ className: c(
193
+ se({
193
194
  status: a
194
195
  })
195
196
  ),
196
- children: Z
197
+ children: _
197
198
  }
198
199
  ) }),
199
200
  (a === t.Default || a === t.Error) && /* @__PURE__ */ e("div", { className: "shrink-0 w-29" }),
@@ -205,9 +206,9 @@ const de = ({
205
206
  ref: f,
206
207
  id: U,
207
208
  type: "file",
208
- name: A,
209
+ name: H,
209
210
  accept: M,
210
- onChange: O,
211
+ onChange: Q,
211
212
  className: "hidden",
212
213
  "aria-label": typeof p == "string" ? p : "File upload"
213
214
  }
@@ -216,7 +217,7 @@ const de = ({
216
217
  }
217
218
  );
218
219
  };
219
- de.displayName = "KonstructImageUpload";
220
+ me.displayName = "KonstructImageUpload";
220
221
  export {
221
- de as ImageUpload
222
+ me as ImageUpload
222
223
  };
@@ -48,6 +48,8 @@ export interface ImageUploadProps extends Omit<VariantProps<typeof imageUploadVa
48
48
  label?: string | ReactNode;
49
49
  /** Additional CSS classes for the label */
50
50
  labelClassName?: string;
51
+ /** Additional CSS classes for the label wrapper */
52
+ labelWrapperClassName?: string;
51
53
  /** Form field name */
52
54
  name?: string;
53
55
  /** Callback fired when a file is selected */
@@ -1,10 +1,10 @@
1
- import { jsxs as h, jsx as s } from "react/jsx-runtime";
2
- import p, { forwardRef as y, useId as _, useRef as L, useState as W } from "react";
1
+ import { jsxs as u, jsx as s } from "react/jsx-runtime";
2
+ import p, { forwardRef as y, useId as W, useRef as $, useState as T } from "react";
3
3
  import { cn as i } from "../../utils/index.js";
4
- import { inputVariants as $ } from "./Input.variants.js";
5
- import { Typography as u } from "../Typography/Typography.js";
6
- import { SearchIcon as T } from "../../assets/icons/components/Search.js";
7
- import { WarningIcon as S } from "../../assets/icons/components/Warning.js";
4
+ import { inputVariants as S } from "./Input.variants.js";
5
+ import { Typography as d } from "../Typography/Typography.js";
6
+ import { SearchIcon as C } from "../../assets/icons/components/Search.js";
7
+ import { WarningIcon as M } from "../../assets/icons/components/Warning.js";
8
8
  import { P as l } from "../../index-BOE_3f_Z.js";
9
9
  function g() {
10
10
  return g = Object.assign || function(t) {
@@ -16,9 +16,9 @@ function g() {
16
16
  return t;
17
17
  }, g.apply(this, arguments);
18
18
  }
19
- function C(t, r) {
19
+ function R(t, r) {
20
20
  if (t == null) return {};
21
- var n = M(t, r), e, o;
21
+ var n = A(t, r), e, o;
22
22
  if (Object.getOwnPropertySymbols) {
23
23
  var a = Object.getOwnPropertySymbols(t);
24
24
  for (o = 0; o < a.length; o++)
@@ -26,7 +26,7 @@ function C(t, r) {
26
26
  }
27
27
  return n;
28
28
  }
29
- function M(t, r) {
29
+ function A(t, r) {
30
30
  if (t == null) return {};
31
31
  var n = {}, e = Object.keys(t), o, a;
32
32
  for (a = 0; a < e.length; a++)
@@ -34,7 +34,7 @@ function M(t, r) {
34
34
  return n;
35
35
  }
36
36
  var x = y(function(t, r) {
37
- var n = t.color, e = n === void 0 ? "currentColor" : n, o = t.size, a = o === void 0 ? 24 : o, c = C(t, ["color", "size"]);
37
+ var n = t.color, e = n === void 0 ? "currentColor" : n, o = t.size, a = o === void 0 ? 24 : o, c = R(t, ["color", "size"]);
38
38
  return /* @__PURE__ */ p.createElement("svg", g({
39
39
  ref: r,
40
40
  xmlns: "http://www.w3.org/2000/svg",
@@ -70,9 +70,9 @@ function v() {
70
70
  return t;
71
71
  }, v.apply(this, arguments);
72
72
  }
73
- function R(t, r) {
73
+ function B(t, r) {
74
74
  if (t == null) return {};
75
- var n = A(t, r), e, o;
75
+ var n = D(t, r), e, o;
76
76
  if (Object.getOwnPropertySymbols) {
77
77
  var a = Object.getOwnPropertySymbols(t);
78
78
  for (o = 0; o < a.length; o++)
@@ -80,7 +80,7 @@ function R(t, r) {
80
80
  }
81
81
  return n;
82
82
  }
83
- function A(t, r) {
83
+ function D(t, r) {
84
84
  if (t == null) return {};
85
85
  var n = {}, e = Object.keys(t), o, a;
86
86
  for (a = 0; a < e.length; a++)
@@ -88,7 +88,7 @@ function A(t, r) {
88
88
  return n;
89
89
  }
90
90
  var w = y(function(t, r) {
91
- var n = t.color, e = n === void 0 ? "currentColor" : n, o = t.size, a = o === void 0 ? 24 : o, c = R(t, ["color", "size"]);
91
+ var n = t.color, e = n === void 0 ? "currentColor" : n, o = t.size, a = o === void 0 ? 24 : o, c = B(t, ["color", "size"]);
92
92
  return /* @__PURE__ */ p.createElement("svg", v({
93
93
  ref: r,
94
94
  xmlns: "http://www.w3.org/2000/svg",
@@ -113,7 +113,7 @@ w.propTypes = {
113
113
  size: l.oneOfType([l.string, l.number])
114
114
  };
115
115
  w.displayName = "Eye";
116
- const B = y(
116
+ const F = y(
117
117
  ({
118
118
  className: t,
119
119
  error: r,
@@ -122,48 +122,62 @@ const B = y(
122
122
  isRequired: o = !1,
123
123
  isSearch: a = !1,
124
124
  label: c,
125
- labelClassName: O,
126
- name: j,
127
- theme: k,
125
+ labelAction: O,
126
+ labelClassName: j,
127
+ labelWrapperClassName: k,
128
+ name: N,
129
+ theme: P,
128
130
  type: f = "text",
129
- ...N
130
- }, P) => {
131
- const b = _(), E = L(f === "password"), [d, z] = W(() => f !== "password"), m = typeof r == "string" && r.length >= 0, I = d ? w : x;
132
- return /* @__PURE__ */ h("div", { className: "flex flex-col gap-2 w-full relative", "data-theme": k, children: [
133
- c ? /* @__PURE__ */ h(
134
- u,
131
+ ...E
132
+ }, z) => {
133
+ const b = W(), I = $(f === "password"), [h, _] = T(() => f !== "password"), m = typeof r == "string" && r.length >= 0, L = h ? w : x;
134
+ return /* @__PURE__ */ u("div", { className: "flex flex-col gap-2 w-full relative", "data-theme": P, children: [
135
+ c ? /* @__PURE__ */ u(
136
+ "div",
135
137
  {
136
- component: "label",
137
- variant: "labelLarge",
138
- htmlFor: b,
139
138
  className: i(
140
- "cursor-pointer",
141
- "flex",
142
- "gap-1",
143
- "text-sm",
144
- "font-medium",
145
- O
139
+ "flex items-center justify-between",
140
+ k
146
141
  ),
147
142
  children: [
148
- c,
149
- " ",
150
- o && /* @__PURE__ */ s(
151
- u,
143
+ /* @__PURE__ */ u(
144
+ d,
152
145
  {
153
- component: "span",
146
+ component: "label",
147
+ variant: "labelLarge",
148
+ htmlFor: b,
154
149
  className: i(
155
- "text-red-600",
156
- "dark:text-red-500",
157
- "text-xs",
158
- "mt-0.5"
150
+ "cursor-pointer",
151
+ "flex",
152
+ "gap-1",
153
+ "text-sm",
154
+ "font-medium",
155
+ j
159
156
  ),
160
- children: "*"
157
+ children: [
158
+ c,
159
+ " ",
160
+ o && /* @__PURE__ */ s(
161
+ d,
162
+ {
163
+ component: "span",
164
+ className: i(
165
+ "text-red-600",
166
+ "dark:text-red-500",
167
+ "text-xs",
168
+ "mt-0.5"
169
+ ),
170
+ children: "*"
171
+ }
172
+ )
173
+ ]
161
174
  }
162
- )
175
+ ),
176
+ O
163
177
  ]
164
178
  }
165
179
  ) : null,
166
- /* @__PURE__ */ h("div", { className: "relative", children: [
180
+ /* @__PURE__ */ u("div", { className: "relative", children: [
167
181
  a ? /* @__PURE__ */ s(
168
182
  "i",
169
183
  {
@@ -178,19 +192,19 @@ const B = y(
178
192
  "text-red-700": m
179
193
  }
180
194
  ),
181
- children: /* @__PURE__ */ s(T, { className: "w-5 h-5" })
195
+ children: /* @__PURE__ */ s(C, { className: "w-5 h-5" })
182
196
  }
183
197
  ) : null,
184
198
  /* @__PURE__ */ s(
185
199
  "input",
186
200
  {
187
201
  id: c ? b : void 0,
188
- ref: P,
189
- name: j,
190
- type: d ? E.current ? "text" : f : "password",
202
+ ref: z,
203
+ name: N,
204
+ type: h ? I.current ? "text" : f : "password",
191
205
  "data-error": m,
192
206
  className: i(
193
- $({
207
+ S({
194
208
  className: t,
195
209
  variant: m ? "error" : "default"
196
210
  }),
@@ -199,7 +213,7 @@ const B = y(
199
213
  "pl-8": a
200
214
  }
201
215
  ),
202
- ...N
216
+ ...E
203
217
  }
204
218
  ),
205
219
  m ? /* @__PURE__ */ s(
@@ -213,7 +227,7 @@ const B = y(
213
227
  "top-1/2",
214
228
  "dark:text-red-500"
215
229
  ),
216
- children: /* @__PURE__ */ s(S, { className: "w-5 h-5" })
230
+ children: /* @__PURE__ */ s(M, { className: "w-5 h-5" })
217
231
  }
218
232
  ) : null,
219
233
  f === "password" && !r ? /* @__PURE__ */ s(
@@ -227,17 +241,17 @@ const B = y(
227
241
  "top-1/2"
228
242
  ),
229
243
  children: /* @__PURE__ */ s(
230
- I,
244
+ L,
231
245
  {
232
246
  className: "w-5 h-5 cursor-pointer",
233
- onClick: () => z(!d)
247
+ onClick: () => _(!h)
234
248
  }
235
249
  )
236
250
  }
237
251
  ) : null
238
252
  ] }),
239
253
  r ? /* @__PURE__ */ s(
240
- u,
254
+ d,
241
255
  {
242
256
  component: "span",
243
257
  className: i(
@@ -250,7 +264,7 @@ const B = y(
250
264
  }
251
265
  ) : null,
252
266
  !r && n ? /* @__PURE__ */ s(
253
- u,
267
+ d,
254
268
  {
255
269
  component: "span",
256
270
  variant: "body1",
@@ -268,7 +282,7 @@ const B = y(
268
282
  ] });
269
283
  }
270
284
  );
271
- B.displayName = "KonstructInput";
285
+ F.displayName = "KonstructInput";
272
286
  export {
273
- B as Input
287
+ F as Input
274
288
  };
@@ -25,8 +25,12 @@ export interface InputProps extends InputHTMLAttributes<HTMLInputElement>, Varia
25
25
  isSearch?: boolean;
26
26
  /** Label text or element displayed above the input */
27
27
  label?: string | ReactNode;
28
+ /** Custom element rendered on the right side of the label (e.g. icon, button) */
29
+ labelAction?: ReactNode;
28
30
  /** Additional CSS classes for the label */
29
31
  labelClassName?: string;
32
+ /** Additional CSS classes for the label wrapper container */
33
+ labelWrapperClassName?: string;
30
34
  /** Theme override for this component */
31
35
  theme?: Theme;
32
36
  }
@@ -52,6 +52,8 @@ export interface MultiSelectDropdownProps extends VariantProps<typeof multiSelec
52
52
  label?: string;
53
53
  /** Additional CSS classes for the label */
54
54
  labelClassName?: string;
55
+ /** Additional CSS classes for the label wrapper */
56
+ labelWrapperClassName?: string;
55
57
  /** Whether multiple options can be selected */
56
58
  multiselect?: boolean;
57
59
  /** Form field name */