@epilot/zenith-react 0.1.0 → 0.2.0-next.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 (132) hide show
  1. package/README.md +34 -0
  2. package/dist/components/accordion/accordion.js +57 -48
  3. package/dist/components/accordion/accordion.js.map +1 -1
  4. package/dist/components/alert-dialog/alert-dialog.js +120 -91
  5. package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
  6. package/dist/components/avatar/avatar-group.js +38 -35
  7. package/dist/components/avatar/avatar-group.js.map +1 -1
  8. package/dist/components/avatar/avatar.js +78 -71
  9. package/dist/components/avatar/avatar.js.map +1 -1
  10. package/dist/components/badge/badge.js +60 -55
  11. package/dist/components/badge/badge.js.map +1 -1
  12. package/dist/components/breadcrumb/breadcrumb.js +99 -54
  13. package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
  14. package/dist/components/button/button.js +87 -77
  15. package/dist/components/button/button.js.map +1 -1
  16. package/dist/components/button-group/button-group.js +36 -32
  17. package/dist/components/button-group/button-group.js.map +1 -1
  18. package/dist/components/callout/callout.js +113 -104
  19. package/dist/components/callout/callout.js.map +1 -1
  20. package/dist/components/card/card.js +62 -52
  21. package/dist/components/card/card.js.map +1 -1
  22. package/dist/components/checkbox/checkbox.js +22 -19
  23. package/dist/components/checkbox/checkbox.js.map +1 -1
  24. package/dist/components/code-block/code-block.js +135 -123
  25. package/dist/components/code-block/code-block.js.map +1 -1
  26. package/dist/components/code-editor/code-editor.js +276 -260
  27. package/dist/components/code-editor/code-editor.js.map +1 -1
  28. package/dist/components/collapsible-sidebar/collapsible-sidebar.js +62 -56
  29. package/dist/components/collapsible-sidebar/collapsible-sidebar.js.map +1 -1
  30. package/dist/components/command/command.js +116 -105
  31. package/dist/components/command/command.js.map +1 -1
  32. package/dist/components/data-table/data-table-body.js +38 -34
  33. package/dist/components/data-table/data-table-body.js.map +1 -1
  34. package/dist/components/data-table/data-table-column-header.js +30 -26
  35. package/dist/components/data-table/data-table-column-header.js.map +1 -1
  36. package/dist/components/data-table/data-table-column-order.js +79 -73
  37. package/dist/components/data-table/data-table-column-order.js.map +1 -1
  38. package/dist/components/data-table/data-table-column-visibility.js +25 -22
  39. package/dist/components/data-table/data-table-column-visibility.js.map +1 -1
  40. package/dist/components/data-table/data-table-content.js +47 -44
  41. package/dist/components/data-table/data-table-content.js.map +1 -1
  42. package/dist/components/data-table/data-table-error.js +36 -32
  43. package/dist/components/data-table/data-table-error.js.map +1 -1
  44. package/dist/components/data-table/data-table-footer.js +10 -8
  45. package/dist/components/data-table/data-table-footer.js.map +1 -1
  46. package/dist/components/data-table/data-table-header-draggable.js +40 -36
  47. package/dist/components/data-table/data-table-header-draggable.js.map +1 -1
  48. package/dist/components/data-table/data-table-loading.js +21 -18
  49. package/dist/components/data-table/data-table-loading.js.map +1 -1
  50. package/dist/components/data-table/data-table-resize-handle.js +13 -11
  51. package/dist/components/data-table/data-table-resize-handle.js.map +1 -1
  52. package/dist/components/data-table/data-table-row.js +47 -44
  53. package/dist/components/data-table/data-table-row.js.map +1 -1
  54. package/dist/components/data-table/data-table-toolbar.js +9 -7
  55. package/dist/components/data-table/data-table-toolbar.js.map +1 -1
  56. package/dist/components/data-table/data-table.js +48 -46
  57. package/dist/components/data-table/data-table.js.map +1 -1
  58. package/dist/components/date-range-picker/date-range-picker.js +212 -193
  59. package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
  60. package/dist/components/date-range-picker/range-calendar.js +36 -34
  61. package/dist/components/date-range-picker/range-calendar.js.map +1 -1
  62. package/dist/components/date-time-picker/calendar.js +290 -272
  63. package/dist/components/date-time-picker/calendar.js.map +1 -1
  64. package/dist/components/date-time-picker/date-time-picker-input.js +127 -112
  65. package/dist/components/date-time-picker/date-time-picker-input.js.map +1 -1
  66. package/dist/components/date-time-picker/date-time-picker-panel.js +126 -120
  67. package/dist/components/date-time-picker/date-time-picker-panel.js.map +1 -1
  68. package/dist/components/date-time-picker/date-time-picker.js +91 -86
  69. package/dist/components/date-time-picker/date-time-picker.js.map +1 -1
  70. package/dist/components/date-time-picker/time-picker.js +95 -87
  71. package/dist/components/date-time-picker/time-picker.js.map +1 -1
  72. package/dist/components/dialog/dialog.js +125 -103
  73. package/dist/components/dialog/dialog.js.map +1 -1
  74. package/dist/components/drawer/drawer.js +151 -114
  75. package/dist/components/drawer/drawer.js.map +1 -1
  76. package/dist/components/dropdown-menu/dropdown-menu.js +141 -112
  77. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
  78. package/dist/components/field/field-combobox.js +196 -176
  79. package/dist/components/field/field-combobox.js.map +1 -1
  80. package/dist/components/field/field.js +237 -195
  81. package/dist/components/field/field.js.map +1 -1
  82. package/dist/components/list/list.js +237 -219
  83. package/dist/components/list/list.js.map +1 -1
  84. package/dist/components/option-card/option-card.js +129 -116
  85. package/dist/components/option-card/option-card.js.map +1 -1
  86. package/dist/components/pill/pill.js +55 -51
  87. package/dist/components/pill/pill.js.map +1 -1
  88. package/dist/components/popover/popover.js +53 -36
  89. package/dist/components/popover/popover.js.map +1 -1
  90. package/dist/components/radio/radio.js +38 -34
  91. package/dist/components/radio/radio.js.map +1 -1
  92. package/dist/components/scroll-area/scroll-area.js +38 -35
  93. package/dist/components/scroll-area/scroll-area.js.map +1 -1
  94. package/dist/components/scroll-overflow/scroll-overflow.js +166 -151
  95. package/dist/components/scroll-overflow/scroll-overflow.js.map +1 -1
  96. package/dist/components/segmented-control/segmented-control.js +93 -85
  97. package/dist/components/segmented-control/segmented-control.js.map +1 -1
  98. package/dist/components/select/select.js +149 -128
  99. package/dist/components/select/select.js.map +1 -1
  100. package/dist/components/separator/separator.js +19 -16
  101. package/dist/components/separator/separator.js.map +1 -1
  102. package/dist/components/skeleton/skeleton.js +34 -30
  103. package/dist/components/skeleton/skeleton.js.map +1 -1
  104. package/dist/components/spinner/spinner.js +22 -17
  105. package/dist/components/spinner/spinner.js.map +1 -1
  106. package/dist/components/surface/surface.js +25 -22
  107. package/dist/components/surface/surface.js.map +1 -1
  108. package/dist/components/switch/switch.js +66 -57
  109. package/dist/components/switch/switch.js.map +1 -1
  110. package/dist/components/table/table-pagination.js +139 -129
  111. package/dist/components/table/table-pagination.js.map +1 -1
  112. package/dist/components/table/table.js +104 -90
  113. package/dist/components/table/table.js.map +1 -1
  114. package/dist/components/tabs/tabs.js +212 -79
  115. package/dist/components/tabs/tabs.js.map +1 -1
  116. package/dist/components/toast/toast.js +112 -100
  117. package/dist/components/toast/toast.js.map +1 -1
  118. package/dist/components/toggle/toggle.js +32 -30
  119. package/dist/components/toggle/toggle.js.map +1 -1
  120. package/dist/components/tooltip/tooltip.js +59 -46
  121. package/dist/components/tooltip/tooltip.js.map +1 -1
  122. package/dist/index.d.ts +22 -0
  123. package/dist/lib/clear-button.js +18 -17
  124. package/dist/lib/clear-button.js.map +1 -1
  125. package/dist/styles/host-reset.js +47 -0
  126. package/dist/styles/host-reset.js.map +1 -0
  127. package/dist/styles/overlay-layer.js +5 -0
  128. package/dist/styles/overlay-layer.js.map +1 -0
  129. package/dist/tokens.json +1 -1
  130. package/package.json +8 -7
  131. package/scripts/migration-diagnostics.mjs +42 -7
  132. package/scripts/migration-sweep.mjs +9 -1
@@ -1,28 +1,36 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
2
  import * as i from "react";
3
3
  import { mergeClasses as s, SLOT_ATTR as d, shorthands as f } from "@epilot/zenith-runtime/v1";
4
- import { makeZenithStyles as p } from "../../styles/make-styles.js";
5
- import { spacingGroup2 as e, leadingSm as g, textSm as m, grayA11 as u, fontWeightSemibold as C, body as h, spacingElement2 as R, radiusXl as y } from "../../tokens/index.js";
6
- const c = p({
4
+ import { makeZenithStyles as m } from "../../styles/make-styles.js";
5
+ import { boxModel as p } from "../../styles/host-reset.js";
6
+ import { spacingGroup2 as e, leadingSm as g, textSm as u, grayA11 as C, fontWeightSemibold as h, shadowContainer as R, surfaceContainer as y, spacingElement2 as b, borderContainer as w, borderWidthContainer as S, surfaceRadiusContainer as T } from "../../tokens/index.js";
7
+ const c = m({
7
8
  root: {
8
- backgroundColor: h,
9
+ ...p,
10
+ // The container role recipe Surface's `section` uses: fill, edge, radius and shadow all follow
11
+ // the theme. In dark mode the role has no border width and no shadow, so the fill is what
12
+ // separates the card from the page.
13
+ backgroundColor: y,
9
14
  display: "flex",
10
15
  flexDirection: "column",
11
16
  ...f.gap(e),
12
- ...f.borderRadius(y),
13
- ...f.border("1px", "solid", "transparent"),
17
+ ...f.borderRadius(T),
18
+ ...f.borderWidth(S),
19
+ ...f.borderStyle("solid"),
20
+ ...f.borderColor(w),
14
21
  paddingTop: e,
15
22
  paddingBottom: e,
16
- boxShadow: "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)"
23
+ boxShadow: R
17
24
  },
18
25
  header: {
26
+ ...p,
19
27
  containerType: "inline-size",
20
28
  containerName: "card-header",
21
29
  display: "grid",
22
30
  gridAutoRows: "min-content",
23
31
  gridTemplateRows: "auto auto",
24
32
  alignItems: "start",
25
- ...f.gap(R),
33
+ ...f.gap(b),
26
34
  paddingLeft: e,
27
35
  paddingRight: e,
28
36
  "&:is(.border-b)": {
@@ -35,11 +43,11 @@ const c = p({
35
43
  title: {
36
44
  // v1 `leading-none` — a literal 1 because no token exists for it.
37
45
  lineHeight: 1,
38
- fontWeight: C
46
+ fontWeight: h
39
47
  },
40
48
  description: {
41
- color: u,
42
- fontSize: m,
49
+ color: C,
50
+ fontSize: u,
43
51
  lineHeight: g
44
52
  },
45
53
  action: {
@@ -50,10 +58,12 @@ const c = p({
50
58
  justifySelf: "end"
51
59
  },
52
60
  content: {
61
+ ...p,
53
62
  paddingLeft: e,
54
63
  paddingRight: e
55
64
  },
56
65
  footer: {
66
+ ...p,
57
67
  display: "flex",
58
68
  alignItems: "center",
59
69
  paddingLeft: e,
@@ -62,110 +72,110 @@ const c = p({
62
72
  paddingTop: e
63
73
  }
64
74
  }
65
- }), T = i.forwardRef(function({ className: t, ...r }, a) {
66
- const o = c();
75
+ }), L = i.forwardRef(function({ className: t, ...r }, o) {
76
+ const a = c();
67
77
  return /* @__PURE__ */ n(
68
78
  "div",
69
79
  {
70
- ref: a,
80
+ ref: o,
71
81
  "data-slot": "card",
72
82
  [d]: "card",
73
- className: s(o.root, t),
83
+ className: s(a.root, t),
74
84
  ...r
75
85
  }
76
86
  );
77
- }), N = i.forwardRef(
78
- function({ className: t, ...r }, a) {
79
- const o = c();
87
+ }), W = i.forwardRef(
88
+ function({ className: t, ...r }, o) {
89
+ const a = c();
80
90
  return /* @__PURE__ */ n(
81
91
  "div",
82
92
  {
83
- ref: a,
93
+ ref: o,
84
94
  "data-slot": "card-header",
85
95
  [d]: "card-header",
86
- className: s(o.header, t),
96
+ className: s(a.header, t),
87
97
  ...r
88
98
  }
89
99
  );
90
100
  }
91
- ), v = i.forwardRef(
92
- function({ className: t, ...r }, a) {
93
- const o = c();
101
+ ), D = i.forwardRef(
102
+ function({ className: t, ...r }, o) {
103
+ const a = c();
94
104
  return /* @__PURE__ */ n(
95
105
  "div",
96
106
  {
97
- ref: a,
107
+ ref: o,
98
108
  "data-slot": "card-title",
99
109
  [d]: "card-title",
100
- className: s(o.title, t),
110
+ className: s(a.title, t),
101
111
  ...r
102
112
  }
103
113
  );
104
114
  }
105
- ), A = i.forwardRef(
106
- function({ className: t, ...r }, a) {
107
- const o = c();
115
+ ), j = i.forwardRef(
116
+ function({ className: t, ...r }, o) {
117
+ const a = c();
108
118
  return /* @__PURE__ */ n(
109
119
  "div",
110
120
  {
111
- ref: a,
121
+ ref: o,
112
122
  "data-slot": "card-description",
113
123
  [d]: "card-description",
114
- className: s(o.description, t),
124
+ className: s(a.description, t),
115
125
  ...r
116
126
  }
117
127
  );
118
128
  }
119
- ), H = i.forwardRef(
120
- function({ className: t, ...r }, a) {
121
- const o = c();
129
+ ), k = i.forwardRef(
130
+ function({ className: t, ...r }, o) {
131
+ const a = c();
122
132
  return /* @__PURE__ */ n(
123
133
  "div",
124
134
  {
125
- ref: a,
135
+ ref: o,
126
136
  "data-slot": "card-action",
127
137
  [d]: "card-action",
128
- className: s(o.action, t),
138
+ className: s(a.action, t),
129
139
  ...r
130
140
  }
131
141
  );
132
142
  }
133
- ), L = i.forwardRef(
134
- function({ className: t, ...r }, a) {
135
- const o = c();
143
+ ), z = i.forwardRef(
144
+ function({ className: t, ...r }, o) {
145
+ const a = c();
136
146
  return /* @__PURE__ */ n(
137
147
  "div",
138
148
  {
139
- ref: a,
149
+ ref: o,
140
150
  "data-slot": "card-content",
141
151
  [d]: "card-content",
142
- className: s(o.content, t),
152
+ className: s(a.content, t),
143
153
  ...r
144
154
  }
145
155
  );
146
156
  }
147
- ), D = i.forwardRef(
148
- function({ className: t, ...r }, a) {
149
- const o = c();
157
+ ), B = i.forwardRef(
158
+ function({ className: t, ...r }, o) {
159
+ const a = c();
150
160
  return /* @__PURE__ */ n(
151
161
  "div",
152
162
  {
153
- ref: a,
163
+ ref: o,
154
164
  "data-slot": "card-footer",
155
165
  [d]: "card-footer",
156
- className: s(o.footer, t),
166
+ className: s(a.footer, t),
157
167
  ...r
158
168
  }
159
169
  );
160
170
  }
161
171
  );
162
172
  export {
163
- T as Card,
164
- H as CardAction,
165
- L as CardContent,
166
- A as CardDescription,
167
- D as CardFooter,
168
- N as CardHeader,
169
- v as CardTitle
173
+ L as Card,
174
+ k as CardAction,
175
+ z as CardContent,
176
+ j as CardDescription,
177
+ B as CardFooter,
178
+ W as CardHeader,
179
+ D as CardTitle
170
180
  };
171
181
  //# sourceMappingURL=card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","sources":["../../../src/components/card/card.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\n/**\n * Card — the first compound component: ONE `makeZenithStyles` call for the whole family, one slot\n * per sub-component, and each sub-component reads its own slot. Callout, Breadcrumb and Table copy\n * this pattern.\n */\n\nconst useStyles = makeZenithStyles({\n root: {\n backgroundColor: tokens.body,\n display: \"flex\",\n flexDirection: \"column\",\n ...shorthands.gap(tokens.spacingGroup2),\n ...shorthands.borderRadius(tokens.radiusXl),\n ...shorthands.border(\"1px\", \"solid\", \"transparent\"),\n paddingTop: tokens.spacingGroup2,\n paddingBottom: tokens.spacingGroup2,\n boxShadow: \"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)\",\n },\n header: {\n containerType: \"inline-size\",\n containerName: \"card-header\",\n display: \"grid\",\n gridAutoRows: \"min-content\",\n gridTemplateRows: \"auto auto\",\n alignItems: \"start\",\n ...shorthands.gap(tokens.spacingElement2),\n paddingLeft: tokens.spacingGroup2,\n paddingRight: tokens.spacingGroup2,\n \"&:is(.border-b)\": {\n paddingBottom: tokens.spacingGroup2,\n },\n [`&:has([${SLOT_ATTR}=\"card-action\"])`]: {\n gridTemplateColumns: \"1fr auto\",\n },\n },\n title: {\n // v1 `leading-none` — a literal 1 because no token exists for it.\n lineHeight: 1,\n fontWeight: tokens.fontWeightSemibold,\n },\n description: {\n color: tokens.grayA11,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n },\n action: {\n gridColumnStart: 2,\n gridRowStart: 1,\n gridRowEnd: \"span 2\",\n alignSelf: \"start\",\n justifySelf: \"end\",\n },\n content: {\n paddingLeft: tokens.spacingGroup2,\n paddingRight: tokens.spacingGroup2,\n },\n footer: {\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: tokens.spacingGroup2,\n paddingRight: tokens.spacingGroup2,\n \"&:is(.border-t)\": {\n paddingTop: tokens.spacingGroup2,\n },\n },\n})\n\nexport type CardProps = React.ComponentProps<\"div\">\n\nexport const Card = React.forwardRef<HTMLDivElement, CardProps>(function Card(\n { className, ...props },\n ref\n) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card\"\n {...{ [SLOT_ATTR]: \"card\" }}\n className={mergeClasses(styles.root, className)}\n {...props}\n />\n )\n})\n\nexport const CardHeader = React.forwardRef<HTMLDivElement, CardProps>(\n function CardHeader({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-header\"\n {...{ [SLOT_ATTR]: \"card-header\" }}\n className={mergeClasses(styles.header, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardTitle = React.forwardRef<HTMLDivElement, CardProps>(\n function CardTitle({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-title\"\n {...{ [SLOT_ATTR]: \"card-title\" }}\n className={mergeClasses(styles.title, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardDescription = React.forwardRef<HTMLDivElement, CardProps>(\n function CardDescription({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-description\"\n {...{ [SLOT_ATTR]: \"card-description\" }}\n className={mergeClasses(styles.description, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardAction = React.forwardRef<HTMLDivElement, CardProps>(\n function CardAction({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-action\"\n {...{ [SLOT_ATTR]: \"card-action\" }}\n className={mergeClasses(styles.action, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardContent = React.forwardRef<HTMLDivElement, CardProps>(\n function CardContent({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-content\"\n {...{ [SLOT_ATTR]: \"card-content\" }}\n className={mergeClasses(styles.content, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardFooter = React.forwardRef<HTMLDivElement, CardProps>(\n function CardFooter({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-footer\"\n {...{ [SLOT_ATTR]: \"card-footer\" }}\n className={mergeClasses(styles.footer, className)}\n {...props}\n />\n )\n }\n)\n"],"names":["useStyles","makeZenithStyles","tokens.body","shorthands","tokens.spacingGroup2","tokens.radiusXl","tokens.spacingElement2","SLOT_ATTR","tokens.fontWeightSemibold","tokens.grayA11","tokens.textSm","tokens.leadingSm","Card","React","className","props","ref","styles","jsx","mergeClasses","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter"],"mappings":"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"}
1
+ {"version":3,"file":"card.js","sources":["../../../src/components/card/card.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport { boxModel } from \"../../styles/host-reset\"\nimport * as tokens from \"../../tokens\"\n\n/**\n * Card — the first compound component: ONE `makeZenithStyles` call for the whole family, one slot\n * per sub-component, and each sub-component reads its own slot. Callout, Breadcrumb and Table copy\n * this pattern.\n */\n\nconst useStyles = makeZenithStyles({\n root: {\n ...boxModel,\n // The container role recipe Surface's `section` uses: fill, edge, radius and shadow all follow\n // the theme. In dark mode the role has no border width and no shadow, so the fill is what\n // separates the card from the page.\n backgroundColor: tokens.surfaceContainer,\n display: \"flex\",\n flexDirection: \"column\",\n ...shorthands.gap(tokens.spacingGroup2),\n ...shorthands.borderRadius(tokens.surfaceRadiusContainer),\n ...shorthands.borderWidth(tokens.borderWidthContainer),\n ...shorthands.borderStyle(\"solid\"),\n ...shorthands.borderColor(tokens.borderContainer),\n paddingTop: tokens.spacingGroup2,\n paddingBottom: tokens.spacingGroup2,\n boxShadow: tokens.shadowContainer,\n },\n header: {\n ...boxModel,\n containerType: \"inline-size\",\n containerName: \"card-header\",\n display: \"grid\",\n gridAutoRows: \"min-content\",\n gridTemplateRows: \"auto auto\",\n alignItems: \"start\",\n ...shorthands.gap(tokens.spacingElement2),\n paddingLeft: tokens.spacingGroup2,\n paddingRight: tokens.spacingGroup2,\n \"&:is(.border-b)\": {\n paddingBottom: tokens.spacingGroup2,\n },\n [`&:has([${SLOT_ATTR}=\"card-action\"])`]: {\n gridTemplateColumns: \"1fr auto\",\n },\n },\n title: {\n // v1 `leading-none` — a literal 1 because no token exists for it.\n lineHeight: 1,\n fontWeight: tokens.fontWeightSemibold,\n },\n description: {\n color: tokens.grayA11,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n },\n action: {\n gridColumnStart: 2,\n gridRowStart: 1,\n gridRowEnd: \"span 2\",\n alignSelf: \"start\",\n justifySelf: \"end\",\n },\n content: {\n ...boxModel,\n paddingLeft: tokens.spacingGroup2,\n paddingRight: tokens.spacingGroup2,\n },\n footer: {\n ...boxModel,\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: tokens.spacingGroup2,\n paddingRight: tokens.spacingGroup2,\n \"&:is(.border-t)\": {\n paddingTop: tokens.spacingGroup2,\n },\n },\n})\n\nexport type CardProps = React.ComponentProps<\"div\">\n\nexport const Card = React.forwardRef<HTMLDivElement, CardProps>(function Card(\n { className, ...props },\n ref\n) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card\"\n {...{ [SLOT_ATTR]: \"card\" }}\n className={mergeClasses(styles.root, className)}\n {...props}\n />\n )\n})\n\nexport const CardHeader = React.forwardRef<HTMLDivElement, CardProps>(\n function CardHeader({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-header\"\n {...{ [SLOT_ATTR]: \"card-header\" }}\n className={mergeClasses(styles.header, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardTitle = React.forwardRef<HTMLDivElement, CardProps>(\n function CardTitle({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-title\"\n {...{ [SLOT_ATTR]: \"card-title\" }}\n className={mergeClasses(styles.title, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardDescription = React.forwardRef<HTMLDivElement, CardProps>(\n function CardDescription({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-description\"\n {...{ [SLOT_ATTR]: \"card-description\" }}\n className={mergeClasses(styles.description, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardAction = React.forwardRef<HTMLDivElement, CardProps>(\n function CardAction({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-action\"\n {...{ [SLOT_ATTR]: \"card-action\" }}\n className={mergeClasses(styles.action, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardContent = React.forwardRef<HTMLDivElement, CardProps>(\n function CardContent({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-content\"\n {...{ [SLOT_ATTR]: \"card-content\" }}\n className={mergeClasses(styles.content, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardFooter = React.forwardRef<HTMLDivElement, CardProps>(\n function CardFooter({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-footer\"\n {...{ [SLOT_ATTR]: \"card-footer\" }}\n className={mergeClasses(styles.footer, className)}\n {...props}\n />\n )\n }\n)\n"],"names":["useStyles","makeZenithStyles","boxModel","tokens.surfaceContainer","shorthands","tokens.spacingGroup2","tokens.surfaceRadiusContainer","tokens.borderWidthContainer","tokens.borderContainer","tokens.shadowContainer","tokens.spacingElement2","SLOT_ATTR","tokens.fontWeightSemibold","tokens.grayA11","tokens.textSm","tokens.leadingSm","Card","React","className","props","ref","styles","jsx","mergeClasses","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
2
  import * as n from "react";
3
- import { Checkbox as m, CheckboxIndicator as u } from "../../vendor/.bun/@radix-ui_react-checkbox@1.3.3_2b23df507bdda662/vendor/@radix-ui/react-checkbox/dist/index.js";
4
- import { SLOT_ATTR as i, mergeClasses as x, shorthands as e } from "@epilot/zenith-runtime/v1";
3
+ import { Checkbox as m, CheckboxIndicator as x } from "../../vendor/.bun/@radix-ui_react-checkbox@1.3.3_2b23df507bdda662/vendor/@radix-ui/react-checkbox/dist/index.js";
4
+ import { SLOT_ATTR as i, mergeClasses as u, shorthands as e } from "@epilot/zenith-runtime/v1";
5
5
  import { makeZenithStyles as b } from "../../styles/make-styles.js";
6
- import { accentContrast as p, accentSolid as f, accentOnSoft as g, accentA7 as s, focusRing as d, radiusSm as k, accentSoft as w, errorA8 as C, grayA4 as v } from "../../tokens/index.js";
7
- const S = n.forwardRef(function(r, t) {
6
+ import { boxModel as p, nativeControl as f } from "../../styles/host-reset.js";
7
+ import { accentContrast as g, accentSolid as k, accentOnSoft as C, accentA7 as s, focusRing as d, radiusSm as w, accentSoft as v, errorA8 as S, grayA4 as y } from "../../tokens/index.js";
8
+ const T = n.forwardRef(function(r, t) {
8
9
  return /* @__PURE__ */ o(
9
10
  "svg",
10
11
  {
@@ -20,7 +21,7 @@ const S = n.forwardRef(function(r, t) {
20
21
  children: /* @__PURE__ */ o("path", { d: "m382-354 339-339q12-12 28-12t28 12q12 12 12 28.5T777-636L410-268q-12 12-28 12t-28-12L182-440q-12-12-11.5-28.5T183-497q12-12 28.5-12t28.5 12l142 143Z" })
21
22
  }
22
23
  );
23
- }), y = n.forwardRef(function(r, t) {
24
+ }), q = n.forwardRef(function(r, t) {
24
25
  return /* @__PURE__ */ o(
25
26
  "svg",
26
27
  {
@@ -36,16 +37,17 @@ const S = n.forwardRef(function(r, t) {
36
37
  children: /* @__PURE__ */ o("path", { d: "M280-440q-17 0-28.5-11.5T240-480q0-17 11.5-28.5T280-520h400q17 0 28.5 11.5T720-480q0 17-11.5 28.5T680-440H280Z" })
37
38
  }
38
39
  );
39
- }), T = b({
40
+ }), R = b({
40
41
  root: {
42
+ ...f,
41
43
  ...e.border("1px", "solid", s),
42
- backgroundColor: w,
44
+ backgroundColor: v,
43
45
  display: "inline-block",
44
46
  boxSizing: "border-box",
45
47
  width: "1rem",
46
48
  height: "1rem",
47
49
  flexShrink: 0,
48
- borderRadius: k,
50
+ borderRadius: w,
49
51
  // v1 `shadow-xs` — elevation comes from Tailwind's shadow scale, which has no token (B7).
50
52
  boxShadow: "0 1px 2px 0 #0000000d",
51
53
  transitionProperty: "box-shadow",
@@ -63,21 +65,21 @@ const S = n.forwardRef(function(r, t) {
63
65
  "&[data-disabled]": {
64
66
  cursor: "not-allowed",
65
67
  opacity: 0.5,
66
- ...e.borderColor(v)
68
+ ...e.borderColor(y)
67
69
  },
68
70
  "&[aria-invalid='true']": {
69
71
  outlineColor: d,
70
- ...e.borderColor(C)
72
+ ...e.borderColor(S)
71
73
  },
72
74
  "&[data-state='indeterminate']": {
73
75
  backgroundColor: s,
74
76
  ...e.borderColor("transparent"),
75
- color: g
77
+ color: C
76
78
  },
77
79
  "&[data-state='checked']": {
78
- backgroundColor: f,
80
+ backgroundColor: k,
79
81
  ...e.borderWidth("0px"),
80
- color: p
82
+ color: g
81
83
  },
82
84
  "&[data-state='checked'] svg, &[data-state='indeterminate'] svg": {
83
85
  width: "0.875rem",
@@ -85,6 +87,7 @@ const S = n.forwardRef(function(r, t) {
85
87
  }
86
88
  },
87
89
  indicator: {
90
+ ...p,
88
91
  display: "grid",
89
92
  placeContent: "center",
90
93
  height: "100%",
@@ -95,8 +98,8 @@ const S = n.forwardRef(function(r, t) {
95
98
  height: "0.875rem"
96
99
  }
97
100
  }
98
- }), M = n.forwardRef(function({ className: r, checked: t, ...l }, h) {
99
- const a = T();
101
+ }), z = n.forwardRef(function({ className: r, checked: t, ...l }, h) {
102
+ const a = R();
100
103
  return /* @__PURE__ */ o(
101
104
  m,
102
105
  {
@@ -104,21 +107,21 @@ const S = n.forwardRef(function(r, t) {
104
107
  checked: t,
105
108
  "data-slot": "checkbox",
106
109
  [i]: "checkbox",
107
- className: x(a.root, r),
110
+ className: u(a.root, r),
108
111
  ...l,
109
112
  children: /* @__PURE__ */ o(
110
- u,
113
+ x,
111
114
  {
112
115
  "data-slot": "checkbox-indicator",
113
116
  [i]: "checkbox-indicator",
114
117
  className: a.indicator,
115
- children: t === "indeterminate" ? /* @__PURE__ */ o(y, {}) : /* @__PURE__ */ o(S, {})
118
+ children: t === "indeterminate" ? /* @__PURE__ */ o(q, {}) : /* @__PURE__ */ o(T, {})
116
119
  }
117
120
  )
118
121
  }
119
122
  );
120
123
  });
121
124
  export {
122
- M as Checkbox
125
+ z as Checkbox
123
126
  };
124
127
  //# sourceMappingURL=checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sources":["../../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\nconst CheckIcon = React.forwardRef<\n SVGSVGElement,\n React.SVGProps<SVGSVGElement>\n>(function CheckIcon(props, ref) {\n return (\n <svg\n ref={ref}\n data-slot=\"checkbox-check-icon\"\n {...{ [SLOT_ATTR]: \"checkbox-check-icon\" }}\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"m382-354 339-339q12-12 28-12t28 12q12 12 12 28.5T777-636L410-268q-12 12-28 12t-28-12L182-440q-12-12-11.5-28.5T183-497q12-12 28.5-12t28.5 12l142 143Z\" />\n </svg>\n )\n})\n\nconst MinusIcon = React.forwardRef<\n SVGSVGElement,\n React.SVGProps<SVGSVGElement>\n>(function MinusIcon(props, ref) {\n return (\n <svg\n ref={ref}\n data-slot=\"checkbox-minus-icon\"\n {...{ [SLOT_ATTR]: \"checkbox-minus-icon\" }}\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M280-440q-17 0-28.5-11.5T240-480q0-17 11.5-28.5T280-520h400q17 0 28.5 11.5T720-480q0 17-11.5 28.5T680-440H280Z\" />\n </svg>\n )\n})\n\nconst useStyles = makeZenithStyles({\n root: {\n ...shorthands.border(\"1px\", \"solid\", tokens.accentA7),\n backgroundColor: tokens.accentSoft,\n display: \"inline-block\",\n boxSizing: \"border-box\",\n width: \"1rem\",\n height: \"1rem\",\n flexShrink: 0,\n borderRadius: tokens.radiusSm,\n // v1 `shadow-xs` — elevation comes from Tailwind's shadow scale, which has no token (B7).\n boxShadow: \"0 1px 2px 0 #0000000d\",\n transitionProperty: \"box-shadow\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n transitionDuration: \"150ms\",\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.focusRing,\n },\n \"&[data-disabled]\": {\n cursor: \"not-allowed\",\n opacity: 0.5,\n ...shorthands.borderColor(tokens.grayA4),\n },\n \"&[aria-invalid='true']\": {\n outlineColor: tokens.focusRing,\n ...shorthands.borderColor(tokens.errorA8),\n },\n \"&[data-state='indeterminate']\": {\n backgroundColor: tokens.accentA7,\n ...shorthands.borderColor(\"transparent\"),\n color: tokens.accentOnSoft,\n },\n \"&[data-state='checked']\": {\n backgroundColor: tokens.accentSolid,\n ...shorthands.borderWidth(\"0px\"),\n color: tokens.accentContrast,\n },\n \"&[data-state='checked'] svg, &[data-state='indeterminate'] svg\": {\n width: \"0.875rem\",\n height: \"0.875rem\",\n },\n },\n indicator: {\n display: \"grid\",\n placeContent: \"center\",\n height: \"100%\",\n color: \"currentColor\",\n transitionProperty: \"none\",\n \"& svg\": {\n width: \"0.875rem\",\n height: \"0.875rem\",\n },\n },\n})\n\nexport type CheckboxProps = React.ComponentProps<typeof CheckboxPrimitive.Root>\n\nexport const Checkbox = React.forwardRef<\n React.ComponentRef<typeof CheckboxPrimitive.Root>,\n CheckboxProps\n>(function Checkbox({ className, checked, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CheckboxPrimitive.Root\n ref={ref}\n checked={checked}\n data-slot=\"checkbox\"\n {...{ [SLOT_ATTR]: \"checkbox\" }}\n className={mergeClasses(styles.root, className)}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n {...{ [SLOT_ATTR]: \"checkbox-indicator\" }}\n className={styles.indicator}\n >\n {checked === \"indeterminate\" ? <MinusIcon /> : <CheckIcon />}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n})\n"],"names":["CheckIcon","React","props","ref","jsx","SLOT_ATTR","MinusIcon","useStyles","makeZenithStyles","shorthands","tokens.accentA7","tokens.accentSoft","tokens.radiusSm","tokens.focusRing","tokens.grayA4","tokens.errorA8","tokens.accentOnSoft","tokens.accentSolid","tokens.accentContrast","Checkbox","className","checked","styles","CheckboxPrimitive.Root","mergeClasses","CheckboxPrimitive.Indicator"],"mappings":"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"}
1
+ {"version":3,"file":"checkbox.js","sources":["../../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport { boxModel, nativeControl } from \"../../styles/host-reset\"\nimport * as tokens from \"../../tokens\"\n\nconst CheckIcon = React.forwardRef<\n SVGSVGElement,\n React.SVGProps<SVGSVGElement>\n>(function CheckIcon(props, ref) {\n return (\n <svg\n ref={ref}\n data-slot=\"checkbox-check-icon\"\n {...{ [SLOT_ATTR]: \"checkbox-check-icon\" }}\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"m382-354 339-339q12-12 28-12t28 12q12 12 12 28.5T777-636L410-268q-12 12-28 12t-28-12L182-440q-12-12-11.5-28.5T183-497q12-12 28.5-12t28.5 12l142 143Z\" />\n </svg>\n )\n})\n\nconst MinusIcon = React.forwardRef<\n SVGSVGElement,\n React.SVGProps<SVGSVGElement>\n>(function MinusIcon(props, ref) {\n return (\n <svg\n ref={ref}\n data-slot=\"checkbox-minus-icon\"\n {...{ [SLOT_ATTR]: \"checkbox-minus-icon\" }}\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M280-440q-17 0-28.5-11.5T240-480q0-17 11.5-28.5T280-520h400q17 0 28.5 11.5T720-480q0 17-11.5 28.5T680-440H280Z\" />\n </svg>\n )\n})\n\nconst useStyles = makeZenithStyles({\n root: {\n ...nativeControl,\n ...shorthands.border(\"1px\", \"solid\", tokens.accentA7),\n backgroundColor: tokens.accentSoft,\n display: \"inline-block\",\n boxSizing: \"border-box\",\n width: \"1rem\",\n height: \"1rem\",\n flexShrink: 0,\n borderRadius: tokens.radiusSm,\n // v1 `shadow-xs` — elevation comes from Tailwind's shadow scale, which has no token (B7).\n boxShadow: \"0 1px 2px 0 #0000000d\",\n transitionProperty: \"box-shadow\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n transitionDuration: \"150ms\",\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.focusRing,\n },\n \"&[data-disabled]\": {\n cursor: \"not-allowed\",\n opacity: 0.5,\n ...shorthands.borderColor(tokens.grayA4),\n },\n \"&[aria-invalid='true']\": {\n outlineColor: tokens.focusRing,\n ...shorthands.borderColor(tokens.errorA8),\n },\n \"&[data-state='indeterminate']\": {\n backgroundColor: tokens.accentA7,\n ...shorthands.borderColor(\"transparent\"),\n color: tokens.accentOnSoft,\n },\n \"&[data-state='checked']\": {\n backgroundColor: tokens.accentSolid,\n ...shorthands.borderWidth(\"0px\"),\n color: tokens.accentContrast,\n },\n \"&[data-state='checked'] svg, &[data-state='indeterminate'] svg\": {\n width: \"0.875rem\",\n height: \"0.875rem\",\n },\n },\n indicator: {\n ...boxModel,\n display: \"grid\",\n placeContent: \"center\",\n height: \"100%\",\n color: \"currentColor\",\n transitionProperty: \"none\",\n \"& svg\": {\n width: \"0.875rem\",\n height: \"0.875rem\",\n },\n },\n})\n\nexport type CheckboxProps = React.ComponentProps<typeof CheckboxPrimitive.Root>\n\nexport const Checkbox = React.forwardRef<\n React.ComponentRef<typeof CheckboxPrimitive.Root>,\n CheckboxProps\n>(function Checkbox({ className, checked, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CheckboxPrimitive.Root\n ref={ref}\n checked={checked}\n data-slot=\"checkbox\"\n {...{ [SLOT_ATTR]: \"checkbox\" }}\n className={mergeClasses(styles.root, className)}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n {...{ [SLOT_ATTR]: \"checkbox-indicator\" }}\n className={styles.indicator}\n >\n {checked === \"indeterminate\" ? <MinusIcon /> : <CheckIcon />}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n})\n"],"names":["CheckIcon","React","props","ref","jsx","SLOT_ATTR","MinusIcon","useStyles","makeZenithStyles","nativeControl","shorthands","tokens.accentA7","tokens.accentSoft","tokens.radiusSm","tokens.focusRing","tokens.grayA4","tokens.errorA8","tokens.accentOnSoft","tokens.accentSolid","tokens.accentContrast","boxModel","Checkbox","className","checked","styles","CheckboxPrimitive.Root","mergeClasses","CheckboxPrimitive.Indicator"],"mappings":"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"}