@itwin/itwinui-react 1.27.0 → 1.29.2

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 (76) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/cjs/core/Breadcrumbs/Breadcrumbs.js +1 -1
  3. package/cjs/core/ButtonGroup/ButtonGroup.js +2 -4
  4. package/cjs/core/Buttons/Button/Button.d.ts +6 -26
  5. package/cjs/core/Buttons/Button/Button.js +2 -2
  6. package/cjs/core/Buttons/DropdownButton/DropdownButton.d.ts +1 -1
  7. package/cjs/core/Buttons/IconButton/IconButton.d.ts +3 -8
  8. package/cjs/core/Buttons/IconButton/IconButton.js +2 -2
  9. package/cjs/core/Buttons/SplitButton/SplitButton.d.ts +9 -7
  10. package/cjs/core/Buttons/SplitButton/SplitButton.js +11 -6
  11. package/cjs/core/Checkbox/Checkbox.js +2 -2
  12. package/cjs/core/ColorPicker/ColorInputPanel.js +2 -2
  13. package/cjs/core/ColorPicker/ColorSwatch.d.ts +1 -1
  14. package/cjs/core/DatePicker/DatePicker.js +14 -15
  15. package/cjs/core/Header/HeaderButton.d.ts +6 -4
  16. package/cjs/core/Header/HeaderButton.js +3 -4
  17. package/cjs/core/LabeledInput/LabeledInput.d.ts +1 -1
  18. package/cjs/core/Modal/Modal.js +4 -1
  19. package/cjs/core/SideNavigation/SidenavButton.d.ts +3 -13
  20. package/cjs/core/Table/Table.d.ts +5 -0
  21. package/cjs/core/Table/Table.js +13 -5
  22. package/cjs/core/Table/TablePaginator.js +11 -5
  23. package/cjs/core/Table/TableRowMemoized.js +1 -1
  24. package/cjs/core/Table/filters/BaseFilter.js +3 -1
  25. package/cjs/core/Table/filters/FilterToggle.js +4 -3
  26. package/cjs/core/Table/hooks/useResizeColumns.js +2 -0
  27. package/cjs/core/Typography/Anchor/Anchor.d.ts +3 -0
  28. package/cjs/core/Typography/Anchor/Anchor.js +41 -0
  29. package/cjs/core/Typography/Anchor/index.d.ts +3 -0
  30. package/cjs/core/Typography/Anchor/index.js +10 -0
  31. package/cjs/core/Typography/Text/Text.d.ts +6 -10
  32. package/cjs/core/Typography/Text/Text.js +3 -4
  33. package/cjs/core/Typography/index.d.ts +1 -0
  34. package/cjs/core/Typography/index.js +3 -1
  35. package/cjs/core/index.d.ts +1 -1
  36. package/cjs/core/index.js +2 -1
  37. package/cjs/core/utils/hooks/useTheme.js +20 -3
  38. package/cjs/core/utils/props.d.ts +29 -1
  39. package/esm/core/Breadcrumbs/Breadcrumbs.js +1 -1
  40. package/esm/core/ButtonGroup/ButtonGroup.js +2 -4
  41. package/esm/core/Buttons/Button/Button.d.ts +6 -26
  42. package/esm/core/Buttons/Button/Button.js +3 -3
  43. package/esm/core/Buttons/DropdownButton/DropdownButton.d.ts +1 -1
  44. package/esm/core/Buttons/IconButton/IconButton.d.ts +3 -8
  45. package/esm/core/Buttons/IconButton/IconButton.js +2 -2
  46. package/esm/core/Buttons/SplitButton/SplitButton.d.ts +9 -7
  47. package/esm/core/Buttons/SplitButton/SplitButton.js +11 -5
  48. package/esm/core/Checkbox/Checkbox.js +2 -2
  49. package/esm/core/ColorPicker/ColorInputPanel.js +2 -2
  50. package/esm/core/ColorPicker/ColorSwatch.d.ts +1 -1
  51. package/esm/core/DatePicker/DatePicker.js +14 -15
  52. package/esm/core/Header/HeaderButton.d.ts +6 -4
  53. package/esm/core/Header/HeaderButton.js +3 -3
  54. package/esm/core/LabeledInput/LabeledInput.d.ts +1 -1
  55. package/esm/core/Modal/Modal.js +4 -1
  56. package/esm/core/SideNavigation/SidenavButton.d.ts +3 -13
  57. package/esm/core/Table/Table.d.ts +5 -0
  58. package/esm/core/Table/Table.js +13 -5
  59. package/esm/core/Table/TablePaginator.js +11 -5
  60. package/esm/core/Table/TableRowMemoized.js +1 -1
  61. package/esm/core/Table/filters/BaseFilter.js +3 -1
  62. package/esm/core/Table/filters/FilterToggle.js +4 -3
  63. package/esm/core/Table/hooks/useResizeColumns.js +2 -0
  64. package/esm/core/Typography/Anchor/Anchor.d.ts +3 -0
  65. package/esm/core/Typography/Anchor/Anchor.js +35 -0
  66. package/esm/core/Typography/Anchor/index.d.ts +3 -0
  67. package/esm/core/Typography/Anchor/index.js +6 -0
  68. package/esm/core/Typography/Text/Text.d.ts +6 -10
  69. package/esm/core/Typography/Text/Text.js +4 -4
  70. package/esm/core/Typography/index.d.ts +1 -0
  71. package/esm/core/Typography/index.js +1 -0
  72. package/esm/core/index.d.ts +1 -1
  73. package/esm/core/index.js +1 -1
  74. package/esm/core/utils/hooks/useTheme.js +20 -3
  75. package/esm/core/utils/props.d.ts +29 -1
  76. package/package.json +10 -5
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  export declare type ClassNameProps = {
3
3
  /**
4
4
  * Custom CSS class name.
@@ -21,3 +21,31 @@ export declare type CommonProps = {
21
21
  */
22
22
  id?: string;
23
23
  } & StylingProps;
24
+ /**
25
+ * Merges provided Props with the props of T.
26
+ *
27
+ * T can be any native HTML element or a custom component.
28
+ */
29
+ export declare type PolymorphicComponentProps<T extends React.ElementType, Props = Record<string, unknown>> = Merge<React.ComponentPropsWithoutRef<T>, Props>;
30
+ /**
31
+ * Makes `as` prop available and merges original OwnProps and the inferred props from `as` element.
32
+ * Extends ForwardRefExoticComponent so ref gets the correct type.
33
+ *
34
+ * T should be the default element that is used for the `as` prop.
35
+ *
36
+ * @example
37
+ * type ButtonComponent = PolymorphicForwardRefComponent<'button', ButtonOwnProps>;
38
+ * ...
39
+ * const Button: ButtonComponent = React.forwardRef((props, ref) => {});
40
+ */
41
+ export interface PolymorphicForwardRefComponent<T, OwnProps = Record<string, unknown>> extends React.ForwardRefExoticComponent<Merge<T extends React.ElementType ? React.ComponentPropsWithRef<T> : never, OwnProps & {
42
+ as?: T;
43
+ }>> {
44
+ <As = T>(props: As extends keyof JSX.IntrinsicElements ? Merge<JSX.IntrinsicElements[As], OwnProps & {
45
+ as: As;
46
+ }> : As extends React.ComponentType<infer P> ? Merge<P, OwnProps & {
47
+ as: As;
48
+ }> : never): React.ReactElement | null;
49
+ }
50
+ declare type Merge<P1, P2> = Omit<P1, keyof P2> & P2;
51
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/itwinui-react",
3
- "version": "1.27.0",
3
+ "version": "1.29.2",
4
4
  "author": "Bentley Systems",
5
5
  "license": "MIT",
6
6
  "main": "cjs/index.js",
@@ -40,8 +40,8 @@
40
40
  "build-storybook": "build-storybook"
41
41
  },
42
42
  "dependencies": {
43
- "@itwin/itwinui-css": "^0.41.1",
44
- "@itwin/itwinui-icons-react": "^1.1.1",
43
+ "@itwin/itwinui-css": "^0.44.1",
44
+ "@itwin/itwinui-icons-react": "^1.5.0",
45
45
  "@itwin/itwinui-illustrations-react": "^1.0.1",
46
46
  "@tippyjs/react": "^4.2.5",
47
47
  "@types/react-table": "^7.0.18",
@@ -55,14 +55,17 @@
55
55
  "@storybook/addon-storysource": "~6.3.6",
56
56
  "@storybook/addons": "~6.3.6",
57
57
  "@storybook/api": "~6.3.6",
58
+ "@storybook/builder-webpack5": "~6.3.6",
58
59
  "@storybook/components": "~6.3.6",
59
60
  "@storybook/core-events": "~6.3.6",
61
+ "@storybook/manager-webpack5": "~6.3.6",
60
62
  "@storybook/preset-typescript": "^3.0.0",
61
63
  "@storybook/react": "~6.3.6",
62
64
  "@storybook/theming": "~6.3.6",
63
65
  "@testing-library/jest-dom": "^5.14.1",
64
66
  "@testing-library/react": "^12.0.0",
65
67
  "@testing-library/react-hooks": "^7.0.1",
68
+ "@testing-library/user-event": "^13.5.0",
66
69
  "@types/classnames": "^2.2.7",
67
70
  "@types/jest": "^27.0.0",
68
71
  "@types/node": "^10.12.2",
@@ -99,7 +102,7 @@
99
102
  "ts-loader": "^8.0.1",
100
103
  "ts-node": "^8.0.2",
101
104
  "typescript": "^4.4.3",
102
- "webpack": "^4.46.0"
105
+ "webpack": "5"
103
106
  },
104
107
  "peerDependencies": {
105
108
  "react": "^16.8.6 || ^17.0.0",
@@ -117,7 +120,9 @@
117
120
  "prismjs": "^1.25.0",
118
121
  "nth-check": "^2.0.1",
119
122
  "ansi-regex": "^5.0.1",
120
- "@pmmmwh/react-refresh-webpack-plugin": "^0.5.1"
123
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.5.1",
124
+ "postcss": "8",
125
+ "nanoid": "^3.1.31"
121
126
  },
122
127
  "husky": {
123
128
  "hooks": {