@epilot/volt-ui-experimental-griffel 0.2.3 → 0.3.1

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 (79) hide show
  1. package/ADOPTING.md +416 -0
  2. package/README.md +32 -31
  3. package/dist/components/alert-dialog/alert-dialog.js +61 -59
  4. package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
  5. package/dist/components/avatar/avatar.js +6 -6
  6. package/dist/components/avatar/avatar.js.map +1 -1
  7. package/dist/components/badge/badge.js +47 -39
  8. package/dist/components/badge/badge.js.map +1 -1
  9. package/dist/components/button/button.js +71 -68
  10. package/dist/components/button/button.js.map +1 -1
  11. package/dist/components/checkbox/checkbox.js +23 -20
  12. package/dist/components/checkbox/checkbox.js.map +1 -1
  13. package/dist/components/command/command.js +50 -35
  14. package/dist/components/command/command.js.map +1 -1
  15. package/dist/components/data-table/data-table.js +89 -88
  16. package/dist/components/data-table/data-table.js.map +1 -1
  17. package/dist/components/density-provider/density-provider.js +28 -0
  18. package/dist/components/density-provider/density-provider.js.map +1 -0
  19. package/dist/components/dialog/dialog.js +122 -100
  20. package/dist/components/dialog/dialog.js.map +1 -1
  21. package/dist/components/drawer/drawer.js +61 -59
  22. package/dist/components/drawer/drawer.js.map +1 -1
  23. package/dist/components/dropdown-menu/dropdown-menu.js +88 -85
  24. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
  25. package/dist/components/field/field-combobox.js +121 -106
  26. package/dist/components/field/field-combobox.js.map +1 -1
  27. package/dist/components/field/field.js +105 -104
  28. package/dist/components/field/field.js.map +1 -1
  29. package/dist/components/list/list.js +282 -308
  30. package/dist/components/list/list.js.map +1 -1
  31. package/dist/components/pill/pill.js +58 -56
  32. package/dist/components/pill/pill.js.map +1 -1
  33. package/dist/components/popover/popover.js +47 -38
  34. package/dist/components/popover/popover.js.map +1 -1
  35. package/dist/components/radio/radio.js +21 -18
  36. package/dist/components/radio/radio.js.map +1 -1
  37. package/dist/components/select/select.js +185 -156
  38. package/dist/components/select/select.js.map +1 -1
  39. package/dist/components/skeleton/skeleton.js +2 -2
  40. package/dist/components/skeleton/skeleton.js.map +1 -1
  41. package/dist/components/switch/switch.js +34 -29
  42. package/dist/components/switch/switch.js.map +1 -1
  43. package/dist/components/table/table-pagination.js +92 -90
  44. package/dist/components/table/table-pagination.js.map +1 -1
  45. package/dist/components/table/table.js +109 -121
  46. package/dist/components/table/table.js.map +1 -1
  47. package/dist/components/toggle/toggle.js +29 -29
  48. package/dist/components/toggle/toggle.js.map +1 -1
  49. package/dist/components/tooltip/tooltip.js +36 -34
  50. package/dist/components/tooltip/tooltip.js.map +1 -1
  51. package/dist/index.d.ts +600 -427
  52. package/dist/index.js +215 -212
  53. package/dist/index.js.map +1 -1
  54. package/dist/packages/volt-runtime/dist/sheet.js +27 -10
  55. package/dist/packages/volt-runtime/dist/sheet.js.map +1 -1
  56. package/dist/packages/volt-runtime/dist/styles/recipe.js +76 -0
  57. package/dist/packages/volt-runtime/dist/styles/recipe.js.map +1 -0
  58. package/dist/styles/document-context.js +12 -0
  59. package/dist/styles/document-context.js.map +1 -0
  60. package/dist/styles/make-styles.js +18 -10
  61. package/dist/styles/make-styles.js.map +1 -1
  62. package/dist/tokens/core.generated.js +1238 -1166
  63. package/dist/tokens/core.generated.js.map +1 -1
  64. package/dist/tokens/index.d.ts +442 -415
  65. package/dist/tokens/index.js +1105 -1078
  66. package/dist/tokens/index.js.map +1 -1
  67. package/dist/tokens/install.js +9 -5
  68. package/dist/tokens/install.js.map +1 -1
  69. package/dist/tokens/use-palette-tokens.js +20 -0
  70. package/dist/tokens/use-palette-tokens.js.map +1 -0
  71. package/dist/tokens.json +83 -2
  72. package/package.json +13 -5
  73. package/scripts/migration-diagnostics-core.mjs +859 -0
  74. package/scripts/migration-diagnostics.mjs +353 -0
  75. package/scripts/migration-sweep.mjs +179 -0
  76. package/AGENTS.md +0 -153
  77. package/AUTHORING.md +0 -292
  78. package/dist/packages/volt-runtime/dist/styles/make-styles.js +0 -22
  79. package/dist/packages/volt-runtime/dist/styles/make-styles.js.map +0 -1
@@ -1,21 +1,29 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
2
  import * as e from "react";
3
- import { Root as d, Anchor as u, Content as g, Portal as v, Trigger as y } from "../../vendor/@radix-ui/react-popover/dist/index.js";
4
- import { shorthands as i } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/index.js";
5
- import { SLOT_ATTR as p } from "../../packages/volt-runtime/dist/renderer/contract.js";
6
- import { mergeClasses as P } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
7
- import { makeVoltStyles as x } from "../../styles/make-styles.js";
8
- import { spacingGroup2 as b, grayA1 as h, radiusXl as R, spacingElement2 as s, grayA12 as T, body as A } from "../../tokens/index.js";
9
- const N = x({
3
+ import { Root as u, Anchor as g, Content as v, Portal as y, Trigger as P } from "../../vendor/@radix-ui/react-popover/dist/index.js";
4
+ import { shorthands as p } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/index.js";
5
+ import { SLOT_ATTR as s } from "../../packages/volt-runtime/dist/renderer/contract.js";
6
+ import { mergeClasses as x } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
7
+ import { useDensity as b } from "../density-provider/density-provider.js";
8
+ import { makeVoltStyles as h } from "../../styles/make-styles.js";
9
+ import { spacingGroup2 as R, grayA1 as T, radiusXl as A, spacingElement2 as i, grayA12 as C, body as N } from "../../tokens/index.js";
10
+ const w = h({
10
11
  popup: {
11
- backgroundColor: A,
12
- color: T,
12
+ backgroundColor: N,
13
+ color: C,
13
14
  transformOrigin: "var(--radix-popover-content-transform-origin)",
14
- ...i.borderRadius(R),
15
- ...i.border("1px", "solid", h),
15
+ ...p.borderRadius(A),
16
+ ...p.border("1px", "solid", T),
16
17
  // v1 shadow-md
17
18
  boxShadow: "0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a",
18
19
  outlineStyle: "none",
20
+ "@media (prefers-reduced-motion: reduce)": {
21
+ animationDuration: "0.01ms",
22
+ animationIterationCount: "1",
23
+ "&[data-state='open']": {
24
+ animationDuration: "0.01ms"
25
+ }
26
+ },
19
27
  "&[data-state='open']": {
20
28
  animationName: {
21
29
  from: { opacity: 0, transform: "scale(0.95)" },
@@ -28,7 +36,7 @@ const N = x({
28
36
  animationName: {
29
37
  from: {
30
38
  opacity: 0,
31
- transform: `translateY(-${s}) scale(0.95)`
39
+ transform: `translateY(-${i}) scale(0.95)`
32
40
  },
33
41
  to: { opacity: 1, transform: "translateY(0) scale(1)" }
34
42
  }
@@ -37,7 +45,7 @@ const N = x({
37
45
  animationName: {
38
46
  from: {
39
47
  opacity: 0,
40
- transform: `translateX(${s}) scale(0.95)`
48
+ transform: `translateX(${i}) scale(0.95)`
41
49
  },
42
50
  to: { opacity: 1, transform: "translateX(0) scale(1)" }
43
51
  }
@@ -46,7 +54,7 @@ const N = x({
46
54
  animationName: {
47
55
  from: {
48
56
  opacity: 0,
49
- transform: `translateX(-${s}) scale(0.95)`
57
+ transform: `translateX(-${i}) scale(0.95)`
50
58
  },
51
59
  to: { opacity: 1, transform: "translateX(0) scale(1)" }
52
60
  }
@@ -55,7 +63,7 @@ const N = x({
55
63
  animationName: {
56
64
  from: {
57
65
  opacity: 0,
58
- transform: `translateY(${s}) scale(0.95)`
66
+ transform: `translateY(${i}) scale(0.95)`
59
67
  },
60
68
  to: { opacity: 1, transform: "translateY(0) scale(1)" }
61
69
  }
@@ -70,58 +78,59 @@ const N = x({
70
78
  }
71
79
  },
72
80
  popupPadding: {
73
- ...i.padding(b)
81
+ ...p.padding(R)
74
82
  }
75
- }), k = e.forwardRef(
83
+ }), F = e.forwardRef(
76
84
  function(o, a) {
77
- return /* @__PURE__ */ r(d, { "data-slot": "popover", ...o });
85
+ return /* @__PURE__ */ r(u, { "data-slot": "popover", ...o });
78
86
  }
79
- ), z = e.forwardRef(function({ className: o, ...a }, t) {
87
+ ), O = e.forwardRef(function({ className: o, ...a }, t) {
80
88
  return /* @__PURE__ */ r(
81
- y,
89
+ P,
82
90
  {
83
91
  ref: t,
84
92
  "data-slot": "popover-trigger",
85
- [p]: "popover-trigger",
93
+ [s]: "popover-trigger",
86
94
  className: o,
87
95
  ...a
88
96
  }
89
97
  );
90
- }), D = e.forwardRef(
98
+ }), j = e.forwardRef(
91
99
  function(o, a) {
92
100
  return /* @__PURE__ */ r(
93
- v,
101
+ y,
94
102
  {
95
103
  "data-slot": "popover-portal",
96
- [p]: "popover-portal",
104
+ [s]: "popover-portal",
97
105
  ...o
98
106
  }
99
107
  );
100
108
  }
101
- ), F = e.forwardRef(function({ className: o, ...a }, t) {
109
+ ), E = e.forwardRef(function({ className: o, ...a }, t) {
102
110
  return /* @__PURE__ */ r(
103
- u,
111
+ g,
104
112
  {
105
113
  ref: t,
106
114
  "data-slot": "popover-anchor",
107
- [p]: "popover-anchor",
115
+ [s]: "popover-anchor",
108
116
  className: o,
109
117
  ...a
110
118
  }
111
119
  );
112
- }), O = e.forwardRef(function({ className: o, align: a = "center", sideOffset: t = 4, flush: c = !1, ...f }, l) {
113
- const m = N();
120
+ }), G = e.forwardRef(function({ className: o, align: a = "center", sideOffset: t = 4, flush: d = !1, ...f }, l) {
121
+ const m = w(), c = b();
114
122
  return /* @__PURE__ */ r(
115
- g,
123
+ v,
116
124
  {
117
125
  ref: l,
118
126
  "data-slot": "popover-content",
119
- [p]: "popover-content",
127
+ [s]: "popover-content",
128
+ ...c !== void 0 ? { "data-density": c } : {},
120
129
  align: a,
121
130
  sideOffset: t,
122
- className: P(
131
+ className: x(
123
132
  m.popup,
124
- !c && m.popupPadding,
133
+ !d && m.popupPadding,
125
134
  o
126
135
  ),
127
136
  ...f
@@ -129,10 +138,10 @@ const N = x({
129
138
  );
130
139
  });
131
140
  export {
132
- k as Popover,
133
- F as PopoverAnchor,
134
- O as PopoverContent,
135
- D as PopoverPortal,
136
- z as PopoverTrigger
141
+ F as Popover,
142
+ E as PopoverAnchor,
143
+ G as PopoverContent,
144
+ j as PopoverPortal,
145
+ O as PopoverTrigger
137
146
  };
138
147
  //# sourceMappingURL=popover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"popover.js","sources":["../../../src/components/popover/popover.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\nconst useStyles = makeVoltStyles({\n popup: {\n backgroundColor: tokens.body,\n color: tokens.grayA12,\n transformOrigin: \"var(--radix-popover-content-transform-origin)\",\n ...shorthands.borderRadius(tokens.radiusXl),\n ...shorthands.border(\"1px\", \"solid\", tokens.grayA1),\n // v1 shadow-md\n boxShadow: \"0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a\",\n outlineStyle: \"none\",\n \"&[data-state='open']\": {\n animationName: {\n from: { opacity: 0, transform: \"scale(0.95)\" },\n to: { opacity: 1, transform: \"scale(1)\" },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n \"&[data-state='open'][data-side='bottom']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: `translateY(-${tokens.spacingElement2}) scale(0.95)`,\n },\n to: { opacity: 1, transform: \"translateY(0) scale(1)\" },\n },\n },\n \"&[data-state='open'][data-side='left']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: `translateX(${tokens.spacingElement2}) scale(0.95)`,\n },\n to: { opacity: 1, transform: \"translateX(0) scale(1)\" },\n },\n },\n \"&[data-state='open'][data-side='right']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: `translateX(-${tokens.spacingElement2}) scale(0.95)`,\n },\n to: { opacity: 1, transform: \"translateX(0) scale(1)\" },\n },\n },\n \"&[data-state='open'][data-side='top']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: `translateY(${tokens.spacingElement2}) scale(0.95)`,\n },\n to: { opacity: 1, transform: \"translateY(0) scale(1)\" },\n },\n },\n \"&[data-state='closed']\": {\n animationName: {\n from: { opacity: 1, transform: \"scale(1)\" },\n to: { opacity: 0, transform: \"scale(0.95)\" },\n },\n animationDuration: \"100ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 1, 1)\",\n },\n },\n popupPadding: {\n ...shorthands.padding(tokens.spacingGroup2),\n },\n})\n\nexport type PopoverProps = React.ComponentProps<typeof PopoverPrimitive.Root>\n\nexport const Popover = React.forwardRef<HTMLElement, PopoverProps>(\n function Popover(props, _ref) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n }\n)\n\nexport type PopoverTriggerProps = React.ComponentProps<\n typeof PopoverPrimitive.Trigger\n>\n\nexport const PopoverTrigger = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Trigger>,\n PopoverTriggerProps\n>(function PopoverTrigger({ className, ...props }, ref) {\n return (\n <PopoverPrimitive.Trigger\n ref={ref}\n data-slot=\"popover-trigger\"\n {...{ [SLOT_ATTR]: \"popover-trigger\" }}\n className={className}\n {...props}\n />\n )\n})\n\nexport type PopoverPortalProps = React.ComponentProps<\n typeof PopoverPrimitive.Portal\n>\n\nexport const PopoverPortal = React.forwardRef<HTMLElement, PopoverPortalProps>(\n function PopoverPortal(props, _ref) {\n return (\n <PopoverPrimitive.Portal\n data-slot=\"popover-portal\"\n {...{ [SLOT_ATTR]: \"popover-portal\" }}\n {...props}\n />\n )\n }\n)\n\nexport type PopoverAnchorProps = React.ComponentProps<\n typeof PopoverPrimitive.Anchor\n>\n\nexport const PopoverAnchor = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Anchor>,\n PopoverAnchorProps\n>(function PopoverAnchor({ className, ...props }, ref) {\n return (\n <PopoverPrimitive.Anchor\n ref={ref}\n data-slot=\"popover-anchor\"\n {...{ [SLOT_ATTR]: \"popover-anchor\" }}\n className={className}\n {...props}\n />\n )\n})\n\nexport type PopoverContentProps = React.ComponentProps<\n typeof PopoverPrimitive.Content\n> & {\n flush?: boolean\n}\n\nexport const PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n PopoverContentProps\n>(function PopoverContent(\n { className, align = \"center\", sideOffset = 4, flush = false, ...props },\n ref\n) {\n const styles = useStyles()\n\n return (\n <PopoverPrimitive.Content\n ref={ref}\n data-slot=\"popover-content\"\n {...{ [SLOT_ATTR]: \"popover-content\" }}\n align={align}\n sideOffset={sideOffset}\n className={mergeClasses(\n styles.popup,\n !flush && styles.popupPadding,\n className\n )}\n {...props}\n />\n )\n})\n"],"names":["useStyles","makeVoltStyles","tokens.body","tokens.grayA12","shorthands","tokens.radiusXl","tokens.grayA1","tokens.spacingElement2","tokens.spacingGroup2","Popover","React","props","_ref","PopoverPrimitive.Root","PopoverTrigger","className","ref","jsx","PopoverPrimitive.Trigger","SLOT_ATTR","PopoverPortal","PopoverPrimitive.Portal","PopoverAnchor","PopoverPrimitive.Anchor","PopoverContent","align","sideOffset","flush","styles","PopoverPrimitive.Content","mergeClasses"],"mappings":"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"}
1
+ {"version":3,"file":"popover.js","sources":["../../../src/components/popover/popover.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { useDensity } from \"../density-provider/density-provider\"\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\nconst useStyles = makeVoltStyles({\n popup: {\n backgroundColor: tokens.body,\n color: tokens.grayA12,\n transformOrigin: \"var(--radix-popover-content-transform-origin)\",\n ...shorthands.borderRadius(tokens.radiusXl),\n ...shorthands.border(\"1px\", \"solid\", tokens.grayA1),\n // v1 shadow-md\n boxShadow: \"0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a\",\n outlineStyle: \"none\",\n \"@media (prefers-reduced-motion: reduce)\": {\n animationDuration: \"0.01ms\",\n animationIterationCount: \"1\",\n \"&[data-state='open']\": {\n animationDuration: \"0.01ms\",\n },\n },\n \"&[data-state='open']\": {\n animationName: {\n from: { opacity: 0, transform: \"scale(0.95)\" },\n to: { opacity: 1, transform: \"scale(1)\" },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n \"&[data-state='open'][data-side='bottom']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: `translateY(-${tokens.spacingElement2}) scale(0.95)`,\n },\n to: { opacity: 1, transform: \"translateY(0) scale(1)\" },\n },\n },\n \"&[data-state='open'][data-side='left']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: `translateX(${tokens.spacingElement2}) scale(0.95)`,\n },\n to: { opacity: 1, transform: \"translateX(0) scale(1)\" },\n },\n },\n \"&[data-state='open'][data-side='right']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: `translateX(-${tokens.spacingElement2}) scale(0.95)`,\n },\n to: { opacity: 1, transform: \"translateX(0) scale(1)\" },\n },\n },\n \"&[data-state='open'][data-side='top']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: `translateY(${tokens.spacingElement2}) scale(0.95)`,\n },\n to: { opacity: 1, transform: \"translateY(0) scale(1)\" },\n },\n },\n \"&[data-state='closed']\": {\n animationName: {\n from: { opacity: 1, transform: \"scale(1)\" },\n to: { opacity: 0, transform: \"scale(0.95)\" },\n },\n animationDuration: \"100ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 1, 1)\",\n },\n },\n popupPadding: {\n ...shorthands.padding(tokens.spacingGroup2),\n },\n})\n\nexport type PopoverProps = React.ComponentProps<typeof PopoverPrimitive.Root>\n\nexport const Popover = React.forwardRef<HTMLElement, PopoverProps>(\n function Popover(props, _ref) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n }\n)\n\nexport type PopoverTriggerProps = React.ComponentProps<\n typeof PopoverPrimitive.Trigger\n>\n\nexport const PopoverTrigger = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Trigger>,\n PopoverTriggerProps\n>(function PopoverTrigger({ className, ...props }, ref) {\n return (\n <PopoverPrimitive.Trigger\n ref={ref}\n data-slot=\"popover-trigger\"\n {...{ [SLOT_ATTR]: \"popover-trigger\" }}\n className={className}\n {...props}\n />\n )\n})\n\nexport type PopoverPortalProps = React.ComponentProps<\n typeof PopoverPrimitive.Portal\n>\n\nexport const PopoverPortal = React.forwardRef<HTMLElement, PopoverPortalProps>(\n function PopoverPortal(props, _ref) {\n return (\n <PopoverPrimitive.Portal\n data-slot=\"popover-portal\"\n {...{ [SLOT_ATTR]: \"popover-portal\" }}\n {...props}\n />\n )\n }\n)\n\nexport type PopoverAnchorProps = React.ComponentProps<\n typeof PopoverPrimitive.Anchor\n>\n\nexport const PopoverAnchor = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Anchor>,\n PopoverAnchorProps\n>(function PopoverAnchor({ className, ...props }, ref) {\n return (\n <PopoverPrimitive.Anchor\n ref={ref}\n data-slot=\"popover-anchor\"\n {...{ [SLOT_ATTR]: \"popover-anchor\" }}\n className={className}\n {...props}\n />\n )\n})\n\nexport type PopoverContentProps = React.ComponentProps<\n typeof PopoverPrimitive.Content\n> & {\n flush?: boolean\n}\n\nexport const PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n PopoverContentProps\n>(function PopoverContent(\n { className, align = \"center\", sideOffset = 4, flush = false, ...props },\n ref\n) {\n const styles = useStyles()\n // DENSITY-SPEC.md §4.4 — portal content boundary; see dialog.tsx's identical comment.\n const override = useDensity()\n\n return (\n <PopoverPrimitive.Content\n ref={ref}\n data-slot=\"popover-content\"\n {...{ [SLOT_ATTR]: \"popover-content\" }}\n {...(override !== undefined ? { \"data-density\": override } : {})}\n align={align}\n sideOffset={sideOffset}\n className={mergeClasses(\n styles.popup,\n !flush && styles.popupPadding,\n className\n )}\n {...props}\n />\n )\n})\n"],"names":["useStyles","makeVoltStyles","tokens.body","tokens.grayA12","shorthands","tokens.radiusXl","tokens.grayA1","tokens.spacingElement2","tokens.spacingGroup2","Popover","React","props","_ref","PopoverPrimitive.Root","PopoverTrigger","className","ref","jsx","PopoverPrimitive.Trigger","SLOT_ATTR","PopoverPortal","PopoverPrimitive.Portal","PopoverAnchor","PopoverPrimitive.Anchor","PopoverContent","align","sideOffset","flush","styles","override","useDensity","PopoverPrimitive.Content","mergeClasses"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { jsx as e, jsxs as g } from "react/jsx-runtime";
2
- import * as c from "react";
2
+ import * as d from "react";
3
3
  import { Root as h, Item as b, Indicator as x } from "../../vendor/@radix-ui/react-radio-group/dist/index.js";
4
4
  import { shorthands as t } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/index.js";
5
5
  import { SLOT_ATTR as s } from "../../packages/volt-runtime/dist/renderer/contract.js";
6
6
  import { mergeClasses as p } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
7
7
  import { makeVoltStyles as C } from "../../styles/make-styles.js";
8
- import { errorA8 as l, accentA7 as k, spacingElement3 as w, semAccentContrast as m, errorA10 as y, semErrorSoft as R, grayA3 as u, semAccentSolid as v, accentA8 as A, accentA12 as S, semAccentSoft as I } from "../../tokens/index.js";
9
- const j = c.forwardRef(
8
+ import { errorA8 as k, accentA7 as w, spacingElement3 as y, semAccentContrast as l, errorA10 as R, semFocusRing as m, semErrorSoft as v, grayA3 as u, semAccentSolid as S, semAccentOnSoft as A, semAccentSoft as I } from "../../tokens/index.js";
9
+ const j = d.forwardRef(
10
10
  function(o, r) {
11
11
  return /* @__PURE__ */ e(
12
12
  "svg",
@@ -27,7 +27,7 @@ const j = c.forwardRef(
27
27
  ), f = C({
28
28
  group: {
29
29
  display: "grid",
30
- ...t.gap(w)
30
+ ...t.gap(y)
31
31
  },
32
32
  item: {
33
33
  boxSizing: "border-box",
@@ -40,19 +40,22 @@ const j = c.forwardRef(
40
40
  height: "1rem",
41
41
  flexShrink: 0,
42
42
  borderRadius: "9999px",
43
- ...t.border("1px", "solid", k),
43
+ ...t.border("1px", "solid", w),
44
44
  backgroundColor: I,
45
- color: S,
45
+ color: A,
46
46
  // Tailwind `shadow-xs` — literal per CONVENTIONS B7
47
47
  boxShadow: "0 1px 2px 0 #0000000d",
48
48
  transitionProperty: "color, box-shadow",
49
49
  transitionDuration: "150ms",
50
50
  transitionTimingFunction: "cubic-bezier(0.4, 0, 0.2, 1)",
51
+ "@media (prefers-reduced-motion: reduce)": {
52
+ transitionDuration: "0.01ms"
53
+ },
51
54
  ":focus-visible": {
52
55
  outlineOffset: "2px",
53
56
  outlineWidth: "2px",
54
57
  outlineStyle: "solid",
55
- outlineColor: A
58
+ outlineColor: m
56
59
  },
57
60
  "&[data-disabled]": {
58
61
  cursor: "not-allowed",
@@ -60,19 +63,19 @@ const j = c.forwardRef(
60
63
  ...t.borderColor("transparent")
61
64
  },
62
65
  "&[data-state='checked']": {
63
- backgroundColor: v,
64
- color: m
66
+ backgroundColor: S,
67
+ color: l
65
68
  },
66
69
  "&[data-state='checked'][data-disabled]": {
67
70
  backgroundColor: u
68
71
  },
69
72
  "&[aria-invalid='true'], &[data-invalid]": {
70
- backgroundColor: R,
71
- ...t.borderColor(l),
72
- outlineColor: l
73
+ backgroundColor: v,
74
+ ...t.borderColor(k),
75
+ outlineColor: m
73
76
  },
74
77
  "&[data-state='checked'][aria-invalid='true'], &[data-state='checked'][data-invalid]": {
75
- backgroundColor: y,
78
+ backgroundColor: R,
76
79
  ...t.borderColor("transparent")
77
80
  }
78
81
  },
@@ -85,7 +88,7 @@ const j = c.forwardRef(
85
88
  height: "100%"
86
89
  },
87
90
  icon: {
88
- color: m,
91
+ color: l,
89
92
  position: "absolute",
90
93
  top: "50%",
91
94
  left: "50%",
@@ -94,7 +97,7 @@ const j = c.forwardRef(
94
97
  transform: "translate(-50%, -50%)",
95
98
  pointerEvents: "none"
96
99
  }
97
- }), W = c.forwardRef(function({ className: o, ...r }, i) {
100
+ }), D = d.forwardRef(function({ className: o, ...r }, i) {
98
101
  const a = f();
99
102
  return /* @__PURE__ */ e(
100
103
  h,
@@ -106,7 +109,7 @@ const j = c.forwardRef(
106
109
  ...r
107
110
  }
108
111
  );
109
- }), B = c.forwardRef(function({ className: o, children: r, ...i }, a) {
112
+ }), F = d.forwardRef(function({ className: o, children: r, ...i }, a) {
110
113
  const n = f();
111
114
  return /* @__PURE__ */ g(
112
115
  b,
@@ -132,7 +135,7 @@ const j = c.forwardRef(
132
135
  );
133
136
  });
134
137
  export {
135
- W as RadioGroup,
136
- B as RadioGroupItem
138
+ D as RadioGroup,
139
+ F as RadioGroupItem
137
140
  };
138
141
  //# sourceMappingURL=radio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio.js","sources":["../../../src/components/radio/radio.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\"\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\nconst CircleIcon = React.forwardRef<SVGSVGElement, React.ComponentProps<\"svg\">>(\n function CircleIcon(props, ref) {\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n </svg>\n )\n }\n)\n\nconst useStyles = makeVoltStyles({\n group: {\n display: \"grid\",\n ...shorthands.gap(tokens.spacingElement3),\n },\n item: {\n boxSizing: \"border-box\",\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n position: \"relative\",\n aspectRatio: \"1 / 1\",\n width: \"1rem\",\n height: \"1rem\",\n flexShrink: 0,\n borderRadius: \"9999px\",\n ...shorthands.border(\"1px\", \"solid\", tokens.accentA7),\n backgroundColor: tokens.semAccentSoft,\n color: tokens.accentA12,\n // Tailwind `shadow-xs` — literal per CONVENTIONS B7\n boxShadow: \"0 1px 2px 0 #0000000d\",\n transitionProperty: \"color, box-shadow\",\n transitionDuration: \"150ms\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \":focus-visible\": {\n outlineOffset: \"2px\",\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineColor: tokens.accentA8,\n },\n \"&[data-disabled]\": {\n cursor: \"not-allowed\",\n backgroundColor: tokens.grayA3,\n ...shorthands.borderColor(\"transparent\"),\n },\n \"&[data-state='checked']\": {\n backgroundColor: tokens.semAccentSolid,\n color: tokens.semAccentContrast,\n },\n \"&[data-state='checked'][data-disabled]\": {\n backgroundColor: tokens.grayA3,\n },\n \"&[aria-invalid='true'], &[data-invalid]\": {\n backgroundColor: tokens.semErrorSoft,\n ...shorthands.borderColor(tokens.errorA8),\n outlineColor: tokens.errorA8,\n },\n \"&[data-state='checked'][aria-invalid='true'], &[data-state='checked'][data-invalid]\":\n {\n backgroundColor: tokens.errorA10,\n ...shorthands.borderColor(\"transparent\"),\n },\n },\n indicator: {\n position: \"relative\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"100%\",\n height: \"100%\",\n },\n icon: {\n color: tokens.semAccentContrast,\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n width: \"0.5rem\",\n height: \"0.5rem\",\n transform: \"translate(-50%, -50%)\",\n pointerEvents: \"none\",\n },\n})\n\nexport type RadioGroupProps = React.ComponentProps<\n typeof RadioGroupPrimitive.Root\n>\n\nexport const RadioGroup = React.forwardRef<\n React.ComponentRef<typeof RadioGroupPrimitive.Root>,\n RadioGroupProps\n>(function RadioGroup({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <RadioGroupPrimitive.Root\n ref={ref}\n data-slot=\"radio-group\"\n {...{ [SLOT_ATTR]: \"radio-group\" }}\n className={mergeClasses(styles.group, className)}\n {...props}\n />\n )\n})\n\nexport type RadioGroupItemProps = React.ComponentProps<\n typeof RadioGroupPrimitive.Item\n>\n\nexport const RadioGroupItem = React.forwardRef<\n React.ComponentRef<typeof RadioGroupPrimitive.Item>,\n RadioGroupItemProps\n>(function RadioGroupItem({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n data-slot=\"radio-group-item\"\n {...{ [SLOT_ATTR]: \"radio-group-item\" }}\n className={mergeClasses(styles.item, className)}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n {...{ [SLOT_ATTR]: \"radio-group-indicator\" }}\n className={styles.indicator}\n >\n <CircleIcon className={styles.icon} />\n </RadioGroupPrimitive.Indicator>\n {children}\n </RadioGroupPrimitive.Item>\n )\n})\n"],"names":["CircleIcon","React","props","ref","jsx","useStyles","makeVoltStyles","shorthands","tokens.spacingElement3","tokens.accentA7","tokens.semAccentSoft","tokens.accentA12","tokens.accentA8","tokens.grayA3","tokens.semAccentSolid","tokens.semAccentContrast","tokens.semErrorSoft","tokens.errorA8","tokens.errorA10","RadioGroup","className","styles","RadioGroupPrimitive.Root","SLOT_ATTR","mergeClasses","RadioGroupItem","children","jsxs","RadioGroupPrimitive.Item","RadioGroupPrimitive.Indicator"],"mappings":"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"}
1
+ {"version":3,"file":"radio.js","sources":["../../../src/components/radio/radio.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\"\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\nconst CircleIcon = React.forwardRef<SVGSVGElement, React.ComponentProps<\"svg\">>(\n function CircleIcon(props, ref) {\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n </svg>\n )\n }\n)\n\nconst useStyles = makeVoltStyles({\n group: {\n display: \"grid\",\n ...shorthands.gap(tokens.spacingElement3),\n },\n item: {\n boxSizing: \"border-box\",\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n position: \"relative\",\n aspectRatio: \"1 / 1\",\n width: \"1rem\",\n height: \"1rem\",\n flexShrink: 0,\n borderRadius: \"9999px\",\n ...shorthands.border(\"1px\", \"solid\", tokens.accentA7),\n backgroundColor: tokens.semAccentSoft,\n color: tokens.semAccentOnSoft,\n // Tailwind `shadow-xs` — literal per CONVENTIONS B7\n boxShadow: \"0 1px 2px 0 #0000000d\",\n transitionProperty: \"color, box-shadow\",\n transitionDuration: \"150ms\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"@media (prefers-reduced-motion: reduce)\": {\n transitionDuration: \"0.01ms\",\n },\n \":focus-visible\": {\n outlineOffset: \"2px\",\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineColor: tokens.semFocusRing,\n },\n \"&[data-disabled]\": {\n cursor: \"not-allowed\",\n backgroundColor: tokens.grayA3,\n ...shorthands.borderColor(\"transparent\"),\n },\n \"&[data-state='checked']\": {\n backgroundColor: tokens.semAccentSolid,\n color: tokens.semAccentContrast,\n },\n \"&[data-state='checked'][data-disabled]\": {\n backgroundColor: tokens.grayA3,\n },\n \"&[aria-invalid='true'], &[data-invalid]\": {\n backgroundColor: tokens.semErrorSoft,\n ...shorthands.borderColor(tokens.errorA8),\n outlineColor: tokens.semFocusRing,\n },\n \"&[data-state='checked'][aria-invalid='true'], &[data-state='checked'][data-invalid]\":\n {\n backgroundColor: tokens.errorA10,\n ...shorthands.borderColor(\"transparent\"),\n },\n },\n indicator: {\n position: \"relative\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"100%\",\n height: \"100%\",\n },\n icon: {\n color: tokens.semAccentContrast,\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n width: \"0.5rem\",\n height: \"0.5rem\",\n transform: \"translate(-50%, -50%)\",\n pointerEvents: \"none\",\n },\n})\n\nexport type RadioGroupProps = React.ComponentProps<\n typeof RadioGroupPrimitive.Root\n>\n\nexport const RadioGroup = React.forwardRef<\n React.ComponentRef<typeof RadioGroupPrimitive.Root>,\n RadioGroupProps\n>(function RadioGroup({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <RadioGroupPrimitive.Root\n ref={ref}\n data-slot=\"radio-group\"\n {...{ [SLOT_ATTR]: \"radio-group\" }}\n className={mergeClasses(styles.group, className)}\n {...props}\n />\n )\n})\n\nexport type RadioGroupItemProps = React.ComponentProps<\n typeof RadioGroupPrimitive.Item\n>\n\nexport const RadioGroupItem = React.forwardRef<\n React.ComponentRef<typeof RadioGroupPrimitive.Item>,\n RadioGroupItemProps\n>(function RadioGroupItem({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n data-slot=\"radio-group-item\"\n {...{ [SLOT_ATTR]: \"radio-group-item\" }}\n className={mergeClasses(styles.item, className)}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n {...{ [SLOT_ATTR]: \"radio-group-indicator\" }}\n className={styles.indicator}\n >\n <CircleIcon className={styles.icon} />\n </RadioGroupPrimitive.Indicator>\n {children}\n </RadioGroupPrimitive.Item>\n )\n})\n"],"names":["CircleIcon","React","props","ref","jsx","useStyles","makeVoltStyles","shorthands","tokens.spacingElement3","tokens.accentA7","tokens.semAccentSoft","tokens.semAccentOnSoft","tokens.semFocusRing","tokens.grayA3","tokens.semAccentSolid","tokens.semAccentContrast","tokens.semErrorSoft","tokens.errorA8","tokens.errorA10","RadioGroup","className","styles","RadioGroupPrimitive.Root","SLOT_ATTR","mergeClasses","RadioGroupItem","children","jsxs","RadioGroupPrimitive.Item","RadioGroupPrimitive.Indicator"],"mappings":";;;;;;;;AAQA,MAAMA,IAAaC,EAAM;AAAA,EACvB,SAAoBC,GAAOC,GAAK;AAC9B,WACE,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAD;AAAA,QACA,OAAM;AAAA,QACN,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,QACd,GAAGD;AAAA,QAEJ,4BAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAA,CAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EAGrC;AACF,GAEMG,IAAYC,EAAe;AAAA,EAC/B,OAAO;AAAA,IACL,SAAS;AAAA,IACT,GAAGC,EAAW,IAAIC,CAAsB;AAAA,EAAA;AAAA,EAE1C,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV,aAAa;AAAA,IACb,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,GAAGD,EAAW,OAAO,OAAO,SAASE,CAAe;AAAA,IACpD,iBAAiBC;AAAAA,IACjB,OAAOC;AAAAA;AAAAA,IAEP,WAAW;AAAA,IACX,oBAAoB;AAAA,IACpB,oBAAoB;AAAA,IACpB,0BAA0B;AAAA,IAC1B,2CAA2C;AAAA,MACzC,oBAAoB;AAAA,IAAA;AAAA,IAEtB,kBAAkB;AAAA,MAChB,eAAe;AAAA,MACf,cAAc;AAAA,MACd,cAAc;AAAA,MACd,cAAcC;AAAAA,IAAO;AAAA,IAEvB,oBAAoB;AAAA,MAClB,QAAQ;AAAA,MACR,iBAAiBC;AAAAA,MACjB,GAAGN,EAAW,YAAY,aAAa;AAAA,IAAA;AAAA,IAEzC,2BAA2B;AAAA,MACzB,iBAAiBO;AAAAA,MACjB,OAAOC;AAAAA,IAAO;AAAA,IAEhB,0CAA0C;AAAA,MACxC,iBAAiBF;AAAAA,IAAO;AAAA,IAE1B,2CAA2C;AAAA,MACzC,iBAAiBG;AAAAA,MACjB,GAAGT,EAAW,YAAYU,CAAc;AAAA,MACxC,cAAcL;AAAAA,IAAO;AAAA,IAEvB,uFACE;AAAA,MACE,iBAAiBM;AAAAA,MACjB,GAAGX,EAAW,YAAY,aAAa;AAAA,IAAA;AAAA,EACzC;AAAA,EAEJ,WAAW;AAAA,IACT,UAAU;AAAA,IACV,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,MAAM;AAAA,IACJ,OAAOQ;AAAAA,IACP,UAAU;AAAA,IACV,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,eAAe;AAAA,EAAA;AAEnB,CAAC,GAMYI,IAAalB,EAAM,WAG9B,SAAoB,EAAE,WAAAmB,GAAW,GAAGlB,EAAA,GAASC,GAAK;AAClD,QAAMkB,IAAShB,EAAA;AAEf,SACE,gBAAAD;AAAA,IAACkB;AAAAA,IAAA;AAAA,MACC,KAAAnB;AAAA,MACA,aAAU;AAAA,MACJ,CAACoB,CAAS,GAAG;AAAA,MACnB,WAAWC,EAAaH,EAAO,OAAOD,CAAS;AAAA,MAC9C,GAAGlB;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC,GAMYuB,IAAiBxB,EAAM,WAGlC,SAAwB,EAAE,WAAAmB,GAAW,UAAAM,GAAU,GAAGxB,EAAA,GAASC,GAAK;AAChE,QAAMkB,IAAShB,EAAA;AAEf,SACE,gBAAAsB;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,KAAAzB;AAAA,MACA,aAAU;AAAA,MACJ,CAACoB,CAAS,GAAG;AAAA,MACnB,WAAWC,EAAaH,EAAO,MAAMD,CAAS;AAAA,MAC7C,GAAGlB;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAE;AAAA,UAACyB;AAAAA,UAAA;AAAA,YACC,aAAU;AAAA,YACJ,CAACN,CAAS,GAAG;AAAA,YACnB,WAAWF,EAAO;AAAA,YAElB,UAAA,gBAAAjB,EAACJ,GAAA,EAAW,WAAWqB,EAAO,KAAA,CAAM;AAAA,UAAA;AAAA,QAAA;AAAA,QAErCK;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;"}