@marigold/components 5.4.0 → 5.6.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.
Files changed (4) hide show
  1. package/dist/index.d.ts +158 -8
  2. package/dist/index.js +9569 -1007
  3. package/dist/index.mjs +9491 -916
  4. package/package.json +55 -48
package/dist/index.d.ts CHANGED
@@ -1,14 +1,18 @@
1
1
  export { useAsyncList, useListData } from '@react-stately/data';
2
- import { ThemeExtensionsWithParts, ThemeExtension, ThemeComponentProps, ResponsiveStyleValue, StateAttrProps, CSSObject, BoxOwnProps, Theme as Theme$1, ThemeProviderProps, GlobalProps, SVGProps } from '@marigold/system';
2
+ import { ThemeExtensionsWithParts, CSSObject, ThemeExtension, ThemeComponentProps, ResponsiveStyleValue, StateAttrProps, BoxOwnProps, Theme as Theme$1, ThemeProviderProps, GlobalProps, SVGProps } from '@marigold/system';
3
3
  export { Box, BoxOwnProps, BoxProps, ThemeProvider, useTheme } from '@marigold/system';
4
+ import React, { ReactElement, ReactNode, Key, HTMLAttributes, LabelHTMLAttributes, ForwardRefExoticComponent, RefAttributes } from 'react';
5
+ import { TreeState } from '@react-stately/tree';
4
6
  import * as _react_types_shared from '@react-types/shared';
5
- import { PressEvents, CollectionElement, StyleProps } from '@react-types/shared';
6
- import React, { Key, ReactNode, HTMLAttributes, LabelHTMLAttributes, ReactElement, ForwardRefExoticComponent, RefAttributes } from 'react';
7
+ import { ItemElement, ItemProps, Node, PressEvents, FocusableDOMProps, CollectionElement, StyleProps, LabelableProps, HelpTextProps } from '@react-types/shared';
7
8
  import { SearchAutocompleteProps } from '@react-types/autocomplete';
8
9
  import { HtmlProps, PropsOf, PolymorphicComponent, NonZeroPercentage } from '@marigold/types';
9
10
  import { AriaCheckboxProps, AriaCheckboxGroupProps } from '@react-types/checkbox';
10
11
  import { AriaDialogProps } from '@react-types/dialog';
11
12
  import { SeparatorProps } from '@react-aria/separator';
13
+ import { AriaDateFieldProps, AriaDatePickerProps } from '@react-aria/datepicker';
14
+ import { DateValue, CalendarDate } from '@internationalized/date';
15
+ import { AriaButtonProps } from '@react-aria/button';
12
16
  import { AriaNumberFieldProps } from '@react-types/numberfield';
13
17
  import { AriaRadioGroupProps, AriaRadioProps } from '@react-types/radio';
14
18
  import { Item, Section } from '@react-stately/collections';
@@ -20,13 +24,45 @@ import { TableStateProps, RowProps as RowProps$1, TableBody, Cell, Column, Table
20
24
  import { AriaTextFieldProps } from '@react-types/textfield';
21
25
  import { PositionProps } from '@react-types/overlays';
22
26
  import { TooltipTriggerProps as TooltipTriggerProps$1 } from '@react-types/tooltip';
27
+ import { AriaCalendarProps, DateValue as DateValue$1, AriaCalendarCellProps, AriaCalendarGridProps } from '@react-aria/calendar';
28
+ import { AriaTabListProps } from '@react-types/tabs';
29
+ import { AriaAccordionProps } from '@react-aria/accordion';
23
30
  import { aspect, size } from '@marigold/tokens';
31
+ import { ComboBoxProps as ComboBoxProps$1 } from '@react-types/combobox';
24
32
  import { CheckboxGroupState } from '@react-stately/checkbox';
33
+ import { CalendarState } from '@react-stately/calendar';
25
34
  import { OverlayProps as OverlayProps$1, AriaPopoverProps, AriaModalOverlayProps } from '@react-aria/overlays';
26
35
  import { OverlayTriggerState } from '@react-stately/overlays';
27
36
  export { SSRProvider } from '@react-aria/ssr';
37
+ import { AriaTagGroupProps } from '@react-aria/tag';
28
38
  export { VisuallyHidden } from '@react-aria/visually-hidden';
29
39
 
40
+ interface AccordionProps extends Omit<AriaAccordionProps<object>, 'children' | 'expandedKeys' | 'disabledKeys' | 'onExpandedChange'> {
41
+ children: ItemElement<object>[] | ItemElement<object>;
42
+ selectionMode?: string;
43
+ }
44
+ declare const Accordion: {
45
+ ({ children, ...props }: AccordionProps): JSX.Element;
46
+ Item: <T>(props: AccordionOwnItemProps<T>) => JSX.Element;
47
+ };
48
+ interface AccordionOwnItemProps<T> extends ItemProps<T> {
49
+ variant?: string;
50
+ size?: string;
51
+ title: string | ReactElement;
52
+ }
53
+
54
+ interface AccordionThemeExtension extends ThemeExtensionsWithParts<'Accordion', ['button', 'item']> {
55
+ }
56
+ interface AccordionItemProps {
57
+ item: Node<object>;
58
+ state: TreeState<object>;
59
+ css?: CSSObject;
60
+ title: string | ReactNode;
61
+ variant?: string;
62
+ size?: string;
63
+ }
64
+ declare const AccordionItem: ({ item, state, css, title, variant, size, ...props }: AccordionItemProps) => JSX.Element;
65
+
30
66
  interface AutocompleteThemeExtension extends ThemeExtensionsWithParts<'Autocomplete', ['icon', 'clear']> {
31
67
  }
32
68
  interface AutocompleteProps extends Omit<SearchAutocompleteProps<object>, 'isDisabled' | 'isRequired' | 'isReadonly' | 'validationState' | 'icon' | 'onInputChange' | 'inputValue' | 'defaultInputValue'> {
@@ -77,7 +113,7 @@ declare const Body: ({ children, variant, size, ...props }: BodyProps) => JSX.El
77
113
 
78
114
  interface ButtonThemeExtension extends ThemeExtension<'Button'> {
79
115
  }
80
- interface ButtonOwnProps extends PressEvents, HtmlProps<'button'> {
116
+ interface ButtonOwnProps extends PressEvents, FocusableDOMProps, HtmlProps<'button'> {
81
117
  children?: ReactNode;
82
118
  variant?: string;
83
119
  size?: string;
@@ -91,6 +127,7 @@ interface CardThemeExtension extends ThemeExtension<'Card'> {
91
127
  }
92
128
  interface CardProps extends ThemeComponentProps, HtmlProps<'div'> {
93
129
  children?: ReactNode;
130
+ space?: ResponsiveStyleValue<string>;
94
131
  p?: ResponsiveStyleValue<string>;
95
132
  px?: ResponsiveStyleValue<string>;
96
133
  py?: ResponsiveStyleValue<string>;
@@ -99,7 +136,7 @@ interface CardProps extends ThemeComponentProps, HtmlProps<'div'> {
99
136
  pl?: ResponsiveStyleValue<string>;
100
137
  pr?: ResponsiveStyleValue<string>;
101
138
  }
102
- declare const Card: ({ children, variant, size, p, px, py, pt, pb, pl, pr, ...props }: CardProps) => JSX.Element;
139
+ declare const Card: ({ children, variant, size, space, p, px, py, pt, pb, pl, pr, ...props }: CardProps) => JSX.Element;
103
140
 
104
141
  interface CheckboxThemeExtension extends ThemeExtensionsWithParts<'Checkbox', [
105
142
  'container',
@@ -229,6 +266,33 @@ interface FieldGroupProps {
229
266
  }
230
267
  declare const FieldGroup: ({ labelWidth, children }: FieldGroupProps) => JSX.Element;
231
268
 
269
+ interface DateFieldThemeExtension extends ThemeExtensionsWithParts<'DateField', [
270
+ 'segment',
271
+ 'placeholder',
272
+ 'field',
273
+ 'calendarButton',
274
+ 'segmentsContainer'
275
+ ]> {
276
+ }
277
+ interface DateFieldProps extends Omit<AriaDateFieldProps<DateValue>, 'isDisabled' | 'isReadOnly' | 'isRequired'> {
278
+ onChange?: (value: DateValue) => void;
279
+ value?: DateValue | null;
280
+ defaultValue?: DateValue | null;
281
+ ref?: React.RefObject<unknown> | undefined;
282
+ icon?: ReactElement;
283
+ action?: ReactElement;
284
+ buttonProps?: AriaButtonProps<'button'>;
285
+ isPressed?: boolean;
286
+ error?: boolean;
287
+ errorMessageProps?: HTMLAttributes<HTMLElement>;
288
+ disabled?: boolean;
289
+ readOnly?: boolean;
290
+ required?: boolean;
291
+ variant?: string;
292
+ size?: string;
293
+ }
294
+ declare const DateField: ({ disabled, readOnly, required, error, errorMessage, errorMessageProps, buttonProps, variant, size, icon, action, isPressed, ...res }: DateFieldProps) => JSX.Element;
295
+
232
296
  interface FooterThemeExtension extends ThemeExtension<'Footer'> {
233
297
  }
234
298
  interface FooterProps extends ThemeComponentProps, HtmlProps<'footer'> {
@@ -325,7 +389,7 @@ interface MenuTriggerProps {
325
389
  onOpenChange?: (isOpen: boolean) => void;
326
390
  }
327
391
 
328
- interface MenuThemeExtension extends ThemeExtensionsWithParts<'Menu', ['container', 'item']> {
392
+ interface MenuThemeExtension extends ThemeExtensionsWithParts<'Menu', ['container', 'item', 'section']> {
329
393
  }
330
394
  interface MenuProps extends Omit<HtmlProps<'ul'>, 'onSelect' | 'size'> {
331
395
  children: CollectionElement<object> | CollectionElement<object>[];
@@ -337,6 +401,7 @@ declare const Menu: {
337
401
  ({ variant, size, ...props }: MenuProps): JSX.Element;
338
402
  Trigger: ({ disabled, open, onOpenChange, children, }: MenuTriggerProps) => JSX.Element;
339
403
  Item: <T>(props: _react_types_shared.ItemProps<T>) => JSX.Element;
404
+ Section: <T_1>(props: _react_types_shared.SectionProps<T_1>) => JSX.Element;
340
405
  };
341
406
 
342
407
  interface ActionMenuProps extends MenuProps {
@@ -585,7 +650,58 @@ declare const Tooltip: {
585
650
  Trigger: ({ disabled, open, delay, placement, children, ...rest }: TooltipTriggerProps) => JSX.Element;
586
651
  };
587
652
 
588
- interface ComponentStyles extends AutocompleteThemeExtension, BadgeThemeExtension, ButtonThemeExtension, CardThemeExtension, CheckboxThemeExtension, BodyThemeExtension, DialogThemeExtension, DividerThemeExtension, FieldThemeExtension, FooterThemeExtension, HeaderThemeExtension, HeadlineThemeExtension, HelpTextThemeExtension, ImageThemeExtension, InputThemeExtension, LabelThemeExtension, LinkThemeExtension, ListThemeExtension, ListBoxThemeExtension, MenuThemeExtension, MessageThemeExtension, NumberFieldThemeExtension, RadioThemeExtension, SelectThemeExtension, SliderThemeExtension, SwitchThemeExtension, TableThemeExtension, TextThemeExtension, TextAreaThemeExtension, TooltipThemeExtension, UnderlayThemeExtension {
653
+ interface CalendarProps extends Omit<AriaCalendarProps<DateValue$1>, 'isDisabled' | 'isReadOnly'> {
654
+ disabled?: boolean;
655
+ readOnly?: boolean;
656
+ variant?: string;
657
+ size?: string;
658
+ }
659
+ interface CalendarThemeExtension extends ThemeExtensionsWithParts<'Calendar', [
660
+ 'calendar',
661
+ 'calendarCell',
662
+ 'calendarControllers'
663
+ ]> {
664
+ }
665
+ declare const Calendar: ({ disabled, readOnly, size, variant, ...rest }: CalendarProps) => JSX.Element;
666
+
667
+ interface CalendarCellProps extends AriaCalendarCellProps {
668
+ state: CalendarState;
669
+ }
670
+ declare const CalendarCell: (props: CalendarCellProps) => JSX.Element;
671
+
672
+ interface CalendarGridProps extends AriaCalendarGridProps {
673
+ state: CalendarState;
674
+ }
675
+ declare const CalendarGrid: ({ state, ...props }: CalendarGridProps) => JSX.Element;
676
+
677
+ interface DatePickerThemeExtension extends ThemeExtensionsWithParts<'DatePicker', ['field', 'actionButton']> {
678
+ }
679
+ interface DatePickerProps extends Omit<AriaDatePickerProps<CalendarDate>, 'isDisabled' | 'isRequired' | 'isReadOnly' | 'isOpen'> {
680
+ disabled?: boolean;
681
+ required?: boolean;
682
+ readonly?: boolean;
683
+ open?: boolean;
684
+ error?: boolean;
685
+ shouldCloseOnSelect?: boolean;
686
+ }
687
+ declare const DatePicker: ({ disabled, required, readonly, open, error, shouldCloseOnSelect, ...rest }: DatePickerProps) => JSX.Element;
688
+
689
+ interface TagThemeExtension extends ThemeExtensionsWithParts<'Tag', ['tag', 'gridCell', 'closeButton']> {
690
+ }
691
+
692
+ interface TabsThemeExtension extends ThemeExtensionsWithParts<'Tabs', ['tabs', 'tab', 'tabPanel']> {
693
+ }
694
+ interface TabsProps extends Omit<AriaTabListProps<object>, 'orientation' | 'isDisabled'> {
695
+ gap?: number;
696
+ size?: 'small' | 'medium' | 'large';
697
+ disabled?: boolean;
698
+ }
699
+ declare const Tabs: {
700
+ ({ gap, size, disabled, ...res }: TabsProps): JSX.Element;
701
+ Item: <T>(props: _react_types_shared.ItemProps<T>) => JSX.Element;
702
+ };
703
+
704
+ interface ComponentStyles extends AccordionThemeExtension, AutocompleteThemeExtension, BadgeThemeExtension, ButtonThemeExtension, CardThemeExtension, CheckboxThemeExtension, BodyThemeExtension, DialogThemeExtension, DividerThemeExtension, DateFieldThemeExtension, FieldThemeExtension, FooterThemeExtension, HeaderThemeExtension, HeadlineThemeExtension, HelpTextThemeExtension, ImageThemeExtension, InputThemeExtension, DateFieldThemeExtension, CalendarThemeExtension, DatePickerThemeExtension, LabelThemeExtension, LinkThemeExtension, ListThemeExtension, ListBoxThemeExtension, MenuThemeExtension, MessageThemeExtension, NumberFieldThemeExtension, RadioThemeExtension, SelectThemeExtension, SliderThemeExtension, SwitchThemeExtension, TableThemeExtension, TextThemeExtension, TextAreaThemeExtension, TooltipThemeExtension, UnderlayThemeExtension, TagThemeExtension, CalendarThemeExtension, TabsThemeExtension {
589
705
  }
590
706
  interface Theme extends Theme$1 {
591
707
  components: ComponentStyles;
@@ -616,6 +732,23 @@ interface AspectProps extends HtmlProps<'div'> {
616
732
  }
617
733
  declare const Aspect: ({ ratio, maxWidth, children, }: AspectProps) => JSX.Element;
618
734
 
735
+ interface ComboBoxProps extends Omit<ComboBoxProps$1<object>, 'isDisabled' | 'isRequired' | 'isReadOnly' | 'defaultInputValue' | 'inputValue' | 'onInputChange'> {
736
+ variant?: string;
737
+ size?: string;
738
+ error?: boolean;
739
+ width?: string;
740
+ disabled?: boolean;
741
+ required?: boolean;
742
+ readOnly?: boolean;
743
+ defaultValue?: ComboBoxProps$1<object>['defaultInputValue'];
744
+ value?: ComboBoxProps$1<object>['inputValue'];
745
+ onChange?: ComboBoxProps$1<object>['onInputChange'];
746
+ }
747
+ declare const ComboBox: {
748
+ ({ error, width, disabled, required, readOnly, defaultValue, value, onChange, ...rest }: ComboBoxProps): JSX.Element;
749
+ Item: <T>(props: _react_types_shared.ItemProps<T>) => JSX.Element;
750
+ };
751
+
619
752
  interface BreakoutProps extends HtmlProps<'div'> {
620
753
  children?: ReactNode;
621
754
  alignY?: 'top' | 'bottom' | 'center';
@@ -738,6 +871,23 @@ interface TilesProps {
738
871
  }
739
872
  declare const Tiles: ({ space, stretch, equalHeight, tilesWidth, children, ...props }: TilesProps) => JSX.Element;
740
873
 
874
+ interface TagGroupProps extends Omit<AriaTagGroupProps<object>, 'isRequired' | 'validationState'>, LabelableProps, HelpTextProps {
875
+ width?: string;
876
+ required?: boolean;
877
+ error?: boolean;
878
+ }
879
+ declare const TagGroup: ({ width, required, error, ...rest }: TagGroupProps) => JSX.Element;
880
+
881
+ declare const Tag: TagComponent;
882
+ /**
883
+ * We need this so that TypeScripts allows us to add
884
+ * additional properties to the component (function).
885
+ */
886
+ type ItemComponent = typeof Item;
887
+ interface TagComponent extends ItemComponent {
888
+ Group: typeof TagGroup;
889
+ }
890
+
741
891
  declare const XLoader: React.ForwardRefExoticComponent<SVGProps & React.RefAttributes<SVGElement>>;
742
892
 
743
- export { ActionMenu, Aside, AsideProps, Aspect, AspectProps, Autocomplete, AutocompleteProps, AutocompleteThemeExtension, Badge, BadgeProps, BadgeThemeExtension, Body, BodyProps, BodyThemeExtension, Breakout, BreakoutProps, Button, ButtonOwnProps, ButtonProps, ButtonThemeExtension, Card, CardProps, CardThemeExtension, Center, CenterProps, Checkbox, CheckboxGroup, CheckboxGroupContext, CheckboxGroupContextProps, CheckboxGroupProps, CheckboxProps, CheckboxThemeExtension, Columns, ColumnsProps, Container, ContainerProps, CustomCheckboxProps, CustomRadioProps, CustomSwitchProps, CustomTextAreaEvents, CustomTextFieldEvents, CustomizedTheme, Dialog, DialogChildProps, DialogProps, DialogThemeExtension, Divider, DividerProps, DividerThemeExtension, FieldBase, FieldBaseProps, FieldGroup, FieldGroupContext, FieldGroupContextProps, FieldGroupProps, FieldThemeExtension, Footer, FooterProps, FooterThemeExtension, Header, HeaderProps, HeaderThemeExtension, Headline, HeadlineProps, HeadlineThemeExtension, Image, ImageProps, ImageThemeExtension, Inline, InlineProps, Input, InputOwnProps, InputProps, InputThemeExtension, Inset, InsetProps, Label, LabelProps, LabelThemeExtension, Link, LinkOwnProps, LinkProps, LinkThemeExtension, List, ListProps, ListThemeExtension, MarigoldProvider, MarigoldProviderProps, Menu, MenuProps, MenuThemeExtension, Message, MessageProps, MessageThemeExtension, Modal, ModalProps, NumberField, NumberFieldProps, NumberFieldThemeExtension, Overlay, OverlayProps, Popover, PopoverProps, Radio, RadioComponent, RadioGroupProps, RadioProps, RadioThemeExtension, RowProps, Select, SelectComponent, SelectProps, SelectThemeExtension, Slider, SliderProps, SliderThemeExtension, Split, SplitProps, Stack, StackProps, Switch, SwitchProps, SwitchThemeExtension, Table, TableProps, TableThemeExtension, Text, TextArea, TextAreaProps, TextAreaThemeExtension, TextField, TextFieldProps, TextProps, TextThemeExtension, Theme, Tiles, TilesProps, Tooltip, TooltipProps, TooltipThemeExtension, Tray, TrayProps, TrayWrapper, Underlay, UnderlayProps, UnderlayThemeExtension, XLoader, extendTheme, useCheckboxGroupContext, useFieldGroupContext };
893
+ export { Accordion, AccordionItem, AccordionItemProps, AccordionOwnItemProps, AccordionProps, AccordionThemeExtension, ActionMenu, Aside, AsideProps, Aspect, AspectProps, Autocomplete, AutocompleteProps, AutocompleteThemeExtension, Badge, BadgeProps, BadgeThemeExtension, Body, BodyProps, BodyThemeExtension, Breakout, BreakoutProps, Button, ButtonOwnProps, ButtonProps, ButtonThemeExtension, Calendar, CalendarCell, CalendarCellProps, CalendarGrid, CalendarGridProps, CalendarProps, CalendarThemeExtension, Card, CardProps, CardThemeExtension, Center, CenterProps, Checkbox, CheckboxGroup, CheckboxGroupContext, CheckboxGroupContextProps, CheckboxGroupProps, CheckboxProps, CheckboxThemeExtension, Columns, ColumnsProps, ComboBox, ComboBoxProps, Container, ContainerProps, CustomCheckboxProps, CustomRadioProps, CustomSwitchProps, CustomTextAreaEvents, CustomTextFieldEvents, CustomizedTheme, DateField, DateFieldProps, DateFieldThemeExtension, DatePicker, DatePickerProps, DatePickerThemeExtension, Dialog, DialogChildProps, DialogProps, DialogThemeExtension, Divider, DividerProps, DividerThemeExtension, FieldBase, FieldBaseProps, FieldGroup, FieldGroupContext, FieldGroupContextProps, FieldGroupProps, FieldThemeExtension, Footer, FooterProps, FooterThemeExtension, Header, HeaderProps, HeaderThemeExtension, Headline, HeadlineProps, HeadlineThemeExtension, Image, ImageProps, ImageThemeExtension, Inline, InlineProps, Input, InputOwnProps, InputProps, InputThemeExtension, Inset, InsetProps, Label, LabelProps, LabelThemeExtension, Link, LinkOwnProps, LinkProps, LinkThemeExtension, List, ListProps, ListThemeExtension, MarigoldProvider, MarigoldProviderProps, Menu, MenuProps, MenuThemeExtension, Message, MessageProps, MessageThemeExtension, Modal, ModalProps, NumberField, NumberFieldProps, NumberFieldThemeExtension, Overlay, OverlayProps, Popover, PopoverProps, Radio, RadioComponent, RadioGroupProps, RadioProps, RadioThemeExtension, RowProps, Select, SelectComponent, SelectProps, SelectThemeExtension, Slider, SliderProps, SliderThemeExtension, Split, SplitProps, Stack, StackProps, Switch, SwitchProps, SwitchThemeExtension, Table, TableProps, TableThemeExtension, Tabs, TabsThemeExtension, Tag, TagComponent, Text, TextArea, TextAreaProps, TextAreaThemeExtension, TextField, TextFieldProps, TextProps, TextThemeExtension, Theme, Tiles, TilesProps, Tooltip, TooltipProps, TooltipThemeExtension, Tray, TrayProps, TrayWrapper, Underlay, UnderlayProps, UnderlayThemeExtension, XLoader, extendTheme, useCheckboxGroupContext, useFieldGroupContext };