@marigold/components 1.0.0-beta.0 → 1.0.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.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Theme as Theme$1, ThemeProviderProps, ThemeExtension, ThemeComponentProps, ThemeExtensionsWithParts, BoxOwnProps, StateAttrProps, CSSObject, ResponsiveStyleValue } from '@marigold/system';
2
2
  export { Box, BoxOwnProps, BoxProps, StyleProps, ThemeProvider, useTheme } from '@marigold/system';
3
- import React, { ReactNode, HTMLAttributes, Key, LabelHTMLAttributes, ReactChild } from 'react';
3
+ import React, { ReactNode, HTMLAttributes, Key, LabelHTMLAttributes, ReactElement, ReactChild } from 'react';
4
4
  import { ComponentProps, PolymorphicPropsWithRef, PolymorphicComponentWithRef, PolymorphicProps, PolymorphicComponent, NonZeroPercentage } from '@marigold/types';
5
5
  import * as _react_types_shared from '@react-types/shared';
6
6
  import { PressEvents, CollectionElement } from '@react-types/shared';
@@ -16,11 +16,11 @@ import { AriaSwitchProps } from '@react-types/switch';
16
16
  import { TableProps as TableProps$1 } from '@react-aria/table';
17
17
  import { TableStateProps, TableBody, Cell, Column, TableHeader, Row } from '@react-stately/table';
18
18
  import { AriaTextFieldProps } from '@react-types/textfield';
19
- import { TooltipTriggerProps } from '@react-types/tooltip';
19
+ import { PositionProps } from '@react-types/overlays';
20
+ import { TooltipTriggerProps as TooltipTriggerProps$1 } from '@react-types/tooltip';
20
21
  import { aspect, size } from '@marigold/tokens';
21
22
  import { OverlayProps as OverlayProps$1 } from '@react-aria/overlays';
22
23
  export { SSRProvider } from '@react-aria/ssr';
23
- import { TooltipTriggerState } from '@react-stately/tooltip';
24
24
  export { VisuallyHidden } from '@react-aria/visually-hidden';
25
25
 
26
26
  interface RootThemeExtension<Value> {
@@ -207,6 +207,7 @@ interface LinkOwnProps extends BoxOwnProps {
207
207
  disabled?: boolean;
208
208
  variant?: string;
209
209
  size?: string;
210
+ children?: ReactNode;
210
211
  }
211
212
  interface LinkProps extends PolymorphicProps<LinkOwnProps, 'a'> {
212
213
  }
@@ -258,6 +259,7 @@ interface FieldBaseProps {
258
259
  children?: ReactNode;
259
260
  variant?: string;
260
261
  size?: string;
262
+ width?: string;
261
263
  disabled?: boolean;
262
264
  required?: boolean;
263
265
  label?: ReactNode;
@@ -276,10 +278,11 @@ interface NumberFieldThemeExtension extends ThemeExtensionsWithParts<'NumberFiel
276
278
  * `react-aria` has a slightly different API for some DOM props.
277
279
  * Thus, we adjust our regular props to match them.
278
280
  */
279
- declare type CustomProps = 'size' | 'type' | 'value' | 'defaultValue' | 'step' | 'onChange' | 'onFocus' | 'onBlur' | 'onKeyDown' | 'onKeyUp' | 'min' | 'max';
281
+ declare type CustomProps = 'size' | 'width' | 'type' | 'value' | 'defaultValue' | 'step' | 'onChange' | 'onFocus' | 'onBlur' | 'onKeyDown' | 'onKeyUp' | 'min' | 'max';
280
282
  interface NumberFieldProps extends Omit<ComponentProps<'input'>, CustomProps>, Omit<AriaNumberFieldProps, 'isDisabled' | 'isRequired' | 'isReadOnly'>, Pick<FieldBaseProps, 'label' | 'description' | 'error' | 'errorMessage'> {
281
283
  variant?: string;
282
284
  size?: string;
285
+ width?: string;
283
286
  hideStepper?: boolean;
284
287
  }
285
288
  declare const NumberField: React.ForwardRefExoticComponent<NumberFieldProps & React.RefAttributes<HTMLInputElement>>;
@@ -318,6 +321,7 @@ interface RadioGroupProps extends Omit<AriaRadioGroupProps, 'isDisabled' | 'isRq
318
321
  children: ReactNode[];
319
322
  variant?: string;
320
323
  size?: string;
324
+ width?: string;
321
325
  required?: boolean;
322
326
  disabled?: boolean;
323
327
  readOnly?: boolean;
@@ -326,28 +330,29 @@ interface RadioGroupProps extends Omit<AriaRadioGroupProps, 'isDisabled' | 'isRq
326
330
 
327
331
  interface RadioThemeExtension extends ThemeExtensionsWithParts<'Radio', ['container', 'label', 'radio']> {
328
332
  }
329
- declare type CustomRadioProps = 'value' | 'onFocus' | 'onBlur' | 'onKeyUp' | 'onKeyDown';
330
- interface RadioProps extends ThemeComponentProps, Omit<ComponentProps<'input'>, 'size' | 'type' | 'defaultChecked' | CustomRadioProps>, AriaRadioProps {
333
+ declare type CustomRadioProps = 'size' | 'width' | 'type' | 'defaultChecked' | 'value' | 'onFocus' | 'onBlur' | 'onKeyUp' | 'onKeyDown';
334
+ interface RadioProps extends ThemeComponentProps, Omit<ComponentProps<'input'>, CustomRadioProps>, AriaRadioProps {
335
+ width?: string;
331
336
  disabled?: boolean;
332
337
  }
333
338
  declare const Radio: {
334
- ({ disabled, ...props }: RadioProps): JSX.Element;
335
- Group: ({ children, orientation, size, variant, required, disabled, readOnly, error, ...rest }: RadioGroupProps) => JSX.Element;
339
+ ({ width, disabled, ...props }: RadioProps): JSX.Element;
340
+ Group: ({ children, orientation, size, variant, width, required, disabled, readOnly, error, ...rest }: RadioGroupProps) => JSX.Element;
336
341
  };
337
342
 
338
343
  interface SelectThemeExtension extends ThemeExtensionsWithParts<'Select', ['container', 'button', 'icon']> {
339
344
  }
340
345
  interface SelectProps extends Omit<AriaSelectProps<object>, 'autoComplete' | 'isOpen' | 'isLoading' | 'onLoadMore' | 'isDisabled' | 'isRequired' | 'validationState'>, Omit<ComponentProps<'select'>, 'onKeyUp' | 'onKeyDown' | 'onFocus' | 'onBlur' | 'children' | 'size'> {
346
+ variant?: string;
347
+ size?: string;
348
+ width?: string;
341
349
  open?: boolean;
342
350
  disabled?: boolean;
343
351
  required?: boolean;
344
352
  error?: boolean;
345
- variant?: string;
346
- size?: string;
347
- css?: CSSObject;
348
353
  }
349
354
  declare const Select: {
350
- ({ open, disabled, required, error, variant, size, css, ...rest }: SelectProps): JSX.Element;
355
+ ({ variant, size, width, open, disabled, required, error, ...rest }: SelectProps): JSX.Element;
351
356
  Option: <T>(props: _react_types_shared.ItemProps<T>) => JSX.Element;
352
357
  Section: <T_1>(props: _react_types_shared.SectionProps<T_1>) => JSX.Element;
353
358
  };
@@ -363,7 +368,7 @@ interface SliderThemeExtension extends ThemeExtensionsWithParts<'Slider', [
363
368
  'output'
364
369
  ]> {
365
370
  }
366
- interface SliderProps extends Omit<ComponentProps<'input'>, 'step' | 'value' | 'defaultValue' | 'onChange' | 'onFocus' | 'onBlur' | 'size'>,
371
+ interface SliderProps extends Omit<ComponentProps<'input'>, 'step' | 'value' | 'defaultValue' | 'onChange' | 'onFocus' | 'onBlur' | 'size' | 'width'>,
367
372
  /**
368
373
  * `react-aria` has a slightly different API for some events e.g `onChange`, `onFocus`
369
374
  * `onBlur`. Thus, we adjust our regular props to match them.
@@ -371,16 +376,16 @@ interface SliderProps extends Omit<ComponentProps<'input'>, 'step' | 'value' | '
371
376
  Pick<AriaSliderProps, 'maxValue' | 'step' | 'value' | 'defaultValue' | 'onChange'> {
372
377
  variant?: string;
373
378
  size?: string;
379
+ width?: string;
374
380
  formatOptions?: Intl.NumberFormatOptions;
375
381
  children?: ReactNode;
376
382
  }
377
383
  /**
378
- * Component Slider
379
384
  * The slider consists of two parts.
380
385
  * A label + the output value and the slider functionality itself.
381
386
  * The slider itself consists of a track line and a thumb.
382
387
  */
383
- declare const Slider: ({ variant, size, ...props }: SliderProps) => JSX.Element;
388
+ declare const Slider: ({ variant, size, width, ...props }: SliderProps) => JSX.Element;
384
389
 
385
390
  interface SwitchThemeExtension extends ThemeExtensionsWithParts<'Switch', [
386
391
  'container',
@@ -394,8 +399,9 @@ interface SwitchProps extends Omit<AriaSwitchProps, 'isSelected'>, Omit<Componen
394
399
  checked?: boolean;
395
400
  variant?: string;
396
401
  size?: string;
402
+ width?: string;
397
403
  }
398
- declare const Switch: ({ variant, size, checked, disabled, readOnly, defaultChecked, ...rest }: SwitchProps) => JSX.Element;
404
+ declare const Switch: ({ variant, size, width, checked, disabled, readOnly, defaultChecked, ...rest }: SwitchProps) => JSX.Element;
399
405
 
400
406
  interface TableThemeExtension extends ThemeExtensionsWithParts<'Table', [
401
407
  'table',
@@ -404,14 +410,14 @@ interface TableThemeExtension extends ThemeExtensionsWithParts<'Table', [
404
410
  'cell'
405
411
  ]> {
406
412
  }
407
- interface TableProps extends Pick<TableProps$1<object>, 'onRowAction' | 'onCellAction'>, TableStateProps<object> {
413
+ interface TableProps extends Pick<TableProps$1<object>, 'focusMode' | 'onRowAction' | 'onCellAction'>, Omit<TableStateProps<object>, 'showSelectionCheckboxes'> {
408
414
  variant?: string;
409
415
  size?: string;
410
416
  }
411
417
  declare const Table: Table;
412
418
  /**
413
419
  * Necessary since TypeScript can not infer the
414
- * types of the @react-stately components correctly.
420
+ * types of the @react-stately components.
415
421
  */
416
422
  interface Table {
417
423
  (props: TableProps): JSX.Element;
@@ -441,32 +447,36 @@ interface TextAreaThemeExtension extends ThemeExtension<'TextArea'> {
441
447
  * Thus, we adjust our regular props to match them.
442
448
  */
443
449
  declare type CustomTextAreEvents = 'onChange' | 'onFocus' | 'onBlur' | 'onCopy' | 'onSelect' | 'onPaste' | 'onCut' | 'onCompositionStart' | 'onCompositionUpdate' | 'onCompositionEnd' | 'onBeforeInput' | 'onInput';
444
- interface TextAreaProps extends Omit<ComponentProps<'textarea'>, 'value' | 'defaultValue' | CustomTextAreEvents | 'size'>, Pick<AriaTextFieldProps, CustomTextAreEvents>, Pick<FieldBaseProps, 'label' | 'description' | 'error' | 'errorMessage'> {
450
+ interface TextAreaProps extends Omit<ComponentProps<'textarea'>, 'value' | 'defaultValue' | 'size' | CustomTextAreEvents>, Pick<AriaTextFieldProps, CustomTextAreEvents>, Pick<FieldBaseProps, 'label' | 'description' | 'error' | 'errorMessage'> {
445
451
  variant?: string;
446
452
  size?: string;
453
+ width?: string;
447
454
  value?: string;
448
455
  defaultValue?: string;
449
456
  }
450
- declare const TextArea: ({ disabled, required, readOnly, error, variant, size, ...props }: TextAreaProps) => JSX.Element;
457
+ declare const TextArea: ({ variant, size, width, disabled, required, readOnly, error, ...props }: TextAreaProps) => JSX.Element;
451
458
 
452
- interface TooltipThemeExtension<Value> {
453
- tooltip?: {
454
- [key: string]: Value;
455
- };
459
+ interface TooltipTriggerProps extends Omit<TooltipTriggerProps$1, 'isDisabled' | 'isOpen'>, Omit<PositionProps, 'isOpen'> {
460
+ children: [trigger: ReactElement, menu: ReactElement];
461
+ disabled?: boolean;
462
+ open?: boolean;
463
+ }
464
+
465
+ interface TooltipThemeExtension extends ThemeExtensionsWithParts<'Tooltip', ['container', 'arrow']> {
456
466
  }
457
- interface TooltipProps extends TooltipTriggerProps {
467
+ interface TooltipProps extends ComponentProps<'div'> {
468
+ children?: ReactNode;
458
469
  variant?: string;
470
+ size?: string;
459
471
  }
460
- declare const Tooltip: React.FC<TooltipProps>;
461
-
462
- declare const TooltipContext: React.Context<{
463
- state?: TooltipTriggerState | undefined;
464
- }>;
465
- declare const TooltipTrigger: React.FC;
472
+ declare const Tooltip: {
473
+ ({ children, variant, size }: TooltipProps): JSX.Element;
474
+ Trigger: ({ disabled, open, delay, placement, children, ...rest }: TooltipTriggerProps) => JSX.Element;
475
+ };
466
476
 
467
- interface ComponentStyles extends BadgeThemeExtension, ButtonThemeExtension, CardThemeExtension, CheckboxThemeExtension, CheckboxGroupThemeExtension, ContentThemeExtension, DialogThemeExtension, DividerThemeExtension, FooterThemeExtension, HeaderThemeExtension, HeadlineThemeExtension, HelpTextThemeExtension, ImageThemeExtension, InputThemeExtension, LabelThemeExtension, LinkThemeExtension, ListBoxThemeExtension, MenuThemeExtension, MessageThemeExtension, NumberFieldThemeExtension, RadioThemeExtension, RadioGroupThemeExtension, SelectThemeExtension, SliderThemeExtension, SwitchThemeExtension, TableThemeExtension, TextThemeExtension, TextAreaThemeExtension, UnderlayThemeExtension {
477
+ interface ComponentStyles extends BadgeThemeExtension, ButtonThemeExtension, CardThemeExtension, CheckboxThemeExtension, CheckboxGroupThemeExtension, ContentThemeExtension, DialogThemeExtension, DividerThemeExtension, FooterThemeExtension, HeaderThemeExtension, HeadlineThemeExtension, HelpTextThemeExtension, ImageThemeExtension, InputThemeExtension, LabelThemeExtension, LinkThemeExtension, ListBoxThemeExtension, MenuThemeExtension, MessageThemeExtension, NumberFieldThemeExtension, RadioThemeExtension, RadioGroupThemeExtension, SelectThemeExtension, SliderThemeExtension, SwitchThemeExtension, TableThemeExtension, TextThemeExtension, TextAreaThemeExtension, TooltipThemeExtension, UnderlayThemeExtension {
468
478
  }
469
- interface Theme extends Theme$1, RootThemeExtension<CSSObject>, TooltipThemeExtension<CSSObject> {
479
+ interface Theme extends Theme$1, RootThemeExtension<CSSObject> {
470
480
  components: ComponentStyles;
471
481
  }
472
482
 
@@ -520,21 +530,45 @@ interface ContainerProps extends ComponentProps<'div'> {
520
530
  }
521
531
  declare const Container: React.FC<ContainerProps>;
522
532
 
533
+ declare const ALIGNMENT_X$1: {
534
+ left: string;
535
+ center: string;
536
+ right: string;
537
+ };
538
+ declare const ALIGNMENT_Y$1: {
539
+ top: string;
540
+ center: string;
541
+ bottom: string;
542
+ };
523
543
  interface InlineProps {
544
+ children?: ReactNode;
524
545
  space?: ResponsiveStyleValue<string>;
525
- align?: 'top' | 'center' | 'bottom';
546
+ alignX?: keyof typeof ALIGNMENT_X$1;
547
+ alignY?: keyof typeof ALIGNMENT_Y$1;
526
548
  }
527
- declare const Inline: React.FC<InlineProps>;
549
+ declare const Inline: ({ space, alignX, alignY, children, ...props }: InlineProps) => JSX.Element;
528
550
 
551
+ declare const ALIGNMENT_X: {
552
+ left: string;
553
+ center: string;
554
+ right: string;
555
+ };
556
+ declare const ALIGNMENT_Y: {
557
+ top: string;
558
+ center: string;
559
+ bottom: string;
560
+ };
529
561
  interface StackProps {
530
562
  as?: 'div' | 'ul' | 'ol';
531
- space?: ResponsiveStyleValue<string>;
532
- align?: 'left' | 'right' | 'center';
533
563
  children?: ReactNode;
564
+ space?: ResponsiveStyleValue<string>;
565
+ alignX?: keyof typeof ALIGNMENT_X;
566
+ alignY?: keyof typeof ALIGNMENT_Y;
567
+ stretch?: boolean;
534
568
  }
535
- declare const Stack: ({ space, align, children, ...props }: StackProps) => JSX.Element;
569
+ declare const Stack: ({ children, space, alignX, alignY, stretch, ...props }: StackProps) => JSX.Element;
536
570
 
537
- interface TextFieldProps extends Omit<ComponentProps<'input'>, 'value' | 'defaultValue' | 'onChange' | 'onFocus' | 'onBlur' | 'size'>,
571
+ interface TextFieldProps extends Omit<ComponentProps<'input'>, 'value' | 'defaultValue' | 'onChange' | 'onFocus' | 'onBlur' | 'size' | 'width'>,
538
572
  /**
539
573
  * `react-aria` has a slightly different API for `onChange`, `onFocus`
540
574
  * and `onBlur` events. Thus, we adjust our regular props to match them.
@@ -542,10 +576,11 @@ interface TextFieldProps extends Omit<ComponentProps<'input'>, 'value' | 'defaul
542
576
  Pick<AriaTextFieldProps, 'onChange' | 'onFocus' | 'onBlur'>, Pick<FieldBaseProps, 'label' | 'description' | 'error' | 'errorMessage'> {
543
577
  variant?: string;
544
578
  size?: string;
579
+ width?: string;
545
580
  value?: string;
546
581
  defaultValue?: string;
547
582
  }
548
- declare const TextField: ({ disabled, required, readOnly, error, variant, size, ...props }: TextFieldProps) => JSX.Element;
583
+ declare const TextField: ({ variant, size, width, disabled, required, readOnly, error, ...props }: TextFieldProps) => JSX.Element;
549
584
 
550
585
  interface TilesProps {
551
586
  space?: ResponsiveStyleValue<string>;
@@ -553,4 +588,4 @@ interface TilesProps {
553
588
  }
554
589
  declare const Tiles: React.FC<TilesProps>;
555
590
 
556
- export { Aside, AsideProps, Aspect, AspectProps, Badge, BadgeProps, BadgeThemeExtension, Breakout, BreakoutProps, Button, ButtonOwnProps, ButtonProps, ButtonThemeExtension, Card, CardProps, CardThemeExtension, Center, CenterProps, Checkbox, CheckboxGroup, CheckboxGroupContext, CheckboxGroupContextProps, CheckboxGroupThemeExtension, CheckboxProps, CheckboxThemeExtension, Columns, ColumnsProps, Container, ContainerProps, Content, ContentProps, ContentThemeExtension, CustomCheckboxProps, CustomRadioProps, CustomSwitchProps, CustomTextAreEvents, Dialog, DialogChildProps, DialogProps, DialogThemeExtension, Divider, DividerProps, DividerThemeExtension, Footer, FooterProps, FooterThemeExtension, Header, HeaderProps, HeaderThemeExtension, Headline, HeadlineProps, HeadlineThemeExtension, Image, ImageProps, ImageThemeExtension, Inline, InlineProps, Input, InputOwnProps, InputProps, InputThemeExtension, Label, LabelProps, LabelThemeExtension, Link, LinkOwnProps, LinkProps, LinkThemeExtension, MarigoldProvider, MarigoldProviderProps, Menu, MenuProps, MenuThemeExtension, Message, MessageProps, MessageThemeExtension, NumberField, NumberFieldProps, NumberFieldThemeExtension, Overlay, OverlayProps, Popover, PopoverProps, Radio, RadioGroupProps, RadioGroupThemeExtension, RadioProps, RadioThemeExtension, RootThemeExtension, Select, SelectProps, SelectThemeExtension, Slider, SliderProps, SliderThemeExtension, Stack, StackProps, Switch, SwitchProps, SwitchThemeExtension, Table, TableProps, TableThemeExtension, Text, TextArea, TextAreaProps, TextAreaThemeExtension, TextField, TextFieldProps, TextProps, TextThemeExtension, Theme, Tiles, TilesProps, Tooltip, TooltipContext, TooltipProps, TooltipThemeExtension, TooltipTrigger, Underlay, UnderlayProps, UnderlayThemeExtension, useCheckboxGroupContext };
591
+ export { Aside, AsideProps, Aspect, AspectProps, Badge, BadgeProps, BadgeThemeExtension, Breakout, BreakoutProps, Button, ButtonOwnProps, ButtonProps, ButtonThemeExtension, Card, CardProps, CardThemeExtension, Center, CenterProps, Checkbox, CheckboxGroup, CheckboxGroupContext, CheckboxGroupContextProps, CheckboxGroupThemeExtension, CheckboxProps, CheckboxThemeExtension, Columns, ColumnsProps, Container, ContainerProps, Content, ContentProps, ContentThemeExtension, CustomCheckboxProps, CustomRadioProps, CustomSwitchProps, CustomTextAreEvents, Dialog, DialogChildProps, DialogProps, DialogThemeExtension, Divider, DividerProps, DividerThemeExtension, Footer, FooterProps, FooterThemeExtension, Header, HeaderProps, HeaderThemeExtension, Headline, HeadlineProps, HeadlineThemeExtension, Image, ImageProps, ImageThemeExtension, Inline, InlineProps, Input, InputOwnProps, InputProps, InputThemeExtension, Label, LabelProps, LabelThemeExtension, Link, LinkOwnProps, LinkProps, LinkThemeExtension, MarigoldProvider, MarigoldProviderProps, Menu, MenuProps, MenuThemeExtension, Message, MessageProps, MessageThemeExtension, NumberField, NumberFieldProps, NumberFieldThemeExtension, Overlay, OverlayProps, Popover, PopoverProps, Radio, RadioGroupProps, RadioGroupThemeExtension, RadioProps, RadioThemeExtension, RootThemeExtension, Select, SelectProps, SelectThemeExtension, Slider, SliderProps, SliderThemeExtension, Stack, StackProps, Switch, SwitchProps, SwitchThemeExtension, Table, TableProps, TableThemeExtension, Text, TextArea, TextAreaProps, TextAreaThemeExtension, TextField, TextFieldProps, TextProps, TextThemeExtension, Theme, Tiles, TilesProps, Tooltip, TooltipProps, TooltipThemeExtension, Underlay, UnderlayProps, UnderlayThemeExtension, useCheckboxGroupContext };