@alphakits/ui 2.0.5 → 2.0.6

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.
@@ -12,19 +12,19 @@ const P = y(
12
12
  label: o,
13
13
  hint: a,
14
14
  size: d = "m",
15
- align: p = "center",
15
+ align: p = "start",
16
16
  addons: n,
17
17
  block: h,
18
- onChange: m,
18
+ onChange: t,
19
19
  className: u,
20
20
  name: N,
21
- disabled: t,
21
+ disabled: m,
22
22
  dataTestId: b,
23
23
  indeterminate: l = !1,
24
24
  ...k
25
25
  }, x) => {
26
26
  const i = C(null), [R] = I(i, "keyboard"), g = (f) => {
27
- m && m(f, { checked: f.target.checked, name: N });
27
+ t && t(f, { checked: f.target.checked, name: N });
28
28
  };
29
29
  return (
30
30
  // eslint-disable-next-line jsx-a11y/label-has-associated-control
@@ -32,7 +32,7 @@ const P = y(
32
32
  "label",
33
33
  {
34
34
  className: F(e.component, e[d], e[p], u, {
35
- [e.disabled]: t,
35
+ [e.disabled]: m,
36
36
  [e.checked]: r,
37
37
  [e.indeterminate]: l,
38
38
  [e.focused]: R,
@@ -46,7 +46,7 @@ const P = y(
46
46
  {
47
47
  type: "checkbox",
48
48
  onChange: g,
49
- disabled: t,
49
+ disabled: m,
50
50
  checked: r,
51
51
  "data-test-id": b,
52
52
  ...k
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../src/checkbox/component.tsx"],"sourcesContent":["import React, {\n ChangeEvent, forwardRef, InputHTMLAttributes, ReactNode, useRef,\n} from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport CheckmarkS from '@alphakits/icons/dist/CheckmarkS';\nimport MinusM from '@alphakits/icons/dist/MinusM';\nimport cn from 'classnames';\n\nimport { useFocus } from '../hooks/useFocus';\n\nimport styles from './index.module.css';\n\ntype NativeProps = InputHTMLAttributes<HTMLInputElement>;\ntype Align = 'start' | 'center';\n\nexport type CheckboxProps = Omit<NativeProps, 'size' | 'onChange'> & {\n /**\n * Управление состоянием вкл/выкл чекбокса (native prop)\n */\n checked?: boolean;\n\n /**\n * Обработчик переключения чекбокса\n */\n onChange: (\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n event: ChangeEvent<HTMLInputElement>,\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n payload: {\n checked: boolean;\n name?: string;\n },\n ) => void;\n\n /**\n * Текст подписи к чекбоксу\n */\n label?: ReactNode;\n\n /**\n * Текст подсказки снизу\n */\n hint?: ReactNode;\n\n /**\n * Размер компонента\n */\n size?: 's' | 'm';\n\n /**\n * Выравнивание\n */\n align?: Align;\n\n /**\n * Дополнительный слот\n */\n addons?: React.ReactNode;\n\n /**\n * Растягивать ли компонент на всю ширину\n */\n block?: boolean;\n\n /**\n * Идентификатор для систем автоматизированного тестирования\n */\n dataTestId?: string;\n\n /**\n * Управление неопределенным состоянием чекбокса\n */\n indeterminate?: boolean;\n};\n\nexport const Checkbox = forwardRef<HTMLLabelElement, CheckboxProps>(\n (\n {\n checked,\n label,\n hint,\n size = 'm',\n align = 'center',\n addons,\n block,\n onChange,\n className,\n name,\n disabled,\n dataTestId,\n indeterminate = false,\n ...restProps\n },\n ref,\n ) => {\n const labelRef = useRef<HTMLLabelElement>(null);\n\n const [focused] = useFocus(labelRef, 'keyboard');\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(event, { checked: event.target.checked, name });\n }\n };\n\n return (\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n <label\n className={ cn(styles.component, styles[size], styles[align], className, {\n [styles.disabled]: disabled,\n [styles.checked]: checked,\n [styles.indeterminate]: indeterminate,\n [styles.focused]: focused,\n [styles.block]: block,\n }) }\n ref={ mergeRefs([labelRef, ref]) }\n >\n <span className={ styles.box }>\n <input\n type=\"checkbox\"\n onChange={ handleChange }\n disabled={ disabled }\n checked={ checked }\n data-test-id={ dataTestId }\n { ...restProps }\n />\n\n { checked && <CheckmarkS /> }\n\n { indeterminate && !checked && (\n <div className={ styles.indeterminateIcon }>\n <MinusM />\n </div>\n ) }\n </span>\n\n { (label || hint) && (\n <span className={ styles.content }>\n { label && <span className={ styles.label }>{ label }</span> }\n { hint && <span className={ styles.hint }>{ hint }</span> }\n </span>\n ) }\n\n { addons && <span className={ styles.addons }>{ addons }</span> }\n </label>\n );\n },\n);\n\n/**\n * Для отображения в сторибуке\n */\nCheckbox.defaultProps = {\n indeterminate: false,\n};\n"],"names":["Checkbox","forwardRef","checked","label","hint","size","align","addons","block","onChange","className","name","disabled","dataTestId","indeterminate","restProps","ref","labelRef","useRef","focused","useFocus","handleChange","event","jsxs","cn","styles","mergeRefs","jsx","CheckmarkS","MinusM"],"mappings":";;;;;;;;AA2EO,MAAMA,IAAWC;AAAA,EACpB,CACI;AAAA,IACI,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,OAAAC,IAAQ;AAAA,IACR,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,MAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC,IAAgB;AAAA,IAChB,GAAGC;AAAA,EAAA,GAEPC,MACC;AACD,UAAMC,IAAWC,EAAyB,IAAI,GAExC,CAACC,CAAO,IAAIC,EAASH,GAAU,UAAU,GAEzCI,IAAe,CAACC,MAAyC;AAC3D,MAAIb,KACAA,EAASa,GAAO,EAAE,SAASA,EAAM,OAAO,SAAS,MAAAX,GAAM;AAAA,IAE/D;AAEA;AAAA;AAAA,MAEI,gBAAAY;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,WAAYC,EAAGC,EAAO,WAAWA,EAAOpB,CAAI,GAAGoB,EAAOnB,CAAK,GAAGI,GAAW;AAAA,YACrE,CAACe,EAAO,QAAQ,GAAGb;AAAA,YACnB,CAACa,EAAO,OAAO,GAAGvB;AAAA,YAClB,CAACuB,EAAO,aAAa,GAAGX;AAAA,YACxB,CAACW,EAAO,OAAO,GAAGN;AAAA,YAClB,CAACM,EAAO,KAAK,GAAGjB;AAAA,UAAA,CACnB;AAAA,UACD,KAAMkB,EAAU,CAACT,GAAUD,CAAG,CAAC;AAAA,UAE/B,UAAA;AAAA,YAAA,gBAAAO,EAAC,QAAA,EAAK,WAAYE,EAAO,KACrB,UAAA;AAAA,cAAA,gBAAAE;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,MAAK;AAAA,kBACL,UAAWN;AAAA,kBACX,UAAAT;AAAA,kBACA,SAAAV;AAAA,kBACA,gBAAeW;AAAA,kBACb,GAAGE;AAAA,gBAAA;AAAA,cAAA;AAAA,cAGPb,uBAAY0B,GAAA,EAAW;AAAA,cAEvBd,KAAiB,CAACZ,KAChB,gBAAAyB,EAAC,OAAA,EAAI,WAAYF,EAAO,mBACpB,UAAA,gBAAAE,EAACE,GAAA,CAAA,CAAO,EAAA,CACZ;AAAA,YAAA,GAER;AAAA,aAEG1B,KAASC,MACR,gBAAAmB,EAAC,QAAA,EAAK,WAAYE,EAAO,SACnB,UAAA;AAAA,cAAAtB,KAAS,gBAAAwB,EAAC,QAAA,EAAK,WAAYF,EAAO,OAAU,UAAAtB,GAAO;AAAA,cACnDC,KAAQ,gBAAAuB,EAAC,QAAA,EAAK,WAAYF,EAAO,MAAS,UAAArB,EAAA,CAAM;AAAA,YAAA,GACtD;AAAA,YAGFG,KAAU,gBAAAoB,EAAC,QAAA,EAAK,WAAYF,EAAO,QAAW,UAAAlB,EAAA,CAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA;AAAA,EAGpE;AACJ;AAKAP,EAAS,eAAe;AAAA,EACpB,eAAe;AACnB;"}
1
+ {"version":3,"file":"component.js","sources":["../../src/checkbox/component.tsx"],"sourcesContent":["import React, {\n ChangeEvent, forwardRef, InputHTMLAttributes, ReactNode, useRef,\n} from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport CheckmarkS from '@alphakits/icons/dist/CheckmarkS';\nimport MinusM from '@alphakits/icons/dist/MinusM';\nimport cn from 'classnames';\n\nimport { useFocus } from '../hooks/useFocus';\n\nimport styles from './index.module.css';\n\ntype NativeProps = InputHTMLAttributes<HTMLInputElement>;\ntype Align = 'start' | 'center';\n\nexport type CheckboxProps = Omit<NativeProps, 'size' | 'onChange'> & {\n /**\n * Управление состоянием вкл/выкл чекбокса (native prop)\n */\n checked?: boolean;\n\n /**\n * Обработчик переключения чекбокса\n */\n onChange: (\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n event: ChangeEvent<HTMLInputElement>,\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n payload: {\n checked: boolean;\n name?: string;\n },\n ) => void;\n\n /**\n * Текст подписи к чекбоксу\n */\n label?: ReactNode;\n\n /**\n * Текст подсказки снизу\n */\n hint?: ReactNode;\n\n /**\n * Размер компонента\n */\n size?: 's' | 'm';\n\n /**\n * Выравнивание\n */\n align?: Align;\n\n /**\n * Дополнительный слот\n */\n addons?: React.ReactNode;\n\n /**\n * Растягивать ли компонент на всю ширину\n */\n block?: boolean;\n\n /**\n * Идентификатор для систем автоматизированного тестирования\n */\n dataTestId?: string;\n\n /**\n * Управление неопределенным состоянием чекбокса\n */\n indeterminate?: boolean;\n};\n\nexport const Checkbox = forwardRef<HTMLLabelElement, CheckboxProps>(\n (\n {\n checked,\n label,\n hint,\n size = 'm',\n align = 'start',\n addons,\n block,\n onChange,\n className,\n name,\n disabled,\n dataTestId,\n indeterminate = false,\n ...restProps\n },\n ref,\n ) => {\n const labelRef = useRef<HTMLLabelElement>(null);\n\n const [focused] = useFocus(labelRef, 'keyboard');\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(event, { checked: event.target.checked, name });\n }\n };\n\n return (\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n <label\n className={ cn(styles.component, styles[size], styles[align], className, {\n [styles.disabled]: disabled,\n [styles.checked]: checked,\n [styles.indeterminate]: indeterminate,\n [styles.focused]: focused,\n [styles.block]: block,\n }) }\n ref={ mergeRefs([labelRef, ref]) }\n >\n <span className={ styles.box }>\n <input\n type=\"checkbox\"\n onChange={ handleChange }\n disabled={ disabled }\n checked={ checked }\n data-test-id={ dataTestId }\n { ...restProps }\n />\n\n { checked && <CheckmarkS /> }\n\n { indeterminate && !checked && (\n <div className={ styles.indeterminateIcon }>\n <MinusM />\n </div>\n ) }\n </span>\n\n { (label || hint) && (\n <span className={ styles.content }>\n { label && <span className={ styles.label }>{ label }</span> }\n { hint && <span className={ styles.hint }>{ hint }</span> }\n </span>\n ) }\n\n { addons && <span className={ styles.addons }>{ addons }</span> }\n </label>\n );\n },\n);\n\n/**\n * Для отображения в сторибуке\n */\nCheckbox.defaultProps = {\n indeterminate: false,\n};\n"],"names":["Checkbox","forwardRef","checked","label","hint","size","align","addons","block","onChange","className","name","disabled","dataTestId","indeterminate","restProps","ref","labelRef","useRef","focused","useFocus","handleChange","event","jsxs","cn","styles","mergeRefs","jsx","CheckmarkS","MinusM"],"mappings":";;;;;;;;AA2EO,MAAMA,IAAWC;AAAA,EACpB,CACI;AAAA,IACI,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,OAAAC,IAAQ;AAAA,IACR,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,MAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC,IAAgB;AAAA,IAChB,GAAGC;AAAA,EAAA,GAEPC,MACC;AACD,UAAMC,IAAWC,EAAyB,IAAI,GAExC,CAACC,CAAO,IAAIC,EAASH,GAAU,UAAU,GAEzCI,IAAe,CAACC,MAAyC;AAC3D,MAAIb,KACAA,EAASa,GAAO,EAAE,SAASA,EAAM,OAAO,SAAS,MAAAX,GAAM;AAAA,IAE/D;AAEA;AAAA;AAAA,MAEI,gBAAAY;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,WAAYC,EAAGC,EAAO,WAAWA,EAAOpB,CAAI,GAAGoB,EAAOnB,CAAK,GAAGI,GAAW;AAAA,YACrE,CAACe,EAAO,QAAQ,GAAGb;AAAA,YACnB,CAACa,EAAO,OAAO,GAAGvB;AAAA,YAClB,CAACuB,EAAO,aAAa,GAAGX;AAAA,YACxB,CAACW,EAAO,OAAO,GAAGN;AAAA,YAClB,CAACM,EAAO,KAAK,GAAGjB;AAAA,UAAA,CACnB;AAAA,UACD,KAAMkB,EAAU,CAACT,GAAUD,CAAG,CAAC;AAAA,UAE/B,UAAA;AAAA,YAAA,gBAAAO,EAAC,QAAA,EAAK,WAAYE,EAAO,KACrB,UAAA;AAAA,cAAA,gBAAAE;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,MAAK;AAAA,kBACL,UAAWN;AAAA,kBACX,UAAAT;AAAA,kBACA,SAAAV;AAAA,kBACA,gBAAeW;AAAA,kBACb,GAAGE;AAAA,gBAAA;AAAA,cAAA;AAAA,cAGPb,uBAAY0B,GAAA,EAAW;AAAA,cAEvBd,KAAiB,CAACZ,KAChB,gBAAAyB,EAAC,OAAA,EAAI,WAAYF,EAAO,mBACpB,UAAA,gBAAAE,EAACE,GAAA,CAAA,CAAO,EAAA,CACZ;AAAA,YAAA,GAER;AAAA,aAEG1B,KAASC,MACR,gBAAAmB,EAAC,QAAA,EAAK,WAAYE,EAAO,SACnB,UAAA;AAAA,cAAAtB,KAAS,gBAAAwB,EAAC,QAAA,EAAK,WAAYF,EAAO,OAAU,UAAAtB,GAAO;AAAA,cACnDC,KAAQ,gBAAAuB,EAAC,QAAA,EAAK,WAAYF,EAAO,MAAS,UAAArB,EAAA,CAAM;AAAA,YAAA,GACtD;AAAA,YAGFG,KAAU,gBAAAoB,EAAC,QAAA,EAAK,WAAYF,EAAO,QAAW,UAAAlB,EAAA,CAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA;AAAA,EAGpE;AACJ;AAKAP,EAAS,eAAe;AAAA,EACpB,eAAe;AACnB;"}
@@ -1 +1 @@
1
- .container_WE0K{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.content_p1kc{background:var(--color-bg-primary);box-shadow:0 0 10px #0003}@media print{.content_p1kc{width:100%!important}}.button_js2W{position:absolute!important;top:36px;right:32px;z-index:999}.button_js2W.doubleModal_1ZTt{right:384px}.inner_Zsdb{height:100%;box-sizing:border-box;overflow:auto}.right_e065{position:fixed;top:0;right:0;bottom:0;transition:width .2s,opacity .2s,right .2s;transition-delay:width .1s;transition-timing-function:ease-in}.bg_8ZfP{transition:opacity .2s;background:#00000080;position:fixed;display:block;border:0;inset:0}@media screen and (max-width:823px){.right_e065,.center_nguy{max-width:100%!important;inset:0!important}.content_p1kc{width:100%!important;height:100%!important;max-height:100%!important;box-shadow:none!important;margin:0!important;border-radius:0!important}.button_js2W{top:24px!important;right:16px!important}}
1
+ .container_WE0K{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.content_p1kc{background:var(--color-bg-primary);box-shadow:0 0 10px #0003}@media print{.content_p1kc{width:100%!important}}.button_js2W{position:absolute!important;top:36px;right:32px;z-index:999}.inner_Zsdb{height:100%;box-sizing:border-box;overflow:auto}.right_e065{position:fixed;top:0;right:0;bottom:0;transition:width .2s,opacity .2s,right .2s;transition-delay:width .1s;transition-timing-function:ease-in}.bg_8ZfP{transition:opacity .2s;background:#00000080;position:fixed;display:block;border:0;inset:0}@media screen and (max-width:823px){.right_e065,.center_nguy{max-width:100%!important;inset:0!important}.content_p1kc{width:100%!important;height:100%!important;max-height:100%!important;box-shadow:none!important;margin:0!important;border-radius:0!important}.button_js2W{top:24px!important;right:16px!important}}
@@ -1,21 +1,19 @@
1
1
  import './index.module.css';
2
- const t = "container_WE0K", n = "content_p1kc", o = "button_js2W", e = "doubleModal_1ZTt", c = "inner_Zsdb", s = "right_e065", b = "bg_8ZfP", r = {
3
- container: t,
4
- content: n,
2
+ const n = "container_WE0K", t = "content_p1kc", o = "button_js2W", c = "inner_Zsdb", e = "right_e065", s = "bg_8ZfP", r = {
3
+ container: n,
4
+ content: t,
5
5
  button: o,
6
- doubleModal: e,
7
6
  inner: c,
8
- right: s,
9
- bg: b
7
+ right: e,
8
+ bg: s
10
9
  };
11
10
  export {
12
- b as bg,
11
+ s as bg,
13
12
  o as button,
14
- t as container,
15
- n as content,
13
+ n as container,
14
+ t as content,
16
15
  r as default,
17
- e as doubleModal,
18
16
  c as inner,
19
- s as right
17
+ e as right
20
18
  };
21
19
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as n, jsxs as u } from "react/jsx-runtime";
2
- import w, { useState as C, useLayoutEffect as z, useCallback as b, useEffect as v } from "react";
3
- import d from "classnames";
2
+ import y, { useState as C, useLayoutEffect as d, useCallback as h, useEffect as z } from "react";
3
+ import v from "classnames";
4
4
  import { ButtonArrow as x } from "../../../button-arrow/component.js";
5
5
  import o from "./index.module.css.js";
6
6
  const k = {
@@ -9,36 +9,36 @@ const k = {
9
9
  full: "96%"
10
10
  }, F = ({
11
11
  modal: e,
12
- t: h,
12
+ t: b,
13
13
  index: l,
14
14
  dirtyModals: p,
15
15
  closeModal: a,
16
16
  currentModalId: r
17
17
  }) => {
18
- const c = -k[e.props.size] - 102, [y, m] = C(c);
19
- z(() => {
20
- setTimeout(() => m(0), 0);
18
+ const c = -k[e.props.size] - 102, [w, f] = C(c);
19
+ d(() => {
20
+ setTimeout(() => f(0), 0);
21
21
  }, []);
22
- const f = b(
22
+ const m = h(
23
23
  (s) => (
24
24
  // eslint-disable-next-line no-restricted-globals
25
- !p[s] || confirm(h("common:exitConfirm"))
25
+ !p[s] || confirm(b("common:exitConfirm"))
26
26
  ),
27
27
  [p]
28
- ), t = b((s) => {
28
+ ), t = h((s) => {
29
29
  const { id: i } = e;
30
- f(s || i) && (m(c), setTimeout(() => {
30
+ m(s || i) && (f(c), setTimeout(() => {
31
31
  e.props.closeCallback && e.props.closeCallback(), a(s || i);
32
32
  }, 250));
33
- }, [a, f, e, c]);
34
- return v(() => {
33
+ }, [a, m, e, c]);
34
+ return z(() => {
35
35
  const s = (i) => {
36
36
  (i.key === "27" || i.key === "Escape") && t(r);
37
37
  };
38
38
  return e.id === r && (window == null || window.addEventListener("keydown", s)), () => {
39
39
  window == null || window.removeEventListener("keydown", s);
40
40
  };
41
- }, [t, r, e.id]), /* @__PURE__ */ n(w.Fragment, { children: /* @__PURE__ */ u(
41
+ }, [t, r, e.id]), /* @__PURE__ */ n(y.Fragment, { children: /* @__PURE__ */ u(
42
42
  "div",
43
43
  {
44
44
  className: o.container,
@@ -49,18 +49,18 @@ const k = {
49
49
  /* @__PURE__ */ n(
50
50
  "div",
51
51
  {
52
- className: d(o.right, o.content),
52
+ className: v(o.right, o.content),
53
53
  style: {
54
54
  zIndex: 9999999 + l,
55
55
  width: k[e.props.size],
56
- right: y
56
+ right: w
57
57
  },
58
58
  children: /* @__PURE__ */ u("div", { className: o.inner, children: [
59
59
  /* @__PURE__ */ n(e.modal, { ...e.props, close: () => t() }),
60
- /* @__PURE__ */ n(
60
+ e.props.showCloser !== !1 && /* @__PURE__ */ n(
61
61
  x,
62
62
  {
63
- className: d(o.button, { [o.doubleModal]: e.props.isDouble }),
63
+ className: o.button,
64
64
  size: "s",
65
65
  type: "close",
66
66
  onClick: () => t()
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sources":["../../../../src/modal/components/modals/modal.tsx"],"sourcesContent":["import React, {\n useCallback, useEffect, useLayoutEffect, useState,\n} from 'react';\nimport classNames from 'classnames';\n\nimport { ButtonArrow } from '../../../button-arrow';\nimport { ModalObject, TFunction } from '../../types';\n\nimport { ModalsProps } from '.';\n\nimport styles from './index.module.css';\n\nconst sizes = {\n s: 488,\n m: 888,\n full: '96%',\n};\n\ntype ModalProps = {\n modal: ModalObject;\n index: number;\n t: TFunction;\n} & Pick<ModalsProps, 'dirtyModals' | 'closeModal' | 'currentModalId'>;\n\nexport const Modal = ({\n modal, t, index, dirtyModals, closeModal, currentModalId,\n}: ModalProps) => {\n const modalFullWidth = -sizes[modal.props.size] - 102;\n const [modalPosition, setModalPosition] = useState(modalFullWidth);\n\n useLayoutEffect(() => {\n setTimeout(() => setModalPosition(0), 0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const confirmClose = useCallback((id: string) =>\n // eslint-disable-next-line no-restricted-globals\n !dirtyModals[id] || confirm(t('common:exitConfirm'))\n // eslint-disable-next-line react-hooks/exhaustive-deps\n , [dirtyModals]);\n\n const handleClose = useCallback((latestId?: string) => {\n const { id } = modal;\n\n if (!confirmClose(latestId || id)) return;\n\n setModalPosition(modalFullWidth);\n\n setTimeout(() => {\n if (modal.props.closeCallback) {\n modal.props.closeCallback();\n }\n closeModal(latestId || id);\n }, 250);\n }, [closeModal, confirmClose, modal, modalFullWidth]);\n\n useEffect(() => {\n const escapeListener = (event: KeyboardEvent) => {\n if (event.key === '27' || event.key === 'Escape') {\n handleClose(currentModalId);\n }\n };\n\n if (modal.id === currentModalId) {\n window?.addEventListener('keydown', escapeListener);\n }\n\n return () => {\n window?.removeEventListener('keydown', escapeListener);\n };\n }, [handleClose, currentModalId, modal.id]);\n\n return (\n <React.Fragment>\n <div\n className={ styles.container }\n style={ {\n zIndex: 9999998 + index,\n } }\n >\n <div\n className={ classNames(styles.right, styles.content) }\n style={ {\n zIndex: 9999999 + index,\n width: sizes[modal.props.size],\n right: modalPosition,\n } }\n >\n <div className={ styles.inner }>\n <modal.modal { ...modal.props } close={ () => handleClose() } />\n\n <ButtonArrow\n className={ classNames(styles.button, { [styles.doubleModal]: modal.props.isDouble }) }\n size=\"s\"\n type=\"close\"\n onClick={ () => handleClose() }\n />\n </div>\n </div>\n\n <button\n className={ styles.bg }\n aria-label=\"close_backdrop\"\n type=\"button\"\n onClick={ () => handleClose() }\n />\n </div>\n\n </React.Fragment>\n );\n};\n"],"names":["sizes","Modal","modal","t","index","dirtyModals","closeModal","currentModalId","modalFullWidth","modalPosition","setModalPosition","useState","useLayoutEffect","confirmClose","useCallback","id","handleClose","latestId","useEffect","escapeListener","event","jsx","React","jsxs","styles","classNames","ButtonArrow"],"mappings":";;;;;AAYA,MAAMA,IAAQ;AAAA,EACV,GAAG;AAAA,EACH,GAAG;AAAA,EACH,MAAM;AACV,GAQaC,IAAQ,CAAC;AAAA,EAClB,OAAAC;AAAA,EAAO,GAAAC;AAAA,EAAG,OAAAC;AAAA,EAAO,aAAAC;AAAA,EAAa,YAAAC;AAAA,EAAY,gBAAAC;AAC9C,MAAkB;AACd,QAAMC,IAAiB,CAACR,EAAME,EAAM,MAAM,IAAI,IAAI,KAC5C,CAACO,GAAeC,CAAgB,IAAIC,EAASH,CAAc;AAEjE,EAAAI,EAAgB,MAAM;AAClB,eAAW,MAAMF,EAAiB,CAAC,GAAG,CAAC;AAAA,EAE3C,GAAG,CAAA,CAAE;AAEL,QAAMG,IAAeC;AAAA,IAAY,CAACC;AAAA;AAAA,MAE9B,CAACV,EAAYU,CAAE,KAAK,QAAQZ,EAAE,oBAAoB,CAAC;AAAA;AAAA,IAErD,CAACE,CAAW;AAAA,EAAA,GAERW,IAAcF,EAAY,CAACG,MAAsB;AACnD,UAAM,EAAE,IAAAF,MAAOb;AAEf,IAAKW,EAAaI,KAAYF,CAAE,MAEhCL,EAAiBF,CAAc,GAE/B,WAAW,MAAM;AACb,MAAIN,EAAM,MAAM,iBACZA,EAAM,MAAM,cAAA,GAEhBI,EAAWW,KAAYF,CAAE;AAAA,IAC7B,GAAG,GAAG;AAAA,EACV,GAAG,CAACT,GAAYO,GAAcX,GAAOM,CAAc,CAAC;AAEpD,SAAAU,EAAU,MAAM;AACZ,UAAMC,IAAiB,CAACC,MAAyB;AAC7C,OAAIA,EAAM,QAAQ,QAAQA,EAAM,QAAQ,aACpCJ,EAAYT,CAAc;AAAA,IAElC;AAEA,WAAIL,EAAM,OAAOK,MACb,yBAAQ,iBAAiB,WAAWY,KAGjC,MAAM;AACT,+BAAQ,oBAAoB,WAAWA;AAAA,IAC3C;AAAA,EACJ,GAAG,CAACH,GAAaT,GAAgBL,EAAM,EAAE,CAAC,GAGtC,gBAAAmB,EAACC,EAAM,UAAN,EACG,UAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAYC,EAAO;AAAA,MACnB,OAAQ;AAAA,QACJ,QAAQ,UAAUpB;AAAA,MAAA;AAAA,MAGtB,UAAA;AAAA,QAAA,gBAAAiB;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAYI,EAAWD,EAAO,OAAOA,EAAO,OAAO;AAAA,YACnD,OAAQ;AAAA,cACJ,QAAQ,UAAUpB;AAAA,cAClB,OAAOJ,EAAME,EAAM,MAAM,IAAI;AAAA,cAC7B,OAAOO;AAAA,YAAA;AAAA,YAGX,UAAA,gBAAAc,EAAC,OAAA,EAAI,WAAYC,EAAO,OACpB,UAAA;AAAA,cAAA,gBAAAH,EAACnB,EAAM,OAAN,EAAc,GAAGA,EAAM,OAAQ,OAAQ,MAAMc,EAAA,GAAgB;AAAA,cAE9D,gBAAAK;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACG,WAAYD,EAAWD,EAAO,QAAQ,EAAE,CAACA,EAAO,WAAW,GAAGtB,EAAM,MAAM,UAAU;AAAA,kBACpF,MAAK;AAAA,kBACL,MAAK;AAAA,kBACL,SAAU,MAAMc,EAAA;AAAA,gBAAY;AAAA,cAAA;AAAA,YAChC,EAAA,CACJ;AAAA,UAAA;AAAA,QAAA;AAAA,QAGJ,gBAAAK;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAYG,EAAO;AAAA,YACnB,cAAW;AAAA,YACX,MAAK;AAAA,YACL,SAAU,MAAMR,EAAA;AAAA,UAAY;AAAA,QAAA;AAAA,MAChC;AAAA,IAAA;AAAA,EAAA,GAGR;AAER;"}
1
+ {"version":3,"file":"modal.js","sources":["../../../../src/modal/components/modals/modal.tsx"],"sourcesContent":["import React, {\n useCallback, useEffect, useLayoutEffect, useState,\n} from 'react';\nimport classNames from 'classnames';\n\nimport { ButtonArrow } from '../../../button-arrow';\nimport { ModalObject, TFunction } from '../../types';\n\nimport { ModalsProps } from '.';\n\nimport styles from './index.module.css';\n\nconst sizes = {\n s: 488,\n m: 888,\n full: '96%',\n};\n\ntype ModalProps = {\n modal: ModalObject;\n index: number;\n t: TFunction;\n} & Pick<ModalsProps, 'dirtyModals' | 'closeModal' | 'currentModalId'>;\n\nexport const Modal = ({\n modal, t, index, dirtyModals, closeModal, currentModalId,\n}: ModalProps) => {\n const modalFullWidth = -sizes[modal.props.size] - 102;\n const [modalPosition, setModalPosition] = useState(modalFullWidth);\n\n useLayoutEffect(() => {\n setTimeout(() => setModalPosition(0), 0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const confirmClose = useCallback((id: string) =>\n // eslint-disable-next-line no-restricted-globals\n !dirtyModals[id] || confirm(t('common:exitConfirm'))\n // eslint-disable-next-line react-hooks/exhaustive-deps\n , [dirtyModals]);\n\n const handleClose = useCallback((latestId?: string) => {\n const { id } = modal;\n\n if (!confirmClose(latestId || id)) return;\n\n setModalPosition(modalFullWidth);\n\n setTimeout(() => {\n if (modal.props.closeCallback) {\n modal.props.closeCallback();\n }\n closeModal(latestId || id);\n }, 250);\n }, [closeModal, confirmClose, modal, modalFullWidth]);\n\n useEffect(() => {\n const escapeListener = (event: KeyboardEvent) => {\n if (event.key === '27' || event.key === 'Escape') {\n handleClose(currentModalId);\n }\n };\n\n if (modal.id === currentModalId) {\n window?.addEventListener('keydown', escapeListener);\n }\n\n return () => {\n window?.removeEventListener('keydown', escapeListener);\n };\n }, [handleClose, currentModalId, modal.id]);\n\n return (\n <React.Fragment>\n <div\n className={ styles.container }\n style={ {\n zIndex: 9999998 + index,\n } }\n >\n <div\n className={ classNames(styles.right, styles.content) }\n style={ {\n zIndex: 9999999 + index,\n width: sizes[modal.props.size],\n right: modalPosition,\n } }\n >\n <div className={ styles.inner }>\n <modal.modal { ...modal.props } close={ () => handleClose() } />\n\n { modal.props.showCloser !== false && (\n <ButtonArrow\n className={ styles.button }\n size=\"s\"\n type=\"close\"\n onClick={ () => handleClose() }\n />\n ) }\n </div>\n </div>\n\n <button\n className={ styles.bg }\n aria-label=\"close_backdrop\"\n type=\"button\"\n onClick={ () => handleClose() }\n />\n </div>\n\n </React.Fragment>\n );\n};\n"],"names":["sizes","Modal","modal","t","index","dirtyModals","closeModal","currentModalId","modalFullWidth","modalPosition","setModalPosition","useState","useLayoutEffect","confirmClose","useCallback","id","handleClose","latestId","useEffect","escapeListener","event","jsx","React","jsxs","styles","classNames","ButtonArrow"],"mappings":";;;;;AAYA,MAAMA,IAAQ;AAAA,EACV,GAAG;AAAA,EACH,GAAG;AAAA,EACH,MAAM;AACV,GAQaC,IAAQ,CAAC;AAAA,EAClB,OAAAC;AAAA,EAAO,GAAAC;AAAA,EAAG,OAAAC;AAAA,EAAO,aAAAC;AAAA,EAAa,YAAAC;AAAA,EAAY,gBAAAC;AAC9C,MAAkB;AACd,QAAMC,IAAiB,CAACR,EAAME,EAAM,MAAM,IAAI,IAAI,KAC5C,CAACO,GAAeC,CAAgB,IAAIC,EAASH,CAAc;AAEjE,EAAAI,EAAgB,MAAM;AAClB,eAAW,MAAMF,EAAiB,CAAC,GAAG,CAAC;AAAA,EAE3C,GAAG,CAAA,CAAE;AAEL,QAAMG,IAAeC;AAAA,IAAY,CAACC;AAAA;AAAA,MAE9B,CAACV,EAAYU,CAAE,KAAK,QAAQZ,EAAE,oBAAoB,CAAC;AAAA;AAAA,IAErD,CAACE,CAAW;AAAA,EAAA,GAERW,IAAcF,EAAY,CAACG,MAAsB;AACnD,UAAM,EAAE,IAAAF,MAAOb;AAEf,IAAKW,EAAaI,KAAYF,CAAE,MAEhCL,EAAiBF,CAAc,GAE/B,WAAW,MAAM;AACb,MAAIN,EAAM,MAAM,iBACZA,EAAM,MAAM,cAAA,GAEhBI,EAAWW,KAAYF,CAAE;AAAA,IAC7B,GAAG,GAAG;AAAA,EACV,GAAG,CAACT,GAAYO,GAAcX,GAAOM,CAAc,CAAC;AAEpD,SAAAU,EAAU,MAAM;AACZ,UAAMC,IAAiB,CAACC,MAAyB;AAC7C,OAAIA,EAAM,QAAQ,QAAQA,EAAM,QAAQ,aACpCJ,EAAYT,CAAc;AAAA,IAElC;AAEA,WAAIL,EAAM,OAAOK,MACb,yBAAQ,iBAAiB,WAAWY,KAGjC,MAAM;AACT,+BAAQ,oBAAoB,WAAWA;AAAA,IAC3C;AAAA,EACJ,GAAG,CAACH,GAAaT,GAAgBL,EAAM,EAAE,CAAC,GAGtC,gBAAAmB,EAACC,EAAM,UAAN,EACG,UAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAYC,EAAO;AAAA,MACnB,OAAQ;AAAA,QACJ,QAAQ,UAAUpB;AAAA,MAAA;AAAA,MAGtB,UAAA;AAAA,QAAA,gBAAAiB;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAYI,EAAWD,EAAO,OAAOA,EAAO,OAAO;AAAA,YACnD,OAAQ;AAAA,cACJ,QAAQ,UAAUpB;AAAA,cAClB,OAAOJ,EAAME,EAAM,MAAM,IAAI;AAAA,cAC7B,OAAOO;AAAA,YAAA;AAAA,YAGX,UAAA,gBAAAc,EAAC,OAAA,EAAI,WAAYC,EAAO,OACpB,UAAA;AAAA,cAAA,gBAAAH,EAACnB,EAAM,OAAN,EAAc,GAAGA,EAAM,OAAQ,OAAQ,MAAMc,EAAA,GAAgB;AAAA,cAE5Dd,EAAM,MAAM,eAAe,MACzB,gBAAAmB;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACG,WAAYF,EAAO;AAAA,kBACnB,MAAK;AAAA,kBACL,MAAK;AAAA,kBACL,SAAU,MAAMR,EAAA;AAAA,gBAAY;AAAA,cAAA;AAAA,YAChC,EAAA,CAER;AAAA,UAAA;AAAA,QAAA;AAAA,QAGJ,gBAAAK;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAYG,EAAO;AAAA,YACnB,cAAW;AAAA,YACX,MAAK;AAAA,YACL,SAAU,MAAMR,EAAA;AAAA,UAAY;AAAA,QAAA;AAAA,MAChC;AAAA,IAAA;AAAA,EAAA,GAGR;AAER;"}
@@ -1,7 +1,7 @@
1
1
  import { default as React } from 'react';
2
2
  import { ModalObject, ModalSize, OwnModalProps, TFunction } from '../types';
3
3
  export declare const useModal: (t: TFunction) => {
4
- openModal: <T extends unknown>(modal: React.FC<T>, size?: ModalSize, isDouble?: boolean) => (props?: OwnModalProps<T>, closeCallback?: () => void) => void;
4
+ openModal: <T extends unknown>(modal: React.FC<T>, size?: ModalSize, showCloser?: boolean) => (props?: OwnModalProps<T>, closeCallback?: () => void) => void;
5
5
  modals: ModalObject[];
6
6
  setModalDirty: (id: string, isDirty: boolean) => void;
7
7
  currentModalId: string;
@@ -2,7 +2,7 @@ import n, { useEffect as I } from "react";
2
2
  import { v4 as S } from "uuid";
3
3
  import { deletePropertyById as g } from "../utils/delete-property-by-id.js";
4
4
  const x = (c) => {
5
- const [s, l] = n.useState([]), [M, u] = n.useState(""), [i, a] = n.useState({}), p = (o) => {
5
+ const [s, l] = n.useState([]), [u, M] = n.useState(""), [i, a] = n.useState({}), p = (o) => {
6
6
  a((t) => g(t, o)), l((t) => t.filter((e) => e.id !== o));
7
7
  }, m = (o) => {
8
8
  l((t) => [...t, o]);
@@ -15,15 +15,15 @@ const x = (c) => {
15
15
  return I(() => {
16
16
  var t;
17
17
  const o = (t = [...s].pop()) == null ? void 0 : t.id;
18
- u(o || ""), document.body.style.overflow = s.length ? "hidden" : "unset";
18
+ M(o || ""), document.body.style.overflow = s.length ? "hidden" : "unset";
19
19
  }, [s]), {
20
- openModal: (o, t = "s", e) => {
20
+ openModal: (o, t = "s", e = !0) => {
21
21
  const y = (d, r) => ({
22
22
  id: S(),
23
23
  modal: o,
24
24
  props: {
25
25
  size: t,
26
- isDouble: e,
26
+ showCloser: e,
27
27
  closeCallback: r,
28
28
  t: c,
29
29
  ...d
@@ -35,7 +35,7 @@ const x = (c) => {
35
35
  },
36
36
  modals: s,
37
37
  setModalDirty: f,
38
- currentModalId: M,
38
+ currentModalId: u,
39
39
  dirtyModals: i,
40
40
  closeModal: p
41
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-modal.js","sources":["../../../src/modal/hooks/use-modal.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { v4 as uuid } from 'uuid';\n\nimport {\n ModalObject, ModalSize, OwnModalProps, TFunction,\n} from '../types';\nimport { deletePropertyById } from '../utils/delete-property-by-id';\n\nexport const useModal = (t: TFunction) => {\n const [modals, setModals] = React.useState<ModalObject[]>([]);\n const [currentModalId, setCurrentModalId] = React.useState<string>('');\n const [dirtyModals, setDirtyModals] = React.useState<Record<string, boolean>>({\n });\n\n const closeModal = (id: string) => {\n setDirtyModals((oldDirtyModals) => deletePropertyById(oldDirtyModals, id));\n setModals((oldModals) => oldModals.filter((modal) => modal.id !== id));\n };\n\n const addModal = (modal: ModalObject) => {\n setModals((oldModals) => [...oldModals, modal]);\n };\n\n const setModalDirty = (id: string, isDirty: boolean) => {\n setDirtyModals((rest) => ({\n ...rest,\n [id]: isDirty,\n }));\n };\n\n useEffect(() => {\n const latestModalId = [...modals].pop()?.id;\n\n setCurrentModalId(latestModalId || '');\n document.body.style.overflow = modals.length ? 'hidden' : 'unset';\n }, [modals]);\n\n const openModal = <T extends unknown>(modal: React.FC<T>, size: ModalSize = 's', isDouble?: boolean) => {\n const getModal = (params?: OwnModalProps<T>, closeCallback?: () => void) => {\n const id = uuid();\n\n return {\n id,\n modal,\n props: {\n size,\n isDouble,\n closeCallback,\n t,\n ...params,\n },\n } as unknown as ModalObject;\n };\n\n return (props?: OwnModalProps<T>, closeCallback?: () => void) => {\n addModal(getModal(props, closeCallback));\n };\n };\n\n return {\n openModal, modals, setModalDirty, currentModalId, dirtyModals, closeModal,\n };\n};\n"],"names":["useModal","t","modals","setModals","React","currentModalId","setCurrentModalId","dirtyModals","setDirtyModals","closeModal","id","oldDirtyModals","deletePropertyById","oldModals","modal","addModal","setModalDirty","isDirty","rest","useEffect","latestModalId","_a","size","isDouble","getModal","params","closeCallback","uuid","props"],"mappings":";;;AAQO,MAAMA,IAAW,CAACC,MAAiB;AACtC,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAM,SAAwB,CAAA,CAAE,GACtD,CAACC,GAAgBC,CAAiB,IAAIF,EAAM,SAAiB,EAAE,GAC/D,CAACG,GAAaC,CAAc,IAAIJ,EAAM,SAAkC,CAAA,CAC7E,GAEKK,IAAa,CAACC,MAAe;AAC/B,IAAAF,EAAe,CAACG,MAAmBC,EAAmBD,GAAgBD,CAAE,CAAC,GACzEP,EAAU,CAACU,MAAcA,EAAU,OAAO,CAACC,MAAUA,EAAM,OAAOJ,CAAE,CAAC;AAAA,EACzE,GAEMK,IAAW,CAACD,MAAuB;AACrC,IAAAX,EAAU,CAACU,MAAc,CAAC,GAAGA,GAAWC,CAAK,CAAC;AAAA,EAClD,GAEME,IAAgB,CAACN,GAAYO,MAAqB;AACpD,IAAAT,EAAe,CAACU,OAAU;AAAA,MACtB,GAAGA;AAAA,MACH,CAACR,CAAE,GAAGO;AAAA,IAAA,EACR;AAAA,EACN;AAEA,SAAAE,EAAU,MAAM;;AACZ,UAAMC,KAAgBC,IAAA,CAAC,GAAGnB,CAAM,EAAE,UAAZ,gBAAAmB,EAAmB;AAEzC,IAAAf,EAAkBc,KAAiB,EAAE,GACrC,SAAS,KAAK,MAAM,WAAWlB,EAAO,SAAS,WAAW;AAAA,EAC9D,GAAG,CAACA,CAAM,CAAC,GAwBJ;AAAA,IACH,WAvBc,CAAoBY,GAAoBQ,IAAkB,KAAKC,MAAuB;AACpG,YAAMC,IAAW,CAACC,GAA2BC,OAGlC;AAAA,QACH,IAHOC,EAAA;AAAA,QAIP,OAAAb;AAAA,QACA,OAAO;AAAA,UACH,MAAAQ;AAAA,UACA,UAAAC;AAAA,UACA,eAAAG;AAAA,UACA,GAAAzB;AAAA,UACA,GAAGwB;AAAA,QAAA;AAAA,MACP;AAIR,aAAO,CAACG,GAA0BF,MAA+B;AAC7D,QAAAX,EAASS,EAASI,GAAOF,CAAa,CAAC;AAAA,MAC3C;AAAA,IACJ;AAAA,IAGe,QAAAxB;AAAA,IAAQ,eAAAc;AAAA,IAAe,gBAAAX;AAAA,IAAgB,aAAAE;AAAA,IAAa,YAAAE;AAAA,EAAA;AAEvE;"}
1
+ {"version":3,"file":"use-modal.js","sources":["../../../src/modal/hooks/use-modal.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { v4 as uuid } from 'uuid';\n\nimport {\n ModalObject, ModalSize, OwnModalProps, TFunction,\n} from '../types';\nimport { deletePropertyById } from '../utils/delete-property-by-id';\n\nexport const useModal = (t: TFunction) => {\n const [modals, setModals] = React.useState<ModalObject[]>([]);\n const [currentModalId, setCurrentModalId] = React.useState<string>('');\n const [dirtyModals, setDirtyModals] = React.useState<Record<string, boolean>>({\n });\n\n const closeModal = (id: string) => {\n setDirtyModals((oldDirtyModals) => deletePropertyById(oldDirtyModals, id));\n setModals((oldModals) => oldModals.filter((modal) => modal.id !== id));\n };\n\n const addModal = (modal: ModalObject) => {\n setModals((oldModals) => [...oldModals, modal]);\n };\n\n const setModalDirty = (id: string, isDirty: boolean) => {\n setDirtyModals((rest) => ({\n ...rest,\n [id]: isDirty,\n }));\n };\n\n useEffect(() => {\n const latestModalId = [...modals].pop()?.id;\n\n setCurrentModalId(latestModalId || '');\n document.body.style.overflow = modals.length ? 'hidden' : 'unset';\n }, [modals]);\n\n const openModal = <T extends unknown>(modal: React.FC<T>, size: ModalSize = 's', showCloser = true) => {\n const getModal = (params?: OwnModalProps<T>, closeCallback?: () => void) => {\n const id = uuid();\n\n return {\n id,\n modal,\n props: {\n size,\n showCloser,\n closeCallback,\n t,\n ...params,\n },\n } as unknown as ModalObject;\n };\n\n return (props?: OwnModalProps<T>, closeCallback?: () => void) => {\n addModal(getModal(props, closeCallback));\n };\n };\n\n return {\n openModal, modals, setModalDirty, currentModalId, dirtyModals, closeModal,\n };\n};\n"],"names":["useModal","t","modals","setModals","React","currentModalId","setCurrentModalId","dirtyModals","setDirtyModals","closeModal","id","oldDirtyModals","deletePropertyById","oldModals","modal","addModal","setModalDirty","isDirty","rest","useEffect","latestModalId","_a","size","showCloser","getModal","params","closeCallback","uuid","props"],"mappings":";;;AAQO,MAAMA,IAAW,CAACC,MAAiB;AACtC,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAM,SAAwB,CAAA,CAAE,GACtD,CAACC,GAAgBC,CAAiB,IAAIF,EAAM,SAAiB,EAAE,GAC/D,CAACG,GAAaC,CAAc,IAAIJ,EAAM,SAAkC,CAAA,CAC7E,GAEKK,IAAa,CAACC,MAAe;AAC/B,IAAAF,EAAe,CAACG,MAAmBC,EAAmBD,GAAgBD,CAAE,CAAC,GACzEP,EAAU,CAACU,MAAcA,EAAU,OAAO,CAACC,MAAUA,EAAM,OAAOJ,CAAE,CAAC;AAAA,EACzE,GAEMK,IAAW,CAACD,MAAuB;AACrC,IAAAX,EAAU,CAACU,MAAc,CAAC,GAAGA,GAAWC,CAAK,CAAC;AAAA,EAClD,GAEME,IAAgB,CAACN,GAAYO,MAAqB;AACpD,IAAAT,EAAe,CAACU,OAAU;AAAA,MACtB,GAAGA;AAAA,MACH,CAACR,CAAE,GAAGO;AAAA,IAAA,EACR;AAAA,EACN;AAEA,SAAAE,EAAU,MAAM;;AACZ,UAAMC,KAAgBC,IAAA,CAAC,GAAGnB,CAAM,EAAE,UAAZ,gBAAAmB,EAAmB;AAEzC,IAAAf,EAAkBc,KAAiB,EAAE,GACrC,SAAS,KAAK,MAAM,WAAWlB,EAAO,SAAS,WAAW;AAAA,EAC9D,GAAG,CAACA,CAAM,CAAC,GAwBJ;AAAA,IACH,WAvBc,CAAoBY,GAAoBQ,IAAkB,KAAKC,IAAa,OAAS;AACnG,YAAMC,IAAW,CAACC,GAA2BC,OAGlC;AAAA,QACH,IAHOC,EAAA;AAAA,QAIP,OAAAb;AAAA,QACA,OAAO;AAAA,UACH,MAAAQ;AAAA,UACA,YAAAC;AAAA,UACA,eAAAG;AAAA,UACA,GAAAzB;AAAA,UACA,GAAGwB;AAAA,QAAA;AAAA,MACP;AAIR,aAAO,CAACG,GAA0BF,MAA+B;AAC7D,QAAAX,EAASS,EAASI,GAAOF,CAAa,CAAC;AAAA,MAC3C;AAAA,IACJ;AAAA,IAGe,QAAAxB;AAAA,IAAQ,eAAAc;AAAA,IAAe,gBAAAX;AAAA,IAAgB,aAAAE;AAAA,IAAa,YAAAE;AAAA,EAAA;AAEvE;"}
@@ -3,7 +3,7 @@ type ModalProps = {
3
3
  closeCallback: () => void;
4
4
  close: () => void;
5
5
  size: ModalSize;
6
- isDouble?: boolean;
6
+ showCloser?: boolean;
7
7
  t: TFunction;
8
8
  } & unknown;
9
9
  export type TFunction = (field: string, options?: {
@@ -19,7 +19,7 @@ export type ModalObject = {
19
19
  props: ModalProps;
20
20
  };
21
21
  export type ContextProps = {
22
- openModal: <T>(modal: React.FC<T>, size?: ModalSize, isDouble?: boolean) => (props?: OwnModalProps<T>, closeCallback?: () => void) => void;
22
+ openModal: <T>(modal: React.FC<T>, size?: ModalSize, showCloser?: boolean) => (props?: OwnModalProps<T>, closeCallback?: () => void) => void;
23
23
  modals: ModalObject[];
24
24
  currentModalId: ModalObject['id'];
25
25
  setModalDirty: (id: ModalObject['id'], isDirty: boolean) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alphakits/ui",
3
- "version": "2.0.5",
3
+ "version": "2.0.6",
4
4
  "files": [
5
5
  "dist"
6
6
  ],