@marigold/components 0.5.0 → 0.7.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
@@ -59,7 +59,8 @@ var __toCommonJS = /* @__PURE__ */ ((cache) => {
59
59
  var src_exports = {};
60
60
  __export(src_exports, {
61
61
  ActionGroup: () => ActionGroup,
62
- Alert: () => Alert,
62
+ Aside: () => Aside,
63
+ Aspect: () => Aspect,
63
64
  Badge: () => Badge,
64
65
  Box: () => import_system.Box,
65
66
  Button: () => Button,
@@ -88,9 +89,14 @@ __export(src_exports, {
88
89
  Select: () => Select,
89
90
  Slider: () => Slider,
90
91
  Stack: () => Stack,
92
+ Switch: () => Switch,
91
93
  Text: () => Text,
92
94
  Textarea: () => Textarea,
93
95
  ThemeProvider: () => import_system5.ThemeProvider,
96
+ Tiles: () => Tiles,
97
+ Tooltip: () => Tooltip,
98
+ TooltipContext: () => TooltipContext,
99
+ TooltipTrigger: () => TooltipTrigger,
94
100
  ValidationMessage: () => ValidationMessage,
95
101
  VisuallyHidden: () => import_visually_hidden2.VisuallyHidden,
96
102
  useDialogButtonProps: () => useDialogButtonProps,
@@ -102,7 +108,6 @@ var import_react3 = __toESM(require("react"));
102
108
 
103
109
  // src/Inline/Inline.tsx
104
110
  var import_react = __toESM(require("react"));
105
- var import_react_keyed_flatten_children = __toESM(require("react-keyed-flatten-children"));
106
111
 
107
112
  // src/Box.ts
108
113
  var import_system = require("@marigold/system");
@@ -124,15 +129,14 @@ var Inline = (_a) => {
124
129
  "children"
125
130
  ]);
126
131
  return /* @__PURE__ */ import_react.default.createElement(import_system.Box, __spreadValues({
132
+ __baseCSS: { gap: space, flexWrap: "wrap" },
127
133
  display: "inline-flex",
128
- css: { "> * + *": { pl: space } },
129
134
  alignItems: ALIGNMENT[align]
130
- }, props), import_react.Children.map((0, import_react_keyed_flatten_children.default)(children), (child) => /* @__PURE__ */ import_react.default.createElement(import_system.Box, null, import_react.default.cloneElement(child, {}, child.props.children))));
135
+ }, props), children);
131
136
  };
132
137
 
133
138
  // src/Stack/Stack.tsx
134
139
  var import_react2 = __toESM(require("react"));
135
- var import_react_keyed_flatten_children2 = __toESM(require("react-keyed-flatten-children"));
136
140
  var ALIGNMENT2 = {
137
141
  left: "flex-start",
138
142
  center: "center",
@@ -149,11 +153,11 @@ var Stack = (_a) => {
149
153
  "children"
150
154
  ]);
151
155
  return /* @__PURE__ */ import_react2.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
156
+ __baseCSS: { gap: space },
152
157
  display: "flex",
153
158
  flexDirection: "column",
154
- alignItems: ALIGNMENT2[align],
155
- css: { "> * + *": { pt: space } }
156
- }), import_react2.Children.map((0, import_react_keyed_flatten_children2.default)(children), (child) => /* @__PURE__ */ import_react2.default.createElement(import_system.Box, null, import_react2.default.cloneElement(child, {}, child.props.children))));
159
+ alignItems: ALIGNMENT2[align]
160
+ }), children);
157
161
  };
158
162
 
159
163
  // src/ActionGroup/ActionGroup.tsx
@@ -174,45 +178,69 @@ var ActionGroup = (_a) => {
174
178
  }, props), children);
175
179
  };
176
180
 
177
- // src/Alert/Alert.tsx
181
+ // src/Aside/Aside.tsx
178
182
  var import_react4 = __toESM(require("react"));
179
- var import_icons = require("@marigold/icons");
180
- var ICON_MAP = {
181
- success: import_icons.Check,
182
- warning: import_icons.Notification,
183
- error: import_icons.Exclamation
183
+ var SIDE_MAP = {
184
+ left: [":not(style):first-of-type", ":last-child"],
185
+ right: [":last-child", ":not(style):first-of-type"]
184
186
  };
185
- var Alert = (_a) => {
186
- var _b = _a, {
187
- variant = "success",
188
- children
189
- } = _b, props = __objRest(_b, [
190
- "variant",
191
- "children"
192
- ]);
193
- const Icon = ICON_MAP[variant];
194
- return /* @__PURE__ */ import_react4.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
195
- display: "flex",
196
- variant: `alert.${variant}`
197
- }), /* @__PURE__ */ import_react4.default.createElement(import_system.Box, {
198
- display: "inline-block",
199
- alignItems: "center",
200
- width: "32px",
201
- height: "32px",
202
- bg: variant
203
- }, /* @__PURE__ */ import_react4.default.createElement(import_system.Box, {
204
- as: Icon,
205
- size: 12,
206
- color: "#fff",
207
- bg: variant,
208
- m: 10
209
- })), /* @__PURE__ */ import_react4.default.createElement(import_system.Box, {
210
- mx: "16px"
211
- }, children));
187
+ var Aside = ({
188
+ children,
189
+ sideWidth,
190
+ space = "none",
191
+ side = "left",
192
+ stretch = true,
193
+ wrap = "50%"
194
+ }) => {
195
+ const [aside, content] = SIDE_MAP[side];
196
+ return /* @__PURE__ */ import_react4.default.createElement(import_system.Box, {
197
+ css: {
198
+ display: "flex",
199
+ flexWrap: "wrap",
200
+ gap: space,
201
+ alignItems: stretch ? void 0 : "flex-start",
202
+ [`> ${aside}`]: {
203
+ flexBasis: sideWidth,
204
+ flexGrow: 1
205
+ },
206
+ [`> ${content}`]: {
207
+ flexBasis: 0,
208
+ flexGrow: 999,
209
+ minInlineSize: wrap
210
+ }
211
+ }
212
+ }, children);
212
213
  };
213
214
 
214
- // src/Badge/Badge.tsx
215
+ // src/Aspect/Aspect.tsx
215
216
  var import_react5 = __toESM(require("react"));
217
+ var import_tokens = require("@marigold/tokens");
218
+ var Aspect = import_react5.default.forwardRef(function AspectRatio(_a, ref) {
219
+ var _b = _a, { ratio = "square", maxWidth = "100%", children } = _b, props = __objRest(_b, ["ratio", "maxWidth", "children"]);
220
+ return /* @__PURE__ */ import_react5.default.createElement(import_system.Box, {
221
+ ref,
222
+ __baseCSS: {
223
+ position: "relative",
224
+ overflow: "hidden",
225
+ maxWidth
226
+ }
227
+ }, /* @__PURE__ */ import_react5.default.createElement(import_system.Box, {
228
+ __baseCSS: {
229
+ aspectRatio: import_tokens.aspect[ratio]
230
+ }
231
+ }), /* @__PURE__ */ import_react5.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
232
+ __baseCSS: {
233
+ position: "absolute",
234
+ top: 0,
235
+ right: 0,
236
+ bottom: 0,
237
+ left: 0
238
+ }
239
+ }), children));
240
+ });
241
+
242
+ // src/Badge/Badge.tsx
243
+ var import_react6 = __toESM(require("react"));
216
244
  var Badge = (_a) => {
217
245
  var _b = _a, {
218
246
  variant = "",
@@ -225,16 +253,16 @@ var Badge = (_a) => {
225
253
  "borderColor",
226
254
  "children"
227
255
  ]);
228
- return /* @__PURE__ */ import_react5.default.createElement(import_system.Box, __spreadValues({
256
+ return /* @__PURE__ */ import_react6.default.createElement(import_system.Box, __spreadValues({
229
257
  css: { bg: bgColor, borderColor },
230
258
  variant: `badge.${variant}`
231
259
  }, props), children);
232
260
  };
233
261
 
234
262
  // src/Button/Button.tsx
235
- var import_react6 = __toESM(require("react"));
263
+ var import_react7 = __toESM(require("react"));
236
264
  var import_button = require("@react-aria/button");
237
- var Button = (0, import_react6.forwardRef)((_a, ref) => {
265
+ var Button = (0, import_react7.forwardRef)((_a, ref) => {
238
266
  var _b = _a, {
239
267
  as = "button",
240
268
  variant = "primary",
@@ -256,7 +284,7 @@ var Button = (0, import_react6.forwardRef)((_a, ref) => {
256
284
  elementType: typeof as === "string" ? as : "span",
257
285
  isDisabled: disabled
258
286
  }), ref);
259
- return /* @__PURE__ */ import_react6.default.createElement(import_system.Box, __spreadProps(__spreadValues(__spreadValues({}, buttonProps), props), {
287
+ return /* @__PURE__ */ import_react7.default.createElement(import_system.Box, __spreadProps(__spreadValues(__spreadValues({}, buttonProps), props), {
260
288
  as,
261
289
  display: "inline-flex",
262
290
  alignItems: "center",
@@ -268,7 +296,7 @@ var Button = (0, import_react6.forwardRef)((_a, ref) => {
268
296
  });
269
297
 
270
298
  // src/Card/Card.tsx
271
- var import_react7 = __toESM(require("react"));
299
+ var import_react8 = __toESM(require("react"));
272
300
  var Card = (_a) => {
273
301
  var _b = _a, {
274
302
  variant = "",
@@ -283,11 +311,11 @@ var Card = (_a) => {
283
311
  "className",
284
312
  "children"
285
313
  ]);
286
- return /* @__PURE__ */ import_react7.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
314
+ return /* @__PURE__ */ import_react8.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
287
315
  variant: `card.${variant}`,
288
316
  maxWidth: width,
289
317
  className
290
- }), title && /* @__PURE__ */ import_react7.default.createElement(import_system.Box, {
318
+ }), title && /* @__PURE__ */ import_react8.default.createElement(import_system.Box, {
291
319
  as: "h2",
292
320
  variant: "text.h2",
293
321
  pb: "small"
@@ -299,103 +327,8 @@ var import_react12 = __toESM(require("react"));
299
327
  var import_focus = require("@react-aria/focus");
300
328
  var import_visually_hidden = require("@react-aria/visually-hidden");
301
329
  var import_checkbox = require("@react-aria/checkbox");
302
-
303
- // ../../node_modules/@react-stately/utils/dist/module.js
304
- var import_react8 = require("react");
305
- function useControlledState(value, defaultValue, onChange) {
306
- let [stateValue, setStateValue] = (0, import_react8.useState)(value || defaultValue);
307
- let ref = (0, import_react8.useRef)(value !== void 0);
308
- let wasControlled = ref.current;
309
- let isControlled = value !== void 0;
310
- let stateRef = (0, import_react8.useRef)(stateValue);
311
- if (wasControlled !== isControlled) {
312
- console.warn("WARN: A component changed from " + (wasControlled ? "controlled" : "uncontrolled") + " to " + (isControlled ? "controlled" : "uncontrolled") + ".");
313
- }
314
- ref.current = isControlled;
315
- let setValue = (0, import_react8.useCallback)(function(value2) {
316
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
317
- args[_key - 1] = arguments[_key];
318
- }
319
- let onChangeCaller = function onChangeCaller2(value3) {
320
- if (onChange) {
321
- if (!Object.is(stateRef.current, value3)) {
322
- for (var _len2 = arguments.length, onChangeArgs = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
323
- onChangeArgs[_key2 - 1] = arguments[_key2];
324
- }
325
- onChange(value3, ...onChangeArgs);
326
- }
327
- }
328
- if (!isControlled) {
329
- stateRef.current = value3;
330
- }
331
- };
332
- if (typeof value2 === "function") {
333
- let updateFunction = function updateFunction2(oldValue) {
334
- for (var _len3 = arguments.length, functionArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
335
- functionArgs[_key3 - 1] = arguments[_key3];
336
- }
337
- let interceptedValue = value2(isControlled ? stateRef.current : oldValue, ...functionArgs);
338
- onChangeCaller(interceptedValue, ...args);
339
- if (!isControlled) {
340
- return interceptedValue;
341
- }
342
- return oldValue;
343
- };
344
- setStateValue(updateFunction);
345
- } else {
346
- if (!isControlled) {
347
- setStateValue(value2);
348
- }
349
- onChangeCaller(value2, ...args);
350
- }
351
- }, [isControlled, onChange]);
352
- if (isControlled) {
353
- stateRef.current = value;
354
- } else {
355
- value = stateValue;
356
- }
357
- return [value, setValue];
358
- }
359
-
360
- // ../../node_modules/@react-stately/toggle/dist/module.js
361
- function useToggleState(props) {
362
- if (props === void 0) {
363
- props = {};
364
- }
365
- let {
366
- isReadOnly,
367
- onChange
368
- } = props;
369
- let [isSelected, setSelected] = useControlledState(props.isSelected, props.defaultSelected || false, () => {
370
- });
371
- function updateSelected(value) {
372
- if (!isReadOnly) {
373
- setSelected(value);
374
- if (onChange) {
375
- onChange(value);
376
- }
377
- }
378
- }
379
- function toggleState() {
380
- if (!isReadOnly) {
381
- setSelected((prev) => {
382
- let newVal = !prev;
383
- if (onChange) {
384
- onChange(newVal);
385
- }
386
- return newVal;
387
- });
388
- }
389
- }
390
- return {
391
- isSelected,
392
- setSelected: updateSelected,
393
- toggle: toggleState
394
- };
395
- }
396
-
397
- // src/Checkbox/Checkbox.tsx
398
- var import_icons3 = require("@marigold/icons");
330
+ var import_toggle = require("@react-stately/toggle");
331
+ var import_icons2 = require("@marigold/icons");
399
332
 
400
333
  // src/Checkbox/CheckboxIcon.tsx
401
334
  var import_react9 = __toESM(require("react"));
@@ -404,6 +337,7 @@ var CheckboxIcon = ({
404
337
  variant = "",
405
338
  checked = false,
406
339
  disabled = false,
340
+ indeterminated,
407
341
  error = false
408
342
  }) => {
409
343
  const conditionalStates = disabled ? {
@@ -426,7 +360,13 @@ var CheckboxIcon = ({
426
360
  height: "15px",
427
361
  rx: "1.5",
428
362
  variant: (0, import_system2.conditional)(`checkbox.${variant}`, conditionalStates)
429
- }), checked && /* @__PURE__ */ import_react9.default.createElement(import_system.Box, {
363
+ }), checked && indeterminated && /* @__PURE__ */ import_react9.default.createElement(import_system.Box, {
364
+ __baseCSS: { fill: "gray00" },
365
+ as: "path",
366
+ fillRule: "evenodd",
367
+ clipRule: "evenodd",
368
+ d: "M13.5 17.0402H2.5V15.4688H13.5V17.0402V17.0402Z"
369
+ }), checked && !indeterminated && /* @__PURE__ */ import_react9.default.createElement(import_system.Box, {
430
370
  __baseCSS: { fill: "gray00" },
431
371
  as: "path",
432
372
  fillRule: "evenodd",
@@ -437,7 +377,7 @@ var CheckboxIcon = ({
437
377
 
438
378
  // src/Label/Label.tsx
439
379
  var import_react10 = __toESM(require("react"));
440
- var import_icons2 = require("@marigold/icons");
380
+ var import_icons = require("@marigold/icons");
441
381
  var LabelBase = (_a) => {
442
382
  var _b = _a, {
443
383
  variant = "above",
@@ -468,10 +408,9 @@ var Label = (_a) => {
468
408
  as: "span",
469
409
  display: "inline-flex",
470
410
  alignItems: "center"
471
- }, /* @__PURE__ */ import_react10.default.createElement(LabelBase, __spreadValues({}, props), children), required && /* @__PURE__ */ import_react10.default.createElement(import_system.Box, {
472
- as: import_icons2.Required,
411
+ }, /* @__PURE__ */ import_react10.default.createElement(LabelBase, __spreadValues({}, props), children), required && /* @__PURE__ */ import_react10.default.createElement(import_icons.Required, {
473
412
  size: 16,
474
- css: { color: "error" }
413
+ fill: "error"
475
414
  })) : /* @__PURE__ */ import_react10.default.createElement(LabelBase, __spreadValues({}, props), children);
476
415
  };
477
416
 
@@ -498,8 +437,14 @@ var ValidationMessage = (_a) => {
498
437
 
499
438
  // src/Checkbox/Checkbox.tsx
500
439
  var CheckboxInput = (_a) => {
501
- var _b = _a, { error } = _b, props = __objRest(_b, ["error"]);
502
- const state = useToggleState(props);
440
+ var _b = _a, {
441
+ error,
442
+ indeterminated = false
443
+ } = _b, props = __objRest(_b, [
444
+ "error",
445
+ "indeterminated"
446
+ ]);
447
+ const state = (0, import_toggle.useToggleState)(props);
503
448
  const ref = import_react12.default.useRef(null);
504
449
  const { inputProps } = (0, import_checkbox.useCheckbox)(props, state, ref);
505
450
  const { focusProps } = (0, import_focus.useFocusRing)();
@@ -512,6 +457,7 @@ var CheckboxInput = (_a) => {
512
457
  checked: props.checked,
513
458
  variant: props.variant,
514
459
  disabled: props.disabled,
460
+ indeterminated,
515
461
  error
516
462
  }));
517
463
  };
@@ -534,10 +480,9 @@ var Checkbox = (_a) => {
534
480
  required,
535
481
  variant: `label.${labelVariant}`,
536
482
  color: props.disabled ? "disabled" : "text"
537
- }, /* @__PURE__ */ import_react12.default.createElement(import_system.Box, __spreadValues({
538
- as: CheckboxInput,
483
+ }, /* @__PURE__ */ import_react12.default.createElement(CheckboxInput, __spreadValues({
539
484
  error: props.error
540
- }, props)), props.children), props.error && errorMessage && /* @__PURE__ */ import_react12.default.createElement(ValidationMessage, null, /* @__PURE__ */ import_react12.default.createElement(import_icons3.Exclamation, {
485
+ }, props)), props.children), props.error && errorMessage && /* @__PURE__ */ import_react12.default.createElement(ValidationMessage, null, /* @__PURE__ */ import_react12.default.createElement(import_icons2.Exclamation, {
541
486
  size: 16
542
487
  }), errorMessage));
543
488
  };
@@ -564,9 +509,28 @@ var Column = (_a) => {
564
509
  };
565
510
 
566
511
  // src/Columns/Columns.tsx
567
- var import_react14 = __toESM(require("react"));
568
- var import_react_keyed_flatten_children3 = __toESM(require("react-keyed-flatten-children"));
512
+ var import_react15 = __toESM(require("react"));
569
513
  var import_system3 = require("@marigold/system");
514
+
515
+ // src/utils/flatten-children.ts
516
+ var import_react14 = require("react");
517
+ var import_react_is = require("react-is");
518
+ var flattenChildren = (children, depth = 0, keys = []) => import_react14.Children.toArray(children).reduce((acc, node) => {
519
+ if ((0, import_react_is.isFragment)(node)) {
520
+ acc.push.apply(acc, flattenChildren(node.props.children, depth + 1, keys.concat(node.key)));
521
+ } else {
522
+ if ((0, import_react14.isValidElement)(node)) {
523
+ acc.push((0, import_react14.cloneElement)(node, {
524
+ key: keys.concat(String(node.key)).join(".")
525
+ }));
526
+ } else if (typeof node === "string" || typeof node === "number") {
527
+ acc.push(node);
528
+ }
529
+ }
530
+ return acc;
531
+ }, []);
532
+
533
+ // src/Columns/Columns.tsx
570
534
  var useAlignment = (direction) => {
571
535
  switch (direction) {
572
536
  case "right":
@@ -597,34 +561,34 @@ var Columns = (_a) => {
597
561
  const { css } = (0, import_system3.useTheme)();
598
562
  const spaceObject = css({ space });
599
563
  const spaceValue = Object.values(spaceObject)[0];
600
- return /* @__PURE__ */ import_react14.default.createElement(import_system.Box, {
564
+ return /* @__PURE__ */ import_react15.default.createElement(import_system.Box, {
601
565
  p: space,
602
566
  display: "flex",
603
567
  className
604
- }, /* @__PURE__ */ import_react14.default.createElement(import_system.Box, __spreadValues({
568
+ }, /* @__PURE__ */ import_react15.default.createElement(import_system.Box, __spreadValues({
605
569
  width: `calc(100% + ${spaceValue}px)`,
606
570
  m: `${-spaceValue / 2}px`,
607
571
  display: "flex",
608
572
  flexWrap: "wrap",
609
573
  alignItems,
610
574
  justifyContent
611
- }, props), import_react14.Children.map((0, import_react_keyed_flatten_children3.default)(children), (child) => {
612
- return import_react14.default.cloneElement(child, {}, /* @__PURE__ */ import_react14.default.createElement(import_system.Box, {
575
+ }, props), import_react15.Children.map(flattenChildren(children), (child) => {
576
+ return import_react15.default.cloneElement(child, {}, /* @__PURE__ */ import_react15.default.createElement(import_system.Box, {
613
577
  css: { p: `${spaceValue / 2}px` }
614
578
  }, child.props.children));
615
579
  })));
616
580
  };
617
581
 
618
582
  // src/Dialog/Dialog.tsx
619
- var import_react17 = __toESM(require("react"));
583
+ var import_react18 = __toESM(require("react"));
620
584
  var import_overlays2 = require("@react-stately/overlays");
621
585
  var import_overlays3 = require("@react-aria/overlays");
622
586
  var import_button2 = require("@react-aria/button");
623
- var import_icons4 = require("@marigold/icons");
587
+ var import_icons3 = require("@marigold/icons");
624
588
 
625
589
  // src/Text/Text.tsx
626
- var import_react15 = __toESM(require("react"));
627
- var Text = (0, import_react15.forwardRef)((_a, ref) => {
590
+ var import_react16 = __toESM(require("react"));
591
+ var Text = (0, import_react16.forwardRef)((_a, ref) => {
628
592
  var _b = _a, {
629
593
  as = "span",
630
594
  variant = "body",
@@ -646,7 +610,7 @@ var Text = (0, import_react15.forwardRef)((_a, ref) => {
646
610
  "outline",
647
611
  "userSelect"
648
612
  ]);
649
- return /* @__PURE__ */ import_react15.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
613
+ return /* @__PURE__ */ import_react16.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
650
614
  as,
651
615
  variant: `text.${variant}`,
652
616
  css: {
@@ -662,7 +626,7 @@ var Text = (0, import_react15.forwardRef)((_a, ref) => {
662
626
  });
663
627
 
664
628
  // src/Dialog/ModalDialog.tsx
665
- var import_react16 = __toESM(require("react"));
629
+ var import_react17 = __toESM(require("react"));
666
630
  var import_overlays = require("@react-aria/overlays");
667
631
  var import_dialog = require("@react-aria/dialog");
668
632
  var import_focus2 = require("@react-aria/focus");
@@ -677,12 +641,12 @@ var ModalDialog = (_a) => {
677
641
  "children"
678
642
  ]);
679
643
  const _a2 = props, { isDismissable, isOpen, onClose } = _a2, restProps = __objRest(_a2, ["isDismissable", "isOpen", "onClose"]);
680
- const ref = import_react16.default.useRef();
644
+ const ref = import_react17.default.useRef();
681
645
  const { overlayProps, underlayProps } = (0, import_overlays.useOverlay)({ isDismissable, isOpen, onClose }, ref);
682
646
  (0, import_overlays.usePreventScroll)();
683
647
  const { modalProps } = (0, import_overlays.useModal)();
684
648
  const { dialogProps } = (0, import_dialog.useDialog)(props, ref);
685
- return /* @__PURE__ */ import_react16.default.createElement(import_system.Box, __spreadValues({
649
+ return /* @__PURE__ */ import_react17.default.createElement(import_system.Box, __spreadValues({
686
650
  __baseCSS: {
687
651
  display: "grid",
688
652
  placeItems: "center",
@@ -694,11 +658,11 @@ var ModalDialog = (_a) => {
694
658
  right: 0
695
659
  },
696
660
  variant: `dialog.${backdropVariant}`
697
- }, underlayProps), /* @__PURE__ */ import_react16.default.createElement(import_focus2.FocusScope, {
661
+ }, underlayProps), /* @__PURE__ */ import_react17.default.createElement(import_focus2.FocusScope, {
698
662
  contain: true,
699
663
  restoreFocus: true,
700
664
  autoFocus: true
701
- }, /* @__PURE__ */ import_react16.default.createElement(import_system.Box, __spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, overlayProps), dialogProps), modalProps), {
665
+ }, /* @__PURE__ */ import_react17.default.createElement(import_system.Box, __spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, overlayProps), dialogProps), modalProps), {
702
666
  ref,
703
667
  variant: variant ? `dialog.${variant}` : `dialog`
704
668
  }), restProps), children)));
@@ -723,17 +687,17 @@ var Dialog = (_a) => {
723
687
  "title",
724
688
  "variant"
725
689
  ]);
726
- const closeButtonRef = import_react17.default.useRef();
690
+ const closeButtonRef = import_react18.default.useRef();
727
691
  const { buttonProps: closeButtonProps } = (0, import_button2.useButton)({
728
692
  onPress: () => close()
729
693
  }, closeButtonRef);
730
- return /* @__PURE__ */ import_react17.default.createElement(import_overlays3.OverlayContainer, null, /* @__PURE__ */ import_react17.default.createElement(ModalDialog, __spreadValues({
694
+ return /* @__PURE__ */ import_react18.default.createElement(import_overlays3.OverlayContainer, null, /* @__PURE__ */ import_react18.default.createElement(ModalDialog, __spreadValues({
731
695
  variant,
732
696
  backdropVariant,
733
697
  isOpen,
734
698
  onClose: close,
735
699
  isDismissable: true
736
- }, props), /* @__PURE__ */ import_react17.default.createElement(import_system.Box, {
700
+ }, props), /* @__PURE__ */ import_react18.default.createElement(import_system.Box, {
737
701
  __baseCSS: {
738
702
  display: "flex",
739
703
  justifyContent: "space-between",
@@ -742,12 +706,12 @@ var Dialog = (_a) => {
742
706
  pb: "large"
743
707
  },
744
708
  className
745
- }, /* @__PURE__ */ import_react17.default.createElement(import_system.Box, {
709
+ }, /* @__PURE__ */ import_react18.default.createElement(import_system.Box, {
746
710
  pt: "medium"
747
- }, title && /* @__PURE__ */ import_react17.default.createElement(Text, {
711
+ }, title && /* @__PURE__ */ import_react18.default.createElement(Text, {
748
712
  as: "h4",
749
713
  variant: "headline4"
750
- }, title), children), /* @__PURE__ */ import_react17.default.createElement(import_system.Box, {
714
+ }, title), children), /* @__PURE__ */ import_react18.default.createElement(import_system.Box, {
751
715
  __baseCSS: {
752
716
  display: "flex",
753
717
  justifyContent: "flex-end",
@@ -755,7 +719,7 @@ var Dialog = (_a) => {
755
719
  paddingTop: "xsmall",
756
720
  paddingX: "xsmall"
757
721
  }
758
- }, /* @__PURE__ */ import_react17.default.createElement(import_system.Box, __spreadProps(__spreadValues({
722
+ }, /* @__PURE__ */ import_react18.default.createElement(import_system.Box, __spreadProps(__spreadValues({
759
723
  as: Button,
760
724
  __baseCSS: {
761
725
  color: "text",
@@ -773,13 +737,13 @@ var Dialog = (_a) => {
773
737
  }
774
738
  }, closeButtonProps), {
775
739
  ref: closeButtonRef
776
- }), /* @__PURE__ */ import_react17.default.createElement(import_icons4.Close, {
740
+ }), /* @__PURE__ */ import_react18.default.createElement(import_icons3.Close, {
777
741
  size: 16
778
742
  }))))));
779
743
  };
780
744
  var useDialogButtonProps = () => {
781
745
  const state = (0, import_overlays2.useOverlayTriggerState)({});
782
- const openButtonRef = import_react17.default.useRef();
746
+ const openButtonRef = import_react18.default.useRef();
783
747
  const { buttonProps: openButtonProps } = (0, import_button2.useButton)({
784
748
  onPress: () => state.open()
785
749
  }, openButtonRef);
@@ -791,21 +755,21 @@ var useDialogButtonProps = () => {
791
755
  };
792
756
 
793
757
  // src/Divider/Divider.tsx
794
- var import_react18 = __toESM(require("react"));
758
+ var import_react19 = __toESM(require("react"));
795
759
  var import_separator = require("@react-aria/separator");
796
760
  var Divider = (_a) => {
797
761
  var _b = _a, { variant = "" } = _b, props = __objRest(_b, ["variant"]);
798
762
  const { separatorProps } = (0, import_separator.useSeparator)(props);
799
- return /* @__PURE__ */ import_react18.default.createElement(import_system.Box, __spreadValues(__spreadValues({
763
+ return /* @__PURE__ */ import_react19.default.createElement(import_system.Box, __spreadValues(__spreadValues({
800
764
  __baseCSS: { width: "100%", height: "1px", m: "none", bg: "text" },
801
765
  variant: `divider.${variant}`
802
766
  }, props), separatorProps));
803
767
  };
804
768
 
805
769
  // src/Field/Field.tsx
806
- var import_react19 = __toESM(require("react"));
770
+ var import_react20 = __toESM(require("react"));
807
771
  var import_textfield = require("@react-aria/textfield");
808
- var import_icons5 = require("@marigold/icons");
772
+ var import_icons4 = require("@marigold/icons");
809
773
  var Field = (_a) => {
810
774
  var _b = _a, {
811
775
  type = "text",
@@ -824,20 +788,20 @@ var Field = (_a) => {
824
788
  "error",
825
789
  "errorMessage"
826
790
  ]);
827
- const ref = (0, import_react19.useRef)(null);
791
+ const ref = (0, import_react20.useRef)(null);
828
792
  const { labelProps, inputProps, errorMessageProps } = (0, import_textfield.useTextField)(props, ref);
829
- return /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement(Label, __spreadValues({
793
+ return /* @__PURE__ */ import_react20.default.createElement(import_react20.default.Fragment, null, /* @__PURE__ */ import_react20.default.createElement(Label, __spreadValues({
830
794
  variant: labelVariant,
831
795
  htmlFor,
832
796
  required
833
- }, labelProps), props.label), /* @__PURE__ */ import_react19.default.createElement(import_system.Box, __spreadValues(__spreadProps(__spreadValues({
797
+ }, labelProps), props.label), /* @__PURE__ */ import_react20.default.createElement(import_system.Box, __spreadValues(__spreadProps(__spreadValues({
834
798
  as: "input",
835
799
  type,
836
800
  id: htmlFor,
837
801
  variant: `input.${variant}`
838
802
  }, inputProps), {
839
803
  ref
840
- }), props)), error && errorMessage && /* @__PURE__ */ import_react19.default.createElement(ValidationMessage, __spreadValues({}, errorMessageProps), /* @__PURE__ */ import_react19.default.createElement(import_icons5.Exclamation, {
804
+ }), props)), error && errorMessage && /* @__PURE__ */ import_react20.default.createElement(ValidationMessage, __spreadValues({}, errorMessageProps), /* @__PURE__ */ import_react20.default.createElement(import_icons4.Exclamation, {
841
805
  size: 16
842
806
  }), errorMessage));
843
807
  };
@@ -846,21 +810,21 @@ var Field = (_a) => {
846
810
  var import_visually_hidden2 = require("@react-aria/visually-hidden");
847
811
 
848
812
  // src/Image/Image.tsx
849
- var import_react20 = __toESM(require("react"));
813
+ var import_react21 = __toESM(require("react"));
850
814
  var Image = (_a) => {
851
815
  var _b = _a, {
852
816
  variant = "fullWidth"
853
817
  } = _b, props = __objRest(_b, [
854
818
  "variant"
855
819
  ]);
856
- return /* @__PURE__ */ import_react20.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
820
+ return /* @__PURE__ */ import_react21.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
857
821
  as: "img",
858
822
  variant: `image.${variant}`
859
823
  }));
860
824
  };
861
825
 
862
826
  // src/Link/Link.tsx
863
- var import_react21 = __toESM(require("react"));
827
+ var import_react22 = __toESM(require("react"));
864
828
  var import_link = require("@react-aria/link");
865
829
  var Link = (_a) => {
866
830
  var _b = _a, {
@@ -874,12 +838,12 @@ var Link = (_a) => {
874
838
  "children",
875
839
  "disabled"
876
840
  ]);
877
- const ref = (0, import_react21.useRef)();
841
+ const ref = (0, import_react22.useRef)();
878
842
  const { linkProps } = (0, import_link.useLink)(__spreadProps(__spreadValues({}, props), {
879
843
  elementType: typeof as === "string" ? as : "span",
880
844
  isDisabled: disabled
881
845
  }), ref);
882
- return /* @__PURE__ */ import_react21.default.createElement(Text, __spreadProps(__spreadValues(__spreadValues({}, props), linkProps), {
846
+ return /* @__PURE__ */ import_react22.default.createElement(Text, __spreadProps(__spreadValues(__spreadValues({}, props), linkProps), {
883
847
  as,
884
848
  variant,
885
849
  ref
@@ -887,7 +851,7 @@ var Link = (_a) => {
887
851
  };
888
852
 
889
853
  // src/Menu/Menu.tsx
890
- var import_react22 = __toESM(require("react"));
854
+ var import_react23 = __toESM(require("react"));
891
855
  var Menu = (_a) => {
892
856
  var _b = _a, {
893
857
  variant = "default",
@@ -902,12 +866,12 @@ var Menu = (_a) => {
902
866
  "show",
903
867
  "children"
904
868
  ]);
905
- return /* @__PURE__ */ import_react22.default.createElement(import_system.Box, __spreadValues({
869
+ return /* @__PURE__ */ import_react23.default.createElement(import_system.Box, __spreadValues({
906
870
  variant: `menu.${variant}`
907
- }, props), /* @__PURE__ */ import_react22.default.createElement(Button, {
871
+ }, props), /* @__PURE__ */ import_react23.default.createElement(Button, {
908
872
  onClick,
909
873
  variant: "menu"
910
- }, label), show ? /* @__PURE__ */ import_react22.default.createElement(import_system.Box, {
874
+ }, label), show ? /* @__PURE__ */ import_react23.default.createElement(import_system.Box, {
911
875
  display: "block",
912
876
  position: "absolute",
913
877
  minWidth: "120px",
@@ -916,7 +880,7 @@ var Menu = (_a) => {
916
880
  };
917
881
 
918
882
  // src/MenuItem/MenuItem.tsx
919
- var import_react23 = __toESM(require("react"));
883
+ var import_react24 = __toESM(require("react"));
920
884
  var MenuItem = (_a) => {
921
885
  var _b = _a, {
922
886
  variant = "default",
@@ -925,16 +889,16 @@ var MenuItem = (_a) => {
925
889
  "variant",
926
890
  "children"
927
891
  ]);
928
- return /* @__PURE__ */ import_react23.default.createElement(import_system.Box, {
892
+ return /* @__PURE__ */ import_react24.default.createElement(import_system.Box, {
929
893
  variant: `menuItem.${variant}`
930
- }, /* @__PURE__ */ import_react23.default.createElement(Link, __spreadValues({
894
+ }, /* @__PURE__ */ import_react24.default.createElement(Link, __spreadValues({
931
895
  variant: "menuItemLink"
932
896
  }, props), children));
933
897
  };
934
898
 
935
899
  // src/Message/Message.tsx
936
- var import_react24 = __toESM(require("react"));
937
- var import_icons6 = require("@marigold/icons");
900
+ var import_react25 = __toESM(require("react"));
901
+ var import_icons5 = require("@marigold/icons");
938
902
  var Message = (_a) => {
939
903
  var _b = _a, {
940
904
  messageTitle,
@@ -947,25 +911,25 @@ var Message = (_a) => {
947
911
  "className",
948
912
  "children"
949
913
  ]);
950
- var icon = /* @__PURE__ */ import_react24.default.createElement(import_icons6.Info, null);
914
+ var icon = /* @__PURE__ */ import_react25.default.createElement(import_icons5.Info, null);
951
915
  if (variant === "warning") {
952
- icon = /* @__PURE__ */ import_react24.default.createElement(import_icons6.Notification, null);
916
+ icon = /* @__PURE__ */ import_react25.default.createElement(import_icons5.Notification, null);
953
917
  }
954
918
  if (variant === "error") {
955
- icon = /* @__PURE__ */ import_react24.default.createElement(import_icons6.Exclamation, null);
919
+ icon = /* @__PURE__ */ import_react25.default.createElement(import_icons5.Exclamation, null);
956
920
  }
957
- return /* @__PURE__ */ import_react24.default.createElement(import_system.Box, __spreadValues({
921
+ return /* @__PURE__ */ import_react25.default.createElement(import_system.Box, __spreadValues({
958
922
  display: "inline-block",
959
923
  variant: `message.${variant}`,
960
924
  className
961
- }, props), /* @__PURE__ */ import_react24.default.createElement(import_system.Box, {
925
+ }, props), /* @__PURE__ */ import_react25.default.createElement(import_system.Box, {
962
926
  display: "flex",
963
927
  alignItems: "center",
964
928
  variant: "message.title"
965
- }, icon, /* @__PURE__ */ import_react24.default.createElement(Text, {
929
+ }, icon, /* @__PURE__ */ import_react25.default.createElement(Text, {
966
930
  as: "h4",
967
931
  variant: "headline4"
968
- }, messageTitle)), /* @__PURE__ */ import_react24.default.createElement(import_system.Box, {
932
+ }, messageTitle)), /* @__PURE__ */ import_react25.default.createElement(import_system.Box, {
969
933
  css: { color: "black" }
970
934
  }, children));
971
935
  };
@@ -975,7 +939,7 @@ var import_system5 = require("@marigold/system");
975
939
  var import_ssr = require("@react-aria/ssr");
976
940
 
977
941
  // src/Provider/MarigoldProvider.tsx
978
- var import_react25 = __toESM(require("react"));
942
+ var import_react26 = __toESM(require("react"));
979
943
  var import_overlays4 = require("@react-aria/overlays");
980
944
  var import_system4 = require("@marigold/system");
981
945
  function MarigoldProvider({
@@ -984,19 +948,19 @@ function MarigoldProvider({
984
948
  }) {
985
949
  const outer = (0, import_system4.useTheme)();
986
950
  const isTopLevel = outer.theme === import_system4.__defaultTheme;
987
- return /* @__PURE__ */ import_react25.default.createElement(import_system4.ThemeProvider, {
951
+ return /* @__PURE__ */ import_react26.default.createElement(import_system4.ThemeProvider, {
988
952
  theme
989
- }, 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);
953
+ }, isTopLevel ? /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, /* @__PURE__ */ import_react26.default.createElement(import_system4.Global, null), /* @__PURE__ */ import_react26.default.createElement(import_overlays4.OverlayProvider, null, children)) : children);
990
954
  }
991
955
 
992
956
  // src/Radio/Radio.tsx
993
- var import_react27 = __toESM(require("react"));
994
- var import_icons7 = require("@marigold/icons");
957
+ var import_react28 = __toESM(require("react"));
958
+ var import_icons6 = require("@marigold/icons");
995
959
  var import_focus3 = require("@react-aria/focus");
996
960
  var import_visually_hidden3 = require("@react-aria/visually-hidden");
997
961
 
998
962
  // src/Radio/RadioIcon.tsx
999
- var import_react26 = __toESM(require("react"));
963
+ var import_react27 = __toESM(require("react"));
1000
964
  var import_system6 = require("@marigold/system");
1001
965
  var RadioIcon = ({
1002
966
  variant = "",
@@ -1010,19 +974,19 @@ var RadioIcon = ({
1010
974
  checked,
1011
975
  error
1012
976
  };
1013
- return /* @__PURE__ */ import_react26.default.createElement(import_system6.SVG, {
977
+ return /* @__PURE__ */ import_react27.default.createElement(import_system6.SVG, {
1014
978
  width: "16",
1015
979
  height: "32",
1016
980
  viewBox: "0 0 16 32",
1017
981
  fill: "none",
1018
982
  "aria-hidden": "true"
1019
- }, /* @__PURE__ */ import_react26.default.createElement(import_system.Box, {
983
+ }, /* @__PURE__ */ import_react27.default.createElement(import_system.Box, {
1020
984
  variant: (0, import_system6.conditional)(`radio.${variant}`, conditionalStates),
1021
985
  as: "circle",
1022
986
  cx: "8",
1023
987
  cy: "16",
1024
988
  r: "7.5"
1025
- }), checked && /* @__PURE__ */ import_react26.default.createElement("circle", {
989
+ }), checked && /* @__PURE__ */ import_react27.default.createElement("circle", {
1026
990
  fill: "white",
1027
991
  cx: "8",
1028
992
  cy: "16",
@@ -1035,12 +999,12 @@ var RadioInput = (_a) => {
1035
999
  var _b = _a, { error } = _b, props = __objRest(_b, ["error"]);
1036
1000
  const { focusProps } = (0, import_focus3.useFocusRing)();
1037
1001
  const _a2 = props, { children } = _a2, restProps = __objRest(_a2, ["children"]);
1038
- return /* @__PURE__ */ import_react27.default.createElement(import_system.Box, {
1002
+ return /* @__PURE__ */ import_react28.default.createElement(import_system.Box, {
1039
1003
  pr: "xsmall"
1040
- }, /* @__PURE__ */ import_react27.default.createElement(import_visually_hidden3.VisuallyHidden, null, /* @__PURE__ */ import_react27.default.createElement("input", __spreadValues(__spreadValues({
1004
+ }, /* @__PURE__ */ import_react28.default.createElement(import_visually_hidden3.VisuallyHidden, null, /* @__PURE__ */ import_react28.default.createElement("input", __spreadValues(__spreadValues({
1041
1005
  type: "radio",
1042
1006
  disabled: props.disabled
1043
- }, focusProps), restProps))), /* @__PURE__ */ import_react27.default.createElement(RadioIcon, {
1007
+ }, focusProps), restProps))), /* @__PURE__ */ import_react28.default.createElement(RadioIcon, {
1044
1008
  variant: props.variant,
1045
1009
  disabled: props.disabled,
1046
1010
  checked: props.checked,
@@ -1057,32 +1021,20 @@ var Radio = (_a) => {
1057
1021
  "labelVariant",
1058
1022
  "errorMessage"
1059
1023
  ]);
1060
- return /* @__PURE__ */ import_react27.default.createElement(import_react27.default.Fragment, null, /* @__PURE__ */ import_react27.default.createElement(import_system.Box, {
1024
+ return /* @__PURE__ */ import_react28.default.createElement(import_react28.default.Fragment, null, /* @__PURE__ */ import_react28.default.createElement(import_system.Box, {
1061
1025
  as: Label,
1062
1026
  htmlFor: props.id,
1063
1027
  required,
1064
1028
  variant: `label.${labelVariant}`,
1065
1029
  css: props.disabled ? { color: "disabled", ":hover": { cursor: "not-allowed" } } : { color: "text", ":hover": { cursor: "pointer" } }
1066
- }, /* @__PURE__ */ import_react27.default.createElement(import_system.Box, __spreadValues({
1030
+ }, /* @__PURE__ */ import_react28.default.createElement(import_system.Box, __spreadValues({
1067
1031
  as: RadioInput,
1068
1032
  error: props.error
1069
- }, props)), props.children), props.error && errorMessage && /* @__PURE__ */ import_react27.default.createElement(ValidationMessage, null, /* @__PURE__ */ import_react27.default.createElement(import_icons7.Exclamation, {
1033
+ }, props)), props.children), props.error && errorMessage && /* @__PURE__ */ import_react28.default.createElement(ValidationMessage, null, /* @__PURE__ */ import_react28.default.createElement(import_icons6.Exclamation, {
1070
1034
  size: 16
1071
1035
  }), errorMessage));
1072
1036
  };
1073
1037
 
1074
- // src/Slider/Slider.tsx
1075
- var import_react28 = __toESM(require("react"));
1076
- var Slider = (_a) => {
1077
- var _b = _a, { variant = "" } = _b, props = __objRest(_b, ["variant"]);
1078
- return /* @__PURE__ */ import_react28.default.createElement(import_system.Box, __spreadValues({
1079
- as: "input",
1080
- type: "range",
1081
- css: { verticalAlign: "middle" },
1082
- variant: `slider.${variant}`
1083
- }, props));
1084
- };
1085
-
1086
1038
  // src/Select/Select.tsx
1087
1039
  var import_react33 = __toESM(require("react"));
1088
1040
  var import_select = require("@react-stately/select");
@@ -1092,7 +1044,7 @@ var import_focus5 = require("@react-aria/focus");
1092
1044
  var import_select2 = require("@react-aria/select");
1093
1045
  var import_overlays6 = require("@react-stately/overlays");
1094
1046
  var import_overlays7 = require("@react-aria/overlays");
1095
- var import_icons8 = require("@marigold/icons");
1047
+ var import_icons7 = require("@marigold/icons");
1096
1048
 
1097
1049
  // src/Select/ListBox.tsx
1098
1050
  var import_react31 = __toESM(require("react"));
@@ -1246,10 +1198,9 @@ var Select = (_a) => {
1246
1198
  as: "span",
1247
1199
  display: "inline-flex",
1248
1200
  alignItems: "center"
1249
- }, props.label, /* @__PURE__ */ import_react33.default.createElement(import_system.Box, {
1250
- as: import_icons8.Required,
1201
+ }, props.label, /* @__PURE__ */ import_react33.default.createElement(import_icons7.Required, {
1251
1202
  size: 16,
1252
- css: { color: "error" }
1203
+ fill: "error"
1253
1204
  })) : props.label)), /* @__PURE__ */ import_react33.default.createElement(import_select2.HiddenSelect, {
1254
1205
  state,
1255
1206
  triggerRef,
@@ -1267,14 +1218,12 @@ var Select = (_a) => {
1267
1218
  as: "span"
1268
1219
  }, valueProps), {
1269
1220
  variant: disabled ? "select.disabled" : "select"
1270
- }), state.selectedItem ? state.selectedItem.rendered : placeholder), state.isOpen && !disabled ? /* @__PURE__ */ import_react33.default.createElement(import_system.Box, {
1271
- as: import_icons8.ArrowUp,
1221
+ }), state.selectedItem ? state.selectedItem.rendered : placeholder), state.isOpen && !disabled ? /* @__PURE__ */ import_react33.default.createElement(import_icons7.ArrowUp, {
1272
1222
  size: 16,
1273
- css: { fill: "text" }
1274
- }) : /* @__PURE__ */ import_react33.default.createElement(import_system.Box, {
1275
- as: import_icons8.ArrowDown,
1223
+ fill: "text"
1224
+ }) : /* @__PURE__ */ import_react33.default.createElement(import_icons7.ArrowDown, {
1276
1225
  size: 16,
1277
- css: { fill: disabled ? "disabled" : "text" }
1226
+ fill: disabled ? "disabled" : "text"
1278
1227
  })), state.isOpen && !disabled && /* @__PURE__ */ import_react33.default.createElement(import_system.Box, __spreadProps(__spreadValues(__spreadValues({
1279
1228
  as: Popover
1280
1229
  }, overlayProps), positionProps), {
@@ -1293,16 +1242,91 @@ var Select = (_a) => {
1293
1242
  display: "inline-flex",
1294
1243
  alignItems: "center"
1295
1244
  }, /* @__PURE__ */ import_react33.default.createElement(import_system.Box, {
1296
- as: import_icons8.Exclamation,
1245
+ as: import_icons7.Exclamation,
1297
1246
  size: 16,
1298
1247
  css: { color: "error" }
1299
1248
  }), /* @__PURE__ */ import_react33.default.createElement(ValidationMessage, null, errorMessage)));
1300
1249
  };
1301
1250
 
1302
- // src/Textarea/Textarea.tsx
1251
+ // src/Slider/Slider.tsx
1303
1252
  var import_react34 = __toESM(require("react"));
1253
+ var Slider = (_a) => {
1254
+ var _b = _a, { variant = "" } = _b, props = __objRest(_b, ["variant"]);
1255
+ return /* @__PURE__ */ import_react34.default.createElement(import_system.Box, __spreadValues({
1256
+ as: "input",
1257
+ type: "range",
1258
+ css: { verticalAlign: "middle" },
1259
+ variant: `slider.${variant}`
1260
+ }, props));
1261
+ };
1262
+
1263
+ // src/Switch/Switch.tsx
1264
+ var import_react35 = __toESM(require("react"));
1265
+ var import_focus6 = require("@react-aria/focus");
1266
+ var import_switch = require("@react-aria/switch");
1267
+ var import_visually_hidden4 = require("@react-aria/visually-hidden");
1268
+ var import_toggle2 = require("@react-stately/toggle");
1269
+ var import_system7 = require("@marigold/system");
1270
+ var Switch = (_a) => {
1271
+ var _b = _a, {
1272
+ variant = "",
1273
+ labelVariant = "above",
1274
+ disabled
1275
+ } = _b, props = __objRest(_b, [
1276
+ "variant",
1277
+ "labelVariant",
1278
+ "disabled"
1279
+ ]);
1280
+ const state = (0, import_toggle2.useToggleState)(props);
1281
+ const ref = (0, import_react35.useRef)();
1282
+ const { inputProps } = (0, import_switch.useSwitch)(props, state, ref);
1283
+ const { focusProps } = (0, import_focus6.useFocusRing)();
1284
+ return /* @__PURE__ */ import_react35.default.createElement(import_system.Box, {
1285
+ as: Label,
1286
+ __baseCSS: {
1287
+ userSelect: "none"
1288
+ },
1289
+ variant: labelVariant
1290
+ }, props.children, /* @__PURE__ */ import_react35.default.createElement(import_visually_hidden4.VisuallyHidden, null, /* @__PURE__ */ import_react35.default.createElement("input", __spreadProps(__spreadValues(__spreadValues({}, inputProps), focusProps), {
1291
+ disabled,
1292
+ ref
1293
+ }))), /* @__PURE__ */ import_react35.default.createElement(import_system.Box, {
1294
+ as: "svg",
1295
+ __baseCSS: {
1296
+ cursor: disabled ? "not-allowed" : "pointer",
1297
+ width: 56,
1298
+ height: 32
1299
+ },
1300
+ "aria-hidden": "true"
1301
+ }, /* @__PURE__ */ import_react35.default.createElement(import_system.Box, {
1302
+ as: "rect",
1303
+ __baseCSS: {
1304
+ x: 4,
1305
+ y: 4,
1306
+ rx: 12,
1307
+ width: 48,
1308
+ height: 24
1309
+ },
1310
+ variant: (0, import_system7.conditional)(`switch.${variant}`, {
1311
+ checked: state.isSelected,
1312
+ disabled
1313
+ })
1314
+ }), /* @__PURE__ */ import_react35.default.createElement(import_system.Box, {
1315
+ as: "circle",
1316
+ __baseCSS: {
1317
+ boxShadow: "1px 1px 4px rgba(0, 0, 0, 0.25)",
1318
+ cx: state.isSelected ? 40 : 16,
1319
+ cy: 16,
1320
+ r: 11,
1321
+ fill: disabled ? "gray20" : "gray00"
1322
+ }
1323
+ })));
1324
+ };
1325
+
1326
+ // src/Textarea/Textarea.tsx
1327
+ var import_react36 = __toESM(require("react"));
1304
1328
  var import_textfield2 = require("@react-aria/textfield");
1305
- var import_icons9 = require("@marigold/icons");
1329
+ var import_icons8 = require("@marigold/icons");
1306
1330
  var Textarea = (_a) => {
1307
1331
  var _b = _a, {
1308
1332
  variant = "",
@@ -1319,14 +1343,14 @@ var Textarea = (_a) => {
1319
1343
  "required",
1320
1344
  "children"
1321
1345
  ]);
1322
- const ref = (0, import_react34.useRef)(null);
1346
+ const ref = (0, import_react36.useRef)(null);
1323
1347
  const { labelProps, inputProps, errorMessageProps } = (0, import_textfield2.useTextField)(__spreadProps(__spreadValues({}, props), {
1324
1348
  inputElementType: "textarea"
1325
1349
  }), ref);
1326
- return /* @__PURE__ */ import_react34.default.createElement(import_system.Box, null, /* @__PURE__ */ import_react34.default.createElement(Label, __spreadValues({
1350
+ return /* @__PURE__ */ import_react36.default.createElement(import_system.Box, null, /* @__PURE__ */ import_react36.default.createElement(Label, __spreadValues({
1327
1351
  htmlFor,
1328
1352
  required
1329
- }, labelProps), props.label), /* @__PURE__ */ import_react34.default.createElement(import_system.Box, __spreadValues(__spreadProps(__spreadValues({
1353
+ }, labelProps), props.label), /* @__PURE__ */ import_react36.default.createElement(import_system.Box, __spreadValues(__spreadProps(__spreadValues({
1330
1354
  as: "textarea",
1331
1355
  variant: `textarea.${variant}`,
1332
1356
  css: {
@@ -1334,13 +1358,73 @@ var Textarea = (_a) => {
1334
1358
  }
1335
1359
  }, inputProps), {
1336
1360
  ref
1337
- }), props)), error && errorMessage && /* @__PURE__ */ import_react34.default.createElement(ValidationMessage, __spreadValues({}, errorMessageProps), /* @__PURE__ */ import_react34.default.createElement(import_icons9.Exclamation, {
1361
+ }), props)), error && errorMessage && /* @__PURE__ */ import_react36.default.createElement(ValidationMessage, __spreadValues({}, errorMessageProps), /* @__PURE__ */ import_react36.default.createElement(import_icons8.Exclamation, {
1338
1362
  size: 16
1339
1363
  }), errorMessage));
1340
1364
  };
1341
1365
 
1366
+ // src/Tiles/Tiles.tsx
1367
+ var import_react37 = __toESM(require("react"));
1368
+ var Tiles = import_react37.default.forwardRef(function Tiles2(_a, ref) {
1369
+ var _b = _a, { space = "none", itemMinWidth = "250px", children } = _b, props = __objRest(_b, ["space", "itemMinWidth", "children"]);
1370
+ return /* @__PURE__ */ import_react37.default.createElement(import_system.Box, __spreadValues({
1371
+ ref,
1372
+ display: "grid",
1373
+ __baseCSS: {
1374
+ gap: space,
1375
+ gridTemplateColumns: `repeat(auto-fit, minmax(min(${itemMinWidth}, 100%), 1fr))`
1376
+ }
1377
+ }, props), children);
1378
+ });
1379
+
1380
+ // src/Tooltip/Tooltip.tsx
1381
+ var import_react39 = __toESM(require("react"));
1382
+ var import_tooltip3 = require("@react-aria/tooltip");
1383
+ var import_utils4 = require("@react-aria/utils");
1384
+
1385
+ // src/Tooltip/TooltipTrigger.tsx
1386
+ var import_react38 = __toESM(require("react"));
1387
+ var import_focus7 = require("@react-aria/focus");
1388
+ var import_tooltip = require("@react-aria/tooltip");
1389
+ var import_tooltip2 = require("@react-stately/tooltip");
1390
+ var TooltipContext = import_react38.default.createContext({});
1391
+ var TooltipTrigger = (_a) => {
1392
+ var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
1393
+ const [trigger, tooltip] = import_react38.default.Children.toArray(children);
1394
+ const state = (0, import_tooltip2.useTooltipTriggerState)(props);
1395
+ const tooltipTriggerRef = (0, import_react38.useRef)();
1396
+ const { triggerProps, tooltipProps } = (0, import_tooltip.useTooltipTrigger)({}, state, tooltipTriggerRef);
1397
+ return /* @__PURE__ */ import_react38.default.createElement(import_focus7.FocusableProvider, __spreadProps(__spreadValues({}, triggerProps), {
1398
+ ref: tooltipTriggerRef
1399
+ }), trigger, state.isOpen && /* @__PURE__ */ import_react38.default.createElement(TooltipContext.Provider, {
1400
+ value: __spreadValues({
1401
+ state
1402
+ }, tooltipProps)
1403
+ }, tooltip));
1404
+ };
1405
+
1406
+ // src/Tooltip/Tooltip.tsx
1407
+ var Tooltip = (_a) => {
1408
+ var _b = _a, {
1409
+ variant = "",
1410
+ children
1411
+ } = _b, props = __objRest(_b, [
1412
+ "variant",
1413
+ "children"
1414
+ ]);
1415
+ const _a2 = (0, import_react39.useContext)(TooltipContext), { state } = _a2, tooltipProviderProps = __objRest(_a2, ["state"]);
1416
+ const mergedProps = (0, import_utils4.mergeProps)(props, tooltipProviderProps);
1417
+ const { tooltipProps } = (0, import_tooltip3.useTooltip)(mergedProps, state);
1418
+ return /* @__PURE__ */ import_react39.default.createElement(import_system.Box, __spreadValues({
1419
+ position: "relative"
1420
+ }, tooltipProps), /* @__PURE__ */ import_react39.default.createElement(import_system.Box, __spreadValues({
1421
+ position: "absolute",
1422
+ variant: `tooltip.${variant}`
1423
+ }, mergedProps), children));
1424
+ };
1425
+
1342
1426
  // src/Input/Input.tsx
1343
- var import_react35 = __toESM(require("react"));
1427
+ var import_react40 = __toESM(require("react"));
1344
1428
  var Input = (_a) => {
1345
1429
  var _b = _a, {
1346
1430
  variant = "",
@@ -1349,7 +1433,7 @@ var Input = (_a) => {
1349
1433
  "variant",
1350
1434
  "type"
1351
1435
  ]);
1352
- return /* @__PURE__ */ import_react35.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
1436
+ return /* @__PURE__ */ import_react40.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
1353
1437
  as: "input",
1354
1438
  type,
1355
1439
  variant: `input.${variant}`
@@ -1357,12 +1441,31 @@ var Input = (_a) => {
1357
1441
  };
1358
1442
 
1359
1443
  // src/Container/Container.tsx
1360
- var import_react36 = __toESM(require("react"));
1444
+ var import_react41 = __toESM(require("react"));
1445
+ var import_tokens2 = require("@marigold/tokens");
1446
+ var ALIGNMENT3 = {
1447
+ left: "flex-start",
1448
+ center: "center",
1449
+ right: "flex-end"
1450
+ };
1361
1451
  var Container = (_a) => {
1362
- var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
1363
- return /* @__PURE__ */ import_react36.default.createElement(import_system.Box, __spreadProps(__spreadValues({}, props), {
1364
- width: "100%"
1365
- }), children);
1452
+ var _b = _a, {
1453
+ contentType = "content",
1454
+ size = "medium",
1455
+ align = "left",
1456
+ children
1457
+ } = _b, props = __objRest(_b, [
1458
+ "contentType",
1459
+ "size",
1460
+ "align",
1461
+ "children"
1462
+ ]);
1463
+ return /* @__PURE__ */ import_react41.default.createElement(import_system.Box, __spreadValues({
1464
+ display: "flex",
1465
+ flexDirection: "column",
1466
+ maxWidth: import_tokens2.size[contentType][size],
1467
+ alignItems: ALIGNMENT3[align]
1468
+ }, props), children);
1366
1469
  };
1367
1470
 
1368
1471
  // src/index.ts
@@ -1371,7 +1474,8 @@ module.exports = __toCommonJS(src_exports);
1371
1474
  // Annotate the CommonJS export names for ESM import in node:
1372
1475
  0 && (module.exports = {
1373
1476
  ActionGroup,
1374
- Alert,
1477
+ Aside,
1478
+ Aspect,
1375
1479
  Badge,
1376
1480
  Box,
1377
1481
  Button,
@@ -1400,9 +1504,14 @@ module.exports = __toCommonJS(src_exports);
1400
1504
  Select,
1401
1505
  Slider,
1402
1506
  Stack,
1507
+ Switch,
1403
1508
  Text,
1404
1509
  Textarea,
1405
1510
  ThemeProvider,
1511
+ Tiles,
1512
+ Tooltip,
1513
+ TooltipContext,
1514
+ TooltipTrigger,
1406
1515
  ValidationMessage,
1407
1516
  VisuallyHidden,
1408
1517
  useDialogButtonProps,