bonkers-ui 2.0.19 → 2.0.20

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
@@ -39,6 +39,7 @@
39
39
  --spacing-xxs: 8px;
40
40
  --spacing-xs: 12px;
41
41
  --spacing-sm: 16px;
42
+ --spacing-smd: 20px;
42
43
  --spacing-md: 24px;
43
44
  --spacing-lg: 32px;
44
45
  --spacing-xl: 40px;
@@ -141,6 +142,7 @@
141
142
  --xxs: var(--spacing-xxs);
142
143
  --xs: var(--spacing-xs);
143
144
  --sm: var(--spacing-sm);
145
+ --smd: var(--spacing-smd);
144
146
  --md: var(--spacing-md);
145
147
  --lg: var(--spacing-lg);
146
148
  --xl: var(--spacing-xl);
@@ -275,6 +277,7 @@
275
277
  --spacing-xxs: var(--spacing-xxs);
276
278
  --spacing-xs: var(--spacing-xs);
277
279
  --spacing-sm: var(--spacing-sm);
280
+ --spacing-smd: var(--spacing-smd);
278
281
  --spacing-md: var(--spacing-md);
279
282
  --spacing-lg: var(--spacing-lg);
280
283
  --spacing-xl: var(--spacing-xl);
@@ -290,6 +293,7 @@
290
293
  --min-h-xxs: var(--spacing-xxs);
291
294
  --min-h-xs: var(--spacing-xs);
292
295
  --min-h-sm: var(--spacing-sm);
296
+ --min-h-smd: var(--spacing-smd);
293
297
  --min-h-md: var(--spacing-md);
294
298
  --min-h-lg: var(--spacing-lg);
295
299
  --min-h-xl: var(--spacing-xl);
@@ -305,6 +309,7 @@
305
309
  --max-h-xxs: var(--spacing-xxs);
306
310
  --max-h-xs: var(--spacing-xs);
307
311
  --max-h-sm: var(--spacing-sm);
312
+ --max-h-smd: var(--spacing-smd);
308
313
  --max-h-md: var(--spacing-md);
309
314
  --max-h-lg: var(--spacing-lg);
310
315
  --max-h-xl: var(--spacing-xl);
@@ -320,6 +325,7 @@
320
325
  --min-w-xxs: var(--spacing-xxs);
321
326
  --min-w-xs: var(--spacing-xs);
322
327
  --min-w-sm: var(--spacing-sm);
328
+ --min-w-smd: var(--spacing-smd);
323
329
  --min-w-md: var(--spacing-md);
324
330
  --min-w-lg: var(--spacing-lg);
325
331
  --min-w-xl: var(--spacing-xl);
@@ -335,6 +341,7 @@
335
341
  --max-w-xxs: var(--spacing-xxs);
336
342
  --max-w-xs: var(--spacing-xs);
337
343
  --max-w-sm: var(--spacing-sm);
344
+ --max-w-smd: var(--spacing-smd);
338
345
  --max-w-md: var(--spacing-md);
339
346
  --max-w-lg: var(--spacing-lg);
340
347
  --max-w-xl: var(--spacing-xl);
@@ -5,6 +5,7 @@ type TButtonProps = {
5
5
  size?: EButtonSizes;
6
6
  fullWidth?: boolean;
7
7
  weight?: EButtonWeight;
8
+ tag?: keyof React.JSX.IntrinsicElements;
8
9
  className?: string;
9
10
  } & React.HTMLAttributes<HTMLElement> & React.ButtonHTMLAttributes<HTMLElement> & React.AnchorHTMLAttributes<HTMLElement>;
10
11
  export declare const UiButton: React.FC<TButtonProps>;
@@ -1,10 +1,9 @@
1
- import { jsx as p } from "react/jsx-runtime";
2
- import "react";
1
+ import h from "react";
3
2
  import { EButtonTypes as r, EButtonSizes as o, EButtonWeight as a } from "./_types.js";
4
- import h from "classnames";
5
- import '../../assets/UiButton.css';const g = "_UiButton_1dpbh_1", x = {
6
- UiButton: g
7
- }, m = {
3
+ import g from "classnames";
4
+ import '../../assets/UiButton.css';const m = "_UiButton_1dpbh_1", x = {
5
+ UiButton: m
6
+ }, u = {
8
7
  [r.PRIMARY_BRAND]: `
9
8
  bg-primary-600
10
9
  border
@@ -237,69 +236,67 @@ import '../../assets/UiButton.css';const g = "_UiButton_1dpbh_1", x = {
237
236
  disabled:text-secondary-alt-700
238
237
  disabled:underline
239
238
  `
240
- }, d = (e) => e === r.PRIMARY_INVERSE || e === r.SECONDARY_INVERSE || e === r.TERTIARY_INVERSE, s = {
241
- background: (e) => d(e) ? "focus-visible:before:bg-secondary-500" : "focus-visible:before:bg-white",
242
- border: (e) => d(e) ? "focus-visible:before:border-secondary-alt-400" : "focus-visible:before:border-primary-600"
243
- }, u = {
239
+ }, s = (e) => e === r.PRIMARY_INVERSE || e === r.SECONDARY_INVERSE || e === r.TERTIARY_INVERSE, b = {
240
+ background: (e) => s(e) ? "focus-visible:before:bg-secondary-500" : "focus-visible:before:bg-white",
241
+ border: (e) => s(e) ? "focus-visible:before:border-secondary-alt-400" : "focus-visible:before:border-primary-600"
242
+ }, R = {
244
243
  [o.XSMALL]: "px-xs py-xxs rounded-lg focus-visible:before:rounded-xl",
245
244
  [o.SMALL]: "px-sm py-xs rounded-xl focus-visible:before:rounded-2xl",
246
- [o.MEDIUM]: "p-sm rounded-xl focus-visible:before:rounded-2xl",
247
- [o.LARGE]: "px-lg py-md rounded-xl focus-visible:before:rounded-2xl"
248
- }, R = {
245
+ [o.MEDIUM]: "py-sm px-smd rounded-xl focus-visible:before:rounded-2xl",
246
+ [o.LARGE]: "px-md py-smd rounded-xl focus-visible:before:rounded-2xl"
247
+ }, f = {
249
248
  [a.DEFAULT]: "font-medium",
250
249
  [a.BOLD]: "font-bold"
251
250
  }, T = ({
252
251
  kind: e = r.PRIMARY_BRAND,
253
252
  size: i = o.MEDIUM,
254
- fullWidth: b = !1,
255
- disabled: t = !1,
253
+ fullWidth: t = !1,
254
+ disabled: d = !1,
256
255
  children: n,
257
256
  weight: c = a.BOLD,
258
257
  className: l,
259
- onClick: v,
260
- ...y
261
- }) => /* @__PURE__ */ p(
262
- "button",
263
- {
264
- ...y,
265
- onClick: v,
266
- className: h(
267
- x.UiButton,
268
- "cursor-pointer",
269
- "touch-manipulation",
270
- "whitespace-nowrap",
271
- "leading-none",
272
- "flex",
273
- "gap-xs",
274
- "justify-center",
275
- "items-center",
276
- "relative",
277
- "transition-all",
278
- "focus-visible:before:border-2",
279
- "focus-visible:before:absolute",
280
- "focus-visible:before:-translate-x-1/2",
281
- "focus-visible:before:-translate-y-1/2",
282
- "focus-visible:before:left-1/2",
283
- "focus-visible:before:top-1/2",
284
- "focus-visible:before:inset-0",
285
- "focus-visible:before:z-[-1]",
286
- "focus-visible:before:w-[calc(100%+12px)]",
287
- "focus-visible:before:h-[calc(100%+10px)]",
288
- s.background(e),
289
- s.border(e),
290
- m[e],
291
- u[i],
292
- R[c],
293
- {
294
- "w-full": b,
295
- "pointer-events-none": t
296
- },
297
- l
298
- ),
299
- disabled: t,
300
- children: n
301
- }
302
- );
258
+ onClick: y,
259
+ tag: v = "button",
260
+ ...p
261
+ }) => h.createElement(v, {
262
+ disabled: d,
263
+ onClick: y,
264
+ className: g(
265
+ x.UiButton,
266
+ "cursor-pointer",
267
+ "touch-manipulation",
268
+ "whitespace-nowrap",
269
+ "leading-none",
270
+ "flex",
271
+ "gap-xs",
272
+ "justify-center",
273
+ "items-center",
274
+ "relative",
275
+ "transition-all",
276
+ "focus-visible:before:border-2",
277
+ "focus-visible:before:absolute",
278
+ "focus-visible:before:-translate-x-1/2",
279
+ "focus-visible:before:-translate-y-1/2",
280
+ "focus-visible:before:left-1/2",
281
+ "focus-visible:before:top-1/2",
282
+ "focus-visible:before:inset-0",
283
+ "focus-visible:before:z-[-1]",
284
+ "focus-visible:before:w-[calc(100%+12px)]",
285
+ "focus-visible:before:h-[calc(100%+10px)]",
286
+ b.background(e),
287
+ b.border(e),
288
+ u[e],
289
+ R[i],
290
+ f[c],
291
+ {
292
+ "w-full": t,
293
+ "w-fit": !t,
294
+ "pointer-events-none": d
295
+ },
296
+ l
297
+ ),
298
+ ...p
299
+ }, n);
303
300
  export {
304
301
  T as UiButton
305
302
  };
@@ -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.XSMALL]: \"px-xs py-xxs rounded-lg focus-visible:before:rounded-xl\",\n\t[EButtonSizes.SMALL]: \"px-sm py-xs rounded-xl focus-visible:before:rounded-2xl\",\n\t[EButtonSizes.MEDIUM]: \"p-sm rounded-xl focus-visible:before:rounded-2xl\",\n\t[EButtonSizes.LARGE]: \"px-lg py-md rounded-xl focus-visible:before:rounded-2xl\",\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.MEDIUM,\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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"}
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\ttag?: keyof React.JSX.IntrinsicElements;\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.XSMALL]: \"px-xs py-xxs rounded-lg focus-visible:before:rounded-xl\",\n\t[EButtonSizes.SMALL]: \"px-sm py-xs rounded-xl focus-visible:before:rounded-2xl\",\n\t[EButtonSizes.MEDIUM]: \"py-sm px-smd rounded-xl focus-visible:before:rounded-2xl\",\n\t[EButtonSizes.LARGE]: \"px-md py-smd rounded-xl focus-visible:before:rounded-2xl\",\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.MEDIUM,\n\tfullWidth = false,\n\tdisabled = false,\n\tchildren,\n\tweight = EButtonWeight.BOLD,\n\tclassName,\n\tonClick,\n\ttag = \"button\",\n\t...rest\n}) => {\n\treturn React.createElement(tag, {\n\t\tdisabled,\n\t\tonClick,\n\t\tclassName: cx(\n\t\t\tcss.UiButton,\n\t\t\t\"cursor-pointer\",\n\t\t\t\"touch-manipulation\",\n\t\t\t\"whitespace-nowrap\",\n\t\t\t\"leading-none\",\n\t\t\t\"flex\",\n\t\t\t\"gap-xs\",\n\t\t\t\"justify-center\",\n\t\t\t\"items-center\",\n\t\t\t\"relative\",\n\t\t\t\"transition-all\",\n\t\t\t\"focus-visible:before:border-2\",\n\t\t\t\"focus-visible:before:absolute\",\n\t\t\t\"focus-visible:before:-translate-x-1/2\",\n\t\t\t\"focus-visible:before:-translate-y-1/2\",\n\t\t\t\"focus-visible:before:left-1/2\",\n\t\t\t\"focus-visible:before:top-1/2\",\n\t\t\t\"focus-visible:before:inset-0\",\n\t\t\t\"focus-visible:before:z-[-1]\",\n\t\t\t\"focus-visible:before:w-[calc(100%+12px)]\",\n\t\t\t\"focus-visible:before:h-[calc(100%+10px)]\",\n\t\t\tfocusColorClasses.background(kind),\n\t\t\tfocusColorClasses.border(kind),\n\t\t\ttypeClasses[kind],\n\t\t\tsizeClasses[size],\n\t\t\tweightClasses[weight],\n\t\t\t{\n\t\t\t\t\"w-full\": fullWidth,\n\t\t\t\t\"w-fit\": !fullWidth,\n\t\t\t\t\"pointer-events-none\": disabled,\n\t\t\t},\n\t\t\tclassName\n\t\t),\n\t\t...rest\n\t}, children);\n};\n"],"names":["typeClasses","EButtonTypes","isInverseType","type","focusColorClasses","sizeClasses","EButtonSizes","weightClasses","EButtonWeight","UiButton","kind","size","fullWidth","disabled","children","weight","className","onClick","tag","rest","React","cx","css"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bonkers-ui",
3
- "version": "v2.0.19",
3
+ "version": "v2.0.20",
4
4
  "type": "module",
5
5
  "description": "Bonkers ui library",
6
6
  "author": "cc6.magister@gmail.com",