@canonical/react-components 1.9.1 → 2.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.
Files changed (143) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +2 -2
  2. package/dist/components/Accordion/AccordionSection/AccordionSection.d.ts +2 -1
  3. package/dist/components/ActionButton/ActionButton.d.ts +2 -1
  4. package/dist/components/ArticlePagination/ArticlePagination.d.ts +2 -1
  5. package/dist/components/Badge/Badge.d.ts +2 -2
  6. package/dist/components/Button/Button.d.ts +2 -1
  7. package/dist/components/Card/Card.d.ts +2 -1
  8. package/dist/components/CheckboxInput/CheckableInput/CheckableInput.d.ts +2 -2
  9. package/dist/components/CheckboxInput/CheckboxInput.d.ts +2 -1
  10. package/dist/components/Chip/Chip.d.ts +2 -1
  11. package/dist/components/Code/Code.d.ts +2 -1
  12. package/dist/components/CodeSnippet/CodeSnippet.d.ts +2 -2
  13. package/dist/components/CodeSnippet/CodeSnippetBlock.d.ts +2 -1
  14. package/dist/components/CodeSnippet/CodeSnippetDropdown.d.ts +2 -1
  15. package/dist/components/Col/Col.d.ts +2 -1
  16. package/dist/components/ConfirmationButton/ConfirmationButton.d.ts +2 -2
  17. package/dist/components/ConfirmationModal/ConfirmationModal.d.ts +2 -2
  18. package/dist/components/ContextualMenu/ContextualMenu.d.ts +1 -1
  19. package/dist/components/ContextualMenu/ContextualMenuDropdown/ContextualMenuDropdown.d.ts +3 -3
  20. package/dist/components/CustomSelect/CustomSelect.d.ts +2 -1
  21. package/dist/components/EmptyState/EmptyState.d.ts +2 -2
  22. package/dist/components/Field/Field.d.ts +2 -1
  23. package/dist/components/Form/Form.d.ts +2 -1
  24. package/dist/components/FormikField/FormikField.d.ts +2 -1
  25. package/dist/components/Icon/Icon.d.ts +2 -1
  26. package/dist/components/Input/Input.d.ts +2 -1
  27. package/dist/components/Label/Label.d.ts +2 -1
  28. package/dist/components/Link/Link.d.ts +2 -1
  29. package/dist/components/List/List.d.ts +2 -1
  30. package/dist/components/Loader/Loader.d.ts +2 -1
  31. package/dist/components/MainTable/MainTable.d.ts +2 -1
  32. package/dist/components/Modal/Modal.d.ts +6 -2
  33. package/dist/components/Modal/Modal.js +2 -1
  34. package/dist/components/Modal/Modal.stories.js +8 -1
  35. package/dist/components/ModularTable/ModularTable.d.ts +2 -2
  36. package/dist/components/MultiSelect/MultiSelect.js +1 -1
  37. package/dist/components/Navigation/Navigation.d.ts +2 -1
  38. package/dist/components/Navigation/Navigation.js +1 -1
  39. package/dist/components/Navigation/NavigationLink/NavigationLink.d.ts +2 -1
  40. package/dist/components/Navigation/NavigationMenu/NavigationMenu.d.ts +2 -1
  41. package/dist/components/Notification/Notification.d.ts +2 -2
  42. package/dist/components/Pagination/Pagination.d.ts +2 -1
  43. package/dist/components/Pagination/PaginationButton/PaginationButton.d.ts +2 -1
  44. package/dist/components/Pagination/PaginationItem/PaginationItem.d.ts +2 -1
  45. package/dist/components/RadioInput/RadioInput.d.ts +2 -1
  46. package/dist/components/Row/Row.d.ts +2 -1
  47. package/dist/components/SearchAndFilter/FilterPanelSection/FilterPanelSection.d.ts +2 -1
  48. package/dist/components/SearchAndFilter/SearchAndFilter.d.ts +2 -1
  49. package/dist/components/SearchAndFilter/SearchAndFilter.js +1 -1
  50. package/dist/components/SearchBox/SearchBox.d.ts +0 -4
  51. package/dist/components/SearchBox/SearchBox.js +1 -1
  52. package/dist/components/Select/Select.d.ts +2 -1
  53. package/dist/components/SkipLink/SkipLink.d.ts +2 -2
  54. package/dist/components/Slider/Slider.d.ts +2 -1
  55. package/dist/components/Spinner/Spinner.d.ts +2 -2
  56. package/dist/components/StatusLabel/StatusLabel.d.ts +2 -1
  57. package/dist/components/Stepper/Step/Step.d.ts +2 -1
  58. package/dist/components/Stepper/Stepper.d.ts +3 -3
  59. package/dist/components/Strip/Strip.d.ts +2 -1
  60. package/dist/components/SummaryButton/SummaryButton.d.ts +2 -1
  61. package/dist/components/Switch/Switch.d.ts +2 -1
  62. package/dist/components/Table/Table.d.ts +2 -2
  63. package/dist/components/TableCell/TableCell.d.ts +2 -2
  64. package/dist/components/TableHeader/TableHeader.d.ts +2 -2
  65. package/dist/components/TablePagination/TablePaginationControls/TablePaginationControls.d.ts +2 -2
  66. package/dist/components/TablePagination/utils.d.ts +3 -3
  67. package/dist/components/TableRow/TableRow.d.ts +2 -1
  68. package/dist/components/Tabs/Tabs.d.ts +2 -1
  69. package/dist/components/Textarea/Textarea.d.ts +2 -1
  70. package/dist/components/Tooltip/Tooltip.d.ts +2 -1
  71. package/dist/esm/components/Accordion/Accordion.d.ts +2 -2
  72. package/dist/esm/components/Accordion/AccordionSection/AccordionSection.d.ts +2 -1
  73. package/dist/esm/components/ActionButton/ActionButton.d.ts +2 -1
  74. package/dist/esm/components/ArticlePagination/ArticlePagination.d.ts +2 -1
  75. package/dist/esm/components/Badge/Badge.d.ts +2 -2
  76. package/dist/esm/components/Button/Button.d.ts +2 -1
  77. package/dist/esm/components/Card/Card.d.ts +2 -1
  78. package/dist/esm/components/CheckboxInput/CheckableInput/CheckableInput.d.ts +2 -2
  79. package/dist/esm/components/CheckboxInput/CheckboxInput.d.ts +2 -1
  80. package/dist/esm/components/Chip/Chip.d.ts +2 -1
  81. package/dist/esm/components/Code/Code.d.ts +2 -1
  82. package/dist/esm/components/CodeSnippet/CodeSnippet.d.ts +2 -2
  83. package/dist/esm/components/CodeSnippet/CodeSnippetBlock.d.ts +2 -1
  84. package/dist/esm/components/CodeSnippet/CodeSnippetDropdown.d.ts +2 -1
  85. package/dist/esm/components/Col/Col.d.ts +2 -1
  86. package/dist/esm/components/ConfirmationButton/ConfirmationButton.d.ts +2 -2
  87. package/dist/esm/components/ConfirmationModal/ConfirmationModal.d.ts +2 -2
  88. package/dist/esm/components/ContextualMenu/ContextualMenu.d.ts +1 -1
  89. package/dist/esm/components/ContextualMenu/ContextualMenuDropdown/ContextualMenuDropdown.d.ts +3 -3
  90. package/dist/esm/components/CustomSelect/CustomSelect.d.ts +2 -1
  91. package/dist/esm/components/EmptyState/EmptyState.d.ts +2 -2
  92. package/dist/esm/components/Field/Field.d.ts +2 -1
  93. package/dist/esm/components/Form/Form.d.ts +2 -1
  94. package/dist/esm/components/FormikField/FormikField.d.ts +2 -1
  95. package/dist/esm/components/Icon/Icon.d.ts +2 -1
  96. package/dist/esm/components/Input/Input.d.ts +2 -1
  97. package/dist/esm/components/Label/Label.d.ts +2 -1
  98. package/dist/esm/components/Link/Link.d.ts +2 -1
  99. package/dist/esm/components/List/List.d.ts +2 -1
  100. package/dist/esm/components/Loader/Loader.d.ts +2 -1
  101. package/dist/esm/components/MainTable/MainTable.d.ts +2 -1
  102. package/dist/esm/components/Modal/Modal.d.ts +6 -2
  103. package/dist/esm/components/Modal/Modal.js +4 -3
  104. package/dist/esm/components/Modal/Modal.stories.js +8 -1
  105. package/dist/esm/components/ModularTable/ModularTable.d.ts +2 -2
  106. package/dist/esm/components/MultiSelect/MultiSelect.js +1 -1
  107. package/dist/esm/components/Navigation/Navigation.d.ts +2 -1
  108. package/dist/esm/components/Navigation/Navigation.js +1 -1
  109. package/dist/esm/components/Navigation/NavigationLink/NavigationLink.d.ts +2 -1
  110. package/dist/esm/components/Navigation/NavigationMenu/NavigationMenu.d.ts +2 -1
  111. package/dist/esm/components/Notification/Notification.d.ts +2 -2
  112. package/dist/esm/components/Pagination/Pagination.d.ts +2 -1
  113. package/dist/esm/components/Pagination/PaginationButton/PaginationButton.d.ts +2 -1
  114. package/dist/esm/components/Pagination/PaginationItem/PaginationItem.d.ts +2 -1
  115. package/dist/esm/components/RadioInput/RadioInput.d.ts +2 -1
  116. package/dist/esm/components/Row/Row.d.ts +2 -1
  117. package/dist/esm/components/SearchAndFilter/FilterPanelSection/FilterPanelSection.d.ts +2 -1
  118. package/dist/esm/components/SearchAndFilter/SearchAndFilter.d.ts +2 -1
  119. package/dist/esm/components/SearchAndFilter/SearchAndFilter.js +1 -1
  120. package/dist/esm/components/SearchBox/SearchBox.d.ts +0 -4
  121. package/dist/esm/components/SearchBox/SearchBox.js +1 -1
  122. package/dist/esm/components/Select/Select.d.ts +2 -1
  123. package/dist/esm/components/SkipLink/SkipLink.d.ts +2 -2
  124. package/dist/esm/components/Slider/Slider.d.ts +2 -1
  125. package/dist/esm/components/Spinner/Spinner.d.ts +2 -2
  126. package/dist/esm/components/StatusLabel/StatusLabel.d.ts +2 -1
  127. package/dist/esm/components/Stepper/Step/Step.d.ts +2 -1
  128. package/dist/esm/components/Stepper/Stepper.d.ts +3 -3
  129. package/dist/esm/components/Strip/Strip.d.ts +2 -1
  130. package/dist/esm/components/SummaryButton/SummaryButton.d.ts +2 -1
  131. package/dist/esm/components/Switch/Switch.d.ts +2 -1
  132. package/dist/esm/components/Table/Table.d.ts +2 -2
  133. package/dist/esm/components/TableCell/TableCell.d.ts +2 -2
  134. package/dist/esm/components/TableHeader/TableHeader.d.ts +2 -2
  135. package/dist/esm/components/TablePagination/TablePaginationControls/TablePaginationControls.d.ts +2 -2
  136. package/dist/esm/components/TablePagination/utils.d.ts +3 -3
  137. package/dist/esm/components/TableRow/TableRow.d.ts +2 -1
  138. package/dist/esm/components/Tabs/Tabs.d.ts +2 -1
  139. package/dist/esm/components/Textarea/Textarea.d.ts +2 -1
  140. package/dist/esm/components/Tooltip/Tooltip.d.ts +2 -1
  141. package/dist/esm/hooks/useThrottle.js +2 -2
  142. package/dist/hooks/useThrottle.js +2 -2
  143. package/package.json +15 -22
@@ -1,4 +1,4 @@
1
- import { ReactElement, ReactNode } from "react";
1
+ import { ReactNode } from "react";
2
2
  /**
3
3
  * Determine if we are working with a small screen.
4
4
  * 'small screen' in this case is relative to the width of the description div
@@ -11,7 +11,7 @@ export declare const figureSmallScreen: () => boolean;
11
11
  * @param dataForwardProp - the name of the prop from the children components to override
12
12
  * @param data - actual data to be passed to the prop specified by @param dataForwardProp
13
13
  */
14
- export declare const renderChildren: (children: ReactNode, dataForwardProp: string, data: unknown[]) => ReactElement<any, string | import("react").JSXElementConstructor<any>>[];
14
+ export declare const renderChildren: (children: ReactNode, dataForwardProp: string, data: unknown[]) => import("react").FunctionComponentElement<any>[];
15
15
  export declare const DEFAULT_PAGE_LIMITS: number[];
16
16
  export declare const generatePagingOptions: (pageLimits: number[]) => {
17
17
  value: number;
@@ -23,5 +23,5 @@ export declare const getDescription: ({ description, isSmallScreen, totalItems,
23
23
  totalItems: number;
24
24
  itemName: string;
25
25
  visibleCount: number;
26
- }) => string | number | true | ReactElement<any, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode>;
26
+ }) => string | number | bigint | true | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode>>;
27
27
  export declare const useFigureSmallScreen: () => boolean;
@@ -1,4 +1,5 @@
1
1
  import type { HTMLProps, ReactNode } from "react";
2
+ import React from "react";
2
3
  import type { PropsWithSpread } from "../../types";
3
4
  export type Props = PropsWithSpread<{
4
5
  /**
@@ -6,5 +7,5 @@ export type Props = PropsWithSpread<{
6
7
  */
7
8
  children: ReactNode;
8
9
  }, HTMLProps<HTMLTableRowElement>>;
9
- declare const TableRow: ({ children, ...trProps }: Props) => JSX.Element;
10
+ declare const TableRow: ({ children, ...trProps }: Props) => React.JSX.Element;
10
11
  export default TableRow;
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  import type { HTMLProps, ElementType, ReactNode, ComponentType } from "react";
2
3
  import type { ClassName } from "../../types";
3
4
  export type TabLink<P = null> = {
@@ -41,5 +42,5 @@ export type Props<P = null> = {
41
42
  Tabs organise and allow navigation between groups of content that are related and at the same level
42
43
  of hierarchy.
43
44
  */
44
- declare const Tabs: <P>({ className, links, listClassName, }: Props<P>) => JSX.Element;
45
+ declare const Tabs: <P>({ className, links, listClassName, }: Props<P>) => React.JSX.Element;
45
46
  export default Tabs;
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  import type { TextareaHTMLAttributes, ReactNode } from "react";
2
3
  import type { ClassName, PropsWithSpread } from "../../types";
3
4
  /**
@@ -66,5 +67,5 @@ export type Props = PropsWithSpread<{
66
67
  *
67
68
  * The Textarea component defines a multi-line text input control.
68
69
  */
69
- declare const Textarea: ({ caution, className, error, grow, help, id, label, labelClassName, onKeyUp, onControlEnter, required, stacked, style, success, takeFocus, wrapperClassName, ...props }: Props) => JSX.Element;
70
+ declare const Textarea: ({ caution, className, error, grow, help, id, label, labelClassName, onKeyUp, onControlEnter, required, stacked, style, success, takeFocus, wrapperClassName, ...props }: Props) => React.JSX.Element;
70
71
  export default Textarea;
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  import type { ReactNode } from "react";
2
3
  import type { WindowFitment } from "../../hooks";
3
4
  import type { ClassName, ValueOf } from "../../types";
@@ -71,5 +72,5 @@ export declare const adjustForWindow: (position: Position, fitsWindow: WindowFit
71
72
  *
72
73
  * An alternative use of tooltips is to provide information on a disabled actionable element, e.g. for disabled buttons, providing information about why they are disabled.
73
74
  */
74
- declare const Tooltip: ({ autoAdjust, children, className, followMouse, message, position, positionElementClassName, tooltipClassName, zIndex, delay, }: Props) => JSX.Element;
75
+ declare const Tooltip: ({ autoAdjust, children, className, followMouse, message, position, positionElementClassName, tooltipClassName, zIndex, delay, }: Props) => React.JSX.Element;
75
76
  export default Tooltip;
@@ -10,8 +10,8 @@ export var THROTTLE_DELAY = 1000 / 60;
10
10
  */
11
11
  export var useThrottle = function useThrottle(callback) {
12
12
  var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : THROTTLE_DELAY;
13
- var timeout = useRef();
14
- var lastCall = useRef();
13
+ var timeout = useRef(null);
14
+ var lastCall = useRef(null);
15
15
  var lastArgs = useRef(null);
16
16
  var throttle = useCallback(function () {
17
17
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
@@ -16,8 +16,8 @@ const THROTTLE_DELAY = exports.THROTTLE_DELAY = 1000 / 60;
16
16
  */
17
17
  const useThrottle = function (callback) {
18
18
  let delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : THROTTLE_DELAY;
19
- const timeout = (0, _react.useRef)();
20
- const lastCall = (0, _react.useRef)();
19
+ const timeout = (0, _react.useRef)(null);
20
+ const lastCall = (0, _react.useRef)(null);
21
21
  const lastArgs = (0, _react.useRef)(null);
22
22
  const throttle = (0, _react.useCallback)(function () {
23
23
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canonical/react-components",
3
- "version": "1.9.1",
3
+ "version": "2.0.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "author": {
@@ -57,28 +57,28 @@
57
57
  "babel-loader": "9.2.1",
58
58
  "babel-plugin-module-resolver": "5.0.2",
59
59
  "babel-plugin-typescript-to-proptypes": "2.1.0",
60
- "concurrently": "8.2.2",
60
+ "concurrently": "9.1.2",
61
61
  "css-loader": "7.1.2",
62
- "cypress": "13.17.0",
62
+ "cypress": "14.0.1",
63
63
  "deepmerge": "4.3.1",
64
64
  "eslint": "9.18.0",
65
- "eslint-config-prettier": "9.1.0",
66
- "eslint-plugin-cypress": "3.6.0",
65
+ "eslint-config-prettier": "10.0.1",
66
+ "eslint-plugin-cypress": "4.1.0",
67
67
  "eslint-plugin-flowtype": "8.0.3",
68
68
  "eslint-plugin-import": "2.31.0",
69
69
  "eslint-plugin-jsx-a11y": "6.10.2",
70
70
  "eslint-plugin-prettier": "5.2.2",
71
71
  "eslint-plugin-react": "7.37.4",
72
- "eslint-plugin-react-hooks": "4.6.2",
72
+ "eslint-plugin-react-hooks": "5.1.0",
73
73
  "eslint-plugin-storybook": "0.11.2",
74
- "eslint-plugin-testing-library": "6.5.0",
74
+ "eslint-plugin-testing-library": "7.1.1",
75
75
  "formik": "2.4.6",
76
76
  "jest": "29.7.0",
77
77
  "npm-package-json-lint": "8.0.0",
78
78
  "prettier": "3.4.2",
79
- "react": "18.3.1",
79
+ "react": "19.0.0",
80
80
  "react-docgen-typescript-loader": "3.7.2",
81
- "react-dom": "18.3.1",
81
+ "react-dom": "19.0.0",
82
82
  "sass": "1.83.4",
83
83
  "sass-loader": "16.0.4",
84
84
  "semantic-release": "24.2.1",
@@ -101,8 +101,8 @@
101
101
  "dependencies": {
102
102
  "@types/jest": "29.5.14",
103
103
  "@types/node": "20.17.13",
104
- "@types/react": "18.3.18",
105
- "@types/react-dom": "18.3.5",
104
+ "@types/react": "19.0.8",
105
+ "@types/react-dom": "19.0.3",
106
106
  "@types/react-table": "7.7.20",
107
107
  "classnames": "2.5.1",
108
108
  "jest-environment-jsdom": "29.7.0",
@@ -111,19 +111,12 @@
111
111
  "react-table": "7.8.0",
112
112
  "react-useportal": "1.0.19"
113
113
  },
114
- "resolutions": {
115
- "@types/react": "18.3.18",
116
- "@types/react-dom": "18.3.5",
117
- "postcss": "^8.3.11",
118
- "jackspeak": "2.1.1",
119
- "strip-ansi": "6.0.1"
120
- },
121
114
  "peerDependencies": {
122
- "@types/react": "^18.0.0",
123
- "@types/react-dom": "^18.0.0",
115
+ "@types/react": "^18.0.0 || ^19.0.0",
116
+ "@types/react-dom": "^18.0.0 || ^19.0.0",
124
117
  "formik": "^2.4.5",
125
- "react": "^18.0.0",
126
- "react-dom": "^18.0.0",
118
+ "react": "^18.0.0 || ^19.0.0",
119
+ "react-dom": "^18.0.0 || ^19.0.0",
127
120
  "vanilla-framework": "^3.15.1 || ^4.0.0"
128
121
  },
129
122
  "scripts": {