mimir-ui-kit 1.24.4 → 1.25.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.
@@ -2,14 +2,31 @@ import { ReactNode } from 'react';
2
2
  import { EAccordionButtonStyle, EAccordionButtonType, EAccordionIconType, EAccordionSize } from './constants';
3
3
 
4
4
  export type TAccordionProps = {
5
+ /** Заголовок аккордеона */
5
6
  title: string;
7
+ /** Содержимое аккордеона */
6
8
  children: ReactNode;
9
+ /** Размер аккордеона */
7
10
  size?: EAccordionSize;
11
+ /** Преобразование заголовка в верхний регистр */
8
12
  titleUppercase?: boolean;
13
+ /** Тип кнопки аккордеона */
9
14
  buttonType?: EAccordionButtonType | `${EAccordionButtonType}`;
15
+ /** Стиль кнопки аккордеона */
10
16
  buttonStyle?: EAccordionButtonStyle | `${EAccordionButtonStyle}`;
17
+ /** Тип иконки аккордеона */
11
18
  iconType?: EAccordionIconType | `${EAccordionIconType}`;
19
+ /** Дополнительный класс для заголовка */
12
20
  classNameTitle?: string;
21
+ /** Дополнительный класс для содержимого */
13
22
  classNameContent?: string;
23
+ /** Дополнительный класс для всего аккордеона */
24
+ classNameAccordion?: string;
25
+ /** Дополнительный класс для кнопки с иконкой */
26
+ classNameIconButton?: string;
27
+ /** Дополнительный класс для react-ноды для отображения под заголовком */
28
+ classNameSubtitleNode?: string;
29
+ /** React-нода для отображения под заголовком */
30
+ subtitleNode?: ReactNode;
14
31
  };
15
32
  export declare const Accordion: import('react').ForwardRefExoticComponent<TAccordionProps & import('react').RefAttributes<HTMLElement>>;
@@ -1,4 +1,4 @@
1
- import { jsx, jsxs, Fragment as Fragment$1 } from "react/jsx-runtime";
1
+ import { jsxs, Fragment as Fragment$1, jsx } from "react/jsx-runtime";
2
2
  import { c as classNames } from "../../index-CweZ_OcN.js";
3
3
  import React__default, { createContext, useRef, Fragment, useReducer, useMemo, useId, useEffect, useContext, forwardRef } from "react";
4
4
  import { AccordionItem } from "./AccordionItem/AccordionItem.js";
@@ -155,7 +155,11 @@ const Accordion = forwardRef(
155
155
  buttonStyle = EAccordionButtonStyle.CIRCLE,
156
156
  iconType = EAccordionIconType.ARROW,
157
157
  classNameTitle,
158
- classNameContent
158
+ classNameContent,
159
+ classNameAccordion,
160
+ classNameIconButton,
161
+ classNameSubtitleNode,
162
+ subtitleNode
159
163
  }, ref) => {
160
164
  const isMobile = useMediaQuery(EMediaQuery.XS1);
161
165
  const isLink = buttonType === "link";
@@ -206,7 +210,8 @@ const Accordion = forwardRef(
206
210
  className: classNames(
207
211
  cls["icon-container"],
208
212
  open2 && cls.open,
209
- cls[buttonStyle]
213
+ cls[buttonStyle],
214
+ classNameIconButton
210
215
  ),
211
216
  children: /* @__PURE__ */ jsx(Icon, { iconName: getIconName(), className: cls.icon })
212
217
  }
@@ -218,27 +223,43 @@ const Accordion = forwardRef(
218
223
  }
219
224
  }
220
225
  };
221
- return /* @__PURE__ */ jsx("div", { className: classNames(cls.accordion, cls[size], linkClasses), children: /* @__PURE__ */ jsx(We, { ref, children: ({ open: open2 }) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
226
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
222
227
  /* @__PURE__ */ jsx(
223
- Ce,
224
- {
225
- as: isLink ? Fragment : EAccordionButtonType.BUTTON,
226
- className: classNames({ [cls.header]: !isLink }),
227
- children: renderButton(open2)
228
- }
229
- ),
230
- /* @__PURE__ */ jsx(
231
- Ie,
228
+ "div",
232
229
  {
233
230
  className: classNames(
234
- cls.panel,
235
- classNameContent,
236
- linkClasses
231
+ cls.accordion,
232
+ cls[size],
233
+ linkClasses,
234
+ classNameAccordion
237
235
  ),
238
- children: /* @__PURE__ */ jsx(AccordionItem, { size, children })
236
+ children: /* @__PURE__ */ jsx(We, { ref, children: ({ open: open2 }) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
237
+ /* @__PURE__ */ jsx(
238
+ Ce,
239
+ {
240
+ as: isLink ? Fragment : EAccordionButtonType.BUTTON,
241
+ className: classNames({
242
+ [cls.header]: !isLink
243
+ }),
244
+ children: renderButton(open2)
245
+ }
246
+ ),
247
+ /* @__PURE__ */ jsx(
248
+ Ie,
249
+ {
250
+ className: classNames(
251
+ cls.panel,
252
+ classNameContent,
253
+ linkClasses
254
+ ),
255
+ children: /* @__PURE__ */ jsx(AccordionItem, { size, children })
256
+ }
257
+ )
258
+ ] }) })
239
259
  }
240
- )
241
- ] }) }) });
260
+ ),
261
+ subtitleNode && /* @__PURE__ */ jsx("div", { className: classNames(cls.subtitle, classNameSubtitleNode), children: subtitleNode })
262
+ ] });
242
263
  }
243
264
  );
244
265
  export {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mimir-ui-kit",
3
3
  "private": false,
4
- "version": "1.24.4",
4
+ "version": "1.25.0",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {