bonkers-ui 2.0.5 → 2.0.7

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/bonkers.css CHANGED
@@ -117,11 +117,11 @@
117
117
  --color-error-600: #a02323;
118
118
  --color-error-700: #6b1818;
119
119
 
120
- --color-warning-300: #ffbc9b;
121
- --color-warning-400: #ffa57a;
122
- --color-warning-500: #ff8f59;
123
- --color-warning-600: #cc7247;
124
- --color-warning-700: #995635;
120
+ --color-warning-300: #F1A76E;
121
+ --color-warning-400: #E58F4F;
122
+ --color-warning-500: #D6702F;
123
+ --color-warning-600: #B45821;
124
+ --color-warning-700: #9A4D1B;
125
125
 
126
126
  --color-accent-300: #c9c9f6;
127
127
  --color-accent-400: #8b8bfc;
@@ -1,10 +1,10 @@
1
1
  import { jsx as p } from "react/jsx-runtime";
2
2
  import "react";
3
- import { EButtonTypes as r, EButtonSizes as a, EButtonWeight as t } from "./_types.js";
3
+ import { EButtonTypes as r, EButtonSizes as o, EButtonWeight as t } from "./_types.js";
4
4
  import h from "classnames";
5
- import '../../assets/UiButton.css';const g = "_UiButton_1dpbh_1", m = {
5
+ import '../../assets/UiButton.css';const g = "_UiButton_1dpbh_1", x = {
6
6
  UiButton: g
7
- }, x = {
7
+ }, m = {
8
8
  [r.PRIMARY_BRAND]: `
9
9
  bg-primary-600
10
10
  border
@@ -241,35 +241,34 @@ import '../../assets/UiButton.css';const g = "_UiButton_1dpbh_1", m = {
241
241
  background: (e) => d(e) ? "focus-visible:before:bg-secondary-500" : "focus-visible:before:bg-white",
242
242
  border: (e) => d(e) ? "focus-visible:before:border-secondary-alt-400" : "focus-visible:before:border-primary-600"
243
243
  }, u = {
244
- [a.SMALL]: "px-md py-xxs",
245
- [a.MEDIUM]: "p-sm",
246
- [a.LARGE]: "p-md",
247
- [a.DEFAULT]: "px-md py-sm"
248
- }, R = {
244
+ [o.SMALL]: "px-xs py-xxs rounded-lg focus-visible:before:rounded-xl text-sm",
245
+ [o.MEDIUM]: "p-sm rounded-lg focus-visible:before:rounded-xl text-md",
246
+ [o.LARGE]: "px-md py-sm rounded-xl focus-visible:before:rounded-2xl text-xl",
247
+ [o.XLARGE]: "px-lg py-md rounded-xl focus-visible:before:rounded-2xl text-2xl",
248
+ [o.DEFAULT]: "px-sm py-sm rounded-lg focus-visible:before:rounded-xl"
249
+ }, f = {
249
250
  [t.DEFAULT]: "font-medium",
250
251
  [t.BOLD]: "font-bold"
251
252
  }, T = ({
252
253
  kind: e = r.PRIMARY_BRAND,
253
- size: b = a.DEFAULT,
254
- fullWidth: i = !1,
255
- disabled: o = !1,
254
+ size: i = o.DEFAULT,
255
+ fullWidth: b = !1,
256
+ disabled: a = !1,
256
257
  children: n,
257
- weight: c = t.BOLD,
258
- className: l,
259
- onClick: y,
260
- ...v
258
+ weight: l = t.BOLD,
259
+ className: c,
260
+ onClick: v,
261
+ ...y
261
262
  }) => /* @__PURE__ */ p(
262
263
  "button",
263
264
  {
264
- ...v,
265
- onClick: y,
265
+ ...y,
266
+ onClick: v,
266
267
  className: h(
267
- m.UiButton,
268
- "text-base",
268
+ x.UiButton,
269
269
  "cursor-pointer",
270
270
  "touch-manipulation",
271
271
  "whitespace-nowrap",
272
- "rounded-xl",
273
272
  "leading-none",
274
273
  "flex",
275
274
  "gap-xs",
@@ -278,7 +277,6 @@ import '../../assets/UiButton.css';const g = "_UiButton_1dpbh_1", m = {
278
277
  "relative",
279
278
  "transition-all",
280
279
  "focus-visible:before:border-2",
281
- "focus-visible:before:rounded-2xl",
282
280
  "focus-visible:before:absolute",
283
281
  "focus-visible:before:-translate-x-1/2",
284
282
  "focus-visible:before:-translate-y-1/2",
@@ -290,16 +288,16 @@ import '../../assets/UiButton.css';const g = "_UiButton_1dpbh_1", m = {
290
288
  "focus-visible:before:h-[calc(100%+10px)]",
291
289
  s.background(e),
292
290
  s.border(e),
293
- x[e],
294
- u[b],
295
- R[c],
291
+ m[e],
292
+ u[i],
293
+ f[l],
296
294
  {
297
- "w-full": i,
298
- "pointer-events-none": o
295
+ "w-full": b,
296
+ "pointer-events-none": a
299
297
  },
300
- l
298
+ c
301
299
  ),
302
- disabled: o,
300
+ disabled: a,
303
301
  children: n
304
302
  }
305
303
  );
@@ -1 +1 @@
1
- {"version":3,"file":"UiButton.js","sources":["../../../src/components/UiButton/UiButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { EButtonSizes, EButtonTypes, EButtonWeight } from \"./_types.ts\";\nimport cx from \"classnames\";\nimport css from \"./UiButton.module.css\";\n\ntype TButtonProps = {\n\tkind?: EButtonTypes;\n\tsize?: EButtonSizes;\n\tfullWidth?: boolean;\n\tweight?: EButtonWeight;\n\tclassName?: string;\n} & React.HTMLAttributes<HTMLElement> &\n\tReact.ButtonHTMLAttributes<HTMLElement> &\n\tReact.AnchorHTMLAttributes<HTMLElement>\n\nconst typeClasses = {\n\t[EButtonTypes.PRIMARY_BRAND]: `\n\t\tbg-primary-600\n\t\tborder\n\t\tborder-primary-600\n\t\tshadow-md\n\t\ttext-white\n\n\t\thover:bg-primary-700\n\t\thover:border-primary-700\n\t\tactive:bg-primary-800\n\t\tactive:border-primary-800\n\t\tdisabled:bg-secondary-alt-300\n\t\tdisabled:border-transparent\n\t`,\n\t[EButtonTypes.PRIMARY_ACCENT]: `\n\t\tbg-primary-800\n\t\tborder\n\t\tborder-primary-800\n\t\tshadow-md\n\t\ttext-white\n\n\t\thover:bg-primary-700\n\t\thover:border-primary-700\n\t\tactive:bg-primary-800\n\t\tactive:border-primary-800\n\t\tactive:text-primary-100\n\t\tdisabled:bg-secondary-alt-300\n\t\tdisabled:border-transparent\n\t`,\n\t[EButtonTypes.PRIMARY_NEUTRAL]: `\n\t\tbg-secondary-500\n\t\tborder\n\t\tborder-secondary-500\n\t\tshadow-md\n\t\ttext-white\n\n\t\thover:bg-secondary-400\n\t\thover:border-secondary-400\n\t\tactive:bg-secondary-500\n\t\tactive:border-secondary-500\n\t\tactive:text-secondary-alt-300\n\t\tdisabled:bg-secondary-alt-300\n\t\tdisabled:border-transparent\n\t`,\n\t[EButtonTypes.PRIMARY_DESTRUCTIVE]: `\n\t\tbg-error-500\n\t\tborder\n\t\tborder-error-500\n\t\tshadow-md\n\t\ttext-white\n\n\t\thover:bg-error-600\n\t\thover:border-error-600\n\t\tactive:bg-error-700\n\t\tactive:border-error-700\n\t\tdisabled:bg-secondary-alt-300\n\t\tdisabled:border-transparent\n\t`,\n\t[EButtonTypes.PRIMARY_INVERSE]: `\n\t\tbg-white\n\t\tborder\n\t\tborder-secondary-500\n\t\tshadow-md\n\t\ttext-secondary-500\n\n\t\thover:border-secondary-400\n\t\thover:text-secondary-400\n\t\tactive:bg-secondary-alt-300\n\t\tdisabled:bg-secondary-alt-700\n\t\tdisabled:border-secondary-alt-700\n\t`,\n\t[EButtonTypes.SECONDARY_BRAND]: `\n\t\tbg-white\n\t\tborder\n\t\tborder-primary-600\n\t\tshadow-md\n\t\ttext-primary-600\n\n\t\thover:bg-primary-50\n\t\thover:border-primary-700\n\t\thover:text-primary-700\n\t\tactive:bg-primary-100\n\t\tactive:border-primary-700\n\t\tactive:text-primary-700\n\t\tdisabled:bg-white\n\t\tdisabled:border-secondary-alt-300\n\t\tdisabled:shadow-none\n\t\tdisabled:text-secondary-alt-300\n\t`,\n\t[EButtonTypes.SECONDARY_ACCENT]: `\n\t\tbg-white\n\t\tborder\n\t\tborder-primary-800\n\t\tshadow-md\n\t\ttext-primary-800\n\n\t\thover:bg-primary-50\n\t\thover:border-primary-700\n\t\thover:text-primary-700\n\t\tactive:bg-primary-100\n\t\tactive:border-primary-800\n\t\tactive:text-primary-800\n\t\tdisabled:bg-secondary-alt-300\n\t\tdisabled:border-transparent\n\t`,\n\t[EButtonTypes.SECONDARY_NEUTRAL]: `\n\t\tbg-white\n\t\tborder\n\t\tborder-secondary-500\n\t\tshadow-md\n\t\ttext-secondary-500\n\n\t\thover:bg-secondary-alt-200\n\t\thover:border-secondary-400\n\t\thover:text-secondary-400\n\t\tactive:bg-secondary-alt-300\n\t\tactive:border-secondary-500\n\t\tactive:text-secondary-500\n\t\tdisabled:bg-secondary-alt-300\n\t\tdisabled:border-transparent\n\t`,\n\t[EButtonTypes.SECONDARY_DESTRUCTIVE]: `\n\t\tbg-white\n\t\tborder\n\t\tborder-error-500\n\t\tshadow-md\n\t\ttext-error-500\n\n\t\thover:bg-error-100\n\t\thover:border-error-600\n\t\thover:text-error-600\n\t\tactive:bg-error-200\n\t\tactive:border-error-700\n\t\tactive:text-error-700\n\t\tdisabled:bg-secondary-alt-300\n\t\tdisabled:border-transparent\n\t`,\n\t[EButtonTypes.SECONDARY_INVERSE]: `\n\t\tbg-transparent\n\t\tborder\n\t\tborder-white\n\t\tshadow-md\n\t\ttext-white\n\n\t\thover:bg-secondary-500\n\t\thover:border-secondary-alt-300\n\t\thover:text-secondary-alt-300\n\t\tactive:bg-secondary-400\n\t\tactive:border-white\n\t\tactive:text-white\n\t\tdisabled:bg-secondary-alt-300\n\t\tdisabled:border-transparent\n\t`,\n\t[EButtonTypes.TERTIARY_BRAND]: `\n\t\tbg-transparent\n\t\tborder\n\t\tborder-transparent\n\t\ttext-primary-600\n\t\tunderline\n\n\t\thover:bg-primary-50\n\t\thover:no-underline\n\t\tactive:bg-primary-100\n\t\tactive:text-primary-700\n\t\tdisabled:bg-transparent\n\t\tdisabled:text-secondary-alt-300\n\t\tdisabled:underline\n\t`,\n\t[EButtonTypes.TERTIARY_ACCENT]: `\n\t\tbg-transparent\n\t\tborder\n\t\tborder-transparent\n\t\ttext-primary-800\n\t\tunderline\n\n\t\thover:bg-primary-50\n\t\thover:no-underline\n\t\thover:text-primary-700\n\t\tactive:bg-primary-100\n\t\tactive:text-primary-800\n\t\tdisabled:bg-transparent\n\t\tdisabled:text-secondary-alt-300\n\t\tdisabled:underline\n\t`,\n\t[EButtonTypes.TERTIARY_NEUTRAL]: `\n\t\tbg-transparent\n\t\tborder\n\t\tborder-transparent\n\t\ttext-secondary-500\n\t\tunderline\n\n\t\thover:bg-secondary-alt-200\n\t\thover:no-underline\n\t\thover:text-secondary-400\n\t\tactive:bg-secondary-alt-300\n\t\tactive:text-secondary-500\n\t\tdisabled:bg-transparent\n\t\tdisabled:text-secondary-alt-300\n\t\tdisabled:underline\n\t`,\n\t[EButtonTypes.TERTIARY_DESTRUCTIVE]: `\n\t\tbg-transparent\n\t\tborder\n\t\tborder-transparent\n\t\ttext-error-500\n\t\tunderline\n\n\t\thover:bg-error-100\n\t\thover:no-underline\n\t\thover:text-error-600\n\t\tactive:bg-error-200\n\t\tactive:text-error-700\n\t\tdisabled:bg-transparent\n\t\tdisabled:text-secondary-alt-300\n\t\tdisabled:underline\n\t`,\n\t[EButtonTypes.TERTIARY_INVERSE]: `\n\t\tbg-transparent\n\t\tborder\n\t\tborder-transparent\n\t\ttext-white\n\t\tunderline\n\n\t\thover:bg-secondary-500\n\t\thover:no-underline\n\t\thover:text-secondary-alt-300\n\t\tactive:bg-secondary-400\n\t\tactive-text-white\n\t\tdisabled:bg-transparent\n\t\tdisabled:text-secondary-alt-700\n\t\tdisabled:underline\n\t`,\n};\n\nconst isInverseType = (type: EButtonTypes): boolean => {\n\treturn (\n\t\ttype === EButtonTypes.PRIMARY_INVERSE\n\t\t|| type === EButtonTypes.SECONDARY_INVERSE\n\t\t|| type === EButtonTypes.TERTIARY_INVERSE\n\t);\n};\n\nconst focusColorClasses = {\n\tbackground: (type: EButtonTypes) =>\n\t\tisInverseType(type)\n\t\t\t? \"focus-visible:before:bg-secondary-500\"\n\t\t\t: \"focus-visible:before:bg-white\",\n\tborder: (type: EButtonTypes) =>\n\t\tisInverseType(type)\n\t\t\t? \"focus-visible:before:border-secondary-alt-400\"\n\t\t\t: \"focus-visible:before:border-primary-600\"\n};\n\nconst sizeClasses = {\n\t[EButtonSizes.SMALL]: \"px-md py-xxs\",\n\t[EButtonSizes.MEDIUM]: \"p-sm\",\n\t[EButtonSizes.LARGE]: \"p-md\",\n\t[EButtonSizes.DEFAULT]: \"px-md py-sm\",\n};\n\nconst weightClasses = {\n\t[EButtonWeight.DEFAULT]: \"font-medium\",\n\t[EButtonWeight.BOLD]: \"font-bold\",\n};\n\nexport const UiButton: React.FC<TButtonProps> = ({\n\tkind = EButtonTypes.PRIMARY_BRAND,\n\tsize = EButtonSizes.DEFAULT,\n\tfullWidth = false,\n\tdisabled = false,\n\tchildren,\n\tweight = EButtonWeight.BOLD,\n\tclassName,\n\tonClick,\n\t...rest\n}) => {\n\treturn (\n\t\t<button\n\t\t\t{ ...rest }\n\t\t\tonClick={ onClick }\n\t\t\tclassName={ cx(\n\t\t\t\tcss.UiButton,\n\t\t\t\t\"text-base\",\n\t\t\t\t\"cursor-pointer\",\n\t\t\t\t\"touch-manipulation\",\n\t\t\t\t\"whitespace-nowrap\",\n\t\t\t\t\"rounded-xl\",\n\t\t\t\t\"leading-none\",\n\t\t\t\t\"flex\",\n\t\t\t\t\"gap-xs\",\n\t\t\t\t\"justify-center\",\n\t\t\t\t\"items-center\",\n\t\t\t\t\"relative\",\n\t\t\t\t\"transition-all\",\n\t\t\t\t\"focus-visible:before:border-2\",\n\t\t\t\t\"focus-visible:before:rounded-2xl\",\n\t\t\t\t\"focus-visible:before:absolute\",\n\t\t\t\t\"focus-visible:before:-translate-x-1/2\",\n\t\t\t\t\"focus-visible:before:-translate-y-1/2\",\n\t\t\t\t\"focus-visible:before:left-1/2\",\n\t\t\t\t\"focus-visible:before:top-1/2\",\n\t\t\t\t\"focus-visible:before:inset-0\",\n\t\t\t\t\"focus-visible:before:z-[-1]\",\n\t\t\t\t\"focus-visible:before:w-[calc(100%+12px)]\",\n\t\t\t\t\"focus-visible:before:h-[calc(100%+10px)]\",\n\t\t\t\tfocusColorClasses.background(kind),\n\t\t\t\tfocusColorClasses.border(kind),\n\t\t\t\ttypeClasses[kind],\n\t\t\t\tsizeClasses[size],\n\t\t\t\tweightClasses[weight],\n\t\t\t\t{\n\t\t\t\t\t\"w-full\": fullWidth,\n\t\t\t\t\t\"pointer-events-none\": disabled,\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tdisabled={ disabled }\n\t\t>\n\t\t\t{ children }\n\t\t</button>\n\t);\n};\n"],"names":["typeClasses","EButtonTypes","isInverseType","type","focusColorClasses","sizeClasses","EButtonSizes","weightClasses","EButtonWeight","UiButton","kind","size","fullWidth","disabled","children","weight","className","onClick","rest","jsx","cx","css"],"mappings":"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"}
1
+ {"version":3,"file":"UiButton.js","sources":["../../../src/components/UiButton/UiButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { EButtonSizes, EButtonTypes, EButtonWeight } from \"./_types.ts\";\nimport cx from \"classnames\";\nimport css from \"./UiButton.module.css\";\n\ntype TButtonProps = {\n\tkind?: EButtonTypes;\n\tsize?: EButtonSizes;\n\tfullWidth?: boolean;\n\tweight?: EButtonWeight;\n\tclassName?: string;\n} & React.HTMLAttributes<HTMLElement> &\n\tReact.ButtonHTMLAttributes<HTMLElement> &\n\tReact.AnchorHTMLAttributes<HTMLElement>\n\nconst typeClasses = {\n\t[EButtonTypes.PRIMARY_BRAND]: `\n\t\tbg-primary-600\n\t\tborder\n\t\tborder-primary-600\n\t\tshadow-md\n\t\ttext-white\n\n\t\thover:bg-primary-700\n\t\thover:border-primary-700\n\t\tactive:bg-primary-800\n\t\tactive:border-primary-800\n\t\tdisabled:bg-secondary-alt-300\n\t\tdisabled:border-transparent\n\t`,\n\t[EButtonTypes.PRIMARY_ACCENT]: `\n\t\tbg-primary-800\n\t\tborder\n\t\tborder-primary-800\n\t\tshadow-md\n\t\ttext-white\n\n\t\thover:bg-primary-700\n\t\thover:border-primary-700\n\t\tactive:bg-primary-800\n\t\tactive:border-primary-800\n\t\tactive:text-primary-100\n\t\tdisabled:bg-secondary-alt-300\n\t\tdisabled:border-transparent\n\t`,\n\t[EButtonTypes.PRIMARY_NEUTRAL]: `\n\t\tbg-secondary-500\n\t\tborder\n\t\tborder-secondary-500\n\t\tshadow-md\n\t\ttext-white\n\n\t\thover:bg-secondary-400\n\t\thover:border-secondary-400\n\t\tactive:bg-secondary-500\n\t\tactive:border-secondary-500\n\t\tactive:text-secondary-alt-300\n\t\tdisabled:bg-secondary-alt-300\n\t\tdisabled:border-transparent\n\t`,\n\t[EButtonTypes.PRIMARY_DESTRUCTIVE]: `\n\t\tbg-error-500\n\t\tborder\n\t\tborder-error-500\n\t\tshadow-md\n\t\ttext-white\n\n\t\thover:bg-error-600\n\t\thover:border-error-600\n\t\tactive:bg-error-700\n\t\tactive:border-error-700\n\t\tdisabled:bg-secondary-alt-300\n\t\tdisabled:border-transparent\n\t`,\n\t[EButtonTypes.PRIMARY_INVERSE]: `\n\t\tbg-white\n\t\tborder\n\t\tborder-secondary-500\n\t\tshadow-md\n\t\ttext-secondary-500\n\n\t\thover:border-secondary-400\n\t\thover:text-secondary-400\n\t\tactive:bg-secondary-alt-300\n\t\tdisabled:bg-secondary-alt-700\n\t\tdisabled:border-secondary-alt-700\n\t`,\n\t[EButtonTypes.SECONDARY_BRAND]: `\n\t\tbg-white\n\t\tborder\n\t\tborder-primary-600\n\t\tshadow-md\n\t\ttext-primary-600\n\n\t\thover:bg-primary-50\n\t\thover:border-primary-700\n\t\thover:text-primary-700\n\t\tactive:bg-primary-100\n\t\tactive:border-primary-700\n\t\tactive:text-primary-700\n\t\tdisabled:bg-white\n\t\tdisabled:border-secondary-alt-300\n\t\tdisabled:shadow-none\n\t\tdisabled:text-secondary-alt-300\n\t`,\n\t[EButtonTypes.SECONDARY_ACCENT]: `\n\t\tbg-white\n\t\tborder\n\t\tborder-primary-800\n\t\tshadow-md\n\t\ttext-primary-800\n\n\t\thover:bg-primary-50\n\t\thover:border-primary-700\n\t\thover:text-primary-700\n\t\tactive:bg-primary-100\n\t\tactive:border-primary-800\n\t\tactive:text-primary-800\n\t\tdisabled:bg-secondary-alt-300\n\t\tdisabled:border-transparent\n\t`,\n\t[EButtonTypes.SECONDARY_NEUTRAL]: `\n\t\tbg-white\n\t\tborder\n\t\tborder-secondary-500\n\t\tshadow-md\n\t\ttext-secondary-500\n\n\t\thover:bg-secondary-alt-200\n\t\thover:border-secondary-400\n\t\thover:text-secondary-400\n\t\tactive:bg-secondary-alt-300\n\t\tactive:border-secondary-500\n\t\tactive:text-secondary-500\n\t\tdisabled:bg-secondary-alt-300\n\t\tdisabled:border-transparent\n\t`,\n\t[EButtonTypes.SECONDARY_DESTRUCTIVE]: `\n\t\tbg-white\n\t\tborder\n\t\tborder-error-500\n\t\tshadow-md\n\t\ttext-error-500\n\n\t\thover:bg-error-100\n\t\thover:border-error-600\n\t\thover:text-error-600\n\t\tactive:bg-error-200\n\t\tactive:border-error-700\n\t\tactive:text-error-700\n\t\tdisabled:bg-secondary-alt-300\n\t\tdisabled:border-transparent\n\t`,\n\t[EButtonTypes.SECONDARY_INVERSE]: `\n\t\tbg-transparent\n\t\tborder\n\t\tborder-white\n\t\tshadow-md\n\t\ttext-white\n\n\t\thover:bg-secondary-500\n\t\thover:border-secondary-alt-300\n\t\thover:text-secondary-alt-300\n\t\tactive:bg-secondary-400\n\t\tactive:border-white\n\t\tactive:text-white\n\t\tdisabled:bg-secondary-alt-300\n\t\tdisabled:border-transparent\n\t`,\n\t[EButtonTypes.TERTIARY_BRAND]: `\n\t\tbg-transparent\n\t\tborder\n\t\tborder-transparent\n\t\ttext-primary-600\n\t\tunderline\n\n\t\thover:bg-primary-50\n\t\thover:no-underline\n\t\tactive:bg-primary-100\n\t\tactive:text-primary-700\n\t\tdisabled:bg-transparent\n\t\tdisabled:text-secondary-alt-300\n\t\tdisabled:underline\n\t`,\n\t[EButtonTypes.TERTIARY_ACCENT]: `\n\t\tbg-transparent\n\t\tborder\n\t\tborder-transparent\n\t\ttext-primary-800\n\t\tunderline\n\n\t\thover:bg-primary-50\n\t\thover:no-underline\n\t\thover:text-primary-700\n\t\tactive:bg-primary-100\n\t\tactive:text-primary-800\n\t\tdisabled:bg-transparent\n\t\tdisabled:text-secondary-alt-300\n\t\tdisabled:underline\n\t`,\n\t[EButtonTypes.TERTIARY_NEUTRAL]: `\n\t\tbg-transparent\n\t\tborder\n\t\tborder-transparent\n\t\ttext-secondary-500\n\t\tunderline\n\n\t\thover:bg-secondary-alt-200\n\t\thover:no-underline\n\t\thover:text-secondary-400\n\t\tactive:bg-secondary-alt-300\n\t\tactive:text-secondary-500\n\t\tdisabled:bg-transparent\n\t\tdisabled:text-secondary-alt-300\n\t\tdisabled:underline\n\t`,\n\t[EButtonTypes.TERTIARY_DESTRUCTIVE]: `\n\t\tbg-transparent\n\t\tborder\n\t\tborder-transparent\n\t\ttext-error-500\n\t\tunderline\n\n\t\thover:bg-error-100\n\t\thover:no-underline\n\t\thover:text-error-600\n\t\tactive:bg-error-200\n\t\tactive:text-error-700\n\t\tdisabled:bg-transparent\n\t\tdisabled:text-secondary-alt-300\n\t\tdisabled:underline\n\t`,\n\t[EButtonTypes.TERTIARY_INVERSE]: `\n\t\tbg-transparent\n\t\tborder\n\t\tborder-transparent\n\t\ttext-white\n\t\tunderline\n\n\t\thover:bg-secondary-500\n\t\thover:no-underline\n\t\thover:text-secondary-alt-300\n\t\tactive:bg-secondary-400\n\t\tactive-text-white\n\t\tdisabled:bg-transparent\n\t\tdisabled:text-secondary-alt-700\n\t\tdisabled:underline\n\t`,\n};\n\nconst isInverseType = (type: EButtonTypes): boolean => {\n\treturn (\n\t\ttype === EButtonTypes.PRIMARY_INVERSE\n\t\t|| type === EButtonTypes.SECONDARY_INVERSE\n\t\t|| type === EButtonTypes.TERTIARY_INVERSE\n\t);\n};\n\nconst focusColorClasses = {\n\tbackground: (type: EButtonTypes) =>\n\t\tisInverseType(type)\n\t\t\t? \"focus-visible:before:bg-secondary-500\"\n\t\t\t: \"focus-visible:before:bg-white\",\n\tborder: (type: EButtonTypes) =>\n\t\tisInverseType(type)\n\t\t\t? \"focus-visible:before:border-secondary-alt-400\"\n\t\t\t: \"focus-visible:before:border-primary-600\"\n};\n\nconst sizeClasses = {\n\t[EButtonSizes.SMALL]: \"px-xs py-xxs rounded-lg focus-visible:before:rounded-xl text-sm\",\n\t[EButtonSizes.MEDIUM]: \"p-sm rounded-lg focus-visible:before:rounded-xl text-md\",\n\t[EButtonSizes.LARGE]: \"px-md py-sm rounded-xl focus-visible:before:rounded-2xl text-xl\",\n\t[EButtonSizes.XLARGE]: \"px-lg py-md rounded-xl focus-visible:before:rounded-2xl text-2xl\",\n\t[EButtonSizes.DEFAULT]: \"px-sm py-sm rounded-lg focus-visible:before:rounded-xl\",\n};\n\nconst weightClasses = {\n\t[EButtonWeight.DEFAULT]: \"font-medium\",\n\t[EButtonWeight.BOLD]: \"font-bold\",\n};\n\nexport const UiButton: React.FC<TButtonProps> = ({\n\tkind = EButtonTypes.PRIMARY_BRAND,\n\tsize = EButtonSizes.DEFAULT,\n\tfullWidth = false,\n\tdisabled = false,\n\tchildren,\n\tweight = EButtonWeight.BOLD,\n\tclassName,\n\tonClick,\n\t...rest\n}) => {\n\treturn (\n\t\t<button\n\t\t\t{ ...rest }\n\t\t\tonClick={ onClick }\n\t\t\tclassName={ cx(\n\t\t\t\tcss.UiButton,\n\t\t\t\t\"cursor-pointer\",\n\t\t\t\t\"touch-manipulation\",\n\t\t\t\t\"whitespace-nowrap\",\n\t\t\t\t\"leading-none\",\n\t\t\t\t\"flex\",\n\t\t\t\t\"gap-xs\",\n\t\t\t\t\"justify-center\",\n\t\t\t\t\"items-center\",\n\t\t\t\t\"relative\",\n\t\t\t\t\"transition-all\",\n\t\t\t\t\"focus-visible:before:border-2\",\n\t\t\t\t\"focus-visible:before:absolute\",\n\t\t\t\t\"focus-visible:before:-translate-x-1/2\",\n\t\t\t\t\"focus-visible:before:-translate-y-1/2\",\n\t\t\t\t\"focus-visible:before:left-1/2\",\n\t\t\t\t\"focus-visible:before:top-1/2\",\n\t\t\t\t\"focus-visible:before:inset-0\",\n\t\t\t\t\"focus-visible:before:z-[-1]\",\n\t\t\t\t\"focus-visible:before:w-[calc(100%+12px)]\",\n\t\t\t\t\"focus-visible:before:h-[calc(100%+10px)]\",\n\t\t\t\tfocusColorClasses.background(kind),\n\t\t\t\tfocusColorClasses.border(kind),\n\t\t\t\ttypeClasses[kind],\n\t\t\t\tsizeClasses[size],\n\t\t\t\tweightClasses[weight],\n\t\t\t\t{\n\t\t\t\t\t\"w-full\": fullWidth,\n\t\t\t\t\t\"pointer-events-none\": disabled,\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tdisabled={ disabled }\n\t\t>\n\t\t\t{ children }\n\t\t</button>\n\t);\n};\n"],"names":["typeClasses","EButtonTypes","isInverseType","type","focusColorClasses","sizeClasses","EButtonSizes","weightClasses","EButtonWeight","UiButton","kind","size","fullWidth","disabled","children","weight","className","onClick","rest","jsx","cx","css"],"mappings":"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"}
@@ -19,7 +19,8 @@ export declare enum EButtonSizes {
19
19
  DEFAULT = "default",
20
20
  SMALL = "sm",
21
21
  MEDIUM = "md",
22
- LARGE = "lg"
22
+ LARGE = "lg",
23
+ XLARGE = "xl"
23
24
  }
24
25
  export declare enum EButtonWeight {
25
26
  DEFAULT = "default",
@@ -1,4 +1,4 @@
1
- var R = /* @__PURE__ */ ((r) => (r.PRIMARY_BRAND = "primary-brand", r.PRIMARY_ACCENT = "primary-accent", r.PRIMARY_NEUTRAL = "primary-neutral", r.PRIMARY_DESTRUCTIVE = "primary-destructive", r.PRIMARY_INVERSE = "primary-inverse", r.SECONDARY_BRAND = "secondary-brand", r.SECONDARY_ACCENT = "secondary-accent", r.SECONDARY_NEUTRAL = "secondary-neutral", r.SECONDARY_DESTRUCTIVE = "secondary-destructive", r.SECONDARY_INVERSE = "secondary-inverse", r.TERTIARY_BRAND = "tertiary-brand", r.TERTIARY_ACCENT = "tertiary-accent", r.TERTIARY_NEUTRAL = "tertiary-neutral", r.TERTIARY_DESTRUCTIVE = "tertiary-destructive", r.TERTIARY_INVERSE = "tertiary-inverse", r))(R || {}), a = /* @__PURE__ */ ((r) => (r.DEFAULT = "default", r.SMALL = "sm", r.MEDIUM = "md", r.LARGE = "lg", r))(a || {}), A = /* @__PURE__ */ ((r) => (r.DEFAULT = "default", r.BOLD = "bold", r))(A || {});
1
+ var R = /* @__PURE__ */ ((r) => (r.PRIMARY_BRAND = "primary-brand", r.PRIMARY_ACCENT = "primary-accent", r.PRIMARY_NEUTRAL = "primary-neutral", r.PRIMARY_DESTRUCTIVE = "primary-destructive", r.PRIMARY_INVERSE = "primary-inverse", r.SECONDARY_BRAND = "secondary-brand", r.SECONDARY_ACCENT = "secondary-accent", r.SECONDARY_NEUTRAL = "secondary-neutral", r.SECONDARY_DESTRUCTIVE = "secondary-destructive", r.SECONDARY_INVERSE = "secondary-inverse", r.TERTIARY_BRAND = "tertiary-brand", r.TERTIARY_ACCENT = "tertiary-accent", r.TERTIARY_NEUTRAL = "tertiary-neutral", r.TERTIARY_DESTRUCTIVE = "tertiary-destructive", r.TERTIARY_INVERSE = "tertiary-inverse", r))(R || {}), a = /* @__PURE__ */ ((r) => (r.DEFAULT = "default", r.SMALL = "sm", r.MEDIUM = "md", r.LARGE = "lg", r.XLARGE = "xl", r))(a || {}), A = /* @__PURE__ */ ((r) => (r.DEFAULT = "default", r.BOLD = "bold", r))(A || {});
2
2
  export {
3
3
  a as EButtonSizes,
4
4
  R as EButtonTypes,
@@ -1 +1 @@
1
- {"version":3,"file":"_types.js","sources":["../../../src/components/UiButton/_types.ts"],"sourcesContent":["export enum EButtonTypes {\n\tPRIMARY_BRAND = \"primary-brand\",\n\tPRIMARY_ACCENT = \"primary-accent\",\n\tPRIMARY_NEUTRAL = \"primary-neutral\",\n\tPRIMARY_DESTRUCTIVE = \"primary-destructive\",\n\tPRIMARY_INVERSE = \"primary-inverse\",\n\tSECONDARY_BRAND = \"secondary-brand\",\n\tSECONDARY_ACCENT = \"secondary-accent\",\n\tSECONDARY_NEUTRAL = \"secondary-neutral\",\n\tSECONDARY_DESTRUCTIVE = \"secondary-destructive\",\n\tSECONDARY_INVERSE = \"secondary-inverse\",\n\tTERTIARY_BRAND = \"tertiary-brand\",\n\tTERTIARY_ACCENT = \"tertiary-accent\",\n\tTERTIARY_NEUTRAL = \"tertiary-neutral\",\n\tTERTIARY_DESTRUCTIVE = \"tertiary-destructive\",\n\tTERTIARY_INVERSE = \"tertiary-inverse\"\n}\n\nexport enum EButtonSizes {\n\tDEFAULT = \"default\",\n\tSMALL = \"sm\",\n\tMEDIUM = \"md\",\n\tLARGE = \"lg\"\n}\n\nexport enum EButtonWeight {\n\tDEFAULT = \"default\",\n\tBOLD = \"bold\",\n}\n"],"names":["EButtonTypes","EButtonSizes","EButtonWeight"],"mappings":"AAAY,IAAAA,sBAAAA,OACXA,EAAA,gBAAgB,iBAChBA,EAAA,iBAAiB,kBACjBA,EAAA,kBAAkB,mBAClBA,EAAA,sBAAsB,uBACtBA,EAAA,kBAAkB,mBAClBA,EAAA,kBAAkB,mBAClBA,EAAA,mBAAmB,oBACnBA,EAAA,oBAAoB,qBACpBA,EAAA,wBAAwB,yBACxBA,EAAA,oBAAoB,qBACpBA,EAAA,iBAAiB,kBACjBA,EAAA,kBAAkB,mBAClBA,EAAA,mBAAmB,oBACnBA,EAAA,uBAAuB,wBACvBA,EAAA,mBAAmB,oBAfRA,IAAAA,KAAA,CAAA,CAAA,GAkBAC,sBAAAA,OACXA,EAAA,UAAU,WACVA,EAAA,QAAQ,MACRA,EAAA,SAAS,MACTA,EAAA,QAAQ,MAJGA,IAAAA,KAAA,CAAA,CAAA,GAOAC,sBAAAA,OACXA,EAAA,UAAU,WACVA,EAAA,OAAO,QAFIA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"_types.js","sources":["../../../src/components/UiButton/_types.ts"],"sourcesContent":["export enum EButtonTypes {\n\tPRIMARY_BRAND = \"primary-brand\",\n\tPRIMARY_ACCENT = \"primary-accent\",\n\tPRIMARY_NEUTRAL = \"primary-neutral\",\n\tPRIMARY_DESTRUCTIVE = \"primary-destructive\",\n\tPRIMARY_INVERSE = \"primary-inverse\",\n\tSECONDARY_BRAND = \"secondary-brand\",\n\tSECONDARY_ACCENT = \"secondary-accent\",\n\tSECONDARY_NEUTRAL = \"secondary-neutral\",\n\tSECONDARY_DESTRUCTIVE = \"secondary-destructive\",\n\tSECONDARY_INVERSE = \"secondary-inverse\",\n\tTERTIARY_BRAND = \"tertiary-brand\",\n\tTERTIARY_ACCENT = \"tertiary-accent\",\n\tTERTIARY_NEUTRAL = \"tertiary-neutral\",\n\tTERTIARY_DESTRUCTIVE = \"tertiary-destructive\",\n\tTERTIARY_INVERSE = \"tertiary-inverse\"\n}\n\nexport enum EButtonSizes {\n\tDEFAULT = \"default\",\n\tSMALL = \"sm\",\n\tMEDIUM = \"md\",\n\tLARGE = \"lg\",\n\tXLARGE = \"xl\"\n}\n\nexport enum EButtonWeight {\n\tDEFAULT = \"default\",\n\tBOLD = \"bold\",\n}\n"],"names":["EButtonTypes","EButtonSizes","EButtonWeight"],"mappings":"AAAY,IAAAA,sBAAAA,OACXA,EAAA,gBAAgB,iBAChBA,EAAA,iBAAiB,kBACjBA,EAAA,kBAAkB,mBAClBA,EAAA,sBAAsB,uBACtBA,EAAA,kBAAkB,mBAClBA,EAAA,kBAAkB,mBAClBA,EAAA,mBAAmB,oBACnBA,EAAA,oBAAoB,qBACpBA,EAAA,wBAAwB,yBACxBA,EAAA,oBAAoB,qBACpBA,EAAA,iBAAiB,kBACjBA,EAAA,kBAAkB,mBAClBA,EAAA,mBAAmB,oBACnBA,EAAA,uBAAuB,wBACvBA,EAAA,mBAAmB,oBAfRA,IAAAA,KAAA,CAAA,CAAA,GAkBAC,sBAAAA,OACXA,EAAA,UAAU,WACVA,EAAA,QAAQ,MACRA,EAAA,SAAS,MACTA,EAAA,QAAQ,MACRA,EAAA,SAAS,MALEA,IAAAA,KAAA,CAAA,CAAA,GAQAC,sBAAAA,OACXA,EAAA,UAAU,WACVA,EAAA,OAAO,QAFIA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -1,35 +1,39 @@
1
- import { jsxs as i, jsx as n } from "react/jsx-runtime";
1
+ import { jsxs as s, jsx as d } from "react/jsx-runtime";
2
2
  import "react";
3
3
  import { UiTypography as p } from "../UiTypography/UiTypography.js";
4
4
  import { EInputKind as e } from "./_types.js";
5
- import t from "classnames";
6
- const f = ({ postIcon: o, preIcon: a, className: d, kind: l = e.DEFAULT, ...r }) => {
7
- const s = {
8
- [e.DEFAULT]: "border-secondary-alt-600 hover:border-secondary-alt-700",
5
+ import i from "classnames";
6
+ const h = ({ postIcon: o, preIcon: t, className: l, kind: a = e.DEFAULT, ...r }) => {
7
+ const n = {
8
+ [e.DEFAULT]: "border-secondary-alt-600",
9
9
  [e.ERROR]: "border-error",
10
10
  [e.SUCCESS]: "border-primary-600"
11
11
  };
12
- return /* @__PURE__ */ i(
12
+ return /* @__PURE__ */ s(
13
13
  p,
14
14
  {
15
15
  tag: "label",
16
16
  htmlFor: r.id,
17
- className: t(
17
+ className: i(
18
18
  "ui-input-wrapper",
19
19
  "flex flex-row items-center gap-sm rounded-xl border p-sm",
20
- l && s[l],
20
+ "hover:border-secondary-alt-700",
21
+ "focus-within:outline-4",
22
+ "focus-within:outline-primary-300",
23
+ "active:ring focus-within:ring-secondary-alt-700",
24
+ a && n[a],
21
25
  {
22
26
  "bg-white": !r.disabled,
23
27
  "border-secondary-alt-300 bg-secondary-alt-200": r.disabled
24
28
  },
25
- d
29
+ l
26
30
  ),
27
31
  children: [
28
- a || null,
29
- /* @__PURE__ */ n(
32
+ t || null,
33
+ /* @__PURE__ */ d(
30
34
  "input",
31
35
  {
32
- className: t("border-0 flex-1 bg-transparent outline-hidden placeholder:text-secondary-alt-600 w-full"),
36
+ className: i("bg-transparent outline-hidden placeholder:text-secondary-alt-600 w-full"),
33
37
  ...r
34
38
  }
35
39
  ),
@@ -39,6 +43,6 @@ const f = ({ postIcon: o, preIcon: a, className: d, kind: l = e.DEFAULT, ...r })
39
43
  );
40
44
  };
41
45
  export {
42
- f as UiInputBase
46
+ h as UiInputBase
43
47
  };
44
48
  //# sourceMappingURL=UiInput.base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiInput.base.js","sources":["../../../src/components/UiInput/UiInput.base.tsx"],"sourcesContent":["import React from \"react\";\nimport { UiTypography } from \"../UiTypography\";\nimport { EInputKind } from \"./_types\";\nimport cx from \"classnames\";\n\nexport type TUiInputBaseProps = {\n\tid: string;\n\tpostIcon?: React.ReactNode;\n\tpreIcon?: React.ReactNode;\n\tkind?: EInputKind;\n\tclassName?: string;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const UiInputBase: React.FC<\n\tTUiInputBaseProps\n> = ({ postIcon, preIcon, className, kind = EInputKind.DEFAULT, ...rest } ) => {\n\n\tconst stateClasses = {\n\t\t[EInputKind.DEFAULT]: \"border-secondary-alt-600 hover:border-secondary-alt-700\",\n\t\t[EInputKind.ERROR]: \"border-error\",\n\t\t[EInputKind.SUCCESS]: \"border-primary-600\",\n\t};\n\n\treturn (\n\t\t<UiTypography\n\t\t\ttag=\"label\"\n\t\t\thtmlFor={ rest.id }\n\t\t\tclassName={\n\t\t\t\tcx(\n\t\t\t\t\t\"ui-input-wrapper\",\n\t\t\t\t\t\"flex flex-row items-center gap-sm rounded-xl border p-sm\",\n\t\t\t\t\tkind && stateClasses[kind],\n\t\t\t\t\t{\n\t\t\t\t\t\t\"bg-white\": !rest.disabled,\n\t\t\t\t\t\t\"border-secondary-alt-300 bg-secondary-alt-200\": rest.disabled,\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t{ preIcon\n\t\t\t\t? preIcon\n\t\t\t\t: null }\n\t\t\t<input\n\t\t\t\tclassName={ cx(\"border-0 flex-1 bg-transparent outline-hidden placeholder:text-secondary-alt-600 w-full\") }\n\t\t\t\t{ ...rest }\n\t\t\t/>\n\t\t\t{ postIcon\n\t\t\t\t? postIcon\n\t\t\t\t: null }\n\t\t</UiTypography>\n\t);\n};\n"],"names":["UiInputBase","postIcon","preIcon","className","kind","EInputKind","rest","stateClasses","jsxs","UiTypography","cx","jsx"],"mappings":";;;;;AAaa,MAAAA,IAET,CAAC,EAAE,UAAAC,GAAU,SAAAC,GAAS,WAAAC,GAAW,MAAAC,IAAOC,EAAW,SAAS,GAAGC,QAAY;AAE9E,QAAMC,IAAe;AAAA,IACpB,CAACF,EAAW,OAAO,GAAG;AAAA,IACtB,CAACA,EAAW,KAAK,GAAG;AAAA,IACpB,CAACA,EAAW,OAAO,GAAG;AAAA,EACvB;AAGC,SAAA,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,KAAI;AAAA,MACJ,SAAUH,EAAK;AAAA,MACf,WACCI;AAAA,QACC;AAAA,QACA;AAAA,QACAN,KAAQG,EAAaH,CAAI;AAAA,QACzB;AAAA,UACC,YAAY,CAACE,EAAK;AAAA,UAClB,iDAAiDA,EAAK;AAAA,QACvD;AAAA,QACAH;AAAA,MACD;AAAA,MAGC,UAAA;AAAA,QAAAD,KAEC;AAAA,QACH,gBAAAS;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAYD,EAAG,yFAAyF;AAAA,YACtG,GAAGJ;AAAA,UAAA;AAAA,QACN;AAAA,QACEL,KAEC;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ;AAEF;"}
1
+ {"version":3,"file":"UiInput.base.js","sources":["../../../src/components/UiInput/UiInput.base.tsx"],"sourcesContent":["import React from \"react\";\nimport { UiTypography } from \"../UiTypography\";\nimport { EInputKind } from \"./_types\";\nimport cx from \"classnames\";\n\nexport type TUiInputBaseProps = {\n\tid: string;\n\tpostIcon?: React.ReactNode;\n\tpreIcon?: React.ReactNode;\n\tkind?: EInputKind;\n\tclassName?: string;\n\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const UiInputBase: React.FC<\n\tTUiInputBaseProps\n> = ({ postIcon, preIcon, className, kind = EInputKind.DEFAULT, ...rest } ) => {\n\n\tconst stateClasses = {\n\t\t[EInputKind.DEFAULT]: \"border-secondary-alt-600\",\n\t\t[EInputKind.ERROR]: \"border-error\",\n\t\t[EInputKind.SUCCESS]: \"border-primary-600\",\n\t};\n\n\treturn (\n\t\t<UiTypography\n\t\t\ttag=\"label\"\n\t\t\thtmlFor={ rest.id }\n\t\t\tclassName={\n\t\t\t\tcx(\n\t\t\t\t\t\"ui-input-wrapper\",\n\t\t\t\t\t\"flex flex-row items-center gap-sm rounded-xl border p-sm\",\n\t\t\t\t\t\"hover:border-secondary-alt-700\",\n\t\t\t\t\t\"focus-within:outline-4\",\n\t\t\t\t\t\"focus-within:outline-primary-300\",\n\t\t\t\t\t\"active:ring focus-within:ring-secondary-alt-700\",\n\t\t\t\t\tkind && stateClasses[kind],\n\t\t\t\t\t{\n\t\t\t\t\t\t\"bg-white\": !rest.disabled,\n\t\t\t\t\t\t\"border-secondary-alt-300 bg-secondary-alt-200\": rest.disabled,\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t{ preIcon\n\t\t\t\t? preIcon\n\t\t\t\t: null }\n\t\t\t<input\n\t\t\t\tclassName={ cx(\"bg-transparent outline-hidden placeholder:text-secondary-alt-600 w-full\") }\n\t\t\t\t{ ...rest }\n\t\t\t/>\n\n\t\t\t{ postIcon\n\t\t\t\t? postIcon\n\t\t\t\t: null }\n\n\t\t</UiTypography>\n\t);\n};\n"],"names":["UiInputBase","postIcon","preIcon","className","kind","EInputKind","rest","stateClasses","jsxs","UiTypography","cx","jsx"],"mappings":";;;;;AAca,MAAAA,IAET,CAAC,EAAE,UAAAC,GAAU,SAAAC,GAAS,WAAAC,GAAW,MAAAC,IAAOC,EAAW,SAAS,GAAGC,QAAY;AAE9E,QAAMC,IAAe;AAAA,IACpB,CAACF,EAAW,OAAO,GAAG;AAAA,IACtB,CAACA,EAAW,KAAK,GAAG;AAAA,IACpB,CAACA,EAAW,OAAO,GAAG;AAAA,EACvB;AAGC,SAAA,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,KAAI;AAAA,MACJ,SAAUH,EAAK;AAAA,MACf,WACCI;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACAN,KAAQG,EAAaH,CAAI;AAAA,QACzB;AAAA,UACC,YAAY,CAACE,EAAK;AAAA,UAClB,iDAAiDA,EAAK;AAAA,QACvD;AAAA,QACAH;AAAA,MACD;AAAA,MAGC,UAAA;AAAA,QAAAD,KAEC;AAAA,QACH,gBAAAS;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAYD,EAAG,yEAAyE;AAAA,YACtF,GAAGJ;AAAA,UAAA;AAAA,QACN;AAAA,QAEEL,KAEC;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ;AAEF;"}
@@ -1,12 +1,13 @@
1
1
  import { default as React } from 'react';
2
+ import { TUiInputBaseProps } from './UiInput.base.tsx';
2
3
  import { EInputKind } from './_types.ts';
3
4
  type TUiInputTextProps = {
4
5
  id: string;
5
6
  kind?: EInputKind;
6
- statusMessage?: string;
7
+ statusMessage?: string | React.ReactElement;
7
8
  title?: React.ReactNode;
8
9
  subtitle?: React.ReactNode;
9
10
  infoComponent?: React.ReactNode;
10
- } & React.InputHTMLAttributes<HTMLInputElement>;
11
+ } & TUiInputBaseProps;
11
12
  export declare const UiInputText: React.FC<TUiInputTextProps>;
12
13
  export {};
@@ -3,10 +3,10 @@ import "react";
3
3
  import { UiInputBase as l } from "./UiInput.base.js";
4
4
  import { UiInputTitled as u } from "./UiInputTitled.js";
5
5
  import { EInputKind as s } from "./_types.js";
6
- import { UiTypography as d } from "../UiTypography/UiTypography.js";
6
+ import { UiTypography as x } from "../UiTypography/UiTypography.js";
7
7
  import { ETypographySizes as f } from "../UiTypography/_types.js";
8
8
  import { EColors as i } from "../../_types/colors.js";
9
- import x from "classnames";
9
+ import d from "classnames";
10
10
  const j = ({
11
11
  kind: o,
12
12
  title: m,
@@ -15,14 +15,14 @@ const j = ({
15
15
  statusMessage: t,
16
16
  ...e
17
17
  }) => /* @__PURE__ */ n(u, { title: m, subtitle: a, infoComponent: p, children: [
18
+ /* @__PURE__ */ r(l, { kind: o, ...e }),
18
19
  t ? /* @__PURE__ */ r(
19
- d,
20
+ x,
20
21
  {
21
- className: x(
22
- "mb-xxs",
22
+ className: d(
23
23
  "transition-all duration-300 ease-in-out",
24
- "max-h-0 opacity-0 overflow-hidden",
25
- "data-[status=true]:max-h-lg data-[status=true]:opacity-100"
24
+ "max-h-0 opacity-0 overflow-hidden gap-xxs mt-xxs",
25
+ "data-[status=true]:max-h-full data-[status=true]:opacity-100"
26
26
  ),
27
27
  lineHeight: !0,
28
28
  color: o === s.ERROR ? i.ERROR : i.PRIMARY,
@@ -30,8 +30,7 @@ const j = ({
30
30
  "data-status": !!t,
31
31
  children: t
32
32
  }
33
- ) : null,
34
- /* @__PURE__ */ r(l, { kind: o, ...e })
33
+ ) : null
35
34
  ] });
36
35
  export {
37
36
  j as UiInputText
@@ -1 +1 @@
1
- {"version":3,"file":"UiInputText.js","sources":["../../../src/components/UiInput/UiInputText.tsx"],"sourcesContent":["import React from \"react\";\nimport { UiInputBase } from \"./UiInput.base.tsx\";\nimport { UiInputTitled } from \"./UiInputTitled.tsx\";\nimport { EInputKind } from \"./_types.ts\";\nimport { EColors, ETypographySizes, UiTypography } from \"../UiTypography/index.ts\";\nimport cx from \"classnames\";\n\ntype TUiInputTextProps = {\n\tid: string;\n\tkind?: EInputKind;\n\tstatusMessage?: string;\n\ttitle?: React.ReactNode;\n\tsubtitle?: React.ReactNode;\n\tinfoComponent?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const UiInputText: React.FC<TUiInputTextProps> = ({\n\tkind,\n\ttitle,\n\tinfoComponent,\n\tsubtitle,\n\tstatusMessage,\n\t...rest\n}) => {\n\treturn (\n\t\t<UiInputTitled title={ title } subtitle={ subtitle } infoComponent={ infoComponent } >\n\t\t\t{ statusMessage\n\t\t\t\t? (\n\t\t\t\t\t<UiTypography\n\t\t\t\t\t\tclassName={ cx(\n\t\t\t\t\t\t\t\"mb-xxs\",\n\t\t\t\t\t\t\t\"transition-all duration-300 ease-in-out\",\n\t\t\t\t\t\t\t\"max-h-0 opacity-0 overflow-hidden\",\n\t\t\t\t\t\t\t\"data-[status=true]:max-h-lg data-[status=true]:opacity-100\"\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlineHeight\n\t\t\t\t\t\tcolor={\n\t\t\t\t\t\t\tkind === EInputKind.ERROR\n\t\t\t\t\t\t\t\t? EColors.ERROR\n\t\t\t\t\t\t\t\t: EColors.PRIMARY\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsize={ ETypographySizes.SM }\n\t\t\t\t\t\tdata-status={ !!statusMessage }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ statusMessage }\n\t\t\t\t\t</UiTypography>\n\t\t\t\t)\n\t\t\t\t: null }\n\t\t\t<UiInputBase kind={ kind } { ...rest }/>\n\t\t</UiInputTitled>\n\t);\n};\n"],"names":["UiInputText","kind","title","infoComponent","subtitle","statusMessage","rest","jsxs","UiInputTitled","jsx","UiTypography","cx","EInputKind","EColors","ETypographySizes","UiInputBase"],"mappings":";;;;;;;;;AAgBO,MAAMA,IAA2C,CAAC;AAAA,EACxD,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,eAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAAC;AAAA,EACA,GAAGC;AACJ,MAEG,gBAAAC,EAAAC,GAAA,EAAc,OAAAN,GAAgB,UAAAE,GAAsB,eAAAD,GAClD,UAAA;AAAA,EAEAE,IAAA,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,WAAYC;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,MACA,YAAU;AAAA,MACV,OACCV,MAASW,EAAW,QACjBC,EAAQ,QACRA,EAAQ;AAAA,MAEZ,MAAOC,EAAiB;AAAA,MACxB,eAAc,CAAC,CAACT;AAAA,MAEd,UAAAA;AAAA,IAAA;AAAA,EAAA,IAGF;AAAA,EACF,gBAAAI,EAAAM,GAAA,EAAY,MAAAd,GAAgB,GAAGK,EAAM,CAAA;AAAA,GACvC;"}
1
+ {"version":3,"file":"UiInputText.js","sources":["../../../src/components/UiInput/UiInputText.tsx"],"sourcesContent":["import React from \"react\";\nimport { UiInputBase, type TUiInputBaseProps } from \"./UiInput.base.tsx\";\nimport { UiInputTitled } from \"./UiInputTitled.tsx\";\nimport { EInputKind } from \"./_types.ts\";\nimport { EColors, ETypographySizes, UiTypography } from \"../UiTypography/index.ts\";\nimport cx from \"classnames\";\n\ntype TUiInputTextProps = {\n\tid: string;\n\tkind?: EInputKind;\n\tstatusMessage?: string | React.ReactElement;\n\ttitle?: React.ReactNode;\n\tsubtitle?: React.ReactNode;\n\tinfoComponent?: React.ReactNode;\n} & TUiInputBaseProps;\n\nexport const UiInputText: React.FC<TUiInputTextProps> = ({\n\tkind,\n\ttitle,\n\tinfoComponent,\n\tsubtitle,\n\tstatusMessage,\n\t...rest\n}) => {\n\treturn (\n\t\t<UiInputTitled title={ title } subtitle={ subtitle } infoComponent={ infoComponent } >\n\t\t\t<UiInputBase kind={ kind } { ...rest }/>\n\t\t\t{ statusMessage\n\t\t\t\t? (\n\t\t\t\t\t<UiTypography\n\t\t\t\t\t\tclassName={ cx(\n\t\t\t\t\t\t\t\"transition-all duration-300 ease-in-out\",\n\t\t\t\t\t\t\t\"max-h-0 opacity-0 overflow-hidden gap-xxs mt-xxs\",\n\t\t\t\t\t\t\t\"data-[status=true]:max-h-full data-[status=true]:opacity-100\"\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlineHeight\n\t\t\t\t\t\tcolor={\n\t\t\t\t\t\t\tkind === EInputKind.ERROR\n\t\t\t\t\t\t\t\t? EColors.ERROR\n\t\t\t\t\t\t\t\t: EColors.PRIMARY\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsize={ ETypographySizes.SM }\n\t\t\t\t\t\tdata-status={ !!statusMessage }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ statusMessage }\n\t\t\t\t\t</UiTypography>\n\t\t\t\t)\n\t\t\t\t: null }\n\n\t\t</UiInputTitled>\n\t);\n};\n"],"names":["UiInputText","kind","title","infoComponent","subtitle","statusMessage","rest","jsxs","UiInputTitled","jsx","UiInputBase","UiTypography","cx","EInputKind","EColors","ETypographySizes"],"mappings":";;;;;;;;;AAgBO,MAAMA,IAA2C,CAAC;AAAA,EACxD,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,eAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAAC;AAAA,EACA,GAAGC;AACJ,MAEG,gBAAAC,EAAAC,GAAA,EAAc,OAAAN,GAAgB,UAAAE,GAAsB,eAAAD,GACpD,UAAA;AAAA,EAAC,gBAAAM,EAAAC,GAAA,EAAY,MAAAT,GAAgB,GAAGK,EAAM,CAAA;AAAA,EACpCD,IAEA,gBAAAI;AAAA,IAACE;AAAA,IAAA;AAAA,MACA,WAAYC;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,MACA,YAAU;AAAA,MACV,OACCX,MAASY,EAAW,QACjBC,EAAQ,QACRA,EAAQ;AAAA,MAEZ,MAAOC,EAAiB;AAAA,MACxB,eAAc,CAAC,CAACV;AAAA,MAEd,UAAAA;AAAA,IAAA;AAAA,EAAA,IAGF;AAAA,GAEJ;"}
@@ -1,70 +1,81 @@
1
- import { jsxs as S, jsx as e } from "react/jsx-runtime";
2
- import n from "react";
3
- import h from "classnames";
4
- import '../../assets/UiInputRange.css';const W = "_thumb_hkko1_18", F = {
5
- thumb: W
6
- }, w = ({
1
+ import { jsxs as z, jsx as n } from "react/jsx-runtime";
2
+ import s from "react";
3
+ import b from "classnames";
4
+ import '../../assets/UiInputRange.css';const C = "_thumb_hkko1_18", F = {
5
+ thumb: C
6
+ }, O = ({
7
7
  value: o,
8
8
  min: a,
9
- max: r,
10
- step: p,
11
- onChangeHandler: m,
12
- className: b,
13
- ...l
9
+ max: i,
10
+ step: f,
11
+ onChangeHandler: g,
12
+ className: x,
13
+ ...u
14
14
  }) => {
15
- const c = n.useRef(null), i = n.useRef(null), [f, g] = n.useState(0), [x, y] = n.useState(0);
16
- n.useEffect(() => {
17
- if (!c.current || !i.current) return;
18
- const t = parseFloat(String(o)), s = parseFloat(String(a)), M = parseFloat(String(r)), k = (t - s) / (M - s) * 100, N = i.current.getBoundingClientRect().width, P = c.current.clientWidth, u = N / P * 100, d = k * (1 - u / 100);
19
- g(Math.max(0, Math.min(100, d))), y(Math.max(0, Math.min(100, d + u)));
20
- }, [a, r, o]);
15
+ const e = s.useRef(null), c = s.useRef(null), [p, y] = s.useState(0), l = s.useCallback(() => {
16
+ var h, m;
17
+ if (!e.current || !c.current) return;
18
+ const t = parseFloat(String(o)), r = parseFloat(String(a)), R = parseFloat(String(i)), N = ((h = c.current) == null ? void 0 : h.getBoundingClientRect().width) ?? 0, d = ((m = e.current) == null ? void 0 : m.getBoundingClientRect().width) ?? 0;
19
+ if (d === 0) return;
20
+ const P = (t - r) / (R - r) * 100, k = N / d * 100, w = Math.max(0, Math.min(100, P * (1 - k / 100)));
21
+ y(w);
22
+ }, [a, i, o]);
23
+ s.useEffect(() => {
24
+ l();
25
+ const t = new ResizeObserver(() => {
26
+ l();
27
+ });
28
+ return e.current && t.observe(e.current), () => {
29
+ t.disconnect();
30
+ };
31
+ }, [l]);
21
32
  const v = (t) => {
22
33
  if (t === o) return;
23
- const s = parseFloat(t.toFixed(10));
24
- m(s);
34
+ const r = parseFloat(t.toFixed(10));
35
+ g(r);
25
36
  };
26
- return /* @__PURE__ */ S(
37
+ return /* @__PURE__ */ z(
27
38
  "div",
28
39
  {
29
- className: h(
40
+ className: b(
30
41
  "relative box-content h-xl py-xxs",
31
- l.disabled && "opacity-60 cursor-default pointer-events-none",
32
- b
42
+ u.disabled && "opacity-60 cursor-default pointer-events-none",
43
+ x
33
44
  ),
34
45
  children: [
35
- /* @__PURE__ */ e(
46
+ /* @__PURE__ */ n(
36
47
  "input",
37
48
  {
38
- ...l,
39
- ref: c,
49
+ ...u,
50
+ ref: e,
40
51
  className: "absolute left-0 top-0 size-full cursor-pointer appearance-none bg-transparent",
41
52
  style: {
42
53
  touchAction: "none"
43
54
  },
44
55
  type: "range",
45
56
  min: a,
46
- max: r,
47
- step: p,
57
+ max: i,
58
+ step: f,
48
59
  value: o,
49
60
  onChange: (t) => v(+t.target.value),
50
61
  onTouchStart: (t) => t.stopPropagation(),
51
62
  onTouchMove: (t) => t.stopPropagation()
52
63
  }
53
64
  ),
54
- /* @__PURE__ */ e("div", { className: "pointer-events-none absolute left-0 top-1/2 h-xxs w-full -translate-y-1/2 rounded-sm bg-secondary-alt" }),
55
- /* @__PURE__ */ e(
65
+ /* @__PURE__ */ n("div", { className: "pointer-events-none absolute left-0 top-1/2 h-xxs w-full -translate-y-1/2 rounded-sm bg-secondary-alt" }),
66
+ /* @__PURE__ */ n(
56
67
  "div",
57
68
  {
58
- className: "pointer-events-none absolute left-0 top-1/2 h-xxs -translate-y-1/2 rounded-sm bg-primary",
69
+ className: "pointer-events-none absolute left-0 top-1/2 h-xxs -translate-y-1/2 rounded-sm bg-primary-600",
59
70
  style: {
60
- width: `${x}%`
71
+ width: `${p}%`
61
72
  }
62
73
  }
63
74
  ),
64
- /* @__PURE__ */ e(
75
+ /* @__PURE__ */ n(
65
76
  "div",
66
77
  {
67
- className: h(
78
+ className: b(
68
79
  F.thumb,
69
80
  "pointer-events-none",
70
81
  "absolute",
@@ -73,13 +84,13 @@ import '../../assets/UiInputRange.css';const W = "_thumb_hkko1_18", F = {
73
84
  "-translate-y-1/2",
74
85
  "rounded-full",
75
86
  "bg-white",
76
- "border-primary"
87
+ "border-primary-600"
77
88
  ),
78
- ref: i,
89
+ ref: c,
79
90
  style: {
80
- left: `${f}%`
91
+ left: `${p}%`
81
92
  },
82
- children: /* @__PURE__ */ e("div", { className: "absolute left-1/2 top-1/2 size-xxs -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary" })
93
+ children: /* @__PURE__ */ n("div", { className: "absolute left-1/2 top-1/2 size-xxs -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-600" })
83
94
  }
84
95
  )
85
96
  ]
@@ -87,6 +98,6 @@ import '../../assets/UiInputRange.css';const W = "_thumb_hkko1_18", F = {
87
98
  );
88
99
  };
89
100
  export {
90
- w as UiInputRange
101
+ O as UiInputRange
91
102
  };
92
103
  //# sourceMappingURL=UiInputRange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiInputRange.js","sources":["../../../src/components/UiInputRange/UiInputRange.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./UiInputRange.module.css\";\n\nexport type TUiInputRangeProps = {\n\tvalue: number;\n\tmin: string | number;\n\tmax: string | number;\n\tstep: string | number;\n\tonChangeHandler: (value: number) => void;\n\tclassName?: string;\n} & React.HTMLProps<HTMLInputElement>;\n\nexport const UiInputRange: React.FC<TUiInputRangeProps> = ({\n\tvalue,\n\tmin,\n\tmax,\n\tstep,\n\tonChangeHandler,\n\tclassName,\n\t...rest\n}) => {\n\tconst track = React.useRef<HTMLInputElement>(null);\n\tconst thumb = React.useRef<HTMLDivElement>(null);\n\n\tconst [thumbPosition, setThumbPosition] = React.useState(0);\n\tconst [trackWidth, setTrackWidth] = React.useState(0);\n\n\tReact.useEffect(() => {\n\t\tif (!track.current || !thumb.current) return;\n\n\t\tconst numValue = parseFloat(String(value));\n\t\tconst numMin = parseFloat(String(min));\n\t\tconst numMax = parseFloat(String(max));\n\n\t\tconst percentage = ((numValue - numMin) / (numMax - numMin)) * 100;\n\n\t\tconst thumbWidth = thumb.current.getBoundingClientRect().width;\n\t\tconst trackWidth = track.current.clientWidth;\n\t\tconst thumbWidthPercentage = (thumbWidth / trackWidth) * 100;\n\t\tconst adjustedPercentage = percentage * (1 - thumbWidthPercentage / 100);\n\n\t\tsetThumbPosition(Math.max(0, Math.min(100, adjustedPercentage)));\n\t\tsetTrackWidth(Math.max(0, Math.min(100, adjustedPercentage + thumbWidthPercentage)));\n\t}, [min, max, value]);\n\n\tconst handleOnChange = (newValue: number) => {\n\t\tif (newValue === value) return;\n\t\tconst preciseValue = parseFloat(newValue.toFixed(10));\n\t\tonChangeHandler(preciseValue);\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ cx(\n\t\t\t\t\"relative box-content h-xl py-xxs\",\n\t\t\t\trest.disabled && \"opacity-60 cursor-default pointer-events-none\",\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t<input\n\t\t\t\t{ ...rest }\n\t\t\t\tref={ track }\n\t\t\t\tclassName=\"absolute left-0 top-0 size-full cursor-pointer appearance-none bg-transparent\"\n\t\t\t\tstyle={ {\n\t\t\t\t\ttouchAction: \"none\",\n\t\t\t\t} }\n\t\t\t\ttype=\"range\"\n\t\t\t\tmin={ min }\n\t\t\t\tmax={ max }\n\t\t\t\tstep={ step }\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ (e) => handleOnChange(+e.target.value) }\n\t\t\t\tonTouchStart={ (e) => e.stopPropagation() }\n\t\t\t\tonTouchMove={ (e) => e.stopPropagation() }\n\t\t\t/>\n\n\t\t\t<div className=\"pointer-events-none absolute left-0 top-1/2 h-xxs w-full -translate-y-1/2 rounded-sm bg-secondary-alt\" />\n\n\t\t\t<div\n\t\t\t\tclassName=\"pointer-events-none absolute left-0 top-1/2 h-xxs -translate-y-1/2 rounded-sm bg-primary\"\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth: `${trackWidth}%`,\n\t\t\t\t} }\n\t\t\t/>\n\n\t\t\t<div\n\t\t\t\tclassName={ cx(\n\t\t\t\t\tstyles.thumb,\n\t\t\t\t\t\"pointer-events-none\",\n\t\t\t\t\t\"absolute\",\n\t\t\t\t\t\"box-content\",\n\t\t\t\t\t\"size-md\",\n\t\t\t\t\t\"-translate-y-1/2\",\n\t\t\t\t\t\"rounded-full\",\n\t\t\t\t\t\"bg-white\",\n\t\t\t\t\t\"border-primary\",\n\t\t\t\t) }\n\t\t\t\tref={ thumb }\n\t\t\t\tstyle={ {\n\t\t\t\t\tleft: `${thumbPosition}%`,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<div className=\"absolute left-1/2 top-1/2 size-xxs -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary\" />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n"],"names":["UiInputRange","value","min","max","step","onChangeHandler","className","rest","track","React","thumb","thumbPosition","setThumbPosition","trackWidth","setTrackWidth","numValue","numMin","numMax","percentage","thumbWidth","thumbWidthPercentage","adjustedPercentage","handleOnChange","newValue","preciseValue","jsxs","cx","jsx","e","styles"],"mappings":";;;;;GAaaA,IAA6C,CAAC;AAAA,EAC1D,OAAAC;AAAA,EACA,KAAAC;AAAA,EACA,KAAAC;AAAA,EACA,MAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,GAAGC;AACJ,MAAM;AACC,QAAAC,IAAQC,EAAM,OAAyB,IAAI,GAC3CC,IAAQD,EAAM,OAAuB,IAAI,GAEzC,CAACE,GAAeC,CAAgB,IAAIH,EAAM,SAAS,CAAC,GACpD,CAACI,GAAYC,CAAa,IAAIL,EAAM,SAAS,CAAC;AAEpD,EAAAA,EAAM,UAAU,MAAM;AACrB,QAAI,CAACD,EAAM,WAAW,CAACE,EAAM,QAAS;AAEtC,UAAMK,IAAW,WAAW,OAAOd,CAAK,CAAC,GACnCe,IAAS,WAAW,OAAOd,CAAG,CAAC,GAC/Be,IAAS,WAAW,OAAOd,CAAG,CAAC,GAE/Be,KAAeH,IAAWC,MAAWC,IAASD,KAAW,KAEzDG,IAAaT,EAAM,QAAQ,sBAAwB,EAAA,OACnDG,IAAaL,EAAM,QAAQ,aAC3BY,IAAwBD,IAAaN,IAAc,KACnDQ,IAAqBH,KAAc,IAAIE,IAAuB;AAEnD,IAAAR,EAAA,KAAK,IAAI,GAAG,KAAK,IAAI,KAAKS,CAAkB,CAAC,CAAC,GACjDP,EAAA,KAAK,IAAI,GAAG,KAAK,IAAI,KAAKO,IAAqBD,CAAoB,CAAC,CAAC;AAAA,EACjF,GAAA,CAAClB,GAAKC,GAAKF,CAAK,CAAC;AAEd,QAAAqB,IAAiB,CAACC,MAAqB;AAC5C,QAAIA,MAAatB,EAAO;AACxB,UAAMuB,IAAe,WAAWD,EAAS,QAAQ,EAAE,CAAC;AACpD,IAAAlB,EAAgBmB,CAAY;AAAA,EAC7B;AAGC,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAYC;AAAA,QACX;AAAA,QACAnB,EAAK,YAAY;AAAA,QACjBD;AAAA,MACD;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAqB;AAAA,UAAC;AAAA,UAAA;AAAA,YACE,GAAGpB;AAAA,YACL,KAAMC;AAAA,YACN,WAAU;AAAA,YACV,OAAQ;AAAA,cACP,aAAa;AAAA,YACd;AAAA,YACA,MAAK;AAAA,YACL,KAAAN;AAAA,YACA,KAAAC;AAAA,YACA,MAAAC;AAAA,YACA,OAAAH;AAAA,YACA,UAAW,CAAC2B,MAAMN,EAAe,CAACM,EAAE,OAAO,KAAK;AAAA,YAChD,cAAe,CAACA,MAAMA,EAAE,gBAAgB;AAAA,YACxC,aAAc,CAACA,MAAMA,EAAE,gBAAgB;AAAA,UAAA;AAAA,QACxC;AAAA,QAEA,gBAAAD,EAAC,OAAI,EAAA,WAAU,wGAAwG,CAAA;AAAA,QAEvH,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAU;AAAA,YACV,OAAQ;AAAA,cACP,OAAO,GAAGd,CAAU;AAAA,YAAA;AAAA,UACrB;AAAA,QACD;AAAA,QAEA,gBAAAc;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAYD;AAAA,cACXG,EAAO;AAAA,cACP;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACD;AAAA,YACA,KAAMnB;AAAA,YACN,OAAQ;AAAA,cACP,MAAM,GAAGC,CAAa;AAAA,YACvB;AAAA,YAEA,UAAA,gBAAAgB,EAAC,OAAI,EAAA,WAAU,+FAA+F,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAC/G;AAAA,IAAA;AAAA,EACD;AAEF;"}
1
+ {"version":3,"file":"UiInputRange.js","sources":["../../../src/components/UiInputRange/UiInputRange.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./UiInputRange.module.css\";\n\nexport type TUiInputRangeProps = {\n\tvalue: number;\n\tmin: string | number;\n\tmax: string | number;\n\tstep: string | number;\n\tonChangeHandler: (value: number) => void;\n\tclassName?: string;\n} & React.HTMLProps<HTMLInputElement>;\n\nexport const UiInputRange: React.FC<TUiInputRangeProps> = ({\n\tvalue,\n\tmin,\n\tmax,\n\tstep,\n\tonChangeHandler,\n\tclassName,\n\t...rest\n}) => {\n\tconst track = React.useRef<HTMLInputElement>(null);\n\tconst thumb = React.useRef<HTMLDivElement>(null);\n\tconst [position, setPosition] = React.useState(0);\n\n\tconst updatePositions = React.useCallback(() => {\n\t\tif (!track.current || !thumb.current) return;\n\n\t\tconst numValue = parseFloat(String(value));\n\t\tconst numMin = parseFloat(String(min));\n\t\tconst numMax = parseFloat(String(max));\n\n\t\tconst thumbWidth = thumb.current?.getBoundingClientRect().width ?? 0;\n\t\tconst trackWidth = track.current?.getBoundingClientRect().width ?? 0;\n\n\t\tif (trackWidth === 0) return;\n\n\t\tconst percentage = ((numValue - numMin) / (numMax - numMin)) * 100;\n\t\tconst thumbWidthPercentage = (thumbWidth / trackWidth) * 100;\n\n\t\tconst adjustedPercentage = Math.max(0, Math.min(100, percentage * (1 - thumbWidthPercentage / 100)));\n\n\t\tsetPosition(adjustedPercentage);\n\t}, [min, max, value]);\n\n\tReact.useEffect(() => {\n\t\tupdatePositions();\n\n\t\tconst resizeObserver = new ResizeObserver(() => {\n\t\t\tupdatePositions();\n\t\t});\n\n\t\tif (track.current) {\n\t\t\tresizeObserver.observe(track.current);\n\t\t}\n\n\t\treturn () => {\n\t\t\tresizeObserver.disconnect();\n\t\t};\n\t}, [updatePositions]);\n\n\tconst handleOnChange = (newValue: number) => {\n\t\tif (newValue === value) return;\n\t\tconst preciseValue = parseFloat(newValue.toFixed(10));\n\t\tonChangeHandler(preciseValue);\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ cx(\n\t\t\t\t\"relative box-content h-xl py-xxs\",\n\t\t\t\trest.disabled && \"opacity-60 cursor-default pointer-events-none\",\n\t\t\t\tclassName\n\t\t\t) }\n\t\t>\n\t\t\t<input\n\t\t\t\t{ ...rest }\n\t\t\t\tref={ track }\n\t\t\t\tclassName=\"absolute left-0 top-0 size-full cursor-pointer appearance-none bg-transparent\"\n\t\t\t\tstyle={ {\n\t\t\t\t\ttouchAction: \"none\",\n\t\t\t\t} }\n\t\t\t\ttype=\"range\"\n\t\t\t\tmin={ min }\n\t\t\t\tmax={ max }\n\t\t\t\tstep={ step }\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ (e) => handleOnChange(+e.target.value) }\n\t\t\t\tonTouchStart={ (e) => e.stopPropagation() }\n\t\t\t\tonTouchMove={ (e) => e.stopPropagation() }\n\t\t\t/>\n\n\t\t\t<div className=\"pointer-events-none absolute left-0 top-1/2 h-xxs w-full -translate-y-1/2 rounded-sm bg-secondary-alt\" />\n\n\t\t\t<div\n\t\t\t\tclassName=\"pointer-events-none absolute left-0 top-1/2 h-xxs -translate-y-1/2 rounded-sm bg-primary-600\"\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth: `${position}%`,\n\t\t\t\t} }\n\t\t\t/>\n\n\t\t\t<div\n\t\t\t\tclassName={ cx(\n\t\t\t\t\tstyles.thumb,\n\t\t\t\t\t\"pointer-events-none\",\n\t\t\t\t\t\"absolute\",\n\t\t\t\t\t\"box-content\",\n\t\t\t\t\t\"size-md\",\n\t\t\t\t\t\"-translate-y-1/2\",\n\t\t\t\t\t\"rounded-full\",\n\t\t\t\t\t\"bg-white\",\n\t\t\t\t\t\"border-primary-600\",\n\t\t\t\t) }\n\t\t\t\tref={ thumb }\n\t\t\t\tstyle={ {\n\t\t\t\t\tleft: `${position}%`,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<div className=\"absolute left-1/2 top-1/2 size-xxs -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-600\" />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n"],"names":["UiInputRange","value","min","max","step","onChangeHandler","className","rest","track","React","thumb","position","setPosition","updatePositions","numValue","numMin","numMax","thumbWidth","_a","trackWidth","_b","percentage","thumbWidthPercentage","adjustedPercentage","resizeObserver","handleOnChange","newValue","preciseValue","jsxs","cx","jsx","e","styles"],"mappings":"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"}