@itwin/itwinui-react 3.14.0 → 3.14.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 (61) hide show
  1. package/CHANGELOG.md +28 -12
  2. package/DEV-cjs/core/Breadcrumbs/Breadcrumbs.js +1 -1
  3. package/DEV-cjs/core/Buttons/IconButton.js +1 -1
  4. package/DEV-cjs/core/Footer/Footer.js +7 -7
  5. package/DEV-cjs/core/Menu/MenuItem.js +1 -1
  6. package/DEV-cjs/core/Popover/Popover.js +16 -26
  7. package/DEV-cjs/core/Table/Table.js +3 -3
  8. package/DEV-cjs/core/Table/cells/DefaultCell.js +5 -5
  9. package/DEV-cjs/core/ThemeProvider/ThemeProvider.js +1 -1
  10. package/DEV-cjs/styles.js +1 -1
  11. package/DEV-cjs/utils/functions/dev.js +3 -23
  12. package/DEV-cjs/utils/hooks/index.js +1 -0
  13. package/DEV-cjs/utils/hooks/useWarningLogger.js +43 -0
  14. package/DEV-esm/core/Breadcrumbs/Breadcrumbs.js +2 -2
  15. package/DEV-esm/core/Buttons/IconButton.js +2 -2
  16. package/DEV-esm/core/Footer/Footer.js +7 -7
  17. package/DEV-esm/core/Menu/MenuItem.js +2 -2
  18. package/DEV-esm/core/Popover/Popover.js +17 -30
  19. package/DEV-esm/core/Table/Table.js +4 -4
  20. package/DEV-esm/core/Table/cells/DefaultCell.js +5 -5
  21. package/DEV-esm/core/ThemeProvider/ThemeProvider.js +1 -1
  22. package/DEV-esm/styles.js +1 -1
  23. package/DEV-esm/utils/functions/dev.js +1 -12
  24. package/DEV-esm/utils/hooks/index.js +1 -0
  25. package/DEV-esm/utils/hooks/useWarningLogger.js +31 -0
  26. package/cjs/core/Breadcrumbs/Breadcrumbs.js +1 -1
  27. package/cjs/core/Buttons/IconButton.js +1 -1
  28. package/cjs/core/Footer/Footer.d.ts +5 -5
  29. package/cjs/core/Footer/Footer.js +7 -7
  30. package/cjs/core/Menu/MenuItem.js +1 -1
  31. package/cjs/core/Popover/Popover.js +16 -26
  32. package/cjs/core/Table/Table.js +3 -3
  33. package/cjs/core/Table/cells/DefaultCell.js +5 -5
  34. package/cjs/core/Table/utils.d.ts +2 -2
  35. package/cjs/core/ThemeProvider/ThemeProvider.js +1 -1
  36. package/cjs/styles.js +1 -1
  37. package/cjs/utils/functions/dev.d.ts +1 -16
  38. package/cjs/utils/functions/dev.js +3 -13
  39. package/cjs/utils/hooks/index.d.ts +1 -0
  40. package/cjs/utils/hooks/index.js +1 -0
  41. package/cjs/utils/hooks/useWarningLogger.d.ts +15 -0
  42. package/cjs/utils/hooks/useWarningLogger.js +17 -0
  43. package/esm/core/Breadcrumbs/Breadcrumbs.js +2 -2
  44. package/esm/core/Buttons/IconButton.js +2 -2
  45. package/esm/core/Footer/Footer.d.ts +5 -5
  46. package/esm/core/Footer/Footer.js +7 -7
  47. package/esm/core/Menu/MenuItem.js +2 -2
  48. package/esm/core/Popover/Popover.js +17 -30
  49. package/esm/core/Table/Table.js +4 -4
  50. package/esm/core/Table/cells/DefaultCell.js +5 -5
  51. package/esm/core/Table/utils.d.ts +2 -2
  52. package/esm/core/ThemeProvider/ThemeProvider.js +1 -1
  53. package/esm/styles.js +1 -1
  54. package/esm/utils/functions/dev.d.ts +1 -16
  55. package/esm/utils/functions/dev.js +1 -2
  56. package/esm/utils/hooks/index.d.ts +1 -0
  57. package/esm/utils/hooks/index.js +1 -0
  58. package/esm/utils/hooks/useWarningLogger.d.ts +15 -0
  59. package/esm/utils/hooks/useWarningLogger.js +5 -0
  60. package/package.json +1 -1
  61. package/styles.css +8 -8
@@ -18,7 +18,7 @@ import {
18
18
  useResizeObserver,
19
19
  useLayoutEffect,
20
20
  Box,
21
- createWarningLogger,
21
+ useWarningLogger,
22
22
  ShadowRoot,
23
23
  useMergedRefs,
24
24
  useLatestRef,
@@ -52,7 +52,6 @@ let singleRowSelectedAction = 'singleRowSelected';
52
52
  let shiftRowSelectedAction = 'shiftRowSelected';
53
53
  export const tableResizeStartAction = 'tableResizeStart';
54
54
  let tableResizeEndAction = 'tableResizeEnd';
55
- let logWarning = createWarningLogger();
56
55
  let flattenColumns = (columns) => {
57
56
  let flatColumns = [];
58
57
  columns.forEach((column) => {
@@ -292,6 +291,7 @@ export const Table = (props) => {
292
291
  setGlobalFilter,
293
292
  } = instance;
294
293
  let headerGroups = _headerGroups;
294
+ let logWarning = useWarningLogger();
295
295
  if (1 === columns.length && 'columns' in columns[0])
296
296
  headerGroups = _headerGroups.slice(1);
297
297
  let ariaDataAttributes = Object.entries(rest).reduce(
@@ -520,7 +520,7 @@ export const Table = (props) => {
520
520
  return React.createElement(
521
521
  TableColumnsContext.Provider,
522
522
  {
523
- value: columns,
523
+ value: instance.columns,
524
524
  },
525
525
  React.createElement(
526
526
  Box,
@@ -578,7 +578,7 @@ export const Table = (props) => {
578
578
  let dragAndDropProps = column.getDragAndDropProps();
579
579
  return React.createElement(ColumnHeader, {
580
580
  ...dragAndDropProps,
581
- key: dragAndDropProps.key,
581
+ key: dragAndDropProps.key || column.id || index,
582
582
  columnRefs: columnRefs,
583
583
  column: column,
584
584
  index: index,
@@ -1,15 +1,15 @@
1
1
  import * as React from 'react';
2
+ import { defaultColumn } from 'react-table';
2
3
  import cx from 'classnames';
3
4
  import { Box, LineClamp, ShadowRoot } from '../../../utils/index.js';
4
5
  import { TableColumnsContext } from '../utils.js';
5
6
  export const DefaultCell = (props) => {
6
- let columnsProp = React.useContext(TableColumnsContext);
7
+ let instanceColumns = React.useContext(TableColumnsContext);
7
8
  let isCustomCell = React.useMemo(
8
9
  () =>
9
- columnsProp
10
- .find(({ id }) => props.cellProps.column.id === id)
11
- ?.hasOwnProperty('Cell'),
12
- [props.cellProps.column.id, columnsProp],
10
+ instanceColumns.find(({ id }) => props.cellProps.column.id === id)
11
+ ?.Cell !== defaultColumn.Cell,
12
+ [instanceColumns, props.cellProps.column.id],
13
13
  );
14
14
  let {
15
15
  cellElementProps: {
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { ColumnInstance, Column } from '../../react-table/react-table.js';
2
+ import type { ColumnInstance } from '../../react-table/react-table.js';
3
3
  export declare const getCellStyle: <T extends Record<string, unknown>>(column: ColumnInstance<T>, isTableResizing: boolean) => React.CSSProperties | undefined;
4
4
  export declare const getStickyStyle: <T extends Record<string, unknown>>(column: ColumnInstance<T>, columnList: ColumnInstance<T>[]) => React.CSSProperties;
5
5
  export declare const getSubRowStyle: ({ density, depth }: {
@@ -8,4 +8,4 @@ export declare const getSubRowStyle: ({ density, depth }: {
8
8
  }) => {
9
9
  paddingInlineStart: number;
10
10
  };
11
- export declare const TableColumnsContext: React.Context<Column<Record<string, unknown>>[]>;
11
+ export declare const TableColumnsContext: React.Context<ColumnInstance<{}>[]>;
@@ -233,7 +233,7 @@ let FallbackStyles = ({ root }) => {
233
233
  } catch (error) {
234
234
  console.log('Error loading styles.css locally', error);
235
235
  let css = await importCss(
236
- 'https://cdn.jsdelivr.net/npm/@itwin/itwinui-react@3/styles.css',
236
+ `https://cdn.jsdelivr.net/npm/@itwin/itwinui-react@${meta.version}/styles.css`,
237
237
  );
238
238
  document.adoptedStyleSheets = [
239
239
  ...document.adoptedStyleSheets,
package/esm/styles.js CHANGED
@@ -1,4 +1,4 @@
1
- const t = '3.14.0';
1
+ const t = '3.14.2';
2
2
  const u = new Proxy(
3
3
  {},
4
4
  {
@@ -1,17 +1,2 @@
1
1
  declare const isUnitTest: boolean;
2
- /**
3
- * Returns a function that can be used to log one-time warnings in dev environments.
4
- *
5
- * **Note**: The actual log call should be wrapped in a check against `process.env.NODE_ENV === 'development'`
6
- * to ensure that it is removed from the production build output (by SWC).
7
- * Read more about the [`NODE_ENV` convention](https://nodejs.org/en/learn/getting-started/nodejs-the-difference-between-development-and-production).
8
- *
9
- * @example
10
- * const logWarning = createWarningLogger();
11
- *
12
- * if (process.env.NODE_ENV === 'development') {
13
- * logWarning("please don't use this")
14
- * }
15
- */
16
- declare const createWarningLogger: () => (message: string) => void;
17
- export { isUnitTest, createWarningLogger };
2
+ export { isUnitTest };
@@ -5,5 +5,4 @@ let isMocha =
5
5
  `${globalThis.beforeEach}`.replace(/\s/g, '');
6
6
  let isVitest = void 0 !== globalThis.__vitest_index__;
7
7
  let isUnitTest = isJest || isVitest || isMocha;
8
- let createWarningLogger = () => () => {};
9
- export { isUnitTest, createWarningLogger };
8
+ export { isUnitTest };
@@ -14,3 +14,4 @@ export * from './useId.js';
14
14
  export * from './useControlledState.js';
15
15
  export * from './useSyncExternalStore.js';
16
16
  export * from './useVirtualScroll.js';
17
+ export * from './useWarningLogger.js';
@@ -14,3 +14,4 @@ export * from './useId.js';
14
14
  export * from './useControlledState.js';
15
15
  export * from './useSyncExternalStore.js';
16
16
  export * from './useVirtualScroll.js';
17
+ export * from './useWarningLogger.js';
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Returns a function that can be used to log one-time warnings in dev environments.
3
+ *
4
+ * **Note**: The actual log call should be wrapped in a check against `process.env.NODE_ENV === 'development'`
5
+ * to ensure that it is removed from the production build output (by SWC).
6
+ * Read more about the [`NODE_ENV` convention](https://nodejs.org/en/learn/getting-started/nodejs-the-difference-between-development-and-production).
7
+ *
8
+ * @example
9
+ * const logWarning = useWarningLogger();
10
+ *
11
+ * if (process.env.NODE_ENV === 'development') {
12
+ * logWarning("please don't use this")
13
+ * }
14
+ */
15
+ export declare const useWarningLogger: () => (message: string) => void;
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ import { isUnitTest } from '../functions/dev.js';
3
+ let _React = React;
4
+ let ReactInternals = _React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
5
+ export const useWarningLogger = () => () => {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/itwinui-react",
3
- "version": "3.14.0",
3
+ "version": "3.14.2",
4
4
  "author": "Bentley Systems",
5
5
  "license": "MIT",
6
6
  "type": "module",