@itwin/itwinui-react 3.0.0-dev.2 → 3.0.0-dev.4

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 (99) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/cjs/core/Alert/Alert.d.ts +2 -2
  3. package/cjs/core/Avatar/Avatar.d.ts +0 -4
  4. package/cjs/core/Avatar/Avatar.js +1 -5
  5. package/cjs/core/Avatar/index.d.ts +1 -1
  6. package/cjs/core/Avatar/index.js +1 -2
  7. package/cjs/core/AvatarGroup/AvatarGroup.d.ts +0 -4
  8. package/cjs/core/AvatarGroup/AvatarGroup.js +1 -5
  9. package/cjs/core/AvatarGroup/index.d.ts +1 -1
  10. package/cjs/core/AvatarGroup/index.js +1 -2
  11. package/cjs/core/FileUpload/FileUpload.d.ts +3 -4
  12. package/cjs/core/FileUpload/FileUpload.js +2 -2
  13. package/cjs/core/FileUpload/FileUploadTemplate.d.ts +1 -0
  14. package/cjs/core/FileUpload/FileUploadTemplate.js +1 -0
  15. package/cjs/core/Header/Header.d.ts +1 -20
  16. package/cjs/core/Header/Header.js +1 -2
  17. package/cjs/core/ProgressIndicators/ProgressRadial/ProgressRadial.d.ts +2 -2
  18. package/cjs/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +10 -17
  19. package/cjs/core/Slider/Slider.d.ts +2 -1
  20. package/cjs/core/Slider/Thumb.d.ts +2 -2
  21. package/cjs/core/Slider/Thumb.js +1 -1
  22. package/cjs/core/Stepper/index.d.ts +0 -4
  23. package/cjs/core/Stepper/index.js +1 -4
  24. package/cjs/core/Tabs/Tabs.d.ts +0 -36
  25. package/cjs/core/Tabs/Tabs.js +1 -29
  26. package/cjs/core/Tabs/index.d.ts +1 -1
  27. package/cjs/core/Tabs/index.js +1 -3
  28. package/cjs/core/ThemeProvider/ThemeProvider.js +5 -2
  29. package/cjs/core/Tile/Tile.d.ts +157 -99
  30. package/cjs/core/Tile/Tile.js +273 -99
  31. package/cjs/core/Toast/Toast.d.ts +5 -10
  32. package/cjs/core/Toast/Toast.js +15 -13
  33. package/cjs/core/Toast/Toaster.d.ts +24 -26
  34. package/cjs/core/Toast/Toaster.js +91 -116
  35. package/cjs/core/Toast/index.d.ts +1 -4
  36. package/cjs/core/Toast/index.js +3 -6
  37. package/cjs/core/Tooltip/Tooltip.d.ts +67 -7
  38. package/cjs/core/Tooltip/Tooltip.js +96 -7
  39. package/cjs/core/index.d.ts +6 -7
  40. package/cjs/core/index.js +4 -12
  41. package/cjs/core/utils/components/Popover.d.ts +1 -1
  42. package/cjs/core/utils/functions/dom.d.ts +0 -8
  43. package/cjs/core/utils/functions/dom.js +1 -24
  44. package/cjs/core/utils/functions/polymorphic.d.ts +1 -1
  45. package/cjs/styles.js +1 -5
  46. package/esm/core/Alert/Alert.d.ts +2 -2
  47. package/esm/core/Avatar/Avatar.d.ts +0 -4
  48. package/esm/core/Avatar/Avatar.js +0 -4
  49. package/esm/core/Avatar/index.d.ts +1 -1
  50. package/esm/core/Avatar/index.js +1 -1
  51. package/esm/core/AvatarGroup/AvatarGroup.d.ts +0 -4
  52. package/esm/core/AvatarGroup/AvatarGroup.js +0 -4
  53. package/esm/core/AvatarGroup/index.d.ts +1 -1
  54. package/esm/core/AvatarGroup/index.js +1 -1
  55. package/esm/core/FileUpload/FileUpload.d.ts +3 -4
  56. package/esm/core/FileUpload/FileUpload.js +2 -2
  57. package/esm/core/FileUpload/FileUploadTemplate.d.ts +1 -0
  58. package/esm/core/FileUpload/FileUploadTemplate.js +1 -0
  59. package/esm/core/Header/Header.d.ts +1 -20
  60. package/esm/core/Header/Header.js +1 -2
  61. package/esm/core/ProgressIndicators/ProgressRadial/ProgressRadial.d.ts +2 -2
  62. package/esm/core/ProgressIndicators/ProgressRadial/ProgressRadial.js +11 -18
  63. package/esm/core/Slider/Slider.d.ts +2 -1
  64. package/esm/core/Slider/Thumb.d.ts +2 -2
  65. package/esm/core/Slider/Thumb.js +1 -1
  66. package/esm/core/Stepper/index.d.ts +0 -4
  67. package/esm/core/Stepper/index.js +0 -2
  68. package/esm/core/Tabs/Tabs.d.ts +0 -36
  69. package/esm/core/Tabs/Tabs.js +0 -26
  70. package/esm/core/Tabs/index.d.ts +1 -1
  71. package/esm/core/Tabs/index.js +1 -1
  72. package/esm/core/ThemeProvider/ThemeProvider.js +5 -2
  73. package/esm/core/Tile/Tile.d.ts +157 -99
  74. package/esm/core/Tile/Tile.js +273 -99
  75. package/esm/core/Toast/Toast.d.ts +5 -10
  76. package/esm/core/Toast/Toast.js +16 -14
  77. package/esm/core/Toast/Toaster.d.ts +24 -26
  78. package/esm/core/Toast/Toaster.js +85 -116
  79. package/esm/core/Toast/index.d.ts +1 -4
  80. package/esm/core/Toast/index.js +1 -3
  81. package/esm/core/Tooltip/Tooltip.d.ts +67 -7
  82. package/esm/core/Tooltip/Tooltip.js +97 -7
  83. package/esm/core/index.d.ts +6 -7
  84. package/esm/core/index.js +5 -5
  85. package/esm/core/utils/components/Popover.d.ts +1 -1
  86. package/esm/core/utils/functions/dom.d.ts +0 -8
  87. package/esm/core/utils/functions/dom.js +0 -19
  88. package/esm/core/utils/functions/polymorphic.d.ts +1 -1
  89. package/esm/styles.js +1 -5
  90. package/package.json +4 -3
  91. package/styles.css +55 -52
  92. package/cjs/core/Stepper/Wizard.d.ts +0 -46
  93. package/cjs/core/Stepper/Wizard.js +0 -55
  94. package/cjs/core/Toast/ToastWrapper.d.ts +0 -10
  95. package/cjs/core/Toast/ToastWrapper.js +0 -49
  96. package/esm/core/Stepper/Wizard.d.ts +0 -46
  97. package/esm/core/Stepper/Wizard.js +0 -29
  98. package/esm/core/Toast/ToastWrapper.d.ts +0 -10
  99. package/esm/core/Toast/ToastWrapper.js +0 -20
@@ -1,75 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import type { PolymorphicForwardRefComponent } from '../utils/index.js';
3
- /**
4
- * Polymorphic Tile action component. Recommended to be used in a "name" of `Tile`.
5
- * Renders `a` element by default.
6
- * @example
7
- * <Tile
8
- * name={<Tile.Action href='/new-page'>Tile name<Tile.Action/>}
9
- * />
10
- */
11
- export declare const TileAction: PolymorphicForwardRefComponent<"a", {}>;
12
- declare type TileProps = {
13
- /**
14
- * Name or title of the tile.
15
- */
16
- name: React.ReactNode;
17
- /**
18
- * Description text of the tile.
19
- * Gets truncated if it can't fit in the tile.
20
- */
21
- description?: React.ReactNode;
22
- /**
23
- * Metadata section located below description.
24
- * @example
25
- * <Tile
26
- * // ...
27
- * metadata='basic metadata'
28
- * // or
29
- * metadata={<span><SvgClock /> 2021-01-01, 04:30 AM</span>}
30
- * // or
31
- * metadata={<>
32
- * <SvgTag2 />
33
- * <TagContainer><Tag variant='basic'>Tag 1</Tag><Tag variant='basic'>Tag 2</Tag></TagContainer>
34
- * </>}
35
- * />
36
- */
37
- metadata?: React.ReactNode;
38
- /**
39
- * Thumbnail image url, a custom component or an svg.
40
- * @example
41
- * <Tile
42
- * // ...
43
- * thumbnail='/url/to/image.jpg'
44
- * // or
45
- * thumbnail={<Avatar image={<img src='icon.png' />} />}
46
- * // or
47
- * thumbnail={<SvgImodelHollow />}
48
- * />
49
- */
50
- thumbnail?: string | React.ReactNode;
51
- /**
52
- * `Badge` shown on the bottom right of thumbnail.
53
- */
54
- badge?: React.ReactNode;
55
- /**
56
- * Icon shown on top left of the tile. Also known as "type indicator".
57
- * Recommended to use an invisible `IconButton`.
58
- */
59
- leftIcon?: React.ReactNode;
60
- /**
61
- * Icon shown on top right of the tile. Also known as "quick action".
62
- * Recommended to use an invisible `IconButton`.
63
- */
64
- rightIcon?: React.ReactNode;
65
- /**
66
- * Upto two buttons shown at the bottom of the tile.
67
- */
68
- buttons?: [React.ReactNode?, React.ReactNode?];
69
- /**
70
- * Dropdown menu containing `MenuItem`s.
71
- */
72
- moreOptions?: React.ReactNode[];
3
+ import { IconButton } from '../Buttons/index.js';
4
+ declare type TileOwnProps = {
73
5
  /**
74
6
  * Status of the tile.
75
7
  */
@@ -88,15 +20,6 @@ declare type TileProps = {
88
20
  * @default 'default'
89
21
  */
90
22
  variant?: 'default' | 'folder';
91
- /**
92
- * Any custom nodes that will be appended to the tile's main content.
93
- */
94
- children?: React.ReactNode;
95
- /**
96
- * Whether the tile is expected to be interactable (i.e. `onClick`).
97
- * It becomes focusable and gets on hover styling.
98
- */
99
- isActionable?: boolean;
100
23
  /**
101
24
  * Display a loading state.
102
25
  * @default false
@@ -111,34 +34,169 @@ declare type TileProps = {
111
34
  * @default false
112
35
  */
113
36
  isDisabled?: boolean;
114
- onClick?: React.MouseEventHandler<HTMLElement>;
37
+ };
38
+ declare type TileThumbnailPictureOwnProps = {
39
+ url?: string;
40
+ } | {
41
+ url?: never;
42
+ children?: React.ReactNode;
43
+ };
44
+ declare type TileNameOwnProps = {
45
+ name?: React.ReactNode;
46
+ };
47
+ declare type TileMoreOptionsOwnProps = {
48
+ buttonProps?: React.ComponentPropsWithoutRef<typeof IconButton>;
49
+ children?: React.ReactElement[];
115
50
  };
116
51
  /**
117
- * Tile component that displays content and actions in a card-like format.
52
+ * Tile with customizable Thumbnail, Name, Content and Buttons subcomponents
118
53
  * @example
119
- * <Tile
120
- * name='Tile name'
121
- * description='Tile description that takes upto 3 lines'
122
- * metadata={<TagContainer><Tag variant='basic'>Tag 1</Tag></TagContainer>}
123
- * thumbnail='/url/to/image.jpg'
124
- * badge={<Badge backgroundColor='blue'>Badge label</Badge>}
125
- * buttons={[<Button>Button 1</Button>, <Button>Button 2</Button>]}
126
- * moreOptions={[<MenuItem>Item 1</MenuItem>, <MenuItem>Item 2</MenuItem>]}
127
- * leftIcon={<IconButton><SvgInfo /></IconButton>}
128
- * rightIcon={<IconButton><SvgStar /></IconButton>}
129
- * isSelected={true}
130
- * isNew={false}
131
- * />
54
+ * <Tile>
55
+ * <Tile.ThumbnailArea>
56
+ * <Tile.ThumbnailPicture/>
57
+ * <Tile.Badge/>
58
+ * <Tile.TypeIndicator/>
59
+ * <Tile.QuickAction/>
60
+ * </Tile.ThumbnailArea>
61
+ * <Tile.Name>
62
+ * <Tile.NameIcon/>
63
+ * <Tile.NameLabel/>
64
+ * <Tile.Name/>
65
+ * <Tile.ContentArea>
66
+ * <Tile.Description />
67
+ * <Tile.Metadata/>
68
+ * <Tile.MoreOptions/>
69
+ * </Tile.ContentArea>
70
+ * <Tile.Buttons/>
71
+ * </Tile>
132
72
  */
133
- export declare const Tile: PolymorphicForwardRefComponent<"div", TileProps> & {
73
+ export declare const Tile: PolymorphicForwardRefComponent<"div", TileOwnProps> & {
74
+ /**
75
+ * ThumbnailArea subcomponent that contains `ThumbnailPicture`, `QuickAction`, `TypeIndicator` or `BadgeContainer`
76
+ * @example
77
+ * <Tile.ThumbnailArea>
78
+ * <Tile.ThumbnailPicture/>
79
+ * // or
80
+ * <Tile.ThumbnailAvatar/>
81
+ * <Tile.QuickAction/>
82
+ * <Tile.TypeIndicator/>
83
+ * <Tile.BadgeContainer/>
84
+ * </Tile.ThumbnailArea>
85
+ */
86
+ ThumbnailArea: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
87
+ /**
88
+ * Thumbnail image url, a custom component or an svg for thumbnail avatar.
89
+ * @example
90
+ * <Tile>
91
+ * // ...
92
+ * <Tile.ThumbnailArea>
93
+ * <Tile.ThumbnailPicture url = '/url/to/image.jpg'/>
94
+ * </Tile.ThumbnailArea>
95
+ * </Tile>
96
+ * or
97
+ * <Tile>
98
+ * // ...
99
+ * <Tile.ThumbnailArea>
100
+ * <Tile.ThumbnailPicture>
101
+ * {<Avatar image={<img src='icon.png' />} />}
102
+ * // or
103
+ * {<SvgImodelHollow />}
104
+ * </Tile.ThumbnailPicture>
105
+ * </Tile.ThumbnailArea>
106
+ * /Tile>
107
+ */
108
+ ThumbnailPicture: PolymorphicForwardRefComponent<"div", TileThumbnailPictureOwnProps>;
109
+ /**
110
+ * `QuickAction` subcomponent shown on top left of the tile.
111
+ * Recommended to use an invisible `IconButton`.
112
+ */
113
+ QuickAction: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
134
114
  /**
135
- * Polymorphic Tile action component. Recommended to be used in a "name" of `Tile`.
115
+ * `TypeIndicator` subcomponent shown on top left of the tile.
116
+ * Recommended to use an invisible `IconButton`.
117
+ */
118
+ TypeIndicator: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
119
+ /**
120
+ * `BadgeContainer` subcomponent shown on the bottom right of thumbnail.
121
+ */
122
+ BadgeContainer: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
123
+ /**
124
+ * `IconButton` subcomponent: custom icon for `QuickAction` and `TypeIndicator` buttons.
125
+ */
126
+ IconButton: PolymorphicForwardRefComponent<"button", Pick<Omit<Pick<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "key" | keyof React.ButtonHTMLAttributes<HTMLButtonElement>> & {
127
+ ref?: ((instance: HTMLButtonElement | null) => void) | React.RefObject<HTMLButtonElement> | null | undefined;
128
+ }, "label" | "as" | "size" | "styleType" | "isActive"> & {
129
+ isActive?: boolean | undefined;
130
+ label?: React.ReactNode;
131
+ } & Omit<import("../Buttons/Button/Button.js").ButtonProps, "startIcon" | "endIcon"> & {
132
+ as?: "button" | undefined;
133
+ }, "label" | "as" | "key" | keyof React.ButtonHTMLAttributes<HTMLButtonElement> | "size" | "styleType" | "isActive">>;
134
+ /**
135
+ * `Name` subcomponent under thumbnail or top of the Tile if no thumbnail present.
136
+ */
137
+ Name: PolymorphicForwardRefComponent<"div", TileNameOwnProps>;
138
+ /**
139
+ * `NameIcon` next to name of the tile. Goes under <Tile.Name>
140
+ * @example
141
+ * <Tile>
142
+ * <Tile.Name>
143
+ * <Tile.NameIcon/>
144
+ * </Tile.Name>
145
+ * <Tile/>
146
+ */
147
+ NameIcon: PolymorphicForwardRefComponent<"div", {}>;
148
+ NameLabel: PolymorphicForwardRefComponent<"span", {}>;
149
+ /**
150
+ * Polymorphic Tile action component. Recommended to be used in `Tile.NameLabel` subcomponent.
136
151
  * Renders `a` element by default.
137
152
  * @example
138
- * <Tile
139
- * name={<Tile.Action href='/new-page'>Tile name<Tile.Action/>}
140
- * />
153
+ * <Tile.Name>
154
+ * <Tile.NameLabel>
155
+ * {<Tile.Action href='/new-page'>Tile Name<Tile.Action/>}
156
+ * <Tile.NameLabel/>
157
+ * </Tile.Name>
141
158
  */
142
159
  Action: PolymorphicForwardRefComponent<"a", {}>;
160
+ /**
161
+ * Tile content area that contains `Description`, `Metadata` and `MoreOptions` Tile subcomponents
162
+ * @example
163
+ * <Tile>
164
+ * <Tile.ContentArea>
165
+ * <Tile.Description/>
166
+ * <Tile.Metadata/>
167
+ * <Tile.MoreOptions/>
168
+ * </Tile.ContentArea>
169
+ * </Tile>
170
+ */
171
+ ContentArea: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
172
+ /**
173
+ * Description text of the tile.
174
+ * Gets truncated if it can't fit in the tile.
175
+ */
176
+ Description: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
177
+ /**
178
+ * Metadata section located below description.
179
+ * @example
180
+ * <Tile.Metadata>
181
+ * // ...
182
+ * 'basic metadata'
183
+ * // or
184
+ * {<span><SvgClock /> 2021-01-01, 04:30 AM</span>}
185
+ * // or
186
+ * {<>
187
+ * <SvgTag2 />
188
+ * <TagContainer><Tag variant='basic'>Tag 1</Tag><Tag variant='basic'>Tag 2</Tag></TagContainer>
189
+ * </>}
190
+ * </Tile.Metadata>
191
+ */
192
+ Metadata: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
193
+ /**
194
+ * Dropdown menu containing `MenuItem`s.
195
+ */
196
+ MoreOptions: PolymorphicForwardRefComponent<"div", TileMoreOptionsOwnProps>;
197
+ /**
198
+ * Upto two buttons shown at the bottom of the tile.
199
+ */
200
+ Buttons: PolymorphicForwardRefComponent<keyof JSX.IntrinsicElements, {}>;
143
201
  };
144
202
  export default Tile;