gridsmith-ui 0.6.5 → 0.6.6

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.
@@ -7,11 +7,11 @@ var variantStyles = {
7
7
  default: "bg-[var(--ds-accent-primary)] [background-image:var(--ds-gradient)] text-[var(--ds-text-on-primary)]",
8
8
  neutral: "bg-[var(--ds-text-muted)]/[0.12] text-[var(--ds-text-secondary)]",
9
9
  subtle: "bg-[var(--ds-bg-muted)] text-[var(--ds-text-secondary)]",
10
- success: "bg-[var(--ds-status-success)] text-[var(--ds-text-on-primary)]",
10
+ success: "bg-[var(--ds-status-success)] text-[var(--ds-text-on-success)]",
11
11
  "success-soft": "bg-[var(--ds-status-success-bg)] text-[var(--ds-status-success)] border-[length:var(--ds-border-width)] border-[var(--ds-status-success)]/[0.2]",
12
- warning: "bg-[var(--ds-status-warning)] text-[var(--ds-text-on-primary)]",
12
+ warning: "bg-[var(--ds-status-warning)] text-[var(--ds-text-on-warning)]",
13
13
  "warning-soft": "bg-[var(--ds-status-warning-bg)] text-[var(--ds-status-warning-text)] border-[length:var(--ds-border-width)] border-[var(--ds-status-warning)]/[0.2]",
14
- error: "bg-[var(--ds-status-error)] text-[var(--ds-text-on-primary)]",
14
+ error: "bg-[var(--ds-status-error)] text-[var(--ds-text-on-error)]",
15
15
  "error-soft": "bg-[var(--ds-status-error-bg)] text-[var(--ds-status-error)] border-[length:var(--ds-border-width)] border-[var(--ds-status-error)]/[0.2]",
16
16
  outline: "bg-transparent text-[var(--ds-text-primary)] border-[length:var(--ds-border-width)] border-[var(--ds-border-default)]"
17
17
  };
@@ -32,11 +32,11 @@ var paletteByVariant = {
32
32
  outline: (n) => paletteOutline[n]
33
33
  };
34
34
  var paletteDefault = {
35
- 1: "bg-[var(--ds-palette-1-bold)] text-[var(--ds-text-on-primary)]",
36
- 2: "bg-[var(--ds-palette-2-bold)] text-[var(--ds-text-on-primary)]",
37
- 3: "bg-[var(--ds-palette-3-bold)] text-[var(--ds-text-on-primary)]",
38
- 4: "bg-[var(--ds-palette-4-bold)] text-[var(--ds-text-on-primary)]",
39
- 5: "bg-[var(--ds-palette-5-bold)] text-[var(--ds-text-on-primary)]"
35
+ 1: "bg-[var(--ds-palette-1-bold)] text-[var(--ds-palette-1-on-bold)]",
36
+ 2: "bg-[var(--ds-palette-2-bold)] text-[var(--ds-palette-2-on-bold)]",
37
+ 3: "bg-[var(--ds-palette-3-bold)] text-[var(--ds-palette-3-on-bold)]",
38
+ 4: "bg-[var(--ds-palette-4-bold)] text-[var(--ds-palette-4-on-bold)]",
39
+ 5: "bg-[var(--ds-palette-5-bold)] text-[var(--ds-palette-5-on-bold)]"
40
40
  };
41
41
  var paletteSubtle = {
42
42
  1: "bg-[var(--ds-palette-1-bg)] text-[var(--ds-palette-1-text)]",
@@ -89,5 +89,5 @@ function Badge({ variant = "default", size = "md", color, iconLeft, iconRight, m
89
89
  }
90
90
 
91
91
  export { Badge };
92
- //# sourceMappingURL=chunk-KXNJJKIV.js.map
93
- //# sourceMappingURL=chunk-KXNJJKIV.js.map
92
+ //# sourceMappingURL=chunk-6UZZYWTY.js.map
93
+ //# sourceMappingURL=chunk-6UZZYWTY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../showcase/src/components/Badge.tsx"],"names":[],"mappings":"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","file":"chunk-6UZZYWTY.js","sourcesContent":["import { cn } from \"../lib/utils\";\nimport { Icon, type IconName } from \"../lib/icons\";\nimport { Tooltip } from \"./Tooltip\";\nimport { useTextOverflow } from \"../lib/use-text-overflow\";\nimport type { ReactNode } from \"react\";\n\nexport type BadgeVariant =\n | \"default\"\n | \"neutral\"\n | \"subtle\"\n | \"success\"\n | \"success-soft\"\n | \"warning\"\n | \"warning-soft\"\n | \"error\"\n | \"error-soft\"\n | \"outline\";\n\nexport type BadgeSize = \"xs\" | \"sm\" | \"md\";\nexport type BadgePaletteColor = 1 | 2 | 3 | 4 | 5;\n\nconst variantStyles: Record<BadgeVariant, string> = {\n default: \"bg-[var(--ds-accent-primary)] [background-image:var(--ds-gradient)] text-[var(--ds-text-on-primary)]\",\n neutral: \"bg-[var(--ds-text-muted)]/[0.12] text-[var(--ds-text-secondary)]\",\n subtle: \"bg-[var(--ds-bg-muted)] text-[var(--ds-text-secondary)]\",\n success: \"bg-[var(--ds-status-success)] text-[var(--ds-text-on-success)]\",\n \"success-soft\": \"bg-[var(--ds-status-success-bg)] text-[var(--ds-status-success)] border-[length:var(--ds-border-width)] border-[var(--ds-status-success)]/[0.2]\",\n warning: \"bg-[var(--ds-status-warning)] text-[var(--ds-text-on-warning)]\",\n \"warning-soft\": \"bg-[var(--ds-status-warning-bg)] text-[var(--ds-status-warning-text)] border-[length:var(--ds-border-width)] border-[var(--ds-status-warning)]/[0.2]\",\n error: \"bg-[var(--ds-status-error)] text-[var(--ds-text-on-error)]\",\n \"error-soft\": \"bg-[var(--ds-status-error-bg)] text-[var(--ds-status-error)] border-[length:var(--ds-border-width)] border-[var(--ds-status-error)]/[0.2]\",\n outline: \"bg-transparent text-[var(--ds-text-primary)] border-[length:var(--ds-border-width)] border-[var(--ds-border-default)]\",\n};\n\nconst sizeStyles: Record<BadgeSize, string> = {\n xs: \"px-ds-1.5 py-[1px] text-[length:10px] gap-[3px]\",\n sm: \"px-ds-2 py-ds-0.5 text-[length:var(--ds-font-size-xs)] gap-ds-1\",\n md: \"px-ds-2.5 py-ds-0.5 text-[length:var(--ds-font-size-xs)] gap-ds-1\",\n};\n\nconst iconSizes: Record<BadgeSize, number> = {\n xs: 10,\n sm: 12,\n md: 12,\n};\n\ntype PaletteStyleFn = (n: BadgePaletteColor) => string;\n\nconst paletteByVariant: Record<string, PaletteStyleFn> = {\n default: (n) => paletteDefault[n],\n neutral: (n) => paletteSubtle[n],\n subtle: (n) => paletteSubtle[n],\n outline: (n) => paletteOutline[n],\n};\n\nconst paletteDefault: Record<BadgePaletteColor, string> = {\n 1: \"bg-[var(--ds-palette-1-bold)] text-[var(--ds-palette-1-on-bold)]\",\n 2: \"bg-[var(--ds-palette-2-bold)] text-[var(--ds-palette-2-on-bold)]\",\n 3: \"bg-[var(--ds-palette-3-bold)] text-[var(--ds-palette-3-on-bold)]\",\n 4: \"bg-[var(--ds-palette-4-bold)] text-[var(--ds-palette-4-on-bold)]\",\n 5: \"bg-[var(--ds-palette-5-bold)] text-[var(--ds-palette-5-on-bold)]\",\n};\n\nconst paletteSubtle: Record<BadgePaletteColor, string> = {\n 1: \"bg-[var(--ds-palette-1-bg)] text-[var(--ds-palette-1-text)]\",\n 2: \"bg-[var(--ds-palette-2-bg)] text-[var(--ds-palette-2-text)]\",\n 3: \"bg-[var(--ds-palette-3-bg)] text-[var(--ds-palette-3-text)]\",\n 4: \"bg-[var(--ds-palette-4-bg)] text-[var(--ds-palette-4-text)]\",\n 5: \"bg-[var(--ds-palette-5-bg)] text-[var(--ds-palette-5-text)]\",\n};\n\nconst paletteOutline: Record<BadgePaletteColor, string> = {\n 1: \"bg-transparent text-[var(--ds-palette-1-bold)] border-[length:var(--ds-border-width)] border-[var(--ds-palette-1-bold)]\",\n 2: \"bg-transparent text-[var(--ds-palette-2-bold)] border-[length:var(--ds-border-width)] border-[var(--ds-palette-2-bold)]\",\n 3: \"bg-transparent text-[var(--ds-palette-3-bold)] border-[length:var(--ds-border-width)] border-[var(--ds-palette-3-bold)]\",\n 4: \"bg-transparent text-[var(--ds-palette-4-bold)] border-[length:var(--ds-border-width)] border-[var(--ds-palette-4-bold)]\",\n 5: \"bg-transparent text-[var(--ds-palette-5-bold)] border-[length:var(--ds-border-width)] border-[var(--ds-palette-5-bold)]\",\n};\n\nfunction getPaletteClasses(color: BadgePaletteColor, variant: BadgeVariant): string {\n const styleFn = paletteByVariant[variant] ?? paletteByVariant.default;\n return styleFn(color);\n}\n\ninterface BadgeProps {\n variant?: BadgeVariant;\n size?: BadgeSize;\n /** Palette colour (1-5). Overrides variant colour with decorative palette tokens. */\n color?: BadgePaletteColor;\n /** Icon to show before the label */\n iconLeft?: IconName;\n /** Icon to show after the label */\n iconRight?: IconName;\n /** Max width before truncation (e.g. \"120px\", \"16ch\"). Shows tooltip when truncated. */\n maxWidth?: string;\n className?: string;\n children?: ReactNode;\n}\n\nexport function Badge({ variant = \"default\", size = \"md\", color, iconLeft, iconRight, maxWidth, className, children }: BadgeProps) {\n const { ref: truncRef, isTruncated } = useTextOverflow({ lines: 1, disabled: !maxWidth });\n const iconSize = iconSizes[size];\n const isIconOnly = (iconLeft || iconRight) && !children;\n\n const colorClasses = color\n ? getPaletteClasses(color, variant)\n : variantStyles[variant];\n\n const badge = (\n <span\n className={cn(\n \"inline-flex items-center font-medium max-w-full whitespace-nowrap\",\n \"rounded-[var(--ds-radius-full)]\",\n sizeStyles[size],\n isIconOnly && size === \"xs\" && \"px-[3px]\",\n isIconOnly && size === \"sm\" && \"px-ds-1\",\n isIconOnly && size === \"md\" && \"px-ds-1.5\",\n colorClasses,\n className\n )}\n style={maxWidth ? { maxWidth } : undefined}\n >\n {iconLeft && <Icon name={iconLeft} size={iconSize} className=\"shrink-0\" />}\n {maxWidth ? (\n <span ref={truncRef} className=\"truncate\">{children}</span>\n ) : (\n children\n )}\n {iconRight && <Icon name={iconRight} size={iconSize} className=\"shrink-0\" />}\n </span>\n );\n\n if (isTruncated) {\n return <Tooltip content={children}>{badge}</Tooltip>;\n }\n return badge;\n}\n"]}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Skeleton } from './chunk-QGBG72OB.js';
2
2
  export { Skeleton } from './chunk-QGBG72OB.js';
3
- import { Badge } from './chunk-KXNJJKIV.js';
4
- export { Badge } from './chunk-KXNJJKIV.js';
3
+ import { Badge } from './chunk-6UZZYWTY.js';
4
+ export { Badge } from './chunk-6UZZYWTY.js';
5
5
  import { useBreakpoint } from './chunk-EKQHHP72.js';
6
6
  export { BreakpointWidthProvider, useBreakpoint } from './chunk-EKQHHP72.js';
7
7
  import { Tooltip, useTextOverflow, usePosition, Slot, useLatest } from './chunk-DDKCQVKO.js';
@@ -39,9 +39,9 @@ var variantStyles = {
39
39
  tertiary: "bg-[var(--ds-bg-muted)] text-[var(--ds-text-primary)] border-transparent hover:brightness-95",
40
40
  outline: "bg-[var(--ds-input-bg)] text-[var(--ds-text-primary)] border-[var(--ds-border-default)] hover:bg-[var(--ds-bg-muted)]",
41
41
  ghost: "bg-transparent text-[var(--ds-text-primary)] border-transparent hover:bg-[var(--ds-bg-muted)] shadow-none",
42
- destructive: "bg-[var(--ds-status-error)] text-[var(--ds-text-on-primary)] border-transparent hover:opacity-90",
43
- success: "bg-[var(--ds-status-success)] text-[var(--ds-text-on-primary)] border-transparent hover:opacity-90",
44
- warning: "bg-[var(--ds-status-warning)] text-[var(--ds-text-on-primary)] border-transparent hover:opacity-90",
42
+ destructive: "bg-[var(--ds-status-error)] text-[var(--ds-text-on-error)] border-transparent hover:opacity-90",
43
+ success: "bg-[var(--ds-status-success)] text-[var(--ds-text-on-success)] border-transparent hover:opacity-90",
44
+ warning: "bg-[var(--ds-status-warning)] text-[var(--ds-text-on-warning)] border-transparent hover:opacity-90",
45
45
  link: "bg-transparent text-[var(--ds-accent-primary)] hover:text-[var(--ds-accent-primary-hover)] hover:underline"
46
46
  };
47
47
  var sizeStyles = {
@@ -2501,11 +2501,11 @@ var paletteByVariant = {
2501
2501
  outline: (n) => tagPaletteOutline[n]
2502
2502
  };
2503
2503
  var tagPaletteDefault = {
2504
- 1: "bg-[var(--ds-palette-1-bold)] text-[var(--ds-text-on-primary)]",
2505
- 2: "bg-[var(--ds-palette-2-bold)] text-[var(--ds-text-on-primary)]",
2506
- 3: "bg-[var(--ds-palette-3-bold)] text-[var(--ds-text-on-primary)]",
2507
- 4: "bg-[var(--ds-palette-4-bold)] text-[var(--ds-text-on-primary)]",
2508
- 5: "bg-[var(--ds-palette-5-bold)] text-[var(--ds-text-on-primary)]"
2504
+ 1: "bg-[var(--ds-palette-1-bold)] text-[var(--ds-palette-1-on-bold)]",
2505
+ 2: "bg-[var(--ds-palette-2-bold)] text-[var(--ds-palette-2-on-bold)]",
2506
+ 3: "bg-[var(--ds-palette-3-bold)] text-[var(--ds-palette-3-on-bold)]",
2507
+ 4: "bg-[var(--ds-palette-4-bold)] text-[var(--ds-palette-4-on-bold)]",
2508
+ 5: "bg-[var(--ds-palette-5-bold)] text-[var(--ds-palette-5-on-bold)]"
2509
2509
  };
2510
2510
  var tagPaletteSubtle = {
2511
2511
  1: "bg-[var(--ds-palette-1-bg)] text-[var(--ds-palette-1-text)]",
@@ -8173,7 +8173,7 @@ function StepCircle({ status, index, onClick, clickable }) {
8173
8173
  !clickable && "cursor-default",
8174
8174
  status === "complete" && "bg-[var(--ds-accent-primary)] [background-image:var(--ds-gradient)] text-[var(--ds-text-on-primary)]",
8175
8175
  status === "current" && `border-2 ${ACTIVE_RING} text-[var(--ds-accent-primary)] bg-[var(--ds-bg-surface)]`,
8176
- status === "error" && "bg-[var(--ds-status-error)] text-[var(--ds-text-on-primary)]",
8176
+ status === "error" && "bg-[var(--ds-status-error)] text-[var(--ds-text-on-error)]",
8177
8177
  status === "loading" && `border-2 ${ACTIVE_RING} text-[var(--ds-accent-primary)] bg-[var(--ds-bg-surface)] animate-pulse`,
8178
8178
  status === "upcoming" && "border-[length:var(--ds-border-width)] border-[var(--ds-border-default)] text-[var(--ds-text-muted)] bg-[var(--ds-bg-surface)]"
8179
8179
  ),
@@ -9137,13 +9137,13 @@ function findScrollParent(el) {
9137
9137
  function Breadcrumbs3({ items, onLight, pill, separator = "chevron" }) {
9138
9138
  if (!items.length) return null;
9139
9139
  const sepEl = (key) => {
9140
- const cls = cn("select-none flex items-center", onLight ? "text-white/40" : "text-[var(--ds-text-muted)]");
9140
+ const cls = cn("select-none flex items-center", onLight ? "text-[var(--ds-text-on-primary)]/40" : "text-[var(--ds-text-muted)]");
9141
9141
  if (separator === "slash") return /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: cls, children: "/" }, `s${key}`);
9142
9142
  if (separator === "dot") return /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: cls, children: "\xB7" }, `s${key}`);
9143
9143
  if (separator === "arrow") return /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: cls, children: /* @__PURE__ */ jsx(Icon, { name: "arrow-right", size: 12 }) }, `s${key}`);
9144
9144
  return /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: cls, children: /* @__PURE__ */ jsx(Icon, { name: "chevron-right", size: 12 }) }, `s${key}`);
9145
9145
  };
9146
- const pillCls = pill ? cn("rounded-[var(--ds-radius-full)]", onLight ? "bg-white/10 px-ds-2.5 py-ds-0.5" : "bg-[var(--ds-bg-muted)] px-ds-2.5 py-ds-0.5") : "";
9146
+ const pillCls = pill ? cn("rounded-[var(--ds-radius-full)]", onLight ? "bg-[var(--ds-text-on-primary)]/10 px-ds-2.5 py-ds-0.5" : "bg-[var(--ds-bg-muted)] px-ds-2.5 py-ds-0.5") : "";
9147
9147
  return /* @__PURE__ */ jsx("nav", { "aria-label": "Breadcrumb", children: /* @__PURE__ */ jsx("ol", { className: "flex items-center gap-ds-1.5 text-sm", children: items.map((item, i) => {
9148
9148
  const isNavigable = !!(item.onClick || item.href);
9149
9149
  return /* @__PURE__ */ jsxs("li", { className: "flex items-center gap-ds-1.5", children: [
@@ -9158,14 +9158,14 @@ function Breadcrumbs3({ items, onLight, pill, separator = "chevron" }) {
9158
9158
  },
9159
9159
  className: cn(
9160
9160
  "transition-colors duration-[var(--ds-transition-speed)]",
9161
- onLight ? "text-white/60 hover:text-white/90" : "text-[var(--ds-text-muted)] hover:text-[var(--ds-text-primary)]",
9161
+ onLight ? "text-[var(--ds-text-on-primary)]/60 hover:text-[var(--ds-text-on-primary)]/90" : "text-[var(--ds-text-muted)] hover:text-[var(--ds-text-primary)]",
9162
9162
  pillCls
9163
9163
  ),
9164
9164
  children: item.label
9165
9165
  }
9166
9166
  ) : /* @__PURE__ */ jsx("span", { className: cn(
9167
9167
  "font-medium",
9168
- onLight ? "text-white/80" : "text-[var(--ds-text-primary)]",
9168
+ onLight ? "text-[var(--ds-text-on-primary)]/80" : "text-[var(--ds-text-primary)]",
9169
9169
  pillCls
9170
9170
  ), children: item.label })
9171
9171
  ] }, i);
@@ -9183,7 +9183,7 @@ function BackButton({ onLight, onClick }) {
9183
9183
  "w-[var(--ds-control-height-sm)] h-[var(--ds-control-height-sm)] rounded-[var(--ds-radius-md)]",
9184
9184
  "transition-colors duration-[var(--ds-transition-speed)]",
9185
9185
  "focus-visible:outline-none focus-visible:shadow-[var(--ds-shadow-focus)]",
9186
- onLight ? "bg-white/10 text-white/80 hover:bg-white/20 hover:text-white" : [
9186
+ onLight ? "bg-[var(--ds-text-on-primary)]/10 text-[var(--ds-text-on-primary)]/80 hover:bg-[var(--ds-text-on-primary)]/20 hover:text-[var(--ds-text-on-primary)]" : [
9187
9187
  "bg-[var(--ds-bg-surface)] text-[var(--ds-text-secondary)]",
9188
9188
  "border-[length:var(--ds-border-width)] border-[var(--ds-border-default)]",
9189
9189
  "hover:text-[var(--ds-text-primary)] hover:bg-[var(--ds-bg-muted)]"
@@ -9531,13 +9531,13 @@ function ColourfulHeader({
9531
9531
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-ds-2", children: [
9532
9532
  /* @__PURE__ */ jsx(TruncHeading, { as: Heading, className: cn(
9533
9533
  "font-[family-name:var(--ds-font-display)] text-3xl font-[var(--ds-weight-heading)]",
9534
- isBold ? "text-white" : "text-[var(--ds-text-primary)]"
9534
+ isBold ? "text-[var(--ds-text-on-primary)]" : "text-[var(--ds-text-primary)]"
9535
9535
  ), children: title }),
9536
9536
  badge
9537
9537
  ] }),
9538
9538
  description && /* @__PURE__ */ jsx(ClampedText, { className: cn(
9539
9539
  "mt-ds-1 text-sm",
9540
- isBold ? "text-white/70" : "text-[var(--ds-text-secondary)]"
9540
+ isBold ? "text-[var(--ds-text-on-primary)]/70" : "text-[var(--ds-text-secondary)]"
9541
9541
  ), children: description })
9542
9542
  ] })
9543
9543
  ] }),
@@ -9734,13 +9734,13 @@ function SnappingHeader({
9734
9734
  })(),
9735
9735
  /* @__PURE__ */ jsx(TruncHeading, { as: Heading, className: cn(
9736
9736
  "font-[family-name:var(--ds-font-display)] font-[var(--ds-weight-heading)]",
9737
- collapsed ? "text-lg text-[var(--ds-text-primary)]" : cn("text-3xl", onLight ? "text-white" : "text-[var(--ds-text-primary)]")
9737
+ collapsed ? "text-lg text-[var(--ds-text-primary)]" : cn("text-3xl", onLight ? "text-[var(--ds-text-on-primary)]" : "text-[var(--ds-text-primary)]")
9738
9738
  ), children: title }),
9739
9739
  badge
9740
9740
  ] }),
9741
9741
  !collapsed && description && /* @__PURE__ */ jsx(ClampedText, { className: cn(
9742
9742
  "mt-ds-1 text-sm",
9743
- onLight ? "text-white/70" : "text-[var(--ds-text-secondary)]"
9743
+ onLight ? "text-[var(--ds-text-on-primary)]/70" : "text-[var(--ds-text-secondary)]"
9744
9744
  ), children: description })
9745
9745
  ] })
9746
9746
  ] }),
@@ -9942,7 +9942,7 @@ function Dock({
9942
9942
  className: cn(
9943
9943
  "absolute -top-1.5 -right-1.5 flex items-center justify-center",
9944
9944
  "min-w-[16px] h-4 px-ds-1 text-2xs font-bold rounded-[var(--ds-radius-full)]",
9945
- "bg-[var(--ds-status-error)] text-[var(--ds-text-on-primary)]",
9945
+ "bg-[var(--ds-status-error)] text-[var(--ds-text-on-error)]",
9946
9946
  "pointer-events-none"
9947
9947
  ),
9948
9948
  children: item.badge > 99 ? "99+" : item.badge