@jetbrains/ring-ui 6.0.12 → 6.0.13

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.
@@ -10,6 +10,7 @@ declare const units: {
10
10
  export default units;
11
11
  export declare const YEAR = 12;
12
12
  export declare const WEEK = 7;
13
+ export declare const FIFTH_DAY = 4;
13
14
  export declare const weekdays: {
14
15
  MO: number;
15
16
  TU: number;
@@ -26,6 +27,9 @@ export declare const DOUBLE = 2;
26
27
  export declare const HALF = 0.5;
27
28
  export declare const dateType: PropTypes.Requireable<NonNullable<string | number | Date | null | undefined>>;
28
29
  export declare function parseTime(time: string): string | null;
30
+ export declare function shiftWeekArray<T>(arr: T[], startOfWeek: number): T[];
31
+ export declare function getWeekStartsOn(locale: Locale | undefined): number;
32
+ export declare function getDayNumInWeek(locale: Locale | undefined, day: number): number;
29
33
  export interface DateInputTranslations {
30
34
  addFirstDate?: string;
31
35
  addSecondDate?: string;
@@ -12,6 +12,7 @@ const units = {
12
12
  export default units;
13
13
  export const YEAR = 12;
14
14
  export const WEEK = 7;
15
+ export const FIFTH_DAY = 4;
15
16
  export const weekdays = {
16
17
  MO: 1,
17
18
  TU: 2,
@@ -42,3 +43,14 @@ export function parseTime(time) {
42
43
  }
43
44
  return result;
44
45
  }
46
+ export function shiftWeekArray(arr, startOfWeek) {
47
+ const shiftTimes = startOfWeek - 1;
48
+ return arr.slice(shiftTimes).concat(arr.slice(0, shiftTimes));
49
+ }
50
+ export function getWeekStartsOn(locale) {
51
+ return locale?.options?.weekStartsOn ?? weekdays.MO;
52
+ }
53
+ export function getDayNumInWeek(locale, day) {
54
+ const weekDays = shiftWeekArray(Object.values(weekdays), getWeekStartsOn(locale));
55
+ return weekDays.indexOf(day);
56
+ }
@@ -333,7 +333,7 @@
333
333
  border-radius: var(--ring-border-radius);
334
334
  }
335
335
 
336
- .Monday {
336
+ .Day1 {
337
337
  position: relative;
338
338
 
339
339
  &::before,
@@ -400,13 +400,13 @@
400
400
  left: 0;
401
401
  }
402
402
 
403
- &.Monday {
403
+ &.Day1 {
404
404
  &::after {
405
405
  height: calc(var(--ring-unit) * 5);
406
406
  }
407
407
  }
408
408
 
409
- & + .Tuesday {
409
+ & + .Day2 {
410
410
  position: relative;
411
411
 
412
412
  &::before {
@@ -424,9 +424,9 @@
424
424
  }
425
425
  }
426
426
 
427
- .Friday,
428
- .Saturday,
429
- .Sunday {
427
+ .Day5,
428
+ .Day6,
429
+ .Day7 {
430
430
  &::before,
431
431
  &::after {
432
432
  height: calc(var(--ring-unit) * 5);
@@ -436,7 +436,7 @@
436
436
  .spread {
437
437
  &::before,
438
438
  &::after,
439
- & + .Tuesday::before {
439
+ & + .Day2::before {
440
440
  transition: none;
441
441
 
442
442
  background-color: var(--ring-selected-background-color);
@@ -446,7 +446,7 @@
446
446
  .activeSpread {
447
447
  &::before,
448
448
  &::after,
449
- & + .Tuesday::before {
449
+ & + .Day2::before {
450
450
  transition: none;
451
451
 
452
452
  background-color: var(--ring-date-picker-hover-color);
@@ -15,6 +15,7 @@ export default class Day extends Component<DayProps> {
15
15
  onSelect: PropTypes.Requireable<(...args: any[]) => any>;
16
16
  parseDateInput: PropTypes.Requireable<(...args: any[]) => any>;
17
17
  onHover: PropTypes.Requireable<(...args: any[]) => any>;
18
+ locale: PropTypes.Requireable<object>;
18
19
  minDate: PropTypes.Requireable<NonNullable<string | number | Date | null | undefined>>;
19
20
  maxDate: PropTypes.Requireable<NonNullable<string | number | Date | null | undefined>>;
20
21
  };
@@ -10,7 +10,7 @@ import { isBefore } from 'date-fns/isBefore';
10
10
  import { isSameDay } from 'date-fns/isSameDay';
11
11
  import { isToday } from 'date-fns/isToday';
12
12
  import { startOfDay } from 'date-fns/startOfDay';
13
- import { dateType, weekdays } from './consts';
13
+ import { dateType, weekdays, getDayNumInWeek } from './consts';
14
14
  import styles from './date-picker.css';
15
15
  let hoverTO;
16
16
  export default class Day extends Component {
@@ -23,6 +23,7 @@ export default class Day extends Component {
23
23
  onSelect: PropTypes.func,
24
24
  parseDateInput: PropTypes.func,
25
25
  onHover: PropTypes.func,
26
+ locale: PropTypes.object,
26
27
  minDate: dateType,
27
28
  maxDate: dateType
28
29
  };
@@ -55,8 +56,9 @@ export default class Day extends Component {
55
56
  return this.props.parseDateInput(text);
56
57
  }
57
58
  render() {
58
- const { day, from, currentRange, activeRange, empty } = this.props;
59
+ const { day, from, currentRange, activeRange, empty, locale } = this.props;
59
60
  const reverse = activeRange && activeRange[1] === from;
61
+ const dayInWeek = getDayNumInWeek(locale, getDay(day)) + 1;
60
62
  function makeSpreadRange(range) {
61
63
  return range && [range[0], addDays(range[1], 1)];
62
64
  }
@@ -65,7 +67,7 @@ export default class Day extends Component {
65
67
  const activeSpreadRange = makeSpreadRange(activeRange);
66
68
  return (
67
69
  // TODO make keyboard navigation actually work
68
- <button type="button" className={classNames(styles.day, styles[format(day, 'EEEE')], {
70
+ <button type="button" className={classNames(styles.day, styles[`Day${dayInWeek}`], {
69
71
  [styles.current]: ['date', 'from', 'to'].some(this.is),
70
72
  [styles.active]: !disabled && this.is('activeDate'),
71
73
  [styles.weekend]: [weekdays.SA, weekdays.SU].includes(getDay(day)),
@@ -7,7 +7,7 @@ declare namespace MonthNames {
7
7
  scrollDate: PropTypes.Requireable<NonNullable<string | number | Date | null | undefined>>;
8
8
  onScrollChange: PropTypes.Requireable<(...args: any[]) => any>;
9
9
  currentRange: PropTypes.Requireable<(NonNullable<string | number | Date | null | undefined> | null | undefined)[]>;
10
- locale: PropTypes.Requireable<string>;
10
+ locale: PropTypes.Requireable<object>;
11
11
  };
12
12
  }
13
13
  export default MonthNames;
@@ -15,7 +15,7 @@ class MonthName extends PureComponent {
15
15
  static propTypes = {
16
16
  month: dateType,
17
17
  onScrollChange: PropTypes.func,
18
- locale: PropTypes.string
18
+ locale: PropTypes.object
19
19
  };
20
20
  handleClick = () => {
21
21
  const end = endOfMonth(this.props.month);
@@ -58,5 +58,5 @@ MonthNames.propTypes = {
58
58
  scrollDate: dateType,
59
59
  onScrollChange: PropTypes.func,
60
60
  currentRange: PropTypes.arrayOf(dateType),
61
- locale: PropTypes.string
61
+ locale: PropTypes.object
62
62
  };
@@ -8,7 +8,7 @@ declare function Month(props: MonthProps): React.JSX.Element;
8
8
  declare namespace Month {
9
9
  var propTypes: {
10
10
  month: PropTypes.Requireable<NonNullable<string | number | Date | null | undefined>>;
11
- locale: PropTypes.Requireable<string>;
11
+ locale: PropTypes.Requireable<object>;
12
12
  };
13
13
  }
14
14
  export default Month;
@@ -6,7 +6,7 @@ import { getDay } from 'date-fns/getDay';
6
6
  import { setDay } from 'date-fns/setDay';
7
7
  import PropTypes from 'prop-types';
8
8
  import Day from './day';
9
- import { dateType, WEEK, weekdays } from './consts';
9
+ import { dateType, WEEK, weekdays, shiftWeekArray, getWeekStartsOn, FIFTH_DAY } from './consts';
10
10
  import styles from './date-picker.css';
11
11
  export default function Month(props) {
12
12
  const start = props.month;
@@ -14,7 +14,9 @@ export default function Month(props) {
14
14
  const { locale } = props;
15
15
  // pad with empty cells starting from last friday
16
16
  const weekday = getDay(start);
17
- let day = setDay(start, weekday >= weekdays.FR ? weekdays.FR : weekdays.FR - WEEK);
17
+ const weekDays = shiftWeekArray(Object.values(weekdays), getWeekStartsOn(props.locale));
18
+ const fifthDayOfWeek = weekDays[FIFTH_DAY];
19
+ let day = setDay(start, weekday >= fifthDayOfWeek ? fifthDayOfWeek : fifthDayOfWeek - WEEK);
18
20
  const days = [];
19
21
  while (day < end) {
20
22
  days.push(day);
@@ -29,5 +31,5 @@ export default function Month(props) {
29
31
  }
30
32
  Month.propTypes = {
31
33
  month: dateType,
32
- locale: PropTypes.string
34
+ locale: PropTypes.object
33
35
  };
@@ -7,7 +7,7 @@ interface WeekdaysProps {
7
7
  declare function Weekdays(props: WeekdaysProps): React.JSX.Element;
8
8
  declare namespace Weekdays {
9
9
  var propTypes: {
10
- locale: PropTypes.Requireable<string>;
10
+ locale: PropTypes.Requireable<object>;
11
11
  };
12
12
  }
13
13
  export default Weekdays;
@@ -5,10 +5,10 @@ import { format } from 'date-fns/format';
5
5
  import { setDay } from 'date-fns/setDay';
6
6
  import { startOfDay } from 'date-fns/startOfDay';
7
7
  import PropTypes from 'prop-types';
8
- import { weekdays } from './consts';
8
+ import { getWeekStartsOn, shiftWeekArray, weekdays } from './consts';
9
9
  import styles from './date-picker.css';
10
10
  export default function Weekdays(props) {
11
- const days = Object.values(weekdays).
11
+ const days = shiftWeekArray(Object.values(weekdays), getWeekStartsOn(props.locale)).
12
12
  map(value => startOfDay(setDay(new Date(), value)));
13
13
  const { locale } = props;
14
14
  return (<div className={styles.weekdays}>
@@ -20,5 +20,5 @@ export default function Weekdays(props) {
20
20
  </div>);
21
21
  }
22
22
  Weekdays.propTypes = {
23
- locale: PropTypes.string
23
+ locale: PropTypes.object
24
24
  };
@@ -141,9 +141,15 @@
141
141
  cursor: pointer;
142
142
  }
143
143
 
144
- .avatarWrapper {
144
+ .anchorClassName {
145
145
  composes: resetButton from "../global/global.css";
146
146
 
147
+ display: flex;
148
+ align-items: center;
149
+ gap: calc(1.5 * var(--ring-unit));
150
+ }
151
+
152
+ .avatarWrapper {
147
153
  line-height: 0;
148
154
  }
149
155
 
@@ -1,6 +1,7 @@
1
1
  import React, { ComponentType, HTMLAttributes, PureComponent, ReactNode } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { Size } from '../avatar/avatar';
4
+ import { PopupMenuAttrs } from '../popup-menu/popup-menu';
4
5
  import { ListDataItem } from '../list/consts';
5
6
  import { AuthUser } from '../auth/auth';
6
7
  import { ClickableLinkProps } from '../link/clickableLink';
@@ -27,15 +28,19 @@ export interface ProfileProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSe
27
28
  LinkComponent?: ComponentType<ClickableLinkProps> | null | undefined;
28
29
  user?: AuthUser | null | undefined | void;
29
30
  round?: boolean | null | undefined;
31
+ showName?: boolean | null | undefined;
30
32
  showLogIn?: boolean | null | undefined;
31
33
  showLogOut?: boolean | null | undefined;
32
34
  showSwitchUser?: boolean | null | undefined;
33
35
  showApplyChangedUser?: boolean | null | undefined;
34
36
  onRevertPostponement?: (() => void) | null | undefined;
37
+ menuProps?: PopupMenuAttrs | null | undefined;
38
+ activeClassName?: string | null | undefined;
35
39
  }
36
40
  export default class Profile extends PureComponent<ProfileProps> {
37
41
  static propTypes: {
38
42
  className: PropTypes.Requireable<string>;
43
+ activeClassName: PropTypes.Requireable<string>;
39
44
  closeOnSelect: PropTypes.Requireable<boolean>;
40
45
  hasUpdates: PropTypes.Requireable<boolean>;
41
46
  loading: PropTypes.Requireable<boolean>;
@@ -59,12 +64,14 @@ export default class Profile extends PureComponent<ProfileProps> {
59
64
  }>>;
60
65
  size: PropTypes.Requireable<number>;
61
66
  round: PropTypes.Requireable<boolean>;
67
+ showName: PropTypes.Requireable<boolean>;
62
68
  showLogIn: PropTypes.Requireable<boolean>;
63
69
  showLogOut: PropTypes.Requireable<boolean>;
64
70
  showSwitchUser: PropTypes.Requireable<boolean>;
65
71
  showApplyChangedUser: PropTypes.Requireable<boolean>;
66
72
  onRevertPostponement: PropTypes.Requireable<(...args: any[]) => any>;
67
73
  renderGuest: PropTypes.Requireable<(...args: any[]) => any>;
74
+ menuProps: PropTypes.Requireable<object>;
68
75
  };
69
76
  static defaultProps: ProfileProps;
70
77
  static contextType: React.Context<import("../i18n/i18n-context").I18nContextProps>;
@@ -12,6 +12,7 @@ const rgItemType = PopupMenu.ListProps.Type.LINK;
12
12
  export default class Profile extends PureComponent {
13
13
  static propTypes = {
14
14
  className: PropTypes.string,
15
+ activeClassName: PropTypes.string,
15
16
  closeOnSelect: PropTypes.bool,
16
17
  hasUpdates: PropTypes.bool,
17
18
  loading: PropTypes.bool,
@@ -39,12 +40,14 @@ export default class Profile extends PureComponent {
39
40
  }),
40
41
  size: PropTypes.number,
41
42
  round: PropTypes.bool,
43
+ showName: PropTypes.bool,
42
44
  showLogIn: PropTypes.bool,
43
45
  showLogOut: PropTypes.bool,
44
46
  showSwitchUser: PropTypes.bool,
45
47
  showApplyChangedUser: PropTypes.bool,
46
48
  onRevertPostponement: PropTypes.func,
47
- renderGuest: PropTypes.func
49
+ renderGuest: PropTypes.func,
50
+ menuProps: PropTypes.object
48
51
  };
49
52
  static defaultProps = {
50
53
  closeOnSelect: true,
@@ -61,7 +64,7 @@ export default class Profile extends PureComponent {
61
64
  static contextType = I18nContext;
62
65
  static Size = Size;
63
66
  render() {
64
- const { className, closeOnSelect, hasUpdates, onLogout, user, profileUrl, LinkComponent, onSwitchUser, renderPopupItems, onRevertPostponement, showApplyChangedUser, showLogIn, showLogOut, showSwitchUser, renderGuest, translations, size, round, loading, onLogin, ...props } = this.props;
67
+ const { className, activeClassName, closeOnSelect, hasUpdates, onLogout, user, profileUrl, LinkComponent, onSwitchUser, renderPopupItems, onRevertPostponement, showApplyChangedUser, showName, showLogIn, showLogOut, showSwitchUser, renderGuest, translations, size, round, loading, onLogin, menuProps, ...props } = this.props;
65
68
  const { translate } = this.context;
66
69
  if (!user) {
67
70
  return (<div {...props} className={classNames(styles.profileEmpty, className)}>
@@ -71,11 +74,14 @@ export default class Profile extends PureComponent {
71
74
  if (user.guest) {
72
75
  return renderGuest(this.props);
73
76
  }
74
- const anchorClassName = classNames(styles.avatarWrapper, {
77
+ const avatarWrapper = classNames(styles.avatarWrapper, {
75
78
  [styles.hasUpdates]: hasUpdates
76
79
  });
77
- const anchor = (<button type="button" className={anchorClassName}>
78
- <Avatar url={user.profile && user.profile.avatar && user.profile.avatar.url} size={size} round={round}/>
80
+ const anchor = (<button type="button" className={styles.anchorClassName}>
81
+ <span className={avatarWrapper}>
82
+ <Avatar url={user.profile && user.profile.avatar && user.profile.avatar.url} size={size} round={round}/>
83
+ </span>
84
+ {showName && <span>{user.name}</span>}
79
85
  </button>);
80
86
  const items = [
81
87
  showApplyChangedUser && {
@@ -109,11 +115,12 @@ export default class Profile extends PureComponent {
109
115
  onClick: onLogout
110
116
  }
111
117
  ].filter(isTruthy);
112
- return (<DropdownMenu {...props} title={user.name} anchor={anchor} data={renderPopupItems(items)} data-test="ring-profile" className={classNames(styles.profile, className)} menuProps={{
118
+ return (<DropdownMenu {...props} title={user.name} anchor={anchor} data={renderPopupItems(items)} data-test="ring-profile" className={classNames(styles.profile, className)} activeClassName={activeClassName} menuProps={{
113
119
  closeOnSelect,
114
120
  left: -2,
115
121
  top: -8,
116
- sidePadding: 32
122
+ sidePadding: 32,
123
+ ...menuProps
117
124
  }}/>);
118
125
  }
119
126
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jetbrains/ring-ui",
3
- "version": "6.0.12",
3
+ "version": "6.0.13",
4
4
  "description": "JetBrains UI library",
5
5
  "author": "JetBrains",
6
6
  "license": "Apache-2.0",
@@ -76,54 +76,54 @@
76
76
  },
77
77
  "readmeFilename": "README.md",
78
78
  "devDependencies": {
79
- "@babel/cli": "^7.23.9",
80
- "@babel/eslint-parser": "^7.23.10",
79
+ "@babel/cli": "^7.24.1",
80
+ "@babel/eslint-parser": "^7.24.1",
81
81
  "@csstools/css-parser-algorithms": "^2.6.1",
82
82
  "@csstools/stylelint-no-at-nest-rule": "^2.0.0",
83
83
  "@jetbrains/eslint-config": "^5.4.1",
84
84
  "@jetbrains/stylelint-config": "^4.0.2",
85
- "@primer/octicons": "^19.8.0",
85
+ "@primer/octicons": "^19.9.0",
86
86
  "@rollup/plugin-babel": "^6.0.4",
87
87
  "@rollup/plugin-json": "^6.1.0",
88
88
  "@rollup/plugin-node-resolve": "^15.2.3",
89
89
  "@rollup/plugin-replace": "^5.0.5",
90
- "@storybook/addon-a11y": "8.0.0",
91
- "@storybook/addon-docs": "8.0.0",
90
+ "@storybook/addon-a11y": "8.0.4",
91
+ "@storybook/addon-docs": "8.0.4",
92
92
  "@storybook/addon-essentials": "7.6.17",
93
93
  "@storybook/addon-storyshots": "7.6.17",
94
94
  "@storybook/addon-storyshots-puppeteer": "7.6.17",
95
- "@storybook/addon-storysource": "8.0.0",
95
+ "@storybook/addon-storysource": "8.0.4",
96
96
  "@storybook/addons": "7.6.17",
97
- "@storybook/components": "8.0.0",
97
+ "@storybook/components": "8.0.4",
98
98
  "@storybook/preview-api": "7.6.17",
99
99
  "@storybook/react": "7.6.17",
100
100
  "@storybook/react-webpack5": "7.6.17",
101
- "@storybook/source-loader": "8.0.0",
102
- "@storybook/theming": "8.0.0",
103
- "@testing-library/react": "^14.2.1",
101
+ "@storybook/source-loader": "8.0.2",
102
+ "@storybook/theming": "8.0.4",
103
+ "@testing-library/react": "^14.2.2",
104
104
  "@testing-library/user-event": "^14.5.2",
105
- "@types/chai": "^4.3.12",
105
+ "@types/chai": "^4.3.14",
106
106
  "@types/chai-as-promised": "^7.1.8",
107
107
  "@types/chai-dom": "0.0.10",
108
108
  "@types/chai-enzyme": "^0.6.13",
109
109
  "@types/enzyme": "^3.10.18",
110
110
  "@types/markdown-it": "^13.0.7",
111
- "@types/react": "^18.2.66",
111
+ "@types/react": "^18.2.67",
112
112
  "@types/react-dom": "^18.2.22",
113
113
  "@types/sinon": "^17.0.3",
114
114
  "@types/sinon-chai": "^3.2.12",
115
- "@typescript-eslint/eslint-plugin": "^7.2.0",
116
- "@typescript-eslint/parser": "^7.2.0",
115
+ "@typescript-eslint/eslint-plugin": "^7.3.1",
116
+ "@typescript-eslint/parser": "^7.3.1",
117
117
  "@wojtekmaj/enzyme-adapter-react-17": "^0.8.0",
118
118
  "acorn": "^8.11.3",
119
119
  "babel-plugin-require-context-hook": "^1.0.0",
120
- "caniuse-lite": "^1.0.30001597",
120
+ "caniuse-lite": "^1.0.30001600",
121
121
  "chai": "^5.1.0",
122
122
  "chai-as-promised": "^7.1.1",
123
123
  "chai-dom": "^1.10.0",
124
124
  "chai-enzyme": "1.0.0-beta.1",
125
125
  "cheerio": "^1.0.0-rc.12",
126
- "core-js": "^3.36.0",
126
+ "core-js": "^3.36.1",
127
127
  "cpy-cli": "^3.1.1",
128
128
  "enzyme": "^3.11.0",
129
129
  "eslint": "^8.57.0",
@@ -131,7 +131,7 @@
131
131
  "eslint-plugin-bdd": "^2.1.1",
132
132
  "eslint-plugin-import": "^2.29.1",
133
133
  "eslint-plugin-jsx-a11y": "^6.8.0",
134
- "eslint-plugin-react": "^7.34.0",
134
+ "eslint-plugin-react": "^7.34.1",
135
135
  "eslint-plugin-storybook": "^0.8.0",
136
136
  "events": "^3.3.0",
137
137
  "glob": "^10.3.10",
@@ -149,12 +149,12 @@
149
149
  "karma-teamcity-reporter": "^2.0.0",
150
150
  "karma-webpack": "^5.0.1",
151
151
  "lint-staged": "^15.2.2",
152
- "markdown-it": "^14.0.0",
152
+ "markdown-it": "^14.1.0",
153
153
  "merge-options": "^3.0.4",
154
154
  "mocha": "^10.3.0",
155
155
  "pinst": "^3.0.0",
156
156
  "prettier": "^3.2.5",
157
- "puppeteer": "^22.4.1",
157
+ "puppeteer": "^22.6.0",
158
158
  "raw-loader": "^4.0.2",
159
159
  "react": "^18.2.0",
160
160
  "react-dom": "^18.2.0",
@@ -167,15 +167,15 @@
167
167
  "sinon": "^17.0.1",
168
168
  "sinon-chai": "^3.7.0",
169
169
  "storage-mock": "^2.1.0",
170
- "storybook": "8.0.0",
170
+ "storybook": "8.0.4",
171
171
  "storybook-addon-themes": "^6.1.0",
172
172
  "stylelint": "^16.2.1",
173
173
  "svg-inline-loader": "^0.8.2",
174
174
  "teamcity-service-messages": "^0.1.14",
175
175
  "terser-webpack-plugin": "^5.3.10",
176
- "typescript": "~5.4.2",
176
+ "typescript": "~5.4.3",
177
177
  "wallaby-webpack": "^3.9.16",
178
- "webpack": "^5.90.3",
178
+ "webpack": "^5.91.0",
179
179
  "webpack-cli": "^5.1.4",
180
180
  "xmlappend": "^1.0.4"
181
181
  },
@@ -199,8 +199,8 @@
199
199
  }
200
200
  },
201
201
  "dependencies": {
202
- "@babel/core": "^7.24.0",
203
- "@babel/preset-typescript": "^7.23.3",
202
+ "@babel/core": "^7.24.3",
203
+ "@babel/preset-typescript": "^7.24.1",
204
204
  "@jetbrains/babel-preset-jetbrains": "^2.3.2",
205
205
  "@jetbrains/icons": "^4.1.0",
206
206
  "@jetbrains/logos": "^2.2.26",
@@ -220,7 +220,7 @@
220
220
  "combokeys": "^3.0.1",
221
221
  "css-loader": "^6.10.0",
222
222
  "csstype": "^3.1.3",
223
- "date-fns": "^3.5.0",
223
+ "date-fns": "^3.6.0",
224
224
  "deep-equal": "^2.2.3",
225
225
  "element-resize-detector": "^1.2.4",
226
226
  "es6-error": "^4.1.1",
@@ -231,13 +231,13 @@
231
231
  "highlight.js": "^10.7.2",
232
232
  "just-debounce-it": "^3.2.0",
233
233
  "memoize-one": "^6.0.0",
234
- "postcss": "^8.4.35",
234
+ "postcss": "^8.4.38",
235
235
  "postcss-calc": "^9.0.1",
236
236
  "postcss-flexbugs-fixes": "^5.0.2",
237
237
  "postcss-font-family-system-ui": "^5.0.0",
238
238
  "postcss-loader": "^8.1.1",
239
239
  "postcss-modules-values-replace": "^4.2.0",
240
- "postcss-preset-env": "^9.5.1",
240
+ "postcss-preset-env": "^9.5.2",
241
241
  "prop-types": "^15.8.1",
242
242
  "react-movable": "^3.2.0",
243
243
  "react-virtualized": "^9.22.5",