@cloudgrid-io/ui 0.40.0 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/blocks/action-link.d.ts +31 -0
  2. package/dist/blocks/action-link.d.ts.map +1 -0
  3. package/dist/blocks/action-link.js +40 -0
  4. package/dist/blocks/action-link.js.map +1 -0
  5. package/dist/blocks/activity-row.d.ts +42 -0
  6. package/dist/blocks/activity-row.d.ts.map +1 -0
  7. package/dist/blocks/activity-row.js +37 -0
  8. package/dist/blocks/activity-row.js.map +1 -0
  9. package/dist/blocks/add-tile.d.ts +31 -0
  10. package/dist/blocks/add-tile.d.ts.map +1 -0
  11. package/dist/blocks/add-tile.js +29 -0
  12. package/dist/blocks/add-tile.js.map +1 -0
  13. package/dist/blocks/avatar-stack.d.ts +40 -0
  14. package/dist/blocks/avatar-stack.d.ts.map +1 -0
  15. package/dist/blocks/avatar-stack.js +41 -0
  16. package/dist/blocks/avatar-stack.js.map +1 -0
  17. package/dist/blocks/avatar.d.ts +31 -5
  18. package/dist/blocks/avatar.d.ts.map +1 -1
  19. package/dist/blocks/avatar.js +57 -9
  20. package/dist/blocks/avatar.js.map +1 -1
  21. package/dist/blocks/copy-button.d.ts +59 -0
  22. package/dist/blocks/copy-button.d.ts.map +1 -0
  23. package/dist/blocks/copy-button.js +76 -0
  24. package/dist/blocks/copy-button.js.map +1 -0
  25. package/dist/blocks/dashed-banner.d.ts +36 -0
  26. package/dist/blocks/dashed-banner.d.ts.map +1 -0
  27. package/dist/blocks/dashed-banner.js +31 -0
  28. package/dist/blocks/dashed-banner.js.map +1 -0
  29. package/dist/blocks/dashed-line.d.ts +44 -0
  30. package/dist/blocks/dashed-line.d.ts.map +1 -0
  31. package/dist/blocks/dashed-line.js +46 -0
  32. package/dist/blocks/dashed-line.js.map +1 -0
  33. package/dist/blocks/empty-creations.d.ts +18 -1
  34. package/dist/blocks/empty-creations.d.ts.map +1 -1
  35. package/dist/blocks/empty-creations.js +25 -9
  36. package/dist/blocks/empty-creations.js.map +1 -1
  37. package/dist/blocks/entity-card.d.ts +37 -2
  38. package/dist/blocks/entity-card.d.ts.map +1 -1
  39. package/dist/blocks/entity-card.js +70 -7
  40. package/dist/blocks/entity-card.js.map +1 -1
  41. package/dist/blocks/filter-tabs.d.ts +45 -0
  42. package/dist/blocks/filter-tabs.d.ts.map +1 -0
  43. package/dist/blocks/filter-tabs.js +48 -0
  44. package/dist/blocks/filter-tabs.js.map +1 -0
  45. package/dist/blocks/header-menu.d.ts +54 -0
  46. package/dist/blocks/header-menu.d.ts.map +1 -0
  47. package/dist/blocks/header-menu.js +63 -0
  48. package/dist/blocks/header-menu.js.map +1 -0
  49. package/dist/blocks/header-pill.d.ts +41 -0
  50. package/dist/blocks/header-pill.d.ts.map +1 -0
  51. package/dist/blocks/header-pill.js +67 -0
  52. package/dist/blocks/header-pill.js.map +1 -0
  53. package/dist/blocks/icons.d.ts +19 -2
  54. package/dist/blocks/icons.d.ts.map +1 -1
  55. package/dist/blocks/icons.js +22 -2
  56. package/dist/blocks/icons.js.map +1 -1
  57. package/dist/blocks/menu-trigger.d.ts +35 -0
  58. package/dist/blocks/menu-trigger.d.ts.map +1 -0
  59. package/dist/blocks/menu-trigger.js +24 -0
  60. package/dist/blocks/menu-trigger.js.map +1 -0
  61. package/dist/blocks/meter.d.ts +9 -1
  62. package/dist/blocks/meter.d.ts.map +1 -1
  63. package/dist/blocks/meter.js +6 -2
  64. package/dist/blocks/meter.js.map +1 -1
  65. package/dist/blocks/phosphor-marks.d.ts +8 -2
  66. package/dist/blocks/phosphor-marks.d.ts.map +1 -1
  67. package/dist/blocks/phosphor-marks.js +12 -3
  68. package/dist/blocks/phosphor-marks.js.map +1 -1
  69. package/dist/blocks/ranked-list.d.ts +15 -1
  70. package/dist/blocks/ranked-list.d.ts.map +1 -1
  71. package/dist/blocks/ranked-list.js +18 -5
  72. package/dist/blocks/ranked-list.js.map +1 -1
  73. package/dist/blocks/scroll-rail.d.ts +15 -0
  74. package/dist/blocks/scroll-rail.d.ts.map +1 -0
  75. package/dist/blocks/scroll-rail.js +134 -0
  76. package/dist/blocks/scroll-rail.js.map +1 -0
  77. package/dist/blocks/section-heading.d.ts +21 -0
  78. package/dist/blocks/section-heading.d.ts.map +1 -0
  79. package/dist/blocks/section-heading.js +18 -0
  80. package/dist/blocks/section-heading.js.map +1 -0
  81. package/dist/blocks/stat-tile.d.ts +21 -1
  82. package/dist/blocks/stat-tile.d.ts.map +1 -1
  83. package/dist/blocks/stat-tile.js +11 -6
  84. package/dist/blocks/stat-tile.js.map +1 -1
  85. package/dist/index.d.ts +13 -0
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +13 -0
  88. package/dist/index.js.map +1 -1
  89. package/dist/theme.css +2 -0
  90. package/dist/tokens/base.json +42 -2
  91. package/dist/tokens.css +18 -2
  92. package/dist/tokens.json +6 -2
  93. package/dist/ui/button.d.ts +1 -1
  94. package/dist/ui/button.d.ts.map +1 -1
  95. package/dist/ui/button.js +10 -0
  96. package/dist/ui/button.js.map +1 -1
  97. package/dist/ui/drawer.d.ts +1 -1
  98. package/package.json +1 -1
package/dist/tokens.css CHANGED
@@ -389,6 +389,15 @@
389
389
  --cg-primary-tint: #eeecfe;
390
390
  --cg-secondary-press: #a6cf57;
391
391
  --cg-tertiary-press: #4dd8e0;
392
+ /*
393
+ Figma "Tertiary Dark" (CloudGrid-2026; the header menus' "+ New", node 11324:90629).
394
+
395
+ Teal text links ("+ New", "Explore All", "Open", "Dismiss") and the line of the rail's scroll button.
396
+
397
+ Measures 1.92:1 on white and 1.70:1 on the page ground: under AA, used knowingly as a design decision (Gilad, 2026-11-01). Every link drawn in it also carries an accessible name.
398
+
399
+ Not --cg-tertiary-press (#4dd8e0), which is the cta's pressed fill. */
400
+ --cg-tertiary-dark: #45cdd4;
392
401
  /*
393
402
  The pressed and hovered rung of the accent, and --cg-link-hover.
394
403
 
@@ -1606,8 +1615,9 @@
1606
1615
  a mark flipping is a light disc with a white glyph on the ink surface, which
1607
1616
  renders perfectly and shows nothing. --cg-text-on-accent is the glyph on all
1608
1617
  three, and it measures 12.74:1, 14.65:1 and 10.24:1 on them. */
1609
- /* SOURCE: the founder's draft, the Inspiration badge. */
1610
- --cg-kind-inspiration: #fae4b3;
1618
+ /*
1619
+ SOURCE: the 2026 Figma (CloudGrid-2026, the Tile's Inspiration badge, node I11324:91033), paint style "Secondary 20" (#382). It was #fae4b3, the founder's 2025 draft; the Gilad-approved 2026 frames put the lightbulb on lime. Ink on it measures 14.56:1. */
1620
+ --cg-kind-inspiration: #f0f8e1;
1611
1621
  /* SOURCE: the founder's draft, the App badge. */
1612
1622
  --cg-kind-app: #dffbfc;
1613
1623
  /*
@@ -1640,6 +1650,12 @@
1640
1650
  0.22. Inside the panel and ink scopes it is the brand cyan itself, which already clears
1641
1651
  (4.01:1 on #5a47f0, 10.92:1 on #222222). A data colour, never text. */
1642
1652
  --cg-data-cyan: #0a959b;
1653
+
1654
+ /* ---- avatar ----
1655
+ The grid avatar grounds, raw hex in the CloudGrid-2026 frames (11323:8600, 11324:90635, 11324:90641). Letters are --cg-ink: 12.02:1, 10.74:1 and 11.43:1. An identity colour, so it does not flip on the panel or ink surfaces. */
1656
+ --cg-avatar-pastel-1: #dce4bc;
1657
+ --cg-avatar-pastel-2: #bcd9e4;
1658
+ --cg-avatar-pastel-3: #bce4ca;
1643
1659
  }
1644
1660
 
1645
1661
  [data-cg-surface='panel'] {
package/dist/tokens.json CHANGED
@@ -33,6 +33,7 @@
33
33
  "--cg-primary-tint": "#eeecfe",
34
34
  "--cg-secondary-press": "#a6cf57",
35
35
  "--cg-tertiary-press": "#4dd8e0",
36
+ "--cg-tertiary-dark": "#45cdd4",
36
37
  "--cg-accent-press": "#0052da",
37
38
  "--cg-neutral-0": "#ffffff",
38
39
  "--cg-neutral-25": "#f1f1f6",
@@ -210,10 +211,13 @@
210
211
  "--cg-scrim-blur": "6.8px",
211
212
  "--cg-scrim-strong": "rgba(34, 34, 34, 0.82)",
212
213
  "--cg-hover": "rgba(34, 34, 34, 0.045)",
213
- "--cg-kind-inspiration": "#fae4b3",
214
+ "--cg-kind-inspiration": "#f0f8e1",
214
215
  "--cg-kind-app": "#dffbfc",
215
216
  "--cg-kind-agent": "#d1c9ff",
216
- "--cg-data-cyan": "#0a959b"
217
+ "--cg-data-cyan": "#0a959b",
218
+ "--cg-avatar-pastel-1": "#dce4bc",
219
+ "--cg-avatar-pastel-2": "#bcd9e4",
220
+ "--cg-avatar-pastel-3": "#bce4ca"
217
221
  },
218
222
  "panel": {
219
223
  "--cg-text-primary": "#ffffff",
@@ -2,7 +2,7 @@ import { Button as ButtonPrimitive } from "@base-ui/react/button";
2
2
  import { type VariantProps } from "class-variance-authority";
3
3
  declare const buttonVariants: (props?: ({
4
4
  variant?: "link" | "ghost" | "default" | "secondary" | "destructive" | "outline" | "cta" | "tertiary-soft" | null | undefined;
5
- size?: "default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
5
+ size?: "default" | "xs" | "sm" | "lg" | "xl" | "2xl" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | "icon-2xl" | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
7
  declare function Button({ className, variant, size, ...props }: ButtonPrimitive.Props & VariantProps<typeof buttonVariants>): import("react").JSX.Element;
8
8
  export { Button, buttonVariants };
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,cAAc;;;8EAgFnB,CAAA;AAED,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAmB,EACnB,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,+BAQ7D;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,cAAc;;;8EA0FnB,CAAA;AAED,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAmB,EACnB,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,+BAQ7D;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
package/dist/ui/button.js CHANGED
@@ -61,10 +61,20 @@ const buttonVariants = cva("group/button inline-flex shrink-0 items-center justi
61
61
  xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-caption in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
62
62
  sm: "h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-caption in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",
63
63
  lg: "h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
64
+ /* The 2026 Button component (Figma 4919:688) has two sizes, S and M, and
65
+ Home draws both (#382): Invite is S, Add is M. Named `xl` and `2xl`
66
+ rather than `s` and `m` because `sm` already exists and means 28.
67
+ Radius 16, gap 12, the UI face at Bold 15, a 20px glyph. The frame's
68
+ 10 and 14 of vertical padding are the centring inside the height,
69
+ not a value to set; the 1px transparent border is inside it too. */
70
+ xl: "h-10 gap-3 rounded-xl px-5 font-ui font-bold leading-none [&_svg:not([class*='size-'])]:size-5",
71
+ "2xl": "h-12 gap-3 rounded-xl px-8 font-ui font-bold leading-none [&_svg:not([class*='size-'])]:size-5",
64
72
  icon: "size-8",
65
73
  "icon-xs": "size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3",
66
74
  "icon-sm": "size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg",
67
75
  "icon-lg": "size-9",
76
+ /* The icon-only M: the scroll rail's arrow, 48 square at radius 16 (#382). */
77
+ "icon-2xl": "size-12 rounded-xl [&_svg:not([class*='size-'])]:size-5",
68
78
  },
69
79
  },
70
80
  defaultVariants: {
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/ui/button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAEvC,MAAM,cAAc,GAAG,GAAG,CACxB,8lBAA8lB,EAC9lB;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,wDAAwD;YACjE;;;;;;;;;;;;;;;;;;;;;;;;;;iFA0BqE;YACrE,GAAG,EAAE,wEAAwE;YAC7E;;;;;;;;;;;;;;6CAciC;YACjC,eAAe,EACb,qGAAqG;YACvG,OAAO,EACL,iLAAiL;YACnL,SAAS,EACP,gLAAgL;YAClL,KAAK,EACH,kHAAkH;YACpH,WAAW,EACT,6NAA6N;YAC/N,IAAI,EAAE,iDAAiD;SACxD;QACD,IAAI,EAAE;YACJ,OAAO,EACL,sFAAsF;YACxF,EAAE,EAAE,oNAAoN;YACxN,EAAE,EAAE,wNAAwN;YAC5N,EAAE,EAAE,sFAAsF;YAC1F,IAAI,EAAE,QAAQ;YACd,SAAS,EACP,yHAAyH;YAC3H,SAAS,EACP,oFAAoF;YACtF,SAAS,EAAE,QAAQ;SACpB;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAA;AAED,SAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,EAChB,GAAG,KAAK,EACoD;IAC5D,OAAO,CACL,KAAC,eAAe,iBACJ,QAAQ,EAClB,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KACvD,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/ui/button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAEvC,MAAM,cAAc,GAAG,GAAG,CACxB,8lBAA8lB,EAC9lB;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,wDAAwD;YACjE;;;;;;;;;;;;;;;;;;;;;;;;;;iFA0BqE;YACrE,GAAG,EAAE,wEAAwE;YAC7E;;;;;;;;;;;;;;6CAciC;YACjC,eAAe,EACb,qGAAqG;YACvG,OAAO,EACL,iLAAiL;YACnL,SAAS,EACP,gLAAgL;YAClL,KAAK,EACH,kHAAkH;YACpH,WAAW,EACT,6NAA6N;YAC/N,IAAI,EAAE,iDAAiD;SACxD;QACD,IAAI,EAAE;YACJ,OAAO,EACL,sFAAsF;YACxF,EAAE,EAAE,oNAAoN;YACxN,EAAE,EAAE,wNAAwN;YAC5N,EAAE,EAAE,sFAAsF;YAC1F;;;;;kFAKsE;YACtE,EAAE,EAAE,gGAAgG;YACpG,KAAK,EAAE,gGAAgG;YACvG,IAAI,EAAE,QAAQ;YACd,SAAS,EACP,yHAAyH;YAC3H,SAAS,EACP,oFAAoF;YACtF,SAAS,EAAE,QAAQ;YACnB,8EAA8E;YAC9E,UAAU,EAAE,yDAAyD;SACtE;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAA;AAED,SAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,EAChB,GAAG,KAAK,EACoD;IAC5D,OAAO,CACL,KAAC,eAAe,iBACJ,QAAQ,EAClB,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KACvD,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
@@ -152,7 +152,7 @@ declare const drawerViewportVariants: (props?: ({
152
152
  */
153
153
  declare const drawerPopupVariants: (props?: ({
154
154
  side?: "bottom" | "left" | "right" | null | undefined;
155
- size?: "lg" | "md" | "xl" | null | undefined;
155
+ size?: "lg" | "xl" | "md" | null | undefined;
156
156
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
157
157
  declare function Drawer({ modal, ...props }: DialogPrimitive.Root.Props): React.JSX.Element;
158
158
  declare function DrawerTrigger({ ...props }: DialogPrimitive.Trigger.Props): React.JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudgrid-io/ui",
3
- "version": "0.40.0",
3
+ "version": "0.41.0",
4
4
  "description": "CloudGrid design system: React components, brand design tokens, Tailwind theme, self-hosted fonts.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/",