@marigold/components 0.6.0 → 0.9.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.
package/dist/index.js CHANGED
@@ -21,7 +21,6 @@ var __spreadValues = (a, b) => {
21
21
  return a;
22
22
  };
23
23
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
24
  var __objRest = (source, exclude) => {
26
25
  var target = {};
27
26
  for (var prop in source)
@@ -38,627 +37,566 @@ var __export = (target, all) => {
38
37
  for (var name in all)
39
38
  __defProp(target, name, { get: all[name], enumerable: true });
40
39
  };
41
- var __reExport = (target, module2, copyDefault, desc) => {
42
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
43
- for (let key of __getOwnPropNames(module2))
44
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
45
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
40
+ var __copyProps = (to, from, except, desc) => {
41
+ if (from && typeof from === "object" || typeof from === "function") {
42
+ for (let key of __getOwnPropNames(from))
43
+ if (!__hasOwnProp.call(to, key) && key !== except)
44
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
46
45
  }
47
- return target;
48
- };
49
- var __toESM = (module2, isNodeMode) => {
50
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
46
+ return to;
51
47
  };
52
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
53
- return (module2, temp) => {
54
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
55
- };
56
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
48
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
49
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
57
50
 
58
51
  // src/index.ts
59
52
  var src_exports = {};
60
53
  __export(src_exports, {
61
- ActionGroup: () => ActionGroup,
54
+ Aside: () => Aside,
55
+ Aspect: () => Aspect,
62
56
  Badge: () => Badge,
63
57
  Box: () => import_system.Box,
58
+ Breakout: () => Breakout,
64
59
  Button: () => Button,
65
60
  Card: () => Card,
61
+ Center: () => Center,
66
62
  Checkbox: () => Checkbox,
67
- Column: () => Column,
63
+ CheckboxGroup: () => CheckboxGroup,
64
+ CheckboxGroupContext: () => CheckboxGroupContext,
68
65
  Columns: () => Columns,
69
66
  Container: () => Container,
67
+ Content: () => Content,
70
68
  Dialog: () => Dialog,
71
69
  Divider: () => Divider,
72
- Field: () => Field,
70
+ Footer: () => Footer,
71
+ Header: () => Header,
72
+ Headline: () => Headline,
73
73
  Image: () => Image,
74
74
  Inline: () => Inline,
75
75
  Input: () => Input,
76
- Item: () => import_collections.Item,
77
- Label: () => Label,
76
+ Item: () => import_collections2.Item,
77
+ Label: () => Label2,
78
78
  LabelBase: () => LabelBase,
79
79
  Link: () => Link,
80
80
  MarigoldProvider: () => MarigoldProvider,
81
81
  Menu: () => Menu,
82
- MenuItem: () => MenuItem,
83
82
  Message: () => Message,
83
+ Overlay: () => Overlay,
84
+ Popover: () => Popover,
84
85
  Radio: () => Radio,
85
86
  SSRProvider: () => import_ssr.SSRProvider,
86
- Section: () => import_collections.Section,
87
+ Section: () => import_collections2.Section,
87
88
  Select: () => Select,
88
89
  Slider: () => Slider,
89
90
  Stack: () => Stack,
90
91
  Switch: () => Switch,
92
+ Table: () => Table,
91
93
  Text: () => Text,
92
- Textarea: () => Textarea,
93
- ThemeProvider: () => import_system5.ThemeProvider,
94
+ TextArea: () => TextArea,
95
+ TextField: () => TextField,
96
+ ThemeProvider: () => import_system18.ThemeProvider,
97
+ Tiles: () => Tiles,
94
98
  Tooltip: () => Tooltip,
95
99
  TooltipContext: () => TooltipContext,
96
100
  TooltipTrigger: () => TooltipTrigger,
97
101
  ValidationMessage: () => ValidationMessage,
98
- VisuallyHidden: () => import_visually_hidden2.VisuallyHidden,
102
+ VisuallyHidden: () => import_visually_hidden.VisuallyHidden,
103
+ useCheckboxGroupContext: () => useCheckboxGroupContext,
99
104
  useDialogButtonProps: () => useDialogButtonProps,
100
- useTheme: () => import_system5.useTheme
105
+ useTheme: () => import_system18.useTheme
101
106
  });
107
+ module.exports = __toCommonJS(src_exports);
102
108
 
103
- // src/ActionGroup/ActionGroup.tsx
104
- var import_react4 = __toESM(require("react"));
105
-
106
- // src/Inline/Inline.tsx
107
- var import_react2 = __toESM(require("react"));
108
-
109
- // src/utils/flatten-children.ts
110
- var import_react = require("react");
111
- var import_react_is = require("react-is");
112
- var flattenChildren = (children, depth = 0, keys = []) => import_react.Children.toArray(children).reduce((acc, node) => {
113
- if ((0, import_react_is.isFragment)(node)) {
114
- acc.push.apply(acc, flattenChildren(node.props.children, depth + 1, keys.concat(node.key)));
115
- } else {
116
- if ((0, import_react.isValidElement)(node)) {
117
- acc.push((0, import_react.cloneElement)(node, {
118
- key: keys.concat(String(node.key)).join(".")
119
- }));
120
- } else if (typeof node === "string" || typeof node === "number") {
121
- acc.push(node);
122
- }
123
- }
124
- return acc;
125
- }, []);
109
+ // src/Aside/Aside.tsx
110
+ var import_react = __toESM(require("react"));
126
111
 
127
112
  // src/Box.ts
128
113
  var import_system = require("@marigold/system");
129
114
 
130
- // src/Inline/Inline.tsx
131
- var ALIGNMENT = {
132
- top: "flex-start",
133
- center: "center",
134
- bottom: "flex-end"
135
- };
136
- var Inline = (_a) => {
137
- var _b = _a, {
138
- space = "none",
139
- align = "center",
140
- children
141
- } = _b, props = __objRest(_b, [
142
- "space",
143
- "align",
144
- "children"
145
- ]);
146
- return /* @__PURE__ */ import_react2.default.createElement(import_system.Box, __spreadValues({
147
- __baseCSS: { gap: space, flexWrap: "wrap" },
148
- display: "inline-flex",
149
- alignItems: ALIGNMENT[align]
150
- }, props), import_react2.Children.map(flattenChildren(children), (child) => child));
151
- };
152
-
153
- // src/Stack/Stack.tsx
154
- var import_react3 = __toESM(require("react"));
155
- var ALIGNMENT2 = {
156
- left: "flex-start",
157
- center: "center",
158
- right: "flex-end"
115
+ // src/Aside/Aside.tsx
116
+ var SIDE_MAP = {
117
+ left: [":not(style):first-of-type", ":last-child"],
118
+ right: [":last-child", ":not(style):first-of-type"]
159
119
  };
160
- var Stack = (_a) => {
161
- var _b = _a, {
162
- space = "none",
163
- align = "left",
164
- children
165
- } = _b, props = __objRest(_b, [
166
- "space",
167
- "align",
168
- "children"
169
- ]);
170
- return /* @__PURE__ */ import_react3.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
171
- display: "flex",
172
- flexDirection: "column",
173
- alignItems: ALIGNMENT2[align],
174
- css: { "> * + *": { pt: space } }
175
- }), import_react3.Children.map(flattenChildren(children), (child) => /* @__PURE__ */ import_react3.default.createElement(import_system.Box, null, import_react3.default.cloneElement(child, {}, child.props.children))));
120
+ var Aside = ({
121
+ children,
122
+ sideWidth,
123
+ space = "none",
124
+ side = "left",
125
+ stretch = true,
126
+ wrap = "50%"
127
+ }) => {
128
+ const [aside, content] = SIDE_MAP[side];
129
+ return /* @__PURE__ */ import_react.default.createElement(import_system.Box, {
130
+ css: {
131
+ display: "flex",
132
+ flexWrap: "wrap",
133
+ gap: space,
134
+ alignItems: stretch ? void 0 : "flex-start",
135
+ [`> ${aside}`]: {
136
+ flexBasis: sideWidth,
137
+ flexGrow: 1
138
+ },
139
+ [`> ${content}`]: {
140
+ flexBasis: 0,
141
+ flexGrow: 999,
142
+ minInlineSize: wrap
143
+ }
144
+ }
145
+ }, children);
176
146
  };
177
147
 
178
- // src/ActionGroup/ActionGroup.tsx
179
- var ActionGroup = (_a) => {
180
- var _b = _a, {
181
- space = "none",
182
- verticalAlignment = false,
183
- children
184
- } = _b, props = __objRest(_b, [
185
- "space",
186
- "verticalAlignment",
187
- "children"
188
- ]);
189
- return verticalAlignment ? /* @__PURE__ */ import_react4.default.createElement(Stack, __spreadValues({
190
- space
191
- }, props), children) : /* @__PURE__ */ import_react4.default.createElement(Inline, __spreadValues({
192
- space
193
- }, props), children);
194
- };
148
+ // src/Aspect/Aspect.tsx
149
+ var import_react2 = __toESM(require("react"));
150
+ var import_tokens = require("@marigold/tokens");
151
+ var Aspect = ({
152
+ ratio = "square",
153
+ maxWidth,
154
+ children
155
+ }) => /* @__PURE__ */ import_react2.default.createElement(import_system.Box, {
156
+ css: {
157
+ aspectRatio: import_tokens.aspect[ratio],
158
+ overflow: "hidden",
159
+ maxWidth
160
+ }
161
+ }, children);
195
162
 
196
163
  // src/Badge/Badge.tsx
197
- var import_react5 = __toESM(require("react"));
164
+ var import_react3 = __toESM(require("react"));
165
+ var import_system2 = require("@marigold/system");
198
166
  var Badge = (_a) => {
199
- var _b = _a, {
200
- variant = "",
201
- bgColor = "transparent",
202
- borderColor = "transparent",
203
- children
204
- } = _b, props = __objRest(_b, [
205
- "variant",
206
- "bgColor",
207
- "borderColor",
208
- "children"
209
- ]);
210
- return /* @__PURE__ */ import_react5.default.createElement(import_system.Box, __spreadValues({
211
- css: { bg: bgColor, borderColor },
212
- variant: `badge.${variant}`
213
- }, props), children);
167
+ var _b = _a, { variant, size, children } = _b, props = __objRest(_b, ["variant", "size", "children"]);
168
+ const styles = (0, import_system2.useComponentStyles)("Badge", { variant, size });
169
+ return /* @__PURE__ */ import_react3.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
170
+ css: styles
171
+ }), children);
214
172
  };
215
173
 
216
174
  // src/Button/Button.tsx
217
- var import_react6 = __toESM(require("react"));
175
+ var import_react4 = __toESM(require("react"));
218
176
  var import_button = require("@react-aria/button");
219
- var Button = (0, import_react6.forwardRef)((_a, ref) => {
177
+ var import_focus = require("@react-aria/focus");
178
+ var import_utils = require("@react-aria/utils");
179
+ var import_system3 = require("@marigold/system");
180
+ var Button = (0, import_react4.forwardRef)((_a, ref) => {
220
181
  var _b = _a, {
221
182
  as = "button",
222
- variant = "primary",
223
- size = "large",
224
- space = "none",
225
- disabled,
226
183
  children,
227
- className
184
+ variant,
185
+ size,
186
+ disabled
228
187
  } = _b, props = __objRest(_b, [
229
188
  "as",
189
+ "children",
230
190
  "variant",
231
191
  "size",
232
- "space",
233
- "disabled",
234
- "children",
235
- "className"
192
+ "disabled"
236
193
  ]);
237
- const { buttonProps } = (0, import_button.useButton)(__spreadProps(__spreadValues({}, props), {
194
+ const buttonRef = (0, import_react4.useRef)(null);
195
+ (0, import_react4.useImperativeHandle)(ref, () => buttonRef.current);
196
+ const { buttonProps, isPressed } = (0, import_button.useButton)(__spreadProps(__spreadValues({}, props), {
238
197
  elementType: typeof as === "string" ? as : "span",
239
198
  isDisabled: disabled
240
- }), ref);
241
- return /* @__PURE__ */ import_react6.default.createElement(import_system.Box, __spreadProps(__spreadValues(__spreadValues({}, buttonProps), props), {
199
+ }), buttonRef);
200
+ const { isFocusVisible, focusProps } = (0, import_focus.useFocusRing)();
201
+ const styles = (0, import_system3.useComponentStyles)("Button", { variant, size });
202
+ const stateProps = (0, import_system3.useStateProps)({
203
+ active: isPressed,
204
+ focus: isFocusVisible
205
+ });
206
+ return /* @__PURE__ */ import_react4.default.createElement(import_system3.Box, __spreadProps(__spreadValues(__spreadValues({}, (0, import_utils.mergeProps)(buttonProps, focusProps)), stateProps), {
242
207
  as,
243
- display: "inline-flex",
244
- alignItems: "center",
245
- variant: [`button.${variant}`, `button.${size}`],
246
- className,
247
- ref,
248
- css: { columnGap: space }
208
+ ref: buttonRef,
209
+ __baseCSS: {
210
+ display: "inline-flex",
211
+ alignItems: "center",
212
+ gap: "0.5ch",
213
+ cursor: disabled ? "not-allowed" : "pointer"
214
+ },
215
+ css: styles
249
216
  }), children);
250
217
  });
251
218
 
252
- // src/Card/Card.tsx
253
- var import_react7 = __toESM(require("react"));
254
- var Card = (_a) => {
219
+ // src/Breakout/Breakout.tsx
220
+ var import_react5 = __toESM(require("react"));
221
+ var useAlignment = (direction) => {
222
+ switch (direction) {
223
+ case "right":
224
+ return "flex-end";
225
+ case "bottom":
226
+ return "flex-end";
227
+ case "center":
228
+ return "center";
229
+ }
230
+ return "flex-start";
231
+ };
232
+ var Breakout = (_a) => {
255
233
  var _b = _a, {
256
- variant = "",
257
- title,
258
- width,
259
- className,
234
+ horizontalAlign,
235
+ verticalAlign,
260
236
  children
261
237
  } = _b, props = __objRest(_b, [
262
- "variant",
263
- "title",
264
- "width",
265
- "className",
238
+ "horizontalAlign",
239
+ "verticalAlign",
266
240
  "children"
267
241
  ]);
268
- return /* @__PURE__ */ import_react7.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
269
- variant: `card.${variant}`,
270
- maxWidth: width,
271
- className
272
- }), title && /* @__PURE__ */ import_react7.default.createElement(import_system.Box, {
273
- as: "h2",
274
- variant: "text.h2",
275
- pb: "small"
276
- }, title), children);
277
- };
278
-
279
- // src/Checkbox/Checkbox.tsx
280
- var import_react12 = __toESM(require("react"));
281
- var import_focus = require("@react-aria/focus");
282
- var import_visually_hidden = require("@react-aria/visually-hidden");
283
- var import_checkbox = require("@react-aria/checkbox");
284
-
285
- // ../../node_modules/@react-stately/utils/dist/module.js
286
- var import_react8 = require("react");
287
- function useControlledState(value, defaultValue, onChange) {
288
- let [stateValue, setStateValue] = (0, import_react8.useState)(value || defaultValue);
289
- let ref = (0, import_react8.useRef)(value !== void 0);
290
- let wasControlled = ref.current;
291
- let isControlled = value !== void 0;
292
- let stateRef = (0, import_react8.useRef)(stateValue);
293
- if (wasControlled !== isControlled) {
294
- console.warn("WARN: A component changed from " + (wasControlled ? "controlled" : "uncontrolled") + " to " + (isControlled ? "controlled" : "uncontrolled") + ".");
295
- }
296
- ref.current = isControlled;
297
- let setValue = (0, import_react8.useCallback)(function(value2) {
298
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
299
- args[_key - 1] = arguments[_key];
300
- }
301
- let onChangeCaller = function onChangeCaller2(value3) {
302
- if (onChange) {
303
- if (!Object.is(stateRef.current, value3)) {
304
- for (var _len2 = arguments.length, onChangeArgs = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
305
- onChangeArgs[_key2 - 1] = arguments[_key2];
306
- }
307
- onChange(value3, ...onChangeArgs);
308
- }
309
- }
310
- if (!isControlled) {
311
- stateRef.current = value3;
312
- }
313
- };
314
- if (typeof value2 === "function") {
315
- let updateFunction = function updateFunction2(oldValue) {
316
- for (var _len3 = arguments.length, functionArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
317
- functionArgs[_key3 - 1] = arguments[_key3];
318
- }
319
- let interceptedValue = value2(isControlled ? stateRef.current : oldValue, ...functionArgs);
320
- onChangeCaller(interceptedValue, ...args);
321
- if (!isControlled) {
322
- return interceptedValue;
323
- }
324
- return oldValue;
325
- };
326
- setStateValue(updateFunction);
327
- } else {
328
- if (!isControlled) {
329
- setStateValue(value2);
330
- }
331
- onChangeCaller(value2, ...args);
332
- }
333
- }, [isControlled, onChange]);
334
- if (isControlled) {
335
- stateRef.current = value;
336
- } else {
337
- value = stateValue;
338
- }
339
- return [value, setValue];
340
- }
341
-
342
- // ../../node_modules/@react-stately/toggle/dist/module.js
343
- function useToggleState(props) {
344
- if (props === void 0) {
345
- props = {};
346
- }
347
- let {
348
- isReadOnly,
349
- onChange
350
- } = props;
351
- let [isSelected, setSelected] = useControlledState(props.isSelected, props.defaultSelected || false, () => {
352
- });
353
- function updateSelected(value) {
354
- if (!isReadOnly) {
355
- setSelected(value);
356
- if (onChange) {
357
- onChange(value);
358
- }
359
- }
360
- }
361
- function toggleState() {
362
- if (!isReadOnly) {
363
- setSelected((prev) => {
364
- let newVal = !prev;
365
- if (onChange) {
366
- onChange(newVal);
367
- }
368
- return newVal;
369
- });
242
+ const alignItems = useAlignment(horizontalAlign);
243
+ const justifyContent = useAlignment(verticalAlign);
244
+ return /* @__PURE__ */ import_react5.default.createElement(import_system.Box, __spreadValues({
245
+ alignItems,
246
+ justifyContent,
247
+ width: "100%",
248
+ display: verticalAlign || horizontalAlign ? "flex" : "block",
249
+ css: {
250
+ gridColumn: "1 / -1"
370
251
  }
371
- }
372
- return {
373
- isSelected,
374
- setSelected: updateSelected,
375
- toggle: toggleState
376
- };
377
- }
378
-
379
- // src/Checkbox/Checkbox.tsx
380
- var import_icons2 = require("@marigold/icons");
252
+ }, props), children);
253
+ };
381
254
 
382
- // src/Checkbox/CheckboxIcon.tsx
383
- var import_react9 = __toESM(require("react"));
384
- var import_system2 = require("@marigold/system");
385
- var CheckboxIcon = ({
386
- variant = "",
387
- checked = false,
388
- disabled = false,
389
- indeterminated,
390
- error = false
391
- }) => {
392
- const conditionalStates = disabled ? {
393
- disabled
394
- } : {
395
- checked,
396
- error
397
- };
398
- return /* @__PURE__ */ import_react9.default.createElement(import_system2.SVG, {
399
- width: "16",
400
- height: "32",
401
- viewBox: "0 0 16 32",
402
- fill: "none",
403
- "aria-hidden": "true"
404
- }, /* @__PURE__ */ import_react9.default.createElement(import_system.Box, {
405
- as: "rect",
406
- x: "0.5",
407
- y: "8.5",
408
- width: "15px",
409
- height: "15px",
410
- rx: "1.5",
411
- variant: (0, import_system2.conditional)(`checkbox.${variant}`, conditionalStates)
412
- }), checked && indeterminated && /* @__PURE__ */ import_react9.default.createElement(import_system.Box, {
413
- __baseCSS: { fill: "gray00" },
414
- as: "path",
415
- fillRule: "evenodd",
416
- clipRule: "evenodd",
417
- d: "M13.5 17.0402H2.5V15.4688H13.5V17.0402V17.0402Z"
418
- }), checked && !indeterminated && /* @__PURE__ */ import_react9.default.createElement(import_system.Box, {
419
- __baseCSS: { fill: "gray00" },
420
- as: "path",
421
- fillRule: "evenodd",
422
- clipRule: "evenodd",
423
- d: "M13.9571 12.8338L12.4085 11.2852L6.08699 17.6007L3.59887 15.1126L2.04163 16.6588L6.08682 20.704L13.9571 12.8338Z"
424
- }));
255
+ // src/Card/Card.tsx
256
+ var import_react6 = __toESM(require("react"));
257
+ var import_system4 = require("@marigold/system");
258
+ var Card = (_a) => {
259
+ var _b = _a, { children, variant, size } = _b, props = __objRest(_b, ["children", "variant", "size"]);
260
+ const styles = (0, import_system4.useComponentStyles)("Card", { variant, size });
261
+ return /* @__PURE__ */ import_react6.default.createElement(import_system4.Box, __spreadProps(__spreadValues({}, props), {
262
+ css: styles
263
+ }), children);
425
264
  };
426
265
 
427
- // src/Label/Label.tsx
428
- var import_react10 = __toESM(require("react"));
429
- var import_icons = require("@marigold/icons");
430
- var LabelBase = (_a) => {
266
+ // src/Center/Center.tsx
267
+ var import_react7 = __toESM(require("react"));
268
+ var Center = (_a) => {
431
269
  var _b = _a, {
432
- variant = "above",
433
- required,
434
- color = "text",
270
+ maxWidth,
271
+ space = "none",
435
272
  children
436
273
  } = _b, props = __objRest(_b, [
437
- "variant",
438
- "required",
439
- "color",
274
+ "maxWidth",
275
+ "space",
440
276
  "children"
441
277
  ]);
442
- return /* @__PURE__ */ import_react10.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
443
- as: "label",
444
- __baseCSS: { color },
445
- variant: `label.${variant}`
446
- }), children);
278
+ return /* @__PURE__ */ import_react7.default.createElement(import_system.Box, __spreadValues({
279
+ css: {
280
+ boxSizing: "content-box",
281
+ display: "flex",
282
+ flexDirection: "column",
283
+ alignItems: "center",
284
+ justifyContent: "center",
285
+ marginInline: "auto",
286
+ maxInlineSize: maxWidth,
287
+ gap: space
288
+ }
289
+ }, props), children);
447
290
  };
291
+
292
+ // src/Checkbox/Checkbox.tsx
293
+ var import_react10 = __toESM(require("react"));
294
+ var import_checkbox3 = require("@react-aria/checkbox");
295
+ var import_focus2 = require("@react-aria/focus");
296
+ var import_interactions = require("@react-aria/interactions");
297
+ var import_toggle = require("@react-stately/toggle");
298
+ var import_system7 = require("@marigold/system");
299
+
300
+ // src/Checkbox/CheckboxGroup.tsx
301
+ var import_react9 = __toESM(require("react"));
302
+ var import_checkbox = require("@react-aria/checkbox");
303
+ var import_checkbox2 = require("@react-stately/checkbox");
304
+ var import_system6 = require("@marigold/system");
305
+
306
+ // src/Field/Label.tsx
307
+ var import_react8 = __toESM(require("react"));
308
+ var import_icons = require("@marigold/icons");
309
+ var import_system5 = require("@marigold/system");
448
310
  var Label = (_a) => {
449
311
  var _b = _a, {
312
+ as = "label",
450
313
  required,
451
- children
314
+ children,
315
+ variant,
316
+ size
452
317
  } = _b, props = __objRest(_b, [
318
+ "as",
453
319
  "required",
454
- "children"
320
+ "children",
321
+ "variant",
322
+ "size"
455
323
  ]);
456
- return required ? /* @__PURE__ */ import_react10.default.createElement(import_system.Box, {
457
- as: "span",
458
- display: "inline-flex",
459
- alignItems: "center"
460
- }, /* @__PURE__ */ import_react10.default.createElement(LabelBase, __spreadValues({}, props), children), required && /* @__PURE__ */ import_react10.default.createElement(import_icons.Required, {
324
+ const styles = (0, import_system5.useComponentStyles)("Label", { size, variant });
325
+ return /* @__PURE__ */ import_react8.default.createElement(import_system5.Box, __spreadProps(__spreadValues({}, props), {
326
+ as,
327
+ __baseCSS: { display: "flex", alignItems: "center", gap: 4 },
328
+ css: styles
329
+ }), children, required && /* @__PURE__ */ import_react8.default.createElement(import_icons.Required, {
330
+ role: "presentation",
461
331
  size: 16,
462
332
  fill: "error"
463
- })) : /* @__PURE__ */ import_react10.default.createElement(LabelBase, __spreadValues({}, props), children);
333
+ }));
464
334
  };
465
335
 
466
- // src/ValidationMessage/ValidationMessage.tsx
467
- var import_react11 = __toESM(require("react"));
468
- var ValidationMessage = (_a) => {
336
+ // src/Checkbox/CheckboxGroup.tsx
337
+ var CheckboxGroupContext = (0, import_react9.createContext)(null);
338
+ var useCheckboxGroupContext = () => (0, import_react9.useContext)(CheckboxGroupContext);
339
+ var CheckboxGroup = (_a) => {
469
340
  var _b = _a, {
470
- variant = "error",
471
341
  children,
472
- className
473
- } = _b, props = __objRest(_b, [
474
- "variant",
342
+ variant,
343
+ size,
344
+ required,
345
+ disabled,
346
+ readOnly,
347
+ error
348
+ } = _b, rest = __objRest(_b, [
475
349
  "children",
476
- "className"
350
+ "variant",
351
+ "size",
352
+ "required",
353
+ "disabled",
354
+ "readOnly",
355
+ "error"
477
356
  ]);
478
- return /* @__PURE__ */ import_react11.default.createElement(import_system.Box, __spreadValues({
357
+ const props = __spreadValues({
358
+ isRequired: required,
359
+ isDisabled: disabled,
360
+ isReadOnly: readOnly,
361
+ validationState: error ? "invalid" : "valid"
362
+ }, rest);
363
+ const state = (0, import_checkbox2.useCheckboxGroupState)(props);
364
+ const { groupProps, labelProps } = (0, import_checkbox.useCheckboxGroup)(props, state);
365
+ const styles = (0, import_system6.useComponentStyles)("CheckboxGroup", { variant, size }, { parts: ["container", "group"] });
366
+ return /* @__PURE__ */ import_react9.default.createElement(import_system6.Box, __spreadProps(__spreadValues({}, groupProps), {
367
+ css: styles.container
368
+ }), props.label && /* @__PURE__ */ import_react9.default.createElement(Label, __spreadValues({
479
369
  as: "span",
480
- display: "flex",
481
- alignItems: "center",
482
- variant: `validation.${variant}`,
483
- className
484
- }, props), children);
370
+ required
371
+ }, labelProps), props.label), /* @__PURE__ */ import_react9.default.createElement(import_system6.Box, {
372
+ role: "presentation",
373
+ __baseCSS: {
374
+ display: "flex",
375
+ flexDirection: "column",
376
+ alignItems: "left"
377
+ },
378
+ css: styles.group
379
+ }, /* @__PURE__ */ import_react9.default.createElement(CheckboxGroupContext.Provider, {
380
+ value: __spreadValues({ variant, size, error }, state)
381
+ }, children)));
485
382
  };
486
383
 
487
384
  // src/Checkbox/Checkbox.tsx
488
- var CheckboxInput = (_a) => {
489
- var _b = _a, {
490
- error,
491
- indeterminated = false
492
- } = _b, props = __objRest(_b, [
493
- "error",
494
- "indeterminated"
495
- ]);
496
- const state = useToggleState(props);
497
- const ref = import_react12.default.useRef(null);
498
- const { inputProps } = (0, import_checkbox.useCheckbox)(props, state, ref);
499
- const { focusProps } = (0, import_focus.useFocusRing)();
500
- const _a2 = props, { children } = _a2, restProps = __objRest(_a2, ["children"]);
501
- return /* @__PURE__ */ import_react12.default.createElement(import_system.Box, {
502
- pr: "xsmall"
503
- }, /* @__PURE__ */ import_react12.default.createElement(import_visually_hidden.VisuallyHidden, null, /* @__PURE__ */ import_react12.default.createElement("input", __spreadValues(__spreadProps(__spreadValues(__spreadValues({}, inputProps), focusProps), {
504
- ref
505
- }), restProps))), /* @__PURE__ */ import_react12.default.createElement(CheckboxIcon, {
506
- checked: props.checked,
507
- variant: props.variant,
508
- disabled: props.disabled,
509
- indeterminated,
510
- error
511
- }));
385
+ var CheckMark = () => /* @__PURE__ */ import_react10.default.createElement("svg", {
386
+ viewBox: "0 0 12 10"
387
+ }, /* @__PURE__ */ import_react10.default.createElement("path", {
388
+ fill: "currentColor",
389
+ stroke: "none",
390
+ d: "M11.915 1.548 10.367 0 4.045 6.315 1.557 3.827 0 5.373l4.045 4.046 7.87-7.871Z"
391
+ }));
392
+ var IndeterminateMark = () => /* @__PURE__ */ import_react10.default.createElement("svg", {
393
+ width: "12",
394
+ height: "3",
395
+ viewBox: "0 0 12 3"
396
+ }, /* @__PURE__ */ import_react10.default.createElement("path", {
397
+ fill: "currentColor",
398
+ stroke: "none",
399
+ d: "M11.5 2.04018H0.5V0.46875H11.5V2.04018Z"
400
+ }));
401
+ var Icon = (_a) => {
402
+ var _b = _a, { css, checked, indeterminate } = _b, props = __objRest(_b, ["css", "checked", "indeterminate"]);
403
+ const icon = indeterminate ? /* @__PURE__ */ import_react10.default.createElement(IndeterminateMark, null) : /* @__PURE__ */ import_react10.default.createElement(CheckMark, null);
404
+ return /* @__PURE__ */ import_react10.default.createElement(import_system7.Box, __spreadValues({
405
+ "aria-hidden": "true",
406
+ __baseCSS: {
407
+ width: 16,
408
+ height: 16,
409
+ bg: "#fff",
410
+ border: "1px solid #000",
411
+ borderRadius: 3,
412
+ display: "flex",
413
+ alignItems: "center",
414
+ justifyContent: "center",
415
+ p: "1px"
416
+ },
417
+ css
418
+ }, props), checked ? icon : null);
512
419
  };
513
420
  var Checkbox = (_a) => {
514
421
  var _b = _a, {
422
+ size,
423
+ variant,
424
+ disabled,
425
+ checked,
426
+ defaultChecked,
427
+ indeterminate,
428
+ readOnly,
515
429
  required,
516
- labelVariant = "inline",
517
- errorMessage
430
+ error
518
431
  } = _b, props = __objRest(_b, [
432
+ "size",
433
+ "variant",
434
+ "disabled",
435
+ "checked",
436
+ "defaultChecked",
437
+ "indeterminate",
438
+ "readOnly",
519
439
  "required",
520
- "labelVariant",
521
- "errorMessage"
522
- ]);
523
- return /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null, /* @__PURE__ */ import_react12.default.createElement(import_system.Box, {
524
- as: Label,
525
- __baseCSS: {
526
- ":hover": { cursor: props.disabled ? "not-allowed" : "pointer" }
527
- },
528
- htmlFor: props.id,
529
- required,
530
- variant: `label.${labelVariant}`,
531
- color: props.disabled ? "disabled" : "text"
532
- }, /* @__PURE__ */ import_react12.default.createElement(CheckboxInput, __spreadValues({
533
- error: props.error
534
- }, props)), props.children), props.error && errorMessage && /* @__PURE__ */ import_react12.default.createElement(ValidationMessage, null, /* @__PURE__ */ import_react12.default.createElement(import_icons2.Exclamation, {
535
- size: 16
536
- }), errorMessage));
537
- };
538
-
539
- // src/Column/Column.tsx
540
- var import_react13 = __toESM(require("react"));
541
- var transform = (width) => {
542
- if (Array.isArray(width)) {
543
- return width.map((v) => `${v / 12 * 100}%`);
544
- }
545
- return `${width / 12 * 100}%`;
546
- };
547
- var Column = (_a) => {
548
- var _b = _a, {
549
- width = 12,
550
- children
551
- } = _b, props = __objRest(_b, [
552
- "width",
553
- "children"
440
+ "error"
554
441
  ]);
555
- return /* @__PURE__ */ import_react13.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
556
- width: transform(width)
557
- }), children);
442
+ const ref = import_react10.default.useRef(null);
443
+ const checkboxProps = {
444
+ isIndeterminate: indeterminate,
445
+ isDisabled: disabled,
446
+ isReadOnly: readOnly,
447
+ isRequired: required,
448
+ validationState: error ? "invalid" : "valid"
449
+ };
450
+ const groupState = useCheckboxGroupContext();
451
+ const { inputProps } = groupState ? (0, import_checkbox3.useCheckboxGroupItem)(__spreadProps(__spreadValues(__spreadValues({}, props), checkboxProps), {
452
+ value: props.value
453
+ }), groupState, ref) : (0, import_checkbox3.useCheckbox)(__spreadValues(__spreadValues({
454
+ isSelected: checked,
455
+ defaultSelected: defaultChecked
456
+ }, checkboxProps), props), (0, import_toggle.useToggleState)(__spreadValues({
457
+ isSelected: checked,
458
+ defaultSelected: defaultChecked
459
+ }, props)), ref);
460
+ const styles = (0, import_system7.useComponentStyles)("Checkbox", { variant: (groupState == null ? void 0 : groupState.variant) || variant, size: (groupState == null ? void 0 : groupState.size) || size }, { parts: ["container", "label", "checkbox"] });
461
+ const { hoverProps, isHovered } = (0, import_interactions.useHover)({});
462
+ const { isFocusVisible, focusProps } = (0, import_focus2.useFocusRing)();
463
+ const stateProps = (0, import_system7.useStateProps)({
464
+ hover: isHovered,
465
+ focus: isFocusVisible,
466
+ checked: inputProps.checked,
467
+ disabled: inputProps.disabled,
468
+ error: (groupState == null ? void 0 : groupState.error) || error,
469
+ readOnly,
470
+ indeterminate
471
+ });
472
+ return /* @__PURE__ */ import_react10.default.createElement(import_system7.Box, __spreadValues(__spreadValues({
473
+ as: "label",
474
+ variant: "checkbox",
475
+ __baseCSS: {
476
+ display: "flex",
477
+ alignItems: "center",
478
+ gap: "1ch",
479
+ position: "relative"
480
+ },
481
+ css: styles.container
482
+ }, hoverProps), stateProps), /* @__PURE__ */ import_react10.default.createElement(import_system7.Box, __spreadValues(__spreadValues({
483
+ as: "input",
484
+ type: "checkbox",
485
+ ref,
486
+ css: {
487
+ position: "absolute",
488
+ width: "100%",
489
+ height: "100%",
490
+ top: 0,
491
+ left: 0,
492
+ zIndex: 1,
493
+ opacity: 1e-4,
494
+ cursor: inputProps.disabled ? "not-allowed" : "pointer"
495
+ }
496
+ }, inputProps), focusProps)), /* @__PURE__ */ import_react10.default.createElement(Icon, __spreadValues({
497
+ checked: inputProps.checked,
498
+ indeterminate,
499
+ css: styles.checkbox
500
+ }, stateProps)), /* @__PURE__ */ import_react10.default.createElement(import_system7.Box, __spreadValues({
501
+ css: styles.label
502
+ }, stateProps), props.children));
558
503
  };
559
504
 
560
505
  // src/Columns/Columns.tsx
561
- var import_react14 = __toESM(require("react"));
562
- var import_system3 = require("@marigold/system");
563
- var useAlignment = (direction) => {
564
- switch (direction) {
565
- case "right":
566
- return "flex-end";
567
- case "bottom":
568
- return "flex-end";
569
- case "center":
570
- return "center";
571
- }
572
- return "flex-start";
573
- };
506
+ var import_react11 = __toESM(require("react"));
574
507
  var Columns = (_a) => {
575
508
  var _b = _a, {
576
509
  space = "none",
577
- horizontalAlign = "left",
578
- verticalAlign = "top",
579
- className,
510
+ columns,
511
+ collapseAt = "40em",
580
512
  children
581
513
  } = _b, props = __objRest(_b, [
582
514
  "space",
583
- "horizontalAlign",
584
- "verticalAlign",
585
- "className",
515
+ "columns",
516
+ "collapseAt",
586
517
  "children"
587
518
  ]);
588
- const justifyContent = useAlignment(horizontalAlign);
589
- const alignItems = useAlignment(verticalAlign);
590
- const { css } = (0, import_system3.useTheme)();
591
- const spaceObject = css({ space });
592
- const spaceValue = Object.values(spaceObject)[0];
593
- return /* @__PURE__ */ import_react14.default.createElement(import_system.Box, {
594
- p: space,
595
- display: "flex",
596
- className
597
- }, /* @__PURE__ */ import_react14.default.createElement(import_system.Box, __spreadValues({
598
- width: `calc(100% + ${spaceValue}px)`,
599
- m: `${-spaceValue / 2}px`,
519
+ if (import_react11.Children.count(children) !== columns.length) {
520
+ throw new Error(`Columns: expected ${columns.length} children, got ${import_react11.Children.count(children)}`);
521
+ }
522
+ const getColumnWidths = columns.map((column, index) => {
523
+ return {
524
+ [`> :nth-of-type(${index + 1})`]: {
525
+ flexGrow: column
526
+ }
527
+ };
528
+ });
529
+ return /* @__PURE__ */ import_react11.default.createElement(import_system.Box, __spreadValues({
600
530
  display: "flex",
601
- flexWrap: "wrap",
602
- alignItems,
603
- justifyContent
604
- }, props), import_react14.Children.map(flattenChildren(children), (child) => {
605
- return import_react14.default.cloneElement(child, {}, /* @__PURE__ */ import_react14.default.createElement(import_system.Box, {
606
- css: { p: `${spaceValue / 2}px` }
607
- }, child.props.children));
608
- })));
531
+ css: Object.assign({
532
+ flexWrap: "wrap",
533
+ gap: space,
534
+ "> *": {
535
+ flexBasis: `calc(( ${collapseAt} - 100%) * 999)`
536
+ }
537
+ }, ...getColumnWidths)
538
+ }, props), children);
539
+ };
540
+
541
+ // src/Content/Content.tsx
542
+ var import_react12 = __toESM(require("react"));
543
+ var import_system8 = require("@marigold/system");
544
+ var Content = (_a) => {
545
+ var _b = _a, {
546
+ children,
547
+ variant,
548
+ size
549
+ } = _b, props = __objRest(_b, [
550
+ "children",
551
+ "variant",
552
+ "size"
553
+ ]);
554
+ const styles = (0, import_system8.useComponentStyles)("Content", { variant, size });
555
+ return /* @__PURE__ */ import_react12.default.createElement(import_system8.Box, __spreadProps(__spreadValues({
556
+ as: "section"
557
+ }, props), {
558
+ css: styles
559
+ }), children);
609
560
  };
610
561
 
611
562
  // src/Dialog/Dialog.tsx
612
- var import_react17 = __toESM(require("react"));
563
+ var import_react15 = __toESM(require("react"));
613
564
  var import_overlays2 = require("@react-stately/overlays");
614
565
  var import_overlays3 = require("@react-aria/overlays");
615
566
  var import_button2 = require("@react-aria/button");
616
- var import_icons3 = require("@marigold/icons");
567
+ var import_icons2 = require("@marigold/icons");
617
568
 
618
- // src/Text/Text.tsx
619
- var import_react15 = __toESM(require("react"));
620
- var Text = (0, import_react15.forwardRef)((_a, ref) => {
569
+ // src/Headline/Headline.tsx
570
+ var import_react13 = __toESM(require("react"));
571
+ var import_system9 = require("@marigold/system");
572
+ var Headline = (_a) => {
621
573
  var _b = _a, {
622
- as = "span",
623
- variant = "body",
624
574
  children,
625
- align,
626
- color,
627
- cursor,
575
+ variant,
628
576
  size,
629
- outline,
630
- userSelect
577
+ level = "1"
631
578
  } = _b, props = __objRest(_b, [
632
- "as",
633
- "variant",
634
579
  "children",
635
- "align",
636
- "color",
637
- "cursor",
580
+ "variant",
638
581
  "size",
639
- "outline",
640
- "userSelect"
582
+ "level"
641
583
  ]);
642
- return /* @__PURE__ */ import_react15.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
643
- as,
644
- variant: `text.${variant}`,
645
- css: {
646
- textAlign: align,
647
- fontSize: size,
648
- color,
649
- cursor,
650
- outline,
651
- userSelect
652
- },
653
- ref
584
+ const styles = (0, import_system9.useComponentStyles)("Headline", {
585
+ variant,
586
+ size: size != null ? size : `level-${level}`
587
+ });
588
+ return /* @__PURE__ */ import_react13.default.createElement(import_system9.Box, __spreadProps(__spreadValues({
589
+ as: `h${level}`
590
+ }, props), {
591
+ css: styles
654
592
  }), children);
655
- });
593
+ };
656
594
 
657
595
  // src/Dialog/ModalDialog.tsx
658
- var import_react16 = __toESM(require("react"));
596
+ var import_react14 = __toESM(require("react"));
659
597
  var import_overlays = require("@react-aria/overlays");
660
598
  var import_dialog = require("@react-aria/dialog");
661
- var import_focus2 = require("@react-aria/focus");
599
+ var import_focus3 = require("@react-aria/focus");
662
600
  var ModalDialog = (_a) => {
663
601
  var _b = _a, {
664
602
  variant,
@@ -670,12 +608,12 @@ var ModalDialog = (_a) => {
670
608
  "children"
671
609
  ]);
672
610
  const _a2 = props, { isDismissable, isOpen, onClose } = _a2, restProps = __objRest(_a2, ["isDismissable", "isOpen", "onClose"]);
673
- const ref = import_react16.default.useRef();
611
+ const ref = import_react14.default.useRef();
674
612
  const { overlayProps, underlayProps } = (0, import_overlays.useOverlay)({ isDismissable, isOpen, onClose }, ref);
675
613
  (0, import_overlays.usePreventScroll)();
676
614
  const { modalProps } = (0, import_overlays.useModal)();
677
615
  const { dialogProps } = (0, import_dialog.useDialog)(props, ref);
678
- return /* @__PURE__ */ import_react16.default.createElement(import_system.Box, __spreadValues({
616
+ return /* @__PURE__ */ import_react14.default.createElement(import_system.Box, __spreadValues({
679
617
  __baseCSS: {
680
618
  display: "grid",
681
619
  placeItems: "center",
@@ -687,11 +625,11 @@ var ModalDialog = (_a) => {
687
625
  right: 0
688
626
  },
689
627
  variant: `dialog.${backdropVariant}`
690
- }, underlayProps), /* @__PURE__ */ import_react16.default.createElement(import_focus2.FocusScope, {
628
+ }, underlayProps), /* @__PURE__ */ import_react14.default.createElement(import_focus3.FocusScope, {
691
629
  contain: true,
692
630
  restoreFocus: true,
693
631
  autoFocus: true
694
- }, /* @__PURE__ */ import_react16.default.createElement(import_system.Box, __spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, overlayProps), dialogProps), modalProps), {
632
+ }, /* @__PURE__ */ import_react14.default.createElement(import_system.Box, __spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, overlayProps), dialogProps), modalProps), {
695
633
  ref,
696
634
  variant: variant ? `dialog.${variant}` : `dialog`
697
635
  }), restProps), children)));
@@ -716,17 +654,17 @@ var Dialog = (_a) => {
716
654
  "title",
717
655
  "variant"
718
656
  ]);
719
- const closeButtonRef = import_react17.default.useRef();
657
+ const closeButtonRef = import_react15.default.useRef();
720
658
  const { buttonProps: closeButtonProps } = (0, import_button2.useButton)({
721
659
  onPress: () => close()
722
660
  }, closeButtonRef);
723
- return /* @__PURE__ */ import_react17.default.createElement(import_overlays3.OverlayContainer, null, /* @__PURE__ */ import_react17.default.createElement(ModalDialog, __spreadValues({
661
+ return /* @__PURE__ */ import_react15.default.createElement(import_overlays3.OverlayContainer, null, /* @__PURE__ */ import_react15.default.createElement(ModalDialog, __spreadValues({
724
662
  variant,
725
663
  backdropVariant,
726
664
  isOpen,
727
665
  onClose: close,
728
666
  isDismissable: true
729
- }, props), /* @__PURE__ */ import_react17.default.createElement(import_system.Box, {
667
+ }, props), /* @__PURE__ */ import_react15.default.createElement(import_system.Box, {
730
668
  __baseCSS: {
731
669
  display: "flex",
732
670
  justifyContent: "space-between",
@@ -735,12 +673,11 @@ var Dialog = (_a) => {
735
673
  pb: "large"
736
674
  },
737
675
  className
738
- }, /* @__PURE__ */ import_react17.default.createElement(import_system.Box, {
676
+ }, /* @__PURE__ */ import_react15.default.createElement(import_system.Box, {
739
677
  pt: "medium"
740
- }, title && /* @__PURE__ */ import_react17.default.createElement(Text, {
741
- as: "h4",
742
- variant: "headline4"
743
- }, title), children), /* @__PURE__ */ import_react17.default.createElement(import_system.Box, {
678
+ }, title && /* @__PURE__ */ import_react15.default.createElement(Headline, {
679
+ level: "4"
680
+ }, title), children), /* @__PURE__ */ import_react15.default.createElement(import_system.Box, {
744
681
  __baseCSS: {
745
682
  display: "flex",
746
683
  justifyContent: "flex-end",
@@ -748,7 +685,7 @@ var Dialog = (_a) => {
748
685
  paddingTop: "xsmall",
749
686
  paddingX: "xsmall"
750
687
  }
751
- }, /* @__PURE__ */ import_react17.default.createElement(import_system.Box, __spreadProps(__spreadValues({
688
+ }, /* @__PURE__ */ import_react15.default.createElement(import_system.Box, __spreadProps(__spreadValues({
752
689
  as: Button,
753
690
  __baseCSS: {
754
691
  color: "text",
@@ -766,13 +703,13 @@ var Dialog = (_a) => {
766
703
  }
767
704
  }, closeButtonProps), {
768
705
  ref: closeButtonRef
769
- }), /* @__PURE__ */ import_react17.default.createElement(import_icons3.Close, {
706
+ }), /* @__PURE__ */ import_react15.default.createElement(import_icons2.Close, {
770
707
  size: 16
771
708
  }))))));
772
709
  };
773
710
  var useDialogButtonProps = () => {
774
711
  const state = (0, import_overlays2.useOverlayTriggerState)({});
775
- const openButtonRef = import_react17.default.useRef();
712
+ const openButtonRef = import_react15.default.useRef();
776
713
  const { buttonProps: openButtonProps } = (0, import_button2.useButton)({
777
714
  onPress: () => state.open()
778
715
  }, openButtonRef);
@@ -784,150 +721,328 @@ var useDialogButtonProps = () => {
784
721
  };
785
722
 
786
723
  // src/Divider/Divider.tsx
787
- var import_react18 = __toESM(require("react"));
724
+ var import_react16 = __toESM(require("react"));
788
725
  var import_separator = require("@react-aria/separator");
726
+ var import_system10 = require("@marigold/system");
789
727
  var Divider = (_a) => {
790
- var _b = _a, { variant = "" } = _b, props = __objRest(_b, ["variant"]);
728
+ var _b = _a, { variant } = _b, props = __objRest(_b, ["variant"]);
791
729
  const { separatorProps } = (0, import_separator.useSeparator)(props);
792
- return /* @__PURE__ */ import_react18.default.createElement(import_system.Box, __spreadValues(__spreadValues({
793
- __baseCSS: { width: "100%", height: "1px", m: "none", bg: "text" },
794
- variant: `divider.${variant}`
730
+ const styles = (0, import_system10.useComponentStyles)("Divider", { variant });
731
+ return /* @__PURE__ */ import_react16.default.createElement(import_system.Box, __spreadValues(__spreadValues({
732
+ css: styles
795
733
  }, props), separatorProps));
796
734
  };
797
735
 
798
- // src/Field/Field.tsx
736
+ // src/Footer/Footer.tsx
737
+ var import_react17 = __toESM(require("react"));
738
+ var import_system11 = require("@marigold/system");
739
+ var Footer = (_a) => {
740
+ var _b = _a, { children, variant, size } = _b, props = __objRest(_b, ["children", "variant", "size"]);
741
+ const styles = (0, import_system11.useComponentStyles)("Footer", { variant, size });
742
+ return /* @__PURE__ */ import_react17.default.createElement(import_system.Box, __spreadProps(__spreadValues({
743
+ as: "footer"
744
+ }, props), {
745
+ css: styles
746
+ }), children);
747
+ };
748
+
749
+ // src/VisuallyHidden/VisuallyHidden.tsx
750
+ var import_visually_hidden = require("@react-aria/visually-hidden");
751
+
752
+ // src/Header/Header.tsx
753
+ var import_react18 = __toESM(require("react"));
754
+ var import_system12 = require("@marigold/system");
755
+ var Header = (_a) => {
756
+ var _b = _a, { children, variant, size } = _b, props = __objRest(_b, ["children", "variant", "size"]);
757
+ const styles = (0, import_system12.useComponentStyles)("Header", { variant, size });
758
+ return /* @__PURE__ */ import_react18.default.createElement(import_system.Box, __spreadProps(__spreadValues({
759
+ as: "header"
760
+ }, props), {
761
+ css: styles
762
+ }), children);
763
+ };
764
+
765
+ // src/Image/Image.tsx
799
766
  var import_react19 = __toESM(require("react"));
800
- var import_textfield = require("@react-aria/textfield");
801
- var import_icons4 = require("@marigold/icons");
802
- var Field = (_a) => {
767
+ var import_system13 = require("@marigold/system");
768
+ var Image = (_a) => {
769
+ var _b = _a, { variant } = _b, props = __objRest(_b, ["variant"]);
770
+ const styles = (0, import_system13.useComponentStyles)("Image", { variant });
771
+ return /* @__PURE__ */ import_react19.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
772
+ as: "img",
773
+ css: styles
774
+ }));
775
+ };
776
+
777
+ // src/Inline/Inline.tsx
778
+ var import_react20 = __toESM(require("react"));
779
+ var ALIGNMENT = {
780
+ top: "flex-start",
781
+ center: "center",
782
+ bottom: "flex-end"
783
+ };
784
+ var Inline = (_a) => {
803
785
  var _b = _a, {
804
- type = "text",
805
- variant = "",
806
- labelVariant = "above",
807
- htmlFor,
786
+ space = "none",
787
+ align = "center",
788
+ children
789
+ } = _b, props = __objRest(_b, [
790
+ "space",
791
+ "align",
792
+ "children"
793
+ ]);
794
+ return /* @__PURE__ */ import_react20.default.createElement(import_system.Box, __spreadValues({
795
+ __baseCSS: { gap: space, flexWrap: "wrap" },
796
+ display: "inline-flex",
797
+ alignItems: ALIGNMENT[align]
798
+ }, props), children);
799
+ };
800
+
801
+ // src/Label/Label.tsx
802
+ var import_react21 = __toESM(require("react"));
803
+ var import_icons3 = require("@marigold/icons");
804
+ var LabelBase = (_a) => {
805
+ var _b = _a, {
806
+ variant = "above",
808
807
  required,
809
- error,
810
- errorMessage
808
+ color = "text",
809
+ children
811
810
  } = _b, props = __objRest(_b, [
812
- "type",
813
811
  "variant",
814
- "labelVariant",
815
- "htmlFor",
816
812
  "required",
817
- "error",
818
- "errorMessage"
813
+ "color",
814
+ "children"
819
815
  ]);
820
- const ref = (0, import_react19.useRef)(null);
821
- const { labelProps, inputProps, errorMessageProps } = (0, import_textfield.useTextField)(props, ref);
822
- return /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement(Label, __spreadValues({
823
- variant: labelVariant,
824
- htmlFor,
825
- required
826
- }, labelProps), props.label), /* @__PURE__ */ import_react19.default.createElement(import_system.Box, __spreadValues(__spreadProps(__spreadValues({
827
- as: "input",
828
- type,
829
- id: htmlFor,
830
- variant: `input.${variant}`
831
- }, inputProps), {
832
- ref
833
- }), props)), error && errorMessage && /* @__PURE__ */ import_react19.default.createElement(ValidationMessage, __spreadValues({}, errorMessageProps), /* @__PURE__ */ import_react19.default.createElement(import_icons4.Exclamation, {
834
- size: 16
835
- }), errorMessage));
816
+ return /* @__PURE__ */ import_react21.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
817
+ as: "label",
818
+ __baseCSS: { color },
819
+ variant: `label.${variant}`
820
+ }), children);
836
821
  };
837
-
838
- // src/VisuallyHidden/VisuallyHidden.tsx
839
- var import_visually_hidden2 = require("@react-aria/visually-hidden");
840
-
841
- // src/Image/Image.tsx
842
- var import_react20 = __toESM(require("react"));
843
- var Image = (_a) => {
822
+ var Label2 = (_a) => {
844
823
  var _b = _a, {
845
- variant = "fullWidth"
824
+ required,
825
+ children
846
826
  } = _b, props = __objRest(_b, [
847
- "variant"
827
+ "required",
828
+ "children"
848
829
  ]);
849
- return /* @__PURE__ */ import_react20.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
850
- as: "img",
851
- variant: `image.${variant}`
852
- }));
830
+ return required ? /* @__PURE__ */ import_react21.default.createElement(import_system.Box, {
831
+ as: "span",
832
+ display: "inline-flex",
833
+ alignItems: "center"
834
+ }, /* @__PURE__ */ import_react21.default.createElement(LabelBase, __spreadValues({}, props), children), required && /* @__PURE__ */ import_react21.default.createElement(import_icons3.Required, {
835
+ size: 16,
836
+ fill: "error"
837
+ })) : /* @__PURE__ */ import_react21.default.createElement(LabelBase, __spreadValues({}, props), children);
853
838
  };
854
839
 
855
840
  // src/Link/Link.tsx
856
- var import_react21 = __toESM(require("react"));
841
+ var import_react22 = __toESM(require("react"));
857
842
  var import_link = require("@react-aria/link");
843
+ var import_system14 = require("@marigold/system");
858
844
  var Link = (_a) => {
859
845
  var _b = _a, {
860
846
  as = "a",
861
- variant = "link",
847
+ variant,
848
+ size,
862
849
  children,
863
850
  disabled
864
851
  } = _b, props = __objRest(_b, [
865
852
  "as",
866
853
  "variant",
854
+ "size",
867
855
  "children",
868
856
  "disabled"
869
857
  ]);
870
- const ref = (0, import_react21.useRef)();
858
+ const ref = (0, import_react22.useRef)(null);
871
859
  const { linkProps } = (0, import_link.useLink)(__spreadProps(__spreadValues({}, props), {
872
860
  elementType: typeof as === "string" ? as : "span",
873
861
  isDisabled: disabled
874
862
  }), ref);
875
- return /* @__PURE__ */ import_react21.default.createElement(Text, __spreadProps(__spreadValues(__spreadValues({}, props), linkProps), {
863
+ const styles = (0, import_system14.useComponentStyles)("Link", { variant, size });
864
+ return /* @__PURE__ */ import_react22.default.createElement(import_system.Box, __spreadValues(__spreadValues({
876
865
  as,
877
- variant,
866
+ css: styles,
878
867
  ref
879
- }), children);
868
+ }, props), linkProps), children);
880
869
  };
881
870
 
882
871
  // src/Menu/Menu.tsx
883
- var import_react22 = __toESM(require("react"));
884
- var Menu = (_a) => {
872
+ var import_react28 = __toESM(require("react"));
873
+ var import_focus5 = require("@react-aria/focus");
874
+ var import_menu4 = require("@react-aria/menu");
875
+ var import_overlays6 = require("@react-aria/overlays");
876
+ var import_collections = require("@react-stately/collections");
877
+ var import_tree = require("@react-stately/tree");
878
+ var import_system16 = require("@marigold/system");
879
+
880
+ // src/Menu/Context.ts
881
+ var import_react23 = require("react");
882
+ var MenuContext = (0, import_react23.createContext)({});
883
+ var useMenuContext = () => (0, import_react23.useContext)(MenuContext);
884
+
885
+ // src/Menu/MenuTrigger.tsx
886
+ var import_react26 = __toESM(require("react"));
887
+ var import_menu = require("@react-stately/menu");
888
+ var import_menu2 = require("@react-aria/menu");
889
+
890
+ // src/Overlay/Overlay.tsx
891
+ var import_react24 = __toESM(require("react"));
892
+ var import_react_dom = __toESM(require("react-dom"));
893
+ var Overlay = (_a) => {
885
894
  var _b = _a, {
886
- variant = "default",
887
- label = "Menu",
888
- onClick,
889
- show = false,
890
- children
895
+ children,
896
+ open = false,
897
+ container = document.body
891
898
  } = _b, props = __objRest(_b, [
892
- "variant",
893
- "label",
894
- "onClick",
895
- "show",
896
- "children"
899
+ "children",
900
+ "open",
901
+ "container"
897
902
  ]);
898
- return /* @__PURE__ */ import_react22.default.createElement(import_system.Box, __spreadValues({
899
- variant: `menu.${variant}`
900
- }, props), /* @__PURE__ */ import_react22.default.createElement(Button, {
901
- onClick,
902
- variant: "menu"
903
- }, label), show ? /* @__PURE__ */ import_react22.default.createElement(import_system.Box, {
904
- display: "block",
905
- position: "absolute",
906
- minWidth: "120px",
907
- borderRadius: "2px"
908
- }, children) : null);
903
+ if (!open) {
904
+ return null;
905
+ }
906
+ const component = /* @__PURE__ */ import_react24.default.createElement(import_system.Box, __spreadValues({}, props), children);
907
+ return import_react_dom.default.createPortal(component, container);
909
908
  };
910
909
 
911
- // src/MenuItem/MenuItem.tsx
912
- var import_react23 = __toESM(require("react"));
913
- var MenuItem = (_a) => {
910
+ // src/Overlay/Popover.tsx
911
+ var import_react25 = __toESM(require("react"));
912
+ var import_overlays4 = require("@react-aria/overlays");
913
+ var import_utils2 = require("@react-aria/utils");
914
+ var Popover = (0, import_react25.forwardRef)((_a, ref) => {
914
915
  var _b = _a, {
915
- variant = "default",
916
- children
916
+ children,
917
+ open,
918
+ dismissable,
919
+ keyboardDismissDisabled,
920
+ shouldCloseOnBlur
917
921
  } = _b, props = __objRest(_b, [
918
- "variant",
919
- "children"
922
+ "children",
923
+ "open",
924
+ "dismissable",
925
+ "keyboardDismissDisabled",
926
+ "shouldCloseOnBlur"
920
927
  ]);
921
- return /* @__PURE__ */ import_react23.default.createElement(import_system.Box, {
922
- variant: `menuItem.${variant}`
923
- }, /* @__PURE__ */ import_react23.default.createElement(Link, __spreadValues({
924
- variant: "menuItemLink"
925
- }, props), children));
928
+ const { overlayProps } = (0, import_overlays4.useOverlay)(__spreadValues({
929
+ isOpen: open,
930
+ isDismissable: dismissable,
931
+ isKeyboardDismissDisabled: keyboardDismissDisabled,
932
+ shouldCloseOnBlur
933
+ }, props), ref);
934
+ const { modalProps } = (0, import_overlays4.useModal)({});
935
+ return /* @__PURE__ */ import_react25.default.createElement(Overlay, {
936
+ open
937
+ }, /* @__PURE__ */ import_react25.default.createElement(import_system.Box, __spreadValues({
938
+ ref,
939
+ role: "presentation"
940
+ }, (0, import_utils2.mergeProps)(props, overlayProps, modalProps)), children));
941
+ });
942
+
943
+ // src/Menu/MenuTrigger.tsx
944
+ var import_overlays5 = require("@react-aria/overlays");
945
+ var import_interactions2 = require("@react-aria/interactions");
946
+ var MenuTrigger = ({ disabled, children }) => {
947
+ const [menuTrigger, menu] = import_react26.default.Children.toArray(children);
948
+ const menuTriggerRef = (0, import_react26.useRef)(null);
949
+ const overlayRef = (0, import_react26.useRef)(null);
950
+ const state = (0, import_menu.useMenuTriggerState)({});
951
+ const { menuTriggerProps, menuProps } = (0, import_menu2.useMenuTrigger)({ trigger: "press", isDisabled: disabled }, state, menuTriggerRef);
952
+ const { overlayProps: positionProps } = (0, import_overlays5.useOverlayPosition)({
953
+ targetRef: menuTriggerRef,
954
+ overlayRef,
955
+ isOpen: state.isOpen
956
+ });
957
+ const menuContext = __spreadProps(__spreadValues({}, menuProps), {
958
+ open: state.isOpen,
959
+ onClose: state.close,
960
+ autoFocus: state.focusStrategy,
961
+ triggerWidth: menuTriggerRef.current ? menuTriggerRef.current.offsetWidth : void 0
962
+ });
963
+ return /* @__PURE__ */ import_react26.default.createElement(MenuContext.Provider, {
964
+ value: menuContext
965
+ }, /* @__PURE__ */ import_react26.default.createElement(import_interactions2.PressResponder, __spreadProps(__spreadValues({}, menuTriggerProps), {
966
+ ref: menuTriggerRef,
967
+ isPressed: state.isOpen
968
+ }), menuTrigger), /* @__PURE__ */ import_react26.default.createElement(Popover, __spreadValues({
969
+ open: state.isOpen,
970
+ onClose: state.close,
971
+ dismissable: true,
972
+ shouldCloseOnBlur: true,
973
+ ref: overlayRef
974
+ }, positionProps), menu));
975
+ };
976
+
977
+ // src/Menu/MenuItem.tsx
978
+ var import_react27 = __toESM(require("react"));
979
+ var import_focus4 = require("@react-aria/focus");
980
+ var import_menu3 = require("@react-aria/menu");
981
+ var import_utils3 = require("@react-aria/utils");
982
+ var import_system15 = require("@marigold/system");
983
+ var MenuItem = ({ item, state, onAction, css }) => {
984
+ const ref = (0, import_react27.useRef)(null);
985
+ const { onClose } = useMenuContext();
986
+ const { menuItemProps } = (0, import_menu3.useMenuItem)({
987
+ key: item.key,
988
+ onAction,
989
+ onClose
990
+ }, state, ref);
991
+ const { isFocusVisible, focusProps } = (0, import_focus4.useFocusRing)();
992
+ const stateProps = (0, import_system15.useStateProps)({
993
+ focus: isFocusVisible
994
+ });
995
+ return /* @__PURE__ */ import_react27.default.createElement(import_system15.Box, __spreadValues(__spreadValues({
996
+ as: "li",
997
+ ref,
998
+ __baseCSS: {
999
+ "&:focus": {
1000
+ outline: 0
1001
+ }
1002
+ },
1003
+ css
1004
+ }, (0, import_utils3.mergeProps)(menuItemProps, focusProps)), stateProps), item.rendered);
1005
+ };
1006
+
1007
+ // src/Menu/Menu.tsx
1008
+ var Menu = (_a) => {
1009
+ var _b = _a, { variant, size } = _b, props = __objRest(_b, ["variant", "size"]);
1010
+ const _a2 = useMenuContext(), { triggerWidth } = _a2, menuContext = __objRest(_a2, ["triggerWidth"]);
1011
+ const ownProps = __spreadValues(__spreadValues({}, props), menuContext);
1012
+ const ref = (0, import_react28.useRef)(null);
1013
+ const state = (0, import_tree.useTreeState)(__spreadProps(__spreadValues({}, ownProps), { selectionMode: "none" }));
1014
+ const { menuProps } = (0, import_menu4.useMenu)(ownProps, state, ref);
1015
+ const styles = (0, import_system16.useComponentStyles)("Menu", { variant, size }, { parts: ["container", "item"] });
1016
+ return /* @__PURE__ */ import_react28.default.createElement(import_focus5.FocusScope, {
1017
+ restoreFocus: true
1018
+ }, /* @__PURE__ */ import_react28.default.createElement("div", null, /* @__PURE__ */ import_react28.default.createElement(import_overlays6.DismissButton, {
1019
+ onDismiss: ownProps.onClose
1020
+ }), /* @__PURE__ */ import_react28.default.createElement(import_system16.Box, __spreadValues({
1021
+ as: "ul",
1022
+ ref,
1023
+ style: { width: triggerWidth },
1024
+ __baseCSS: {
1025
+ listStyle: "none",
1026
+ p: 0,
1027
+ overflowWrap: "break-word"
1028
+ },
1029
+ css: styles.container
1030
+ }, menuProps), [...state.collection].map((item) => /* @__PURE__ */ import_react28.default.createElement(MenuItem, {
1031
+ key: item.key,
1032
+ item,
1033
+ state,
1034
+ onAction: props.onSelect,
1035
+ css: styles.item
1036
+ }))), /* @__PURE__ */ import_react28.default.createElement(import_overlays6.DismissButton, {
1037
+ onDismiss: ownProps.onClose
1038
+ })));
926
1039
  };
1040
+ Menu.Trigger = MenuTrigger;
1041
+ Menu.Item = import_collections.Item;
927
1042
 
928
1043
  // src/Message/Message.tsx
929
- var import_react24 = __toESM(require("react"));
930
- var import_icons5 = require("@marigold/icons");
1044
+ var import_react29 = __toESM(require("react"));
1045
+ var import_icons4 = require("@marigold/icons");
931
1046
  var Message = (_a) => {
932
1047
  var _b = _a, {
933
1048
  messageTitle,
@@ -940,57 +1055,56 @@ var Message = (_a) => {
940
1055
  "className",
941
1056
  "children"
942
1057
  ]);
943
- var icon = /* @__PURE__ */ import_react24.default.createElement(import_icons5.Info, null);
1058
+ var icon = /* @__PURE__ */ import_react29.default.createElement(import_icons4.Info, null);
944
1059
  if (variant === "warning") {
945
- icon = /* @__PURE__ */ import_react24.default.createElement(import_icons5.Notification, null);
1060
+ icon = /* @__PURE__ */ import_react29.default.createElement(import_icons4.Notification, null);
946
1061
  }
947
1062
  if (variant === "error") {
948
- icon = /* @__PURE__ */ import_react24.default.createElement(import_icons5.Exclamation, null);
1063
+ icon = /* @__PURE__ */ import_react29.default.createElement(import_icons4.Exclamation, null);
949
1064
  }
950
- return /* @__PURE__ */ import_react24.default.createElement(import_system.Box, __spreadValues({
1065
+ return /* @__PURE__ */ import_react29.default.createElement(import_system.Box, __spreadValues({
951
1066
  display: "inline-block",
952
1067
  variant: `message.${variant}`,
953
1068
  className
954
- }, props), /* @__PURE__ */ import_react24.default.createElement(import_system.Box, {
1069
+ }, props), /* @__PURE__ */ import_react29.default.createElement(import_system.Box, {
955
1070
  display: "flex",
956
1071
  alignItems: "center",
957
1072
  variant: "message.title"
958
- }, icon, /* @__PURE__ */ import_react24.default.createElement(Text, {
959
- as: "h4",
960
- variant: "headline4"
961
- }, messageTitle)), /* @__PURE__ */ import_react24.default.createElement(import_system.Box, {
1073
+ }, icon, /* @__PURE__ */ import_react29.default.createElement(Headline, {
1074
+ level: "4"
1075
+ }, messageTitle)), /* @__PURE__ */ import_react29.default.createElement(import_system.Box, {
962
1076
  css: { color: "black" }
963
1077
  }, children));
964
1078
  };
965
1079
 
966
1080
  // src/Provider/index.ts
967
- var import_system5 = require("@marigold/system");
1081
+ var import_system18 = require("@marigold/system");
968
1082
  var import_ssr = require("@react-aria/ssr");
969
1083
 
970
1084
  // src/Provider/MarigoldProvider.tsx
971
- var import_react25 = __toESM(require("react"));
972
- var import_overlays4 = require("@react-aria/overlays");
973
- var import_system4 = require("@marigold/system");
1085
+ var import_react30 = __toESM(require("react"));
1086
+ var import_overlays7 = require("@react-aria/overlays");
1087
+ var import_system17 = require("@marigold/system");
974
1088
  function MarigoldProvider({
975
1089
  theme,
976
1090
  children
977
1091
  }) {
978
- const outer = (0, import_system4.useTheme)();
979
- const isTopLevel = outer.theme === import_system4.__defaultTheme;
980
- return /* @__PURE__ */ import_react25.default.createElement(import_system4.ThemeProvider, {
1092
+ const outer = (0, import_system17.useTheme)();
1093
+ const isTopLevel = outer.theme === import_system17.__defaultTheme;
1094
+ return /* @__PURE__ */ import_react30.default.createElement(import_system17.ThemeProvider, {
981
1095
  theme
982
- }, isTopLevel ? /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, /* @__PURE__ */ import_react25.default.createElement(import_system4.Global, null), /* @__PURE__ */ import_react25.default.createElement(import_overlays4.OverlayProvider, null, children)) : children);
1096
+ }, isTopLevel ? /* @__PURE__ */ import_react30.default.createElement(import_react30.default.Fragment, null, /* @__PURE__ */ import_react30.default.createElement(import_system17.Global, null), /* @__PURE__ */ import_react30.default.createElement(import_overlays7.OverlayProvider, null, children)) : children);
983
1097
  }
984
1098
 
985
1099
  // src/Radio/Radio.tsx
986
- var import_react27 = __toESM(require("react"));
987
- var import_icons6 = require("@marigold/icons");
988
- var import_focus3 = require("@react-aria/focus");
989
- var import_visually_hidden3 = require("@react-aria/visually-hidden");
1100
+ var import_react33 = __toESM(require("react"));
1101
+ var import_icons5 = require("@marigold/icons");
1102
+ var import_focus6 = require("@react-aria/focus");
1103
+ var import_visually_hidden2 = require("@react-aria/visually-hidden");
990
1104
 
991
1105
  // src/Radio/RadioIcon.tsx
992
- var import_react26 = __toESM(require("react"));
993
- var import_system6 = require("@marigold/system");
1106
+ var import_react31 = __toESM(require("react"));
1107
+ var import_system19 = require("@marigold/system");
994
1108
  var RadioIcon = ({
995
1109
  variant = "",
996
1110
  checked = false,
@@ -1003,19 +1117,19 @@ var RadioIcon = ({
1003
1117
  checked,
1004
1118
  error
1005
1119
  };
1006
- return /* @__PURE__ */ import_react26.default.createElement(import_system6.SVG, {
1120
+ return /* @__PURE__ */ import_react31.default.createElement(import_system19.SVG, {
1007
1121
  width: "16",
1008
1122
  height: "32",
1009
1123
  viewBox: "0 0 16 32",
1010
1124
  fill: "none",
1011
1125
  "aria-hidden": "true"
1012
- }, /* @__PURE__ */ import_react26.default.createElement(import_system.Box, {
1013
- variant: (0, import_system6.conditional)(`radio.${variant}`, conditionalStates),
1126
+ }, /* @__PURE__ */ import_react31.default.createElement(import_system.Box, {
1127
+ variant: (0, import_system19.conditional)(`radio.${variant}`, conditionalStates),
1014
1128
  as: "circle",
1015
1129
  cx: "8",
1016
1130
  cy: "16",
1017
1131
  r: "7.5"
1018
- }), checked && /* @__PURE__ */ import_react26.default.createElement("circle", {
1132
+ }), checked && /* @__PURE__ */ import_react31.default.createElement("circle", {
1019
1133
  fill: "white",
1020
1134
  cx: "8",
1021
1135
  cy: "16",
@@ -1023,17 +1137,38 @@ var RadioIcon = ({
1023
1137
  }));
1024
1138
  };
1025
1139
 
1140
+ // src/ValidationMessage/ValidationMessage.tsx
1141
+ var import_react32 = __toESM(require("react"));
1142
+ var ValidationMessage = (_a) => {
1143
+ var _b = _a, {
1144
+ variant = "error",
1145
+ children,
1146
+ className
1147
+ } = _b, props = __objRest(_b, [
1148
+ "variant",
1149
+ "children",
1150
+ "className"
1151
+ ]);
1152
+ return /* @__PURE__ */ import_react32.default.createElement(import_system.Box, __spreadValues({
1153
+ as: "span",
1154
+ display: "flex",
1155
+ alignItems: "center",
1156
+ variant: `validation.${variant}`,
1157
+ className
1158
+ }, props), children);
1159
+ };
1160
+
1026
1161
  // src/Radio/Radio.tsx
1027
1162
  var RadioInput = (_a) => {
1028
1163
  var _b = _a, { error } = _b, props = __objRest(_b, ["error"]);
1029
- const { focusProps } = (0, import_focus3.useFocusRing)();
1164
+ const { focusProps } = (0, import_focus6.useFocusRing)();
1030
1165
  const _a2 = props, { children } = _a2, restProps = __objRest(_a2, ["children"]);
1031
- return /* @__PURE__ */ import_react27.default.createElement(import_system.Box, {
1166
+ return /* @__PURE__ */ import_react33.default.createElement(import_system.Box, {
1032
1167
  pr: "xsmall"
1033
- }, /* @__PURE__ */ import_react27.default.createElement(import_visually_hidden3.VisuallyHidden, null, /* @__PURE__ */ import_react27.default.createElement("input", __spreadValues(__spreadValues({
1168
+ }, /* @__PURE__ */ import_react33.default.createElement(import_visually_hidden2.VisuallyHidden, null, /* @__PURE__ */ import_react33.default.createElement("input", __spreadValues(__spreadValues({
1034
1169
  type: "radio",
1035
1170
  disabled: props.disabled
1036
- }, focusProps), restProps))), /* @__PURE__ */ import_react27.default.createElement(RadioIcon, {
1171
+ }, focusProps), restProps))), /* @__PURE__ */ import_react33.default.createElement(RadioIcon, {
1037
1172
  variant: props.variant,
1038
1173
  disabled: props.disabled,
1039
1174
  checked: props.checked,
@@ -1050,52 +1185,52 @@ var Radio = (_a) => {
1050
1185
  "labelVariant",
1051
1186
  "errorMessage"
1052
1187
  ]);
1053
- return /* @__PURE__ */ import_react27.default.createElement(import_react27.default.Fragment, null, /* @__PURE__ */ import_react27.default.createElement(import_system.Box, {
1054
- as: Label,
1188
+ return /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, /* @__PURE__ */ import_react33.default.createElement(import_system.Box, {
1189
+ as: Label2,
1055
1190
  htmlFor: props.id,
1056
1191
  required,
1057
1192
  variant: `label.${labelVariant}`,
1058
1193
  css: props.disabled ? { color: "disabled", ":hover": { cursor: "not-allowed" } } : { color: "text", ":hover": { cursor: "pointer" } }
1059
- }, /* @__PURE__ */ import_react27.default.createElement(import_system.Box, __spreadValues({
1194
+ }, /* @__PURE__ */ import_react33.default.createElement(import_system.Box, __spreadValues({
1060
1195
  as: RadioInput,
1061
1196
  error: props.error
1062
- }, props)), props.children), props.error && errorMessage && /* @__PURE__ */ import_react27.default.createElement(ValidationMessage, null, /* @__PURE__ */ import_react27.default.createElement(import_icons6.Exclamation, {
1197
+ }, props)), props.children), props.error && errorMessage && /* @__PURE__ */ import_react33.default.createElement(ValidationMessage, null, /* @__PURE__ */ import_react33.default.createElement(import_icons5.Exclamation, {
1063
1198
  size: 16
1064
1199
  }), errorMessage));
1065
1200
  };
1066
1201
 
1067
1202
  // src/Select/Select.tsx
1068
- var import_react32 = __toESM(require("react"));
1203
+ var import_react38 = __toESM(require("react"));
1069
1204
  var import_select = require("@react-stately/select");
1070
1205
  var import_button3 = require("@react-aria/button");
1071
- var import_utils6 = require("@react-aria/utils");
1072
- var import_focus5 = require("@react-aria/focus");
1206
+ var import_utils5 = require("@react-aria/utils");
1207
+ var import_focus8 = require("@react-aria/focus");
1073
1208
  var import_select2 = require("@react-aria/select");
1074
- var import_overlays6 = require("@react-stately/overlays");
1075
- var import_overlays7 = require("@react-aria/overlays");
1076
- var import_icons7 = require("@marigold/icons");
1209
+ var import_overlays9 = require("@react-stately/overlays");
1210
+ var import_overlays10 = require("@react-aria/overlays");
1211
+ var import_icons6 = require("@marigold/icons");
1077
1212
 
1078
1213
  // src/Select/ListBox.tsx
1079
- var import_react30 = __toESM(require("react"));
1214
+ var import_react36 = __toESM(require("react"));
1080
1215
  var import_listbox3 = require("@react-aria/listbox");
1081
1216
 
1082
1217
  // src/Select/Option.tsx
1083
- var import_react28 = __toESM(require("react"));
1218
+ var import_react34 = __toESM(require("react"));
1084
1219
  var import_listbox = require("@react-aria/listbox");
1085
1220
  var Option = ({ item, state }) => {
1086
- const ref = (0, import_react28.useRef)(null);
1087
- const [disabled, setDisabled] = (0, import_react28.useState)(false);
1221
+ const ref = (0, import_react34.useRef)(null);
1222
+ const [disabled, setDisabled] = (0, import_react34.useState)(false);
1088
1223
  const { optionProps, isSelected } = (0, import_listbox.useOption)({
1089
1224
  key: item.key
1090
1225
  }, state, ref);
1091
- (0, import_react28.useEffect)(() => {
1226
+ (0, import_react34.useEffect)(() => {
1092
1227
  for (const key of state.disabledKeys.values()) {
1093
1228
  if (key === item.key) {
1094
1229
  setDisabled(true);
1095
1230
  }
1096
1231
  }
1097
1232
  }, [state.disabledKeys, item.key]);
1098
- return /* @__PURE__ */ import_react28.default.createElement(import_system.Box, __spreadProps(__spreadValues({
1233
+ return /* @__PURE__ */ import_react34.default.createElement(import_system.Box, __spreadProps(__spreadValues({
1099
1234
  as: "li"
1100
1235
  }, optionProps), {
1101
1236
  ref,
@@ -1104,26 +1239,26 @@ var Option = ({ item, state }) => {
1104
1239
  };
1105
1240
 
1106
1241
  // src/Select/ListBoxSection.tsx
1107
- var import_react29 = __toESM(require("react"));
1242
+ var import_react35 = __toESM(require("react"));
1108
1243
  var import_listbox2 = require("@react-aria/listbox");
1109
1244
  var ListBoxSection = ({ section, state }) => {
1110
1245
  const { itemProps, headingProps, groupProps } = (0, import_listbox2.useListBoxSection)({
1111
1246
  heading: section.rendered,
1112
1247
  "aria-label": section["aria-label"]
1113
1248
  });
1114
- return /* @__PURE__ */ import_react29.default.createElement(import_system.Box, __spreadProps(__spreadValues({
1249
+ return /* @__PURE__ */ import_react35.default.createElement(import_system.Box, __spreadProps(__spreadValues({
1115
1250
  as: "li"
1116
1251
  }, itemProps), {
1117
1252
  css: {
1118
1253
  cursor: "not-allowed"
1119
1254
  }
1120
- }), section.rendered && /* @__PURE__ */ import_react29.default.createElement(import_system.Box, __spreadProps(__spreadValues({
1255
+ }), section.rendered && /* @__PURE__ */ import_react35.default.createElement(import_system.Box, __spreadProps(__spreadValues({
1121
1256
  as: "span"
1122
1257
  }, headingProps), {
1123
1258
  variant: "select.section"
1124
- }), section.rendered), /* @__PURE__ */ import_react29.default.createElement(import_system.Box, __spreadValues({
1259
+ }), section.rendered), /* @__PURE__ */ import_react35.default.createElement(import_system.Box, __spreadValues({
1125
1260
  as: "ul"
1126
- }, groupProps), [...section.childNodes].map((node) => /* @__PURE__ */ import_react29.default.createElement(Option, {
1261
+ }, groupProps), [...section.childNodes].map((node) => /* @__PURE__ */ import_react35.default.createElement(Option, {
1127
1262
  key: node.key,
1128
1263
  item: node,
1129
1264
  state
@@ -1132,10 +1267,10 @@ var ListBoxSection = ({ section, state }) => {
1132
1267
 
1133
1268
  // src/Select/ListBox.tsx
1134
1269
  var ListBox = (props) => {
1135
- const ref = (0, import_react30.useRef)(null);
1270
+ const ref = (0, import_react36.useRef)(null);
1136
1271
  const { state, error } = props;
1137
1272
  const { listBoxProps } = (0, import_listbox3.useListBox)(props, state, ref);
1138
- return /* @__PURE__ */ import_react30.default.createElement(import_system.Box, __spreadProps(__spreadValues({
1273
+ return /* @__PURE__ */ import_react36.default.createElement(import_system.Box, __spreadProps(__spreadValues({
1139
1274
  as: "ul",
1140
1275
  p: "none",
1141
1276
  css: {
@@ -1144,11 +1279,11 @@ var ListBox = (props) => {
1144
1279
  }, listBoxProps), {
1145
1280
  variant: error ? "select.listbox.error" : "select.listbox",
1146
1281
  ref
1147
- }), [...state.collection].map((item) => item.type === "section" ? /* @__PURE__ */ import_react30.default.createElement(ListBoxSection, {
1282
+ }), [...state.collection].map((item) => item.type === "section" ? /* @__PURE__ */ import_react36.default.createElement(ListBoxSection, {
1148
1283
  key: item.key,
1149
1284
  section: item,
1150
1285
  state
1151
- }) : /* @__PURE__ */ import_react30.default.createElement(Option, {
1286
+ }) : /* @__PURE__ */ import_react36.default.createElement(Option, {
1152
1287
  key: item.key,
1153
1288
  item,
1154
1289
  state
@@ -1156,25 +1291,25 @@ var ListBox = (props) => {
1156
1291
  };
1157
1292
 
1158
1293
  // src/Select/Popover.tsx
1159
- var import_react31 = __toESM(require("react"));
1160
- var import_focus4 = require("@react-aria/focus");
1161
- var import_overlays5 = require("@react-aria/overlays");
1162
- var import_utils5 = require("@react-aria/utils");
1163
- var Popover = (0, import_react31.forwardRef)((_a, ref) => {
1294
+ var import_react37 = __toESM(require("react"));
1295
+ var import_focus7 = require("@react-aria/focus");
1296
+ var import_overlays8 = require("@react-aria/overlays");
1297
+ var import_utils4 = require("@react-aria/utils");
1298
+ var Popover2 = (0, import_react37.forwardRef)((_a, ref) => {
1164
1299
  var _b = _a, { children, className, isOpen, onClose } = _b, otherProps = __objRest(_b, ["children", "className", "isOpen", "onClose"]);
1165
- const { overlayProps } = (0, import_overlays5.useOverlay)({
1300
+ const { overlayProps } = (0, import_overlays8.useOverlay)({
1166
1301
  isOpen,
1167
1302
  onClose,
1168
1303
  shouldCloseOnBlur: true,
1169
1304
  isDismissable: true
1170
1305
  }, ref);
1171
- const { modalProps } = (0, import_overlays5.useModal)();
1172
- return /* @__PURE__ */ import_react31.default.createElement(import_overlays5.OverlayContainer, null, /* @__PURE__ */ import_react31.default.createElement(import_focus4.FocusScope, {
1306
+ const { modalProps } = (0, import_overlays8.useModal)();
1307
+ return /* @__PURE__ */ import_react37.default.createElement(import_overlays8.OverlayContainer, null, /* @__PURE__ */ import_react37.default.createElement(import_focus7.FocusScope, {
1173
1308
  restoreFocus: true
1174
- }, /* @__PURE__ */ import_react31.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, (0, import_utils5.mergeProps)(overlayProps, otherProps, modalProps)), {
1309
+ }, /* @__PURE__ */ import_react37.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, (0, import_utils4.mergeProps)(overlayProps, otherProps, modalProps)), {
1175
1310
  className,
1176
1311
  ref
1177
- }), children, /* @__PURE__ */ import_react31.default.createElement(import_overlays5.DismissButton, {
1312
+ }), children, /* @__PURE__ */ import_react37.default.createElement(import_overlays8.DismissButton, {
1178
1313
  onDismiss: onClose
1179
1314
  }))));
1180
1315
  });
@@ -1201,11 +1336,11 @@ var Select = (_a) => {
1201
1336
  "className"
1202
1337
  ]);
1203
1338
  const state = (0, import_select.useSelectState)(props);
1204
- const overlayTriggerState = (0, import_overlays6.useOverlayTriggerState)({});
1205
- const triggerRef = (0, import_react32.useRef)();
1206
- const overlayRef = (0, import_react32.useRef)();
1207
- const { overlayProps } = (0, import_overlays7.useOverlayTrigger)({ type: "listbox" }, overlayTriggerState, triggerRef);
1208
- const { overlayProps: positionProps } = (0, import_overlays7.useOverlayPosition)({
1339
+ const overlayTriggerState = (0, import_overlays9.useOverlayTriggerState)({});
1340
+ const triggerRef = (0, import_react38.useRef)();
1341
+ const overlayRef = (0, import_react38.useRef)();
1342
+ const { overlayProps } = (0, import_overlays10.useOverlayTrigger)({ type: "listbox" }, overlayTriggerState, triggerRef);
1343
+ const { overlayProps: positionProps } = (0, import_overlays10.useOverlayPosition)({
1209
1344
  targetRef: triggerRef,
1210
1345
  overlayRef,
1211
1346
  placement: "bottom",
@@ -1215,46 +1350,46 @@ var Select = (_a) => {
1215
1350
  });
1216
1351
  const { labelProps, triggerProps, valueProps, menuProps } = (0, import_select2.useSelect)(props, state, triggerRef);
1217
1352
  const { buttonProps } = (0, import_button3.useButton)(triggerProps, triggerRef);
1218
- const { focusProps } = (0, import_focus5.useFocusRing)();
1219
- return /* @__PURE__ */ import_react32.default.createElement(import_system.Box, {
1353
+ const { focusProps } = (0, import_focus8.useFocusRing)();
1354
+ return /* @__PURE__ */ import_react38.default.createElement(import_system.Box, {
1220
1355
  position: "relative",
1221
1356
  display: "inline-block",
1222
1357
  width: width && width
1223
- }, props.label && /* @__PURE__ */ import_react32.default.createElement(import_system.Box, null, /* @__PURE__ */ import_react32.default.createElement(Label, __spreadProps(__spreadValues({}, labelProps), {
1358
+ }, props.label && /* @__PURE__ */ import_react38.default.createElement(import_system.Box, null, /* @__PURE__ */ import_react38.default.createElement(Label2, __spreadProps(__spreadValues({}, labelProps), {
1224
1359
  htmlFor: labelProps.id,
1225
1360
  variant: labelVariant
1226
- }), required ? /* @__PURE__ */ import_react32.default.createElement(import_system.Box, {
1361
+ }), required ? /* @__PURE__ */ import_react38.default.createElement(import_system.Box, {
1227
1362
  as: "span",
1228
1363
  display: "inline-flex",
1229
1364
  alignItems: "center"
1230
- }, props.label, /* @__PURE__ */ import_react32.default.createElement(import_icons7.Required, {
1365
+ }, props.label, /* @__PURE__ */ import_react38.default.createElement(import_icons6.Required, {
1231
1366
  size: 16,
1232
1367
  fill: "error"
1233
- })) : props.label)), /* @__PURE__ */ import_react32.default.createElement(import_select2.HiddenSelect, {
1368
+ })) : props.label)), /* @__PURE__ */ import_react38.default.createElement(import_select2.HiddenSelect, {
1234
1369
  state,
1235
1370
  triggerRef,
1236
1371
  label: props.label,
1237
1372
  name: props.name,
1238
1373
  isDisabled: disabled
1239
- }), /* @__PURE__ */ import_react32.default.createElement(import_system.Box, __spreadProps(__spreadValues({
1374
+ }), /* @__PURE__ */ import_react38.default.createElement(import_system.Box, __spreadProps(__spreadValues({
1240
1375
  as: "button"
1241
- }, (0, import_utils6.mergeProps)(buttonProps, focusProps)), {
1376
+ }, (0, import_utils5.mergeProps)(buttonProps, focusProps)), {
1242
1377
  ref: triggerRef,
1243
1378
  variant: error && state.isOpen && !disabled ? "button.select.errorOpened" : error ? "button.select.error" : state.isOpen && !disabled ? "button.select.open" : "button.select",
1244
1379
  disabled,
1245
1380
  className
1246
- }), /* @__PURE__ */ import_react32.default.createElement(import_system.Box, __spreadProps(__spreadValues({
1381
+ }), /* @__PURE__ */ import_react38.default.createElement(import_system.Box, __spreadProps(__spreadValues({
1247
1382
  as: "span"
1248
1383
  }, valueProps), {
1249
1384
  variant: disabled ? "select.disabled" : "select"
1250
- }), state.selectedItem ? state.selectedItem.rendered : placeholder), state.isOpen && !disabled ? /* @__PURE__ */ import_react32.default.createElement(import_icons7.ArrowUp, {
1385
+ }), state.selectedItem ? state.selectedItem.rendered : placeholder), state.isOpen && !disabled ? /* @__PURE__ */ import_react38.default.createElement(import_icons6.ArrowUp, {
1251
1386
  size: 16,
1252
1387
  fill: "text"
1253
- }) : /* @__PURE__ */ import_react32.default.createElement(import_icons7.ArrowDown, {
1388
+ }) : /* @__PURE__ */ import_react38.default.createElement(import_icons6.ArrowDown, {
1254
1389
  size: 16,
1255
1390
  fill: disabled ? "disabled" : "text"
1256
- })), state.isOpen && !disabled && /* @__PURE__ */ import_react32.default.createElement(import_system.Box, __spreadProps(__spreadValues(__spreadValues({
1257
- as: Popover
1391
+ })), state.isOpen && !disabled && /* @__PURE__ */ import_react38.default.createElement(import_system.Box, __spreadProps(__spreadValues(__spreadValues({
1392
+ as: Popover2
1258
1393
  }, overlayProps), positionProps), {
1259
1394
  css: {
1260
1395
  width: triggerRef.current && triggerRef.current.offsetWidth + "px"
@@ -1262,26 +1397,26 @@ var Select = (_a) => {
1262
1397
  ref: overlayRef,
1263
1398
  isOpen: state.isOpen,
1264
1399
  onClose: state.close
1265
- }), /* @__PURE__ */ import_react32.default.createElement(ListBox, __spreadProps(__spreadValues({
1400
+ }), /* @__PURE__ */ import_react38.default.createElement(ListBox, __spreadProps(__spreadValues({
1266
1401
  error
1267
1402
  }, menuProps), {
1268
1403
  state
1269
- }))), error && errorMessage && /* @__PURE__ */ import_react32.default.createElement(import_system.Box, {
1404
+ }))), error && errorMessage && /* @__PURE__ */ import_react38.default.createElement(import_system.Box, {
1270
1405
  as: "span",
1271
1406
  display: "inline-flex",
1272
1407
  alignItems: "center"
1273
- }, /* @__PURE__ */ import_react32.default.createElement(import_system.Box, {
1274
- as: import_icons7.Exclamation,
1408
+ }, /* @__PURE__ */ import_react38.default.createElement(import_system.Box, {
1409
+ as: import_icons6.Exclamation,
1275
1410
  size: 16,
1276
1411
  css: { color: "error" }
1277
- }), /* @__PURE__ */ import_react32.default.createElement(ValidationMessage, null, errorMessage)));
1412
+ }), /* @__PURE__ */ import_react38.default.createElement(ValidationMessage, null, errorMessage)));
1278
1413
  };
1279
1414
 
1280
1415
  // src/Slider/Slider.tsx
1281
- var import_react33 = __toESM(require("react"));
1416
+ var import_react39 = __toESM(require("react"));
1282
1417
  var Slider = (_a) => {
1283
1418
  var _b = _a, { variant = "" } = _b, props = __objRest(_b, ["variant"]);
1284
- return /* @__PURE__ */ import_react33.default.createElement(import_system.Box, __spreadValues({
1419
+ return /* @__PURE__ */ import_react39.default.createElement(import_system.Box, __spreadValues({
1285
1420
  as: "input",
1286
1421
  type: "range",
1287
1422
  css: { verticalAlign: "middle" },
@@ -1290,11 +1425,12 @@ var Slider = (_a) => {
1290
1425
  };
1291
1426
 
1292
1427
  // src/Switch/Switch.tsx
1293
- var import_react34 = __toESM(require("react"));
1294
- var import_focus6 = require("@react-aria/focus");
1428
+ var import_react40 = __toESM(require("react"));
1429
+ var import_focus9 = require("@react-aria/focus");
1295
1430
  var import_switch = require("@react-aria/switch");
1296
- var import_visually_hidden4 = require("@react-aria/visually-hidden");
1297
- var import_system7 = require("@marigold/system");
1431
+ var import_visually_hidden3 = require("@react-aria/visually-hidden");
1432
+ var import_toggle2 = require("@react-stately/toggle");
1433
+ var import_system20 = require("@marigold/system");
1298
1434
  var Switch = (_a) => {
1299
1435
  var _b = _a, {
1300
1436
  variant = "",
@@ -1305,20 +1441,20 @@ var Switch = (_a) => {
1305
1441
  "labelVariant",
1306
1442
  "disabled"
1307
1443
  ]);
1308
- const state = useToggleState(props);
1309
- const ref = (0, import_react34.useRef)();
1444
+ const state = (0, import_toggle2.useToggleState)(props);
1445
+ const ref = (0, import_react40.useRef)();
1310
1446
  const { inputProps } = (0, import_switch.useSwitch)(props, state, ref);
1311
- const { focusProps } = (0, import_focus6.useFocusRing)();
1312
- return /* @__PURE__ */ import_react34.default.createElement(import_system.Box, {
1313
- as: Label,
1447
+ const { focusProps } = (0, import_focus9.useFocusRing)();
1448
+ return /* @__PURE__ */ import_react40.default.createElement(import_system.Box, {
1449
+ as: Label2,
1314
1450
  __baseCSS: {
1315
1451
  userSelect: "none"
1316
1452
  },
1317
1453
  variant: labelVariant
1318
- }, props.children, /* @__PURE__ */ import_react34.default.createElement(import_visually_hidden4.VisuallyHidden, null, /* @__PURE__ */ import_react34.default.createElement("input", __spreadProps(__spreadValues(__spreadValues({}, inputProps), focusProps), {
1454
+ }, props.children, /* @__PURE__ */ import_react40.default.createElement(import_visually_hidden3.VisuallyHidden, null, /* @__PURE__ */ import_react40.default.createElement("input", __spreadProps(__spreadValues(__spreadValues({}, inputProps), focusProps), {
1319
1455
  disabled,
1320
1456
  ref
1321
- }))), /* @__PURE__ */ import_react34.default.createElement(import_system.Box, {
1457
+ }))), /* @__PURE__ */ import_react40.default.createElement(import_system.Box, {
1322
1458
  as: "svg",
1323
1459
  __baseCSS: {
1324
1460
  cursor: disabled ? "not-allowed" : "pointer",
@@ -1326,7 +1462,7 @@ var Switch = (_a) => {
1326
1462
  height: 32
1327
1463
  },
1328
1464
  "aria-hidden": "true"
1329
- }, /* @__PURE__ */ import_react34.default.createElement(import_system.Box, {
1465
+ }, /* @__PURE__ */ import_react40.default.createElement(import_system.Box, {
1330
1466
  as: "rect",
1331
1467
  __baseCSS: {
1332
1468
  x: 4,
@@ -1335,11 +1471,11 @@ var Switch = (_a) => {
1335
1471
  width: 48,
1336
1472
  height: 24
1337
1473
  },
1338
- variant: (0, import_system7.conditional)(`switch.${variant}`, {
1474
+ variant: (0, import_system20.conditional)(`switch.${variant}`, {
1339
1475
  checked: state.isSelected,
1340
1476
  disabled
1341
1477
  })
1342
- }), /* @__PURE__ */ import_react34.default.createElement(import_system.Box, {
1478
+ }), /* @__PURE__ */ import_react40.default.createElement(import_system.Box, {
1343
1479
  as: "circle",
1344
1480
  __baseCSS: {
1345
1481
  boxShadow: "1px 1px 4px rgba(0, 0, 0, 0.25)",
@@ -1351,66 +1487,475 @@ var Switch = (_a) => {
1351
1487
  })));
1352
1488
  };
1353
1489
 
1354
- // src/Textarea/Textarea.tsx
1355
- var import_react35 = __toESM(require("react"));
1356
- var import_textfield2 = require("@react-aria/textfield");
1357
- var import_icons8 = require("@marigold/icons");
1358
- var Textarea = (_a) => {
1490
+ // src/Stack/Stack.tsx
1491
+ var import_react41 = __toESM(require("react"));
1492
+ var ALIGNMENT2 = {
1493
+ left: "flex-start",
1494
+ center: "center",
1495
+ right: "flex-end"
1496
+ };
1497
+ var Stack = (_a) => {
1359
1498
  var _b = _a, {
1360
- variant = "",
1361
- htmlFor,
1499
+ space = "none",
1500
+ align = "left",
1501
+ children
1502
+ } = _b, props = __objRest(_b, [
1503
+ "space",
1504
+ "align",
1505
+ "children"
1506
+ ]);
1507
+ return /* @__PURE__ */ import_react41.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
1508
+ display: "flex",
1509
+ flexDirection: "column",
1510
+ alignItems: ALIGNMENT2[align],
1511
+ p: "0",
1512
+ css: { gap: space }
1513
+ }), children);
1514
+ };
1515
+
1516
+ // src/Table/Table.tsx
1517
+ var import_react48 = __toESM(require("react"));
1518
+ var import_table6 = require("@react-aria/table");
1519
+ var import_table7 = require("@react-stately/table");
1520
+ var import_system26 = require("@marigold/system");
1521
+
1522
+ // src/Table/TableCell.tsx
1523
+ var import_react42 = __toESM(require("react"));
1524
+ var import_checkbox4 = require("@react-aria/checkbox");
1525
+ var import_focus10 = require("@react-aria/focus");
1526
+ var import_table = require("@react-aria/table");
1527
+ var import_utils6 = require("@react-aria/utils");
1528
+ var import_toggle3 = require("@react-stately/toggle");
1529
+ var import_system21 = require("@marigold/system");
1530
+ var TableCell = ({
1531
+ item: cell,
1532
+ state,
1533
+ isSelectionCell,
1534
+ align = "left",
1535
+ css
1536
+ }) => {
1537
+ const cellRef = (0, import_react42.useRef)(null);
1538
+ const { gridCellProps } = (0, import_table.useTableCell)({ node: cell }, state, cellRef);
1539
+ const { checkboxProps } = (0, import_table.useTableSelectionCheckbox)({ key: cell.parentKey }, state);
1540
+ const inputRef = (0, import_react42.useRef)(null);
1541
+ const { inputProps } = (0, import_checkbox4.useCheckbox)(checkboxProps, (0, import_toggle3.useToggleState)(checkboxProps), inputRef);
1542
+ const { focusProps, isFocusVisible } = (0, import_focus10.useFocusRing)();
1543
+ const stateProps = (0, import_system21.useStateProps)({ focus: isFocusVisible });
1544
+ return /* @__PURE__ */ import_react42.default.createElement(import_system.Box, __spreadValues(__spreadValues({
1545
+ as: "td",
1546
+ ref: cellRef,
1547
+ __baseCSS: {
1548
+ textAlign: isSelectionCell ? "center" : align
1549
+ },
1550
+ css
1551
+ }, (0, import_utils6.mergeProps)(gridCellProps, focusProps)), stateProps), isSelectionCell ? /* @__PURE__ */ import_react42.default.createElement("input", __spreadValues({}, inputProps)) : /* @__PURE__ */ import_react42.default.createElement(import_react42.default.Fragment, null, cell.rendered));
1552
+ };
1553
+
1554
+ // src/Table/TableColumnHeader.tsx
1555
+ var import_react44 = __toESM(require("react"));
1556
+ var import_checkbox5 = require("@react-aria/checkbox");
1557
+ var import_focus11 = require("@react-aria/focus");
1558
+ var import_table2 = require("@react-aria/table");
1559
+ var import_utils7 = require("@react-aria/utils");
1560
+ var import_toggle4 = require("@react-stately/toggle");
1561
+ var import_system24 = require("@marigold/system");
1562
+
1563
+ // src/Text/Text.tsx
1564
+ var import_react43 = __toESM(require("react"));
1565
+ var import_system22 = require("@marigold/system");
1566
+ var import_system23 = require("@marigold/system");
1567
+ var Text = (_a) => {
1568
+ var _b = _a, {
1569
+ variant,
1570
+ size,
1571
+ align,
1572
+ color,
1573
+ fontSize,
1574
+ cursor,
1575
+ outline,
1576
+ children
1577
+ } = _b, props = __objRest(_b, [
1578
+ "variant",
1579
+ "size",
1580
+ "align",
1581
+ "color",
1582
+ "fontSize",
1583
+ "cursor",
1584
+ "outline",
1585
+ "children"
1586
+ ]);
1587
+ const styles = (0, import_system22.useComponentStyles)("Text", {
1588
+ variant,
1589
+ size
1590
+ });
1591
+ return /* @__PURE__ */ import_react43.default.createElement(import_system23.Box, __spreadProps(__spreadValues({
1592
+ as: "p"
1593
+ }, props), {
1594
+ css: __spreadValues({ color, cursor, outline, fontSize, textAlign: align }, styles)
1595
+ }), children);
1596
+ };
1597
+
1598
+ // src/Table/TableColumnHeader.tsx
1599
+ var TableColumnHeader = ({
1600
+ item: column,
1601
+ state,
1602
+ isSelectionColumn,
1603
+ align = "left",
1604
+ css
1605
+ }) => {
1606
+ const ref = (0, import_react44.useRef)(null);
1607
+ const { columnHeaderProps } = (0, import_table2.useTableColumnHeader)({ node: column }, state, ref);
1608
+ const { checkboxProps } = (0, import_table2.useTableSelectAllCheckbox)(state);
1609
+ const inputRef = (0, import_react44.useRef)(null);
1610
+ const { inputProps } = (0, import_checkbox5.useCheckbox)(checkboxProps, (0, import_toggle4.useToggleState)(checkboxProps), inputRef);
1611
+ const { focusProps, isFocusVisible } = (0, import_focus11.useFocusRing)();
1612
+ const stateProps = (0, import_system24.useStateProps)({ focus: isFocusVisible });
1613
+ return /* @__PURE__ */ import_react44.default.createElement(import_system.Box, __spreadValues(__spreadValues({
1614
+ as: "th",
1615
+ ref,
1616
+ __baseCSS: { textAlign: isSelectionColumn ? "center" : align },
1617
+ css
1618
+ }, (0, import_utils7.mergeProps)(columnHeaderProps, focusProps)), stateProps), isSelectionColumn ? /* @__PURE__ */ import_react44.default.createElement("input", __spreadProps(__spreadValues({}, inputProps), {
1619
+ ref: inputRef
1620
+ })) : /* @__PURE__ */ import_react44.default.createElement(Text, {
1621
+ size: "xxsmall"
1622
+ }, column.rendered));
1623
+ };
1624
+
1625
+ // src/Table/TableHeaderRow.tsx
1626
+ var import_react45 = __toESM(require("react"));
1627
+ var import_table3 = require("@react-aria/table");
1628
+ var TableHeaderRow = ({
1629
+ item,
1630
+ state,
1631
+ children
1632
+ }) => {
1633
+ const ref = (0, import_react45.useRef)(null);
1634
+ const { rowProps } = (0, import_table3.useTableHeaderRow)({ node: item }, state, ref);
1635
+ return /* @__PURE__ */ import_react45.default.createElement("tr", __spreadProps(__spreadValues({}, rowProps), {
1636
+ ref
1637
+ }), children);
1638
+ };
1639
+
1640
+ // src/Table/TableRow.tsx
1641
+ var import_react46 = __toESM(require("react"));
1642
+ var import_focus12 = require("@react-aria/focus");
1643
+ var import_table4 = require("@react-aria/table");
1644
+ var import_utils8 = require("@react-aria/utils");
1645
+ var import_system25 = require("@marigold/system");
1646
+ var TableRow = ({ item, state, children, css }) => {
1647
+ const ref = (0, import_react46.useRef)(null);
1648
+ const isSelected = state.selectionManager.isSelected(item.key);
1649
+ const { rowProps } = (0, import_table4.useTableRow)({
1650
+ node: item
1651
+ }, state, ref);
1652
+ const { focusProps, isFocusVisible } = (0, import_focus12.useFocusRing)();
1653
+ const stateProps = (0, import_system25.useStateProps)({
1654
+ focus: isFocusVisible,
1655
+ checked: isSelected
1656
+ });
1657
+ return /* @__PURE__ */ import_react46.default.createElement(import_system.Box, __spreadValues(__spreadValues({
1658
+ as: "tr",
1659
+ ref,
1660
+ css
1661
+ }, (0, import_utils8.mergeProps)(rowProps, focusProps)), stateProps), children);
1662
+ };
1663
+
1664
+ // src/Table/TableRowGroup.tsx
1665
+ var import_react47 = __toESM(require("react"));
1666
+ var import_table5 = require("@react-aria/table");
1667
+ var TableRowGroup = ({
1668
+ as: Element,
1669
+ children
1670
+ }) => {
1671
+ const { rowGroupProps } = (0, import_table5.useTableRowGroup)();
1672
+ return /* @__PURE__ */ import_react47.default.createElement(Element, __spreadValues({}, rowGroupProps), children);
1673
+ };
1674
+
1675
+ // src/Table/Table.tsx
1676
+ var Table = (_a) => {
1677
+ var _b = _a, {
1678
+ align,
1679
+ alignHeader,
1680
+ variant,
1681
+ size
1682
+ } = _b, props = __objRest(_b, [
1683
+ "align",
1684
+ "alignHeader",
1685
+ "variant",
1686
+ "size"
1687
+ ]);
1688
+ const showSelectionCheckboxes = props.selectionMode === "multiple" && props.selectionBehavior !== "replace";
1689
+ const state = (0, import_table7.useTableState)(__spreadProps(__spreadValues({}, props), {
1690
+ showSelectionCheckboxes
1691
+ }));
1692
+ const ref = (0, import_react48.useRef)(null);
1693
+ const { gridProps } = (0, import_table6.useTable)(props, state, ref);
1694
+ const styles = (0, import_system26.useComponentStyles)("Table", { variant, size }, { parts: ["table", "header", "row", "cell"] });
1695
+ return /* @__PURE__ */ import_react48.default.createElement(import_system.Box, __spreadValues({
1696
+ as: "table",
1697
+ ref,
1698
+ __baseCSS: styles.table
1699
+ }, gridProps), /* @__PURE__ */ import_react48.default.createElement(TableRowGroup, {
1700
+ as: "thead"
1701
+ }, state.collection.headerRows.map((headerRow) => /* @__PURE__ */ import_react48.default.createElement(TableHeaderRow, {
1702
+ key: headerRow.key,
1703
+ item: headerRow,
1704
+ state
1705
+ }, [...headerRow.childNodes].map((column) => /* @__PURE__ */ import_react48.default.createElement(TableColumnHeader, {
1706
+ key: column.key,
1707
+ item: column,
1708
+ state,
1709
+ isSelectionColumn: column.props.isSelectionCell,
1710
+ align: alignHeader,
1711
+ css: styles.header
1712
+ }))))), /* @__PURE__ */ import_react48.default.createElement(TableRowGroup, {
1713
+ as: "tbody"
1714
+ }, [...state.collection.body.childNodes].map((row) => /* @__PURE__ */ import_react48.default.createElement(TableRow, {
1715
+ css: styles.row,
1716
+ key: row.key,
1717
+ item: row,
1718
+ state
1719
+ }, [...row.childNodes].map((cell) => /* @__PURE__ */ import_react48.default.createElement(TableCell, {
1720
+ key: cell.key,
1721
+ item: cell,
1722
+ state,
1723
+ isSelectionCell: cell.props.isSelectionCell,
1724
+ align,
1725
+ css: styles.cell
1726
+ }))))));
1727
+ };
1728
+ Table.Body = import_table7.TableBody;
1729
+ Table.Cell = import_table7.Cell;
1730
+ Table.Column = import_table7.Column;
1731
+ Table.Header = import_table7.TableHeader;
1732
+ Table.Row = import_table7.Row;
1733
+
1734
+ // src/TextArea/TextArea.tsx
1735
+ var import_react51 = __toESM(require("react"));
1736
+ var import_textfield = require("@react-aria/textfield");
1737
+ var import_system28 = require("@marigold/system");
1738
+
1739
+ // src/Field/FieldBase.tsx
1740
+ var import_react50 = __toESM(require("react"));
1741
+
1742
+ // src/Field/HelpText.tsx
1743
+ var import_react49 = __toESM(require("react"));
1744
+ var import_icons7 = require("@marigold/icons");
1745
+ var import_system27 = require("@marigold/system");
1746
+ var HelpText = (_a) => {
1747
+ var _b = _a, {
1748
+ variant,
1749
+ size,
1750
+ disabled,
1751
+ description,
1752
+ descriptionProps,
1362
1753
  error,
1363
1754
  errorMessage,
1364
- required,
1365
- children
1755
+ errorMessageProps
1366
1756
  } = _b, props = __objRest(_b, [
1367
1757
  "variant",
1368
- "htmlFor",
1758
+ "size",
1759
+ "disabled",
1760
+ "description",
1761
+ "descriptionProps",
1369
1762
  "error",
1370
1763
  "errorMessage",
1371
- "required",
1372
- "children"
1764
+ "errorMessageProps"
1373
1765
  ]);
1374
- const ref = (0, import_react35.useRef)(null);
1375
- const { labelProps, inputProps, errorMessageProps } = (0, import_textfield2.useTextField)(__spreadProps(__spreadValues({}, props), {
1376
- inputElementType: "textarea"
1377
- }), ref);
1378
- return /* @__PURE__ */ import_react35.default.createElement(import_system.Box, null, /* @__PURE__ */ import_react35.default.createElement(Label, __spreadValues({
1379
- htmlFor,
1766
+ var _a2;
1767
+ const hasErrorMessage = errorMessage && error;
1768
+ const styles = (0, import_system27.useComponentStyles)("HelpText", { variant, size }, { parts: ["container", "icon"] });
1769
+ return /* @__PURE__ */ import_react49.default.createElement(import_system27.Box, __spreadProps(__spreadValues({}, props), {
1770
+ __baseCSS: { display: "flex", alignItems: "center", gap: 4 },
1771
+ css: styles.container
1772
+ }), hasErrorMessage ? /* @__PURE__ */ import_react49.default.createElement(import_react49.default.Fragment, null, /* @__PURE__ */ import_react49.default.createElement(import_icons7.Exclamation, {
1773
+ role: "presentation",
1774
+ size: ((_a2 = styles == null ? void 0 : styles.icon) == null ? void 0 : _a2.size) || 16
1775
+ }), /* @__PURE__ */ import_react49.default.createElement(import_system27.Box, __spreadValues({}, errorMessageProps), errorMessage)) : /* @__PURE__ */ import_react49.default.createElement(import_system27.Box, __spreadValues({}, descriptionProps), description));
1776
+ };
1777
+
1778
+ // src/Field/FieldBase.tsx
1779
+ var FieldBase = ({
1780
+ variant,
1781
+ size,
1782
+ children,
1783
+ disabled,
1784
+ required,
1785
+ label,
1786
+ labelProps,
1787
+ description,
1788
+ descriptionProps,
1789
+ error,
1790
+ errorMessage,
1791
+ errorMessageProps,
1792
+ stateProps
1793
+ }) => {
1794
+ const hasHelpText = !!description || errorMessage && error;
1795
+ return /* @__PURE__ */ import_react50.default.createElement(Stack, null, label && /* @__PURE__ */ import_react50.default.createElement(Label, __spreadProps(__spreadValues(__spreadValues({}, labelProps), stateProps), {
1380
1796
  required
1381
- }, labelProps), props.label), /* @__PURE__ */ import_react35.default.createElement(import_system.Box, __spreadValues(__spreadProps(__spreadValues({
1797
+ }), label), children, hasHelpText && /* @__PURE__ */ import_react50.default.createElement(HelpText, __spreadProps(__spreadValues({}, stateProps), {
1798
+ disabled,
1799
+ description,
1800
+ descriptionProps,
1801
+ error,
1802
+ errorMessage,
1803
+ errorMessageProps
1804
+ })));
1805
+ };
1806
+
1807
+ // src/TextArea/TextArea.tsx
1808
+ var import_interactions3 = require("@react-aria/interactions");
1809
+ var import_focus13 = require("@react-aria/focus");
1810
+ var TextArea = (_a) => {
1811
+ var _b = _a, {
1812
+ disabled,
1813
+ required,
1814
+ readOnly,
1815
+ error
1816
+ } = _b, props = __objRest(_b, [
1817
+ "disabled",
1818
+ "required",
1819
+ "readOnly",
1820
+ "error"
1821
+ ]);
1822
+ const { label, description, errorMessage } = props;
1823
+ const ref = (0, import_react51.useRef)(null);
1824
+ const { labelProps, inputProps, descriptionProps, errorMessageProps } = (0, import_textfield.useTextField)(__spreadValues({
1825
+ inputElementType: "textarea",
1826
+ isDisabled: disabled,
1827
+ isRequired: required,
1828
+ isReadOnly: readOnly,
1829
+ validationState: error ? "invalid" : "valid"
1830
+ }, props), ref);
1831
+ const { hoverProps, isHovered } = (0, import_interactions3.useHover)({});
1832
+ const { focusProps, isFocusVisible } = (0, import_focus13.useFocusRing)();
1833
+ const stateProps = (0, import_system28.useStateProps)({
1834
+ hover: isHovered,
1835
+ focus: isFocusVisible,
1836
+ disabled,
1837
+ readOnly,
1838
+ error
1839
+ });
1840
+ const styles = (0, import_system28.useComponentStyles)("TextArea", {});
1841
+ return /* @__PURE__ */ import_react51.default.createElement(FieldBase, {
1842
+ label,
1843
+ labelProps,
1844
+ required,
1845
+ description,
1846
+ descriptionProps,
1847
+ error,
1848
+ errorMessage,
1849
+ errorMessageProps,
1850
+ stateProps
1851
+ }, /* @__PURE__ */ import_react51.default.createElement(import_system28.Box, __spreadValues(__spreadValues(__spreadValues(__spreadValues({
1382
1852
  as: "textarea",
1383
- variant: `textarea.${variant}`,
1384
- css: {
1385
- outlineColor: error && "error"
1386
- }
1387
- }, inputProps), {
1853
+ variant: "textArea",
1854
+ css: styles,
1388
1855
  ref
1389
- }), props)), error && errorMessage && /* @__PURE__ */ import_react35.default.createElement(ValidationMessage, __spreadValues({}, errorMessageProps), /* @__PURE__ */ import_react35.default.createElement(import_icons8.Exclamation, {
1390
- size: 16
1391
- }), errorMessage));
1856
+ }, inputProps), focusProps), hoverProps), stateProps)));
1857
+ };
1858
+
1859
+ // src/TextField/TextField.tsx
1860
+ var import_react53 = __toESM(require("react"));
1861
+ var import_interactions4 = require("@react-aria/interactions");
1862
+ var import_focus14 = require("@react-aria/focus");
1863
+ var import_textfield2 = require("@react-aria/textfield");
1864
+ var import_system30 = require("@marigold/system");
1865
+
1866
+ // src/Input/Input.tsx
1867
+ var import_react52 = __toESM(require("react"));
1868
+ var import_system29 = require("@marigold/system");
1869
+ var Input = (0, import_react52.forwardRef)((_a, ref) => {
1870
+ var _b = _a, { variant, size, type = "text" } = _b, props = __objRest(_b, ["variant", "size", "type"]);
1871
+ const styles = (0, import_system29.useComponentStyles)("Input", { variant, size });
1872
+ return /* @__PURE__ */ import_react52.default.createElement(import_system29.Box, __spreadProps(__spreadValues({}, props), {
1873
+ ref,
1874
+ as: "input",
1875
+ type,
1876
+ css: styles
1877
+ }));
1878
+ });
1879
+
1880
+ // src/TextField/TextField.tsx
1881
+ var TextField = (_a) => {
1882
+ var _b = _a, {
1883
+ disabled,
1884
+ required,
1885
+ readOnly,
1886
+ error
1887
+ } = _b, props = __objRest(_b, [
1888
+ "disabled",
1889
+ "required",
1890
+ "readOnly",
1891
+ "error"
1892
+ ]);
1893
+ const { label, description, errorMessage } = props;
1894
+ const ref = (0, import_react53.useRef)(null);
1895
+ const { labelProps, inputProps, descriptionProps, errorMessageProps } = (0, import_textfield2.useTextField)(__spreadValues({
1896
+ isDisabled: disabled,
1897
+ isRequired: required,
1898
+ isReadOnly: readOnly,
1899
+ validationState: error ? "invalid" : "valid"
1900
+ }, props), ref);
1901
+ const { hoverProps, isHovered } = (0, import_interactions4.useHover)({});
1902
+ const { focusProps, isFocusVisible } = (0, import_focus14.useFocusRing)();
1903
+ const stateProps = (0, import_system30.useStateProps)({
1904
+ hover: isHovered,
1905
+ focus: isFocusVisible,
1906
+ disabled,
1907
+ readOnly,
1908
+ error
1909
+ });
1910
+ return /* @__PURE__ */ import_react53.default.createElement(FieldBase, {
1911
+ label,
1912
+ labelProps,
1913
+ required,
1914
+ description,
1915
+ descriptionProps,
1916
+ error,
1917
+ errorMessage,
1918
+ errorMessageProps,
1919
+ stateProps
1920
+ }, /* @__PURE__ */ import_react53.default.createElement(Input, __spreadValues(__spreadValues(__spreadValues(__spreadValues({
1921
+ ref
1922
+ }, inputProps), focusProps), hoverProps), stateProps)));
1392
1923
  };
1393
1924
 
1925
+ // src/Tiles/Tiles.tsx
1926
+ var import_react54 = __toESM(require("react"));
1927
+ var Tiles = import_react54.default.forwardRef(function Tiles2(_a, ref) {
1928
+ var _b = _a, { space = "none", itemMinWidth = "250px", children } = _b, props = __objRest(_b, ["space", "itemMinWidth", "children"]);
1929
+ return /* @__PURE__ */ import_react54.default.createElement(import_system.Box, __spreadValues({
1930
+ ref,
1931
+ display: "grid",
1932
+ __baseCSS: {
1933
+ gap: space,
1934
+ gridTemplateColumns: `repeat(auto-fit, minmax(min(${itemMinWidth}, 100%), 1fr))`
1935
+ }
1936
+ }, props), children);
1937
+ });
1938
+
1394
1939
  // src/Tooltip/Tooltip.tsx
1395
- var import_react37 = __toESM(require("react"));
1940
+ var import_react56 = __toESM(require("react"));
1396
1941
  var import_tooltip3 = require("@react-aria/tooltip");
1397
- var import_utils7 = require("@react-aria/utils");
1942
+ var import_utils9 = require("@react-aria/utils");
1398
1943
 
1399
1944
  // src/Tooltip/TooltipTrigger.tsx
1400
- var import_react36 = __toESM(require("react"));
1401
- var import_focus7 = require("@react-aria/focus");
1945
+ var import_react55 = __toESM(require("react"));
1946
+ var import_focus15 = require("@react-aria/focus");
1402
1947
  var import_tooltip = require("@react-aria/tooltip");
1403
1948
  var import_tooltip2 = require("@react-stately/tooltip");
1404
- var TooltipContext = import_react36.default.createContext({});
1949
+ var TooltipContext = import_react55.default.createContext({});
1405
1950
  var TooltipTrigger = (_a) => {
1406
1951
  var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
1407
- const [trigger, tooltip] = import_react36.default.Children.toArray(children);
1952
+ const [trigger, tooltip] = import_react55.default.Children.toArray(children);
1408
1953
  const state = (0, import_tooltip2.useTooltipTriggerState)(props);
1409
- const tooltipTriggerRef = (0, import_react36.useRef)();
1954
+ const tooltipTriggerRef = (0, import_react55.useRef)();
1410
1955
  const { triggerProps, tooltipProps } = (0, import_tooltip.useTooltipTrigger)({}, state, tooltipTriggerRef);
1411
- return /* @__PURE__ */ import_react36.default.createElement(import_focus7.FocusableProvider, __spreadProps(__spreadValues({}, triggerProps), {
1956
+ return /* @__PURE__ */ import_react55.default.createElement(import_focus15.FocusableProvider, __spreadProps(__spreadValues({}, triggerProps), {
1412
1957
  ref: tooltipTriggerRef
1413
- }), trigger, state.isOpen && /* @__PURE__ */ import_react36.default.createElement(TooltipContext.Provider, {
1958
+ }), trigger, state.isOpen && /* @__PURE__ */ import_react55.default.createElement(TooltipContext.Provider, {
1414
1959
  value: __spreadValues({
1415
1960
  state
1416
1961
  }, tooltipProps)
@@ -1426,60 +1971,85 @@ var Tooltip = (_a) => {
1426
1971
  "variant",
1427
1972
  "children"
1428
1973
  ]);
1429
- const _a2 = (0, import_react37.useContext)(TooltipContext), { state } = _a2, tooltipProviderProps = __objRest(_a2, ["state"]);
1430
- const mergedProps = (0, import_utils7.mergeProps)(props, tooltipProviderProps);
1974
+ const _a2 = (0, import_react56.useContext)(TooltipContext), { state } = _a2, tooltipProviderProps = __objRest(_a2, ["state"]);
1975
+ const mergedProps = (0, import_utils9.mergeProps)(props, tooltipProviderProps);
1431
1976
  const { tooltipProps } = (0, import_tooltip3.useTooltip)(mergedProps, state);
1432
- return /* @__PURE__ */ import_react37.default.createElement(import_system.Box, __spreadValues({
1977
+ return /* @__PURE__ */ import_react56.default.createElement(import_system.Box, __spreadValues({
1433
1978
  position: "relative"
1434
- }, tooltipProps), /* @__PURE__ */ import_react37.default.createElement(import_system.Box, __spreadValues({
1979
+ }, tooltipProps), /* @__PURE__ */ import_react56.default.createElement(import_system.Box, __spreadValues({
1435
1980
  position: "absolute",
1436
1981
  variant: `tooltip.${variant}`
1437
1982
  }, mergedProps), children));
1438
1983
  };
1439
1984
 
1440
- // src/Input/Input.tsx
1441
- var import_react38 = __toESM(require("react"));
1442
- var Input = (_a) => {
1985
+ // src/Container/Container.tsx
1986
+ var import_react57 = __toESM(require("react"));
1987
+ var import_tokens2 = require("@marigold/tokens");
1988
+ var ALIGNMENT3 = {
1989
+ left: "flex-start",
1990
+ center: "center",
1991
+ right: "flex-end"
1992
+ };
1993
+ var Container = (_a) => {
1443
1994
  var _b = _a, {
1444
- variant = "",
1445
- type = "text"
1995
+ contentType = "content",
1996
+ size = "medium",
1997
+ align = "left",
1998
+ alignContainer = "left",
1999
+ children
1446
2000
  } = _b, props = __objRest(_b, [
1447
- "variant",
1448
- "type"
2001
+ "contentType",
2002
+ "size",
2003
+ "align",
2004
+ "alignContainer",
2005
+ "children"
1449
2006
  ]);
1450
- return /* @__PURE__ */ import_react38.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
1451
- as: "input",
1452
- type,
1453
- variant: `input.${variant}`
1454
- }));
1455
- };
1456
-
1457
- // src/Container/Container.tsx
1458
- var import_react39 = __toESM(require("react"));
1459
- var Container = (_a) => {
1460
- var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
1461
- return /* @__PURE__ */ import_react39.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
1462
- width: "100%"
1463
- }), children);
2007
+ const maxWidth = import_tokens2.size[contentType][size];
2008
+ let gridTemplateColumns = `${maxWidth} 1fr 1fr`;
2009
+ let gridColumn = 1;
2010
+ if (alignContainer === "center") {
2011
+ gridTemplateColumns = `1fr ${maxWidth} 1fr`;
2012
+ gridColumn = 2;
2013
+ }
2014
+ if (alignContainer === "right") {
2015
+ gridTemplateColumns = `1fr 1fr ${maxWidth}`;
2016
+ gridColumn = 3;
2017
+ }
2018
+ return /* @__PURE__ */ import_react57.default.createElement(import_system.Box, __spreadValues({
2019
+ display: "grid",
2020
+ css: {
2021
+ gridTemplateColumns,
2022
+ placeItems: ALIGNMENT3[align],
2023
+ "> *": {
2024
+ gridColumn
2025
+ }
2026
+ }
2027
+ }, props), children);
1464
2028
  };
1465
2029
 
1466
2030
  // src/index.ts
1467
- var import_collections = require("@react-stately/collections");
1468
- module.exports = __toCommonJS(src_exports);
2031
+ var import_collections2 = require("@react-stately/collections");
1469
2032
  // Annotate the CommonJS export names for ESM import in node:
1470
2033
  0 && (module.exports = {
1471
- ActionGroup,
2034
+ Aside,
2035
+ Aspect,
1472
2036
  Badge,
1473
2037
  Box,
2038
+ Breakout,
1474
2039
  Button,
1475
2040
  Card,
2041
+ Center,
1476
2042
  Checkbox,
1477
- Column,
2043
+ CheckboxGroup,
2044
+ CheckboxGroupContext,
1478
2045
  Columns,
1479
2046
  Container,
2047
+ Content,
1480
2048
  Dialog,
1481
2049
  Divider,
1482
- Field,
2050
+ Footer,
2051
+ Header,
2052
+ Headline,
1483
2053
  Image,
1484
2054
  Inline,
1485
2055
  Input,
@@ -1489,8 +2059,9 @@ module.exports = __toCommonJS(src_exports);
1489
2059
  Link,
1490
2060
  MarigoldProvider,
1491
2061
  Menu,
1492
- MenuItem,
1493
2062
  Message,
2063
+ Overlay,
2064
+ Popover,
1494
2065
  Radio,
1495
2066
  SSRProvider,
1496
2067
  Section,
@@ -1498,14 +2069,18 @@ module.exports = __toCommonJS(src_exports);
1498
2069
  Slider,
1499
2070
  Stack,
1500
2071
  Switch,
2072
+ Table,
1501
2073
  Text,
1502
- Textarea,
2074
+ TextArea,
2075
+ TextField,
1503
2076
  ThemeProvider,
2077
+ Tiles,
1504
2078
  Tooltip,
1505
2079
  TooltipContext,
1506
2080
  TooltipTrigger,
1507
2081
  ValidationMessage,
1508
2082
  VisuallyHidden,
2083
+ useCheckboxGroupContext,
1509
2084
  useDialogButtonProps,
1510
2085
  useTheme
1511
2086
  });