@martinsura/ui 0.1.11 → 0.1.12

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/dist/index.cjs CHANGED
@@ -324,11 +324,11 @@ var buttonVariants = classVarianceAuthority.cva(
324
324
  variants: {
325
325
  variant: {
326
326
  filled: "",
327
- default: "bg-white text-(--ui-text) border border-(--ui-border-strong) hover:bg-(--ui-surface-subtle) active:bg-(--ui-surface-muted)",
328
- subtle: "bg-(--ui-surface-subtle) text-(--ui-text) border border-transparent hover:bg-(--ui-surface-muted) active:bg-(--ui-surface-muted)",
329
- ghost: "text-(--ui-text) hover:bg-(--ui-surface-muted) active:bg-(--ui-surface-subtle)",
330
- text: "text-(--ui-text) hover:text-(--ui-text-strong) active:text-(--ui-text-strong) px-0! bg-transparent",
331
- link: "text-(--ui-primary) hover:underline p-0! h-auto!"
327
+ default: "bg-white border border-(--ui-border-strong) hover:bg-(--ui-surface-subtle) active:bg-(--ui-surface-muted)",
328
+ subtle: "bg-(--ui-surface-subtle) border border-transparent hover:bg-(--ui-surface-muted) active:bg-(--ui-surface-muted)",
329
+ ghost: "hover:bg-(--ui-surface-muted) active:bg-(--ui-surface-subtle)",
330
+ text: "px-0! bg-transparent",
331
+ link: "hover:underline p-0! h-auto!"
332
332
  },
333
333
  color: {
334
334
  primary: "",
@@ -351,9 +351,30 @@ var buttonVariants = classVarianceAuthority.cva(
351
351
  }
352
352
  },
353
353
  compoundVariants: [
354
+ // filled
354
355
  { variant: "filled", color: "primary", class: "bg-(--ui-primary) text-(--ui-primary-text) hover:bg-(--ui-primary-hover) active:bg-(--ui-primary-active)" },
355
356
  { variant: "filled", color: "success", class: "bg-(--ui-success) text-(--ui-success-text) hover:bg-(--ui-success-hover) active:bg-(--ui-success-hover)" },
356
- { variant: "filled", color: "danger", class: "bg-(--ui-danger) text-(--ui-danger-text) hover:bg-(--ui-danger-hover) active:bg-(--ui-danger-hover)" }
357
+ { variant: "filled", color: "danger", class: "bg-(--ui-danger) text-(--ui-danger-text) hover:bg-(--ui-danger-hover) active:bg-(--ui-danger-hover)" },
358
+ // default
359
+ { variant: "default", color: "primary", class: "text-(--ui-text)" },
360
+ { variant: "default", color: "success", class: "text-(--ui-success)" },
361
+ { variant: "default", color: "danger", class: "text-(--ui-danger)" },
362
+ // subtle
363
+ { variant: "subtle", color: "primary", class: "text-(--ui-text)" },
364
+ { variant: "subtle", color: "success", class: "text-(--ui-success)" },
365
+ { variant: "subtle", color: "danger", class: "text-(--ui-danger)" },
366
+ // ghost
367
+ { variant: "ghost", color: "primary", class: "text-(--ui-text)" },
368
+ { variant: "ghost", color: "success", class: "text-(--ui-success)" },
369
+ { variant: "ghost", color: "danger", class: "text-(--ui-danger)" },
370
+ // text
371
+ { variant: "text", color: "primary", class: "text-(--ui-text) hover:text-(--ui-text-strong) active:text-(--ui-text-strong)" },
372
+ { variant: "text", color: "success", class: "text-(--ui-success)" },
373
+ { variant: "text", color: "danger", class: "text-(--ui-danger)" },
374
+ // link
375
+ { variant: "link", color: "primary", class: "text-(--ui-primary)" },
376
+ { variant: "link", color: "success", class: "text-(--ui-success)" },
377
+ { variant: "link", color: "danger", class: "text-(--ui-danger)" }
357
378
  ],
358
379
  defaultVariants: {
359
380
  variant: "filled",
@@ -383,10 +404,13 @@ var Button = ({
383
404
  const IconComponent = props.icon ?? (props.iconType ? getIcon(props.iconType) : void 0);
384
405
  const iconNode = IconComponent ? /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { size: iconSize, strokeWidth: 1.5, className: props.classNames?.icon }) : void 0;
385
406
  const content = props.text ?? props.children;
386
- const handleClick = () => {
387
- if (props.disabled || props.loading) {
388
- return;
389
- }
407
+ const handleClick = (e) => {
408
+ if (props.stopPropagation) e.stopPropagation();
409
+ if (props.disabled || props.loading) return;
410
+ props.onClick?.();
411
+ };
412
+ const handleConfirm = () => {
413
+ if (props.disabled || props.loading) return;
390
414
  props.onClick?.();
391
415
  };
392
416
  const button = /* @__PURE__ */ jsxRuntime.jsxs(
@@ -400,7 +424,7 @@ var Button = ({
400
424
  props.iconOnly && "px-0!",
401
425
  props.className
402
426
  ),
403
- onClick: props.confirm ? void 0 : handleClick,
427
+ onClick: props.confirm ? props.stopPropagation ? (e) => e.stopPropagation() : void 0 : handleClick,
404
428
  children: [
405
429
  props.loading ? /* @__PURE__ */ jsxRuntime.jsx(Spinner, { size: iconSize, color: "current", className: props.classNames?.spinner }) : iconPosition === "left" && iconNode,
406
430
  !props.iconOnly && content !== void 0 && content !== null && /* @__PURE__ */ jsxRuntime.jsx("span", { className: props.classNames?.content, children: content }),
@@ -418,7 +442,7 @@ var Button = ({
418
442
  confirmOk: props.confirm.confirmOk,
419
443
  confirmCancel: props.confirm.confirmCancel,
420
444
  confirmColor: props.confirm.confirmColor,
421
- onConfirm: handleClick,
445
+ onConfirm: handleConfirm,
422
446
  children: button
423
447
  }
424
448
  );