@hh.ru/magritte-ui-checkbox-radio 4.1.39 → 4.1.40

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.
package/Checkbox.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { FcWithFlag } from '@hh.ru/magritte-types';
2
- import { CheckboxProps } from '@hh.ru/magritte-ui-checkbox-radio/types';
2
+ import { CheckboxProps } from './types';
3
3
  export declare const Checkbox: import("@hh.ru/magritte-ui-skeleton").ComponentWithSkeleton<FcWithFlag<CheckboxProps, "isCheckbox">, CheckboxProps>;
package/Checkbox.js CHANGED
@@ -3,55 +3,82 @@ import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useRef, useEffect } from 'react';
4
4
  import classnames from 'classnames';
5
5
  import { useDisabled } from '@hh.ru/magritte-common-use-disabled';
6
- import { C as CheckboxSkeleton, s as styles } from './CheckboxSkeleton-BtZPDu8l.js';
6
+ import { C as CheckboxSkeleton, s as styles } from './CheckboxSkeleton-yIwBQneg.js';
7
7
  import { CheckboxLineSize24, CheckboxCheckSize24 } from '@hh.ru/magritte-ui-icon/variants/private';
8
8
  import { enrichWithSkeleton } from '@hh.ru/magritte-ui-skeleton';
9
9
  import '@hh.ru/magritte-common-use-loading-state';
10
10
 
11
- const CheckboxComponent = ({ checked, disabled, invalid, indeterminate = false, onChange, readOnly, 'aria-label': ariaLabel, 'data-qa': dataQaInput, dataQaContainer = 'checkbox-container', dataQaCheckbox = 'checkbox', ...props }) => {
12
- const forceDisabled = useDisabled();
13
- const checkboxRef = useRef(null);
14
- useEffect(() => {
15
- /*
16
- Без этого ломается использование совместно с CheckableCard. Если при клике на карточку
17
- checked и indeterminate выставляется в true, то при последующем клике именно по чекбоксу
18
- у него не сбрасывается indeterminate состояние, хоть в пропсах и приходит false.
19
- Почему так происходит - загадка. CheckableCard перехватывает клики, поэтому не должно быть разницы
20
- куда кликать, по чекбоксу или по остальной площади карточки, тем не менее поведение отличается.
21
- Я пробовал еще перехватывать onMouseDown/Up, это не помогло.
22
- Другой вариант решения проблемы - отключить pointerEvents у readOnly чекбокса. Оно мне кажется чище,
23
- но нет гарантий что никто не завязался на onClick на таком чекбоксе, поэтому сделал так.
24
- Если присваивать без setTimeout и проверить значение indeterminate сразу же после присваивания,
25
- то оно вернет ожидаемое значение.
26
- Если проверить его в Promise.resolve().then(() => console.log(checkboxRef.current.indeterminate))
27
- оно так же вернет ожидаемое значение. Но если проверить его в setTimeout оно вернет значение которое
28
- было до присваивания.
29
- Для дебага я также пробовал заменить element.indeterminate на пару геттер/сеттер, в надежде увидеть
30
- кто же лишний раз вызывает присваивание. Но вызовов не было, кроме ожидаемых, к тому же все начало
31
- работать - значение перестало переопределяться.
32
- Воспроизвести баг в других кейсах (кроме совместного использования с CheckableCard) мне так же не удалось.
33
- В общем это какая то браузерная магия, и установка значения в макротаске делает поведение ожидаемым.
34
- */
35
- setTimeout(() => {
36
- checkboxRef.current && (checkboxRef.current.indeterminate = indeterminate);
37
- }, 0);
38
- }, [indeterminate]);
39
- return (jsxs("span", { className: styles.checkboxContainer, "data-qa": dataQaContainer, children: [jsx("input", { ...props, checked: checked, "data-qa": dataQaInput,
40
- // Checkable Card вызывает event.preventDefault(),
41
- // из-за чего браузер не перерисовывает чекбокс при изменении пропа checked,
42
- // поэтому в controlled чекбоксах полагаемся на CSS-класс, а не на селектор :checked
43
- className: classnames(styles.checkboxInput, {
44
- [styles.checkboxInputChecked]: checked,
45
- // нужно отличать false от undefined, потому что в случае uncontrolled чекбокса
46
- // checked равен undefined и значение задается через проп defaultChecked
47
- [styles.checkboxInputUnchecked]: Object.is(checked, false),
48
- }), ref: checkboxRef, readOnly: readOnly, type: "checkbox", "aria-label": ariaLabel, disabled: forceDisabled || !!disabled, onChange: onChange }), jsx("span", { className: classnames(styles.checkbox, {
49
- [styles.invalid]: invalid,
50
- }), "data-qa": dataQaCheckbox }), jsxs("span", { className: styles.iconWrapper, children: [jsx("span", { className: classnames(styles.icon, {
51
- [styles.iconHidden]: !indeterminate,
52
- }), children: jsx(CheckboxLineSize24, {}) }), jsx("span", { className: classnames(styles.icon, {
53
- [styles.iconHidden]: indeterminate,
54
- }), children: jsx(CheckboxCheckSize24, {}) })] })] }));
11
+ const CheckboxComponent = ({
12
+ checked,
13
+ disabled,
14
+ invalid,
15
+ indeterminate = false,
16
+ onChange,
17
+ readOnly,
18
+ "aria-label": ariaLabel,
19
+ "data-qa": dataQaInput,
20
+ dataQaContainer = "checkbox-container",
21
+ dataQaCheckbox = "checkbox",
22
+ ...props
23
+ }) => {
24
+ const forceDisabled = useDisabled();
25
+ const checkboxRef = useRef(null);
26
+ useEffect(() => {
27
+ setTimeout(() => {
28
+ checkboxRef.current && (checkboxRef.current.indeterminate = indeterminate);
29
+ }, 0);
30
+ }, [indeterminate]);
31
+ return /* @__PURE__ */ jsxs("span", { className: styles.checkboxContainer, "data-qa": dataQaContainer, children: [
32
+ /* @__PURE__ */ jsx(
33
+ "input",
34
+ {
35
+ ...props,
36
+ checked,
37
+ "data-qa": dataQaInput,
38
+ className: classnames(styles.checkboxInput, {
39
+ [styles.checkboxInputChecked]: checked,
40
+ // нужно отличать false от undefined, потому что в случае uncontrolled чекбокса
41
+ // checked равен undefined и значение задается через проп defaultChecked
42
+ [styles.checkboxInputUnchecked]: Object.is(checked, false)
43
+ }),
44
+ ref: checkboxRef,
45
+ readOnly,
46
+ type: "checkbox",
47
+ "aria-label": ariaLabel,
48
+ disabled: forceDisabled || !!disabled,
49
+ onChange
50
+ }
51
+ ),
52
+ /* @__PURE__ */ jsx(
53
+ "span",
54
+ {
55
+ className: classnames(styles.checkbox, {
56
+ [styles.invalid]: invalid
57
+ }),
58
+ "data-qa": dataQaCheckbox
59
+ }
60
+ ),
61
+ /* @__PURE__ */ jsxs("span", { className: styles.iconWrapper, children: [
62
+ /* @__PURE__ */ jsx(
63
+ "span",
64
+ {
65
+ className: classnames(styles.icon, {
66
+ [styles.iconHidden]: !indeterminate
67
+ }),
68
+ children: /* @__PURE__ */ jsx(CheckboxLineSize24, {})
69
+ }
70
+ ),
71
+ /* @__PURE__ */ jsx(
72
+ "span",
73
+ {
74
+ className: classnames(styles.icon, {
75
+ [styles.iconHidden]: indeterminate
76
+ }),
77
+ children: /* @__PURE__ */ jsx(CheckboxCheckSize24, {})
78
+ }
79
+ )
80
+ ] })
81
+ ] });
55
82
  };
56
83
  CheckboxComponent.isCheckbox = true;
57
84
  const Checkbox = enrichWithSkeleton(CheckboxComponent, CheckboxSkeleton);
package/Checkbox.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["src/Checkbox.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport classnames from 'classnames';\n\nimport { useDisabled } from '@hh.ru/magritte-common-use-disabled';\nimport { FcWithFlag } from '@hh.ru/magritte-types';\nimport { CheckboxSkeleton } from '@hh.ru/magritte-ui-checkbox-radio/CheckboxSkeleton';\nimport { CheckboxProps } from '@hh.ru/magritte-ui-checkbox-radio/types';\nimport { CheckboxCheckSize24, CheckboxLineSize24 } from '@hh.ru/magritte-ui-icon/variants/private';\nimport { enrichWithSkeleton } from '@hh.ru/magritte-ui-skeleton';\n\nimport styles from './checkbox.less';\n\nconst CheckboxComponent: FcWithFlag<CheckboxProps, 'isCheckbox'> = ({\n checked,\n disabled,\n invalid,\n indeterminate = false,\n onChange,\n readOnly,\n 'aria-label': ariaLabel,\n 'data-qa': dataQaInput,\n dataQaContainer = 'checkbox-container',\n dataQaCheckbox = 'checkbox',\n ...props\n}) => {\n const forceDisabled = useDisabled();\n const checkboxRef = useRef<HTMLInputElement>(null);\n useEffect(() => {\n /*\n Без этого ломается использование совместно с CheckableCard. Если при клике на карточку\n checked и indeterminate выставляется в true, то при последующем клике именно по чекбоксу\n у него не сбрасывается indeterminate состояние, хоть в пропсах и приходит false.\n Почему так происходит - загадка. CheckableCard перехватывает клики, поэтому не должно быть разницы\n куда кликать, по чекбоксу или по остальной площади карточки, тем не менее поведение отличается.\n Я пробовал еще перехватывать onMouseDown/Up, это не помогло.\n Другой вариант решения проблемы - отключить pointerEvents у readOnly чекбокса. Оно мне кажется чище,\n но нет гарантий что никто не завязался на onClick на таком чекбоксе, поэтому сделал так.\n Если присваивать без setTimeout и проверить значение indeterminate сразу же после присваивания,\n то оно вернет ожидаемое значение.\n Если проверить его в Promise.resolve().then(() => console.log(checkboxRef.current.indeterminate))\n оно так же вернет ожидаемое значение. Но если проверить его в setTimeout оно вернет значение которое\n было до присваивания.\n Для дебага я также пробовал заменить element.indeterminate на пару геттер/сеттер, в надежде увидеть\n кто же лишний раз вызывает присваивание. Но вызовов не было, кроме ожидаемых, к тому же все начало\n работать - значение перестало переопределяться.\n Воспроизвести баг в других кейсах (кроме совместного использования с CheckableCard) мне так же не удалось.\n В общем это какая то браузерная магия, и установка значения в макротаске делает поведение ожидаемым.\n */\n setTimeout(() => {\n checkboxRef.current && (checkboxRef.current.indeterminate = indeterminate);\n }, 0);\n }, [indeterminate]);\n\n return (\n <span className={styles.checkboxContainer} data-qa={dataQaContainer}>\n <input\n {...props}\n checked={checked}\n data-qa={dataQaInput}\n // Checkable Card вызывает event.preventDefault(),\n // из-за чего браузер не перерисовывает чекбокс при изменении пропа checked,\n // поэтому в controlled чекбоксах полагаемся на CSS-класс, а не на селектор :checked\n className={classnames(styles.checkboxInput, {\n [styles.checkboxInputChecked]: checked,\n // нужно отличать false от undefined, потому что в случае uncontrolled чекбокса\n // checked равен undefined и значение задается через проп defaultChecked\n [styles.checkboxInputUnchecked]: Object.is(checked, false),\n })}\n ref={checkboxRef}\n readOnly={readOnly}\n type=\"checkbox\"\n aria-label={ariaLabel}\n disabled={forceDisabled || !!disabled}\n onChange={onChange}\n />\n <span\n className={classnames(styles.checkbox, {\n [styles.invalid]: invalid,\n })}\n data-qa={dataQaCheckbox}\n />\n <span className={styles.iconWrapper}>\n <span\n className={classnames(styles.icon, {\n [styles.iconHidden]: !indeterminate,\n })}\n >\n <CheckboxLineSize24 />\n </span>\n <span\n className={classnames(styles.icon, {\n [styles.iconHidden]: indeterminate,\n })}\n >\n <CheckboxCheckSize24 />\n </span>\n </span>\n </span>\n );\n};\n\nCheckboxComponent.isCheckbox = true;\n\nexport const Checkbox = enrichWithSkeleton(CheckboxComponent, CheckboxSkeleton);\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;AAYA,MAAM,iBAAiB,GAA4C,CAAC,EAChE,OAAO,EACP,QAAQ,EACR,OAAO,EACP,aAAa,GAAG,KAAK,EACrB,QAAQ,EACR,QAAQ,EACR,YAAY,EAAE,SAAS,EACvB,SAAS,EAAE,WAAW,EACtB,eAAe,GAAG,oBAAoB,EACtC,cAAc,GAAG,UAAU,EAC3B,GAAG,KAAK,EACX,KAAI;AACD,IAAA,MAAM,aAAa,GAAG,WAAW,EAAE,CAAC;AACpC,IAAA,MAAM,WAAW,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACnD,SAAS,CAAC,MAAK;AACX;;;;;;;;;;;;;;;;;;;AAmBE;QACF,UAAU,CAAC,MAAK;AACZ,YAAA,WAAW,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC;SAC9E,EAAE,CAAC,CAAC,CAAC;AACV,KAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AAEpB,IAAA,QACIA,IAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,iBAAiB,EAAA,SAAA,EAAW,eAAe,EAAA,QAAA,EAAA,CAC/DC,kBACQ,KAAK,EACT,OAAO,EAAE,OAAO,aACP,WAAW;;;;AAIpB,gBAAA,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE;AACxC,oBAAA,CAAC,MAAM,CAAC,oBAAoB,GAAG,OAAO;;;AAGtC,oBAAA,CAAC,MAAM,CAAC,sBAAsB,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;AAC7D,iBAAA,CAAC,EACF,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,UAAU,EAAA,YAAA,EACH,SAAS,EACrB,QAAQ,EAAE,aAAa,IAAI,CAAC,CAAC,QAAQ,EACrC,QAAQ,EAAE,QAAQ,EACpB,CAAA,EACFA,GACI,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE;AACnC,oBAAA,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO;AAC5B,iBAAA,CAAC,aACO,cAAc,EAAA,CACzB,EACFD,IAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,WAAW,EAC/B,QAAA,EAAA,CAAAC,GAAA,CAAA,MAAA,EAAA,EACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE;AAC/B,4BAAA,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,aAAa;AACtC,yBAAA,CAAC,EAEF,QAAA,EAAAA,GAAA,CAAC,kBAAkB,EAAA,EAAA,CAAG,GACnB,EACPA,GAAA,CAAA,MAAA,EAAA,EACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE;AAC/B,4BAAA,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa;yBACrC,CAAC,EAAA,QAAA,EAEFA,IAAC,mBAAmB,EAAA,EAAA,CAAG,GACpB,CACJ,EAAA,CAAA,CAAA,EAAA,CACJ,EACT;AACN,CAAC,CAAC;AAEF,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC;AAEvB,MAAA,QAAQ,GAAG,kBAAkB,CAAC,iBAAiB,EAAE,gBAAgB;;;;"}
1
+ {"version":3,"file":"Checkbox.js","sources":["src/Checkbox.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport classnames from 'classnames';\n\nimport { useDisabled } from '@hh.ru/magritte-common-use-disabled';\nimport { FcWithFlag } from '@hh.ru/magritte-types';\nimport { CheckboxSkeleton } from '@hh.ru/magritte-ui-checkbox-radio/CheckboxSkeleton';\nimport { CheckboxProps } from '@hh.ru/magritte-ui-checkbox-radio/types';\nimport { CheckboxCheckSize24, CheckboxLineSize24 } from '@hh.ru/magritte-ui-icon/variants/private';\nimport { enrichWithSkeleton } from '@hh.ru/magritte-ui-skeleton';\n\nimport styles from './checkbox.less';\n\nconst CheckboxComponent: FcWithFlag<CheckboxProps, 'isCheckbox'> = ({\n checked,\n disabled,\n invalid,\n indeterminate = false,\n onChange,\n readOnly,\n 'aria-label': ariaLabel,\n 'data-qa': dataQaInput,\n dataQaContainer = 'checkbox-container',\n dataQaCheckbox = 'checkbox',\n ...props\n}) => {\n const forceDisabled = useDisabled();\n const checkboxRef = useRef<HTMLInputElement>(null);\n useEffect(() => {\n /*\n Без этого ломается использование совместно с CheckableCard. Если при клике на карточку\n checked и indeterminate выставляется в true, то при последующем клике именно по чекбоксу\n у него не сбрасывается indeterminate состояние, хоть в пропсах и приходит false.\n Почему так происходит - загадка. CheckableCard перехватывает клики, поэтому не должно быть разницы\n куда кликать, по чекбоксу или по остальной площади карточки, тем не менее поведение отличается.\n Я пробовал еще перехватывать onMouseDown/Up, это не помогло.\n Другой вариант решения проблемы - отключить pointerEvents у readOnly чекбокса. Оно мне кажется чище,\n но нет гарантий что никто не завязался на onClick на таком чекбоксе, поэтому сделал так.\n Если присваивать без setTimeout и проверить значение indeterminate сразу же после присваивания,\n то оно вернет ожидаемое значение.\n Если проверить его в Promise.resolve().then(() => console.log(checkboxRef.current.indeterminate))\n оно так же вернет ожидаемое значение. Но если проверить его в setTimeout оно вернет значение которое\n было до присваивания.\n Для дебага я также пробовал заменить element.indeterminate на пару геттер/сеттер, в надежде увидеть\n кто же лишний раз вызывает присваивание. Но вызовов не было, кроме ожидаемых, к тому же все начало\n работать - значение перестало переопределяться.\n Воспроизвести баг в других кейсах (кроме совместного использования с CheckableCard) мне так же не удалось.\n В общем это какая то браузерная магия, и установка значения в макротаске делает поведение ожидаемым.\n */\n setTimeout(() => {\n checkboxRef.current && (checkboxRef.current.indeterminate = indeterminate);\n }, 0);\n }, [indeterminate]);\n\n return (\n <span className={styles.checkboxContainer} data-qa={dataQaContainer}>\n <input\n {...props}\n checked={checked}\n data-qa={dataQaInput}\n // Checkable Card вызывает event.preventDefault(),\n // из-за чего браузер не перерисовывает чекбокс при изменении пропа checked,\n // поэтому в controlled чекбоксах полагаемся на CSS-класс, а не на селектор :checked\n className={classnames(styles.checkboxInput, {\n [styles.checkboxInputChecked]: checked,\n // нужно отличать false от undefined, потому что в случае uncontrolled чекбокса\n // checked равен undefined и значение задается через проп defaultChecked\n [styles.checkboxInputUnchecked]: Object.is(checked, false),\n })}\n ref={checkboxRef}\n readOnly={readOnly}\n type=\"checkbox\"\n aria-label={ariaLabel}\n disabled={forceDisabled || !!disabled}\n onChange={onChange}\n />\n <span\n className={classnames(styles.checkbox, {\n [styles.invalid]: invalid,\n })}\n data-qa={dataQaCheckbox}\n />\n <span className={styles.iconWrapper}>\n <span\n className={classnames(styles.icon, {\n [styles.iconHidden]: !indeterminate,\n })}\n >\n <CheckboxLineSize24 />\n </span>\n <span\n className={classnames(styles.icon, {\n [styles.iconHidden]: indeterminate,\n })}\n >\n <CheckboxCheckSize24 />\n </span>\n </span>\n </span>\n );\n};\n\nCheckboxComponent.isCheckbox = true;\n\nexport const Checkbox = enrichWithSkeleton(CheckboxComponent, CheckboxSkeleton);\n"],"names":[],"mappings":";;;;;;;;;AAYA,MAAM,oBAA6D,CAAC;AAAA,EAChE,OAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAgB,GAAA,KAAA;AAAA,EAChB,QAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAc,EAAA,SAAA;AAAA,EACd,SAAW,EAAA,WAAA;AAAA,EACX,eAAkB,GAAA,oBAAA;AAAA,EAClB,cAAiB,GAAA,UAAA;AAAA,EACjB,GAAG,KAAA;AACP,CAAM,KAAA;AACF,EAAA,MAAM,gBAAgB,WAAY,EAAA,CAAA;AAClC,EAAM,MAAA,WAAA,GAAc,OAAyB,IAAI,CAAA,CAAA;AACjD,EAAA,SAAA,CAAU,MAAM;AAqBZ,IAAA,UAAA,CAAW,MAAM;AACb,MAAY,WAAA,CAAA,OAAA,KAAY,WAAY,CAAA,OAAA,CAAQ,aAAgB,GAAA,aAAA,CAAA,CAAA;AAAA,OAC7D,CAAC,CAAA,CAAA;AAAA,GACR,EAAG,CAAC,aAAa,CAAC,CAAA,CAAA;AAElB,EAAA,4BACK,MAAK,EAAA,EAAA,SAAA,EAAW,MAAO,CAAA,iBAAA,EAAmB,WAAS,eAChD,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACI,GAAG,KAAA;AAAA,QACJ,OAAA;AAAA,QACA,SAAS,EAAA,WAAA;AAAA,QAIT,SAAA,EAAW,UAAW,CAAA,MAAA,CAAO,aAAe,EAAA;AAAA,UACxC,CAAC,MAAO,CAAA,oBAAoB,GAAG,OAAA;AAAA;AAAA;AAAA,UAG/B,CAAC,MAAO,CAAA,sBAAsB,GAAG,MAAO,CAAA,EAAA,CAAG,SAAS,KAAK,CAAA;AAAA,SAC5D,CAAA;AAAA,QACD,GAAK,EAAA,WAAA;AAAA,QACL,QAAA;AAAA,QACA,IAAK,EAAA,UAAA;AAAA,QACL,YAAY,EAAA,SAAA;AAAA,QACZ,QAAA,EAAU,aAAiB,IAAA,CAAC,CAAC,QAAA;AAAA,QAC7B,QAAA;AAAA,OAAA;AAAA,KACJ;AAAA,oBACA,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACG,SAAA,EAAW,UAAW,CAAA,MAAA,CAAO,QAAU,EAAA;AAAA,UACnC,CAAC,MAAO,CAAA,OAAO,GAAG,OAAA;AAAA,SACrB,CAAA;AAAA,QACD,SAAS,EAAA,cAAA;AAAA,OAAA;AAAA,KACb;AAAA,oBACC,IAAA,CAAA,MAAA,EAAA,EAAK,SAAW,EAAA,MAAA,CAAO,WACpB,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACG,SAAA,EAAW,UAAW,CAAA,MAAA,CAAO,IAAM,EAAA;AAAA,YAC/B,CAAC,MAAA,CAAO,UAAU,GAAG,CAAC,aAAA;AAAA,WACzB,CAAA;AAAA,UAED,8BAAC,kBAAmB,EAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OACxB;AAAA,sBACA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACG,SAAA,EAAW,UAAW,CAAA,MAAA,CAAO,IAAM,EAAA;AAAA,YAC/B,CAAC,MAAO,CAAA,UAAU,GAAG,aAAA;AAAA,WACxB,CAAA;AAAA,UAED,8BAAC,mBAAoB,EAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OACzB;AAAA,KACJ,EAAA,CAAA;AAAA,GACJ,EAAA,CAAA,CAAA;AAER,CAAA,CAAA;AAEA,iBAAA,CAAkB,UAAa,GAAA,IAAA,CAAA;AAElB,MAAA,QAAA,GAAW,kBAAmB,CAAA,iBAAA,EAAmB,gBAAgB;;;;"}
@@ -0,0 +1,27 @@
1
+ import './index.css';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { useLoadingState } from '@hh.ru/magritte-common-use-loading-state';
4
+ import { Skeleton } from '@hh.ru/magritte-ui-skeleton';
5
+
6
+ var styles = {"checkbox-container":"magritte-checkbox-container___3QIIQ_4-1-40","checkboxContainer":"magritte-checkbox-container___3QIIQ_4-1-40","checkbox-input":"magritte-checkbox-input___Y41Ta_4-1-40","checkboxInput":"magritte-checkbox-input___Y41Ta_4-1-40","checkbox":"magritte-checkbox___xQHy4_4-1-40","icon-wrapper":"magritte-icon-wrapper___li18-_4-1-40","iconWrapper":"magritte-icon-wrapper___li18-_4-1-40","checkbox-input-unchecked":"magritte-checkbox-input-unchecked___Mupry_4-1-40","checkboxInputUnchecked":"magritte-checkbox-input-unchecked___Mupry_4-1-40","checkbox-input-checked":"magritte-checkbox-input-checked___8CrvA_4-1-40","checkboxInputChecked":"magritte-checkbox-input-checked___8CrvA_4-1-40","invalid":"magritte-invalid___6k7qT_4-1-40","checkbox-skeleton-container":"magritte-checkbox-skeleton-container___4uNYP_4-1-40","checkboxSkeletonContainer":"magritte-checkbox-skeleton-container___4uNYP_4-1-40","checkbox-skeleton":"magritte-checkbox-skeleton___uo6u7_4-1-40","checkboxSkeleton":"magritte-checkbox-skeleton___uo6u7_4-1-40","icon":"magritte-icon___q1TLo_4-1-40","iconHidden":"magritte-iconHidden___Sb3FQ_4-1-40"};
7
+
8
+ const CheckboxSkeleton = ({
9
+ Component: Checkbox,
10
+ // skeleton props
11
+ width,
12
+ height,
13
+ borderRadius,
14
+ inline,
15
+ additionalClass,
16
+ loading,
17
+ ...checkboxProps
18
+ }) => {
19
+ const isLoading = useLoadingState() || loading;
20
+ if (isLoading) {
21
+ return /* @__PURE__ */ jsx("div", { className: styles.checkboxSkeletonContainer, children: /* @__PURE__ */ jsx(Skeleton, { loading: true, additionalClass: styles.checkboxSkeleton }) });
22
+ }
23
+ return /* @__PURE__ */ jsx(Checkbox, { ...checkboxProps });
24
+ };
25
+
26
+ export { CheckboxSkeleton as C, styles as s };
27
+ //# sourceMappingURL=CheckboxSkeleton-yIwBQneg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxSkeleton-BtZPDu8l.js","sources":["src/CheckboxSkeleton.tsx"],"sourcesContent":["import { useLoadingState } from '@hh.ru/magritte-common-use-loading-state';\nimport { CheckboxProps } from '@hh.ru/magritte-ui-checkbox-radio/types';\nimport { IncompleteSkeletonComponent, Skeleton } from '@hh.ru/magritte-ui-skeleton';\n\nimport styles from './checkbox.less';\n\nexport const CheckboxSkeleton: IncompleteSkeletonComponent<CheckboxProps> = ({\n Component: Checkbox,\n\n // skeleton props\n width,\n height,\n borderRadius,\n inline,\n additionalClass,\n loading,\n\n ...checkboxProps\n}) => {\n const isLoading = useLoadingState() || loading;\n\n if (isLoading) {\n return (\n <div className={styles.checkboxSkeletonContainer}>\n <Skeleton loading additionalClass={styles.checkboxSkeleton} />\n </div>\n );\n }\n return <Checkbox {...checkboxProps} />;\n};\n"],"names":["_jsx"],"mappings":";;;;;;MAMa,gBAAgB,GAA+C,CAAC,EACzE,SAAS,EAAE,QAAQ;AAEnB;AACA,KAAK,EACL,MAAM,EACN,YAAY,EACZ,MAAM,EACN,eAAe,EACf,OAAO,EAEP,GAAG,aAAa,EACnB,KAAI;AACD,IAAA,MAAM,SAAS,GAAG,eAAe,EAAE,IAAI,OAAO,CAAC;IAE/C,IAAI,SAAS,EAAE;QACX,QACIA,aAAK,SAAS,EAAE,MAAM,CAAC,yBAAyB,YAC5CA,GAAC,CAAA,QAAQ,IAAC,OAAO,EAAA,IAAA,EAAC,eAAe,EAAE,MAAM,CAAC,gBAAgB,EAAA,CAAI,EAC5D,CAAA,EACR;KACL;AACD,IAAA,OAAOA,GAAC,CAAA,QAAQ,EAAK,EAAA,GAAA,aAAa,GAAI,CAAC;AAC3C;;;;"}
1
+ {"version":3,"file":"CheckboxSkeleton-yIwBQneg.js","sources":["src/CheckboxSkeleton.tsx"],"sourcesContent":["import { useLoadingState } from '@hh.ru/magritte-common-use-loading-state';\nimport { CheckboxProps } from '@hh.ru/magritte-ui-checkbox-radio/types';\nimport { IncompleteSkeletonComponent, Skeleton } from '@hh.ru/magritte-ui-skeleton';\n\nimport styles from './checkbox.less';\n\nexport const CheckboxSkeleton: IncompleteSkeletonComponent<CheckboxProps> = ({\n Component: Checkbox,\n\n // skeleton props\n width,\n height,\n borderRadius,\n inline,\n additionalClass,\n loading,\n\n ...checkboxProps\n}) => {\n const isLoading = useLoadingState() || loading;\n\n if (isLoading) {\n return (\n <div className={styles.checkboxSkeletonContainer}>\n <Skeleton loading additionalClass={styles.checkboxSkeleton} />\n </div>\n );\n }\n return <Checkbox {...checkboxProps} />;\n};\n"],"names":[],"mappings":";;;;;;AAMO,MAAM,mBAA+D,CAAC;AAAA,EACzE,SAAW,EAAA,QAAA;AAAA;AAAA,EAGX,KAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,eAAA;AAAA,EACA,OAAA;AAAA,EAEA,GAAG,aAAA;AACP,CAAM,KAAA;AACF,EAAM,MAAA,SAAA,GAAY,iBAAqB,IAAA,OAAA,CAAA;AAEvC,EAAA,IAAI,SAAW,EAAA;AACX,IAAA,uBACK,GAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,MAAA,CAAO,yBACnB,EAAA,QAAA,kBAAA,GAAA,CAAC,QAAS,EAAA,EAAA,OAAA,EAAO,IAAC,EAAA,eAAA,EAAiB,MAAO,CAAA,gBAAA,EAAkB,CAChE,EAAA,CAAA,CAAA;AAAA,GAER;AACA,EAAO,uBAAA,GAAA,CAAC,QAAU,EAAA,EAAA,GAAG,aAAe,EAAA,CAAA,CAAA;AACxC;;;;"}
@@ -1,3 +1,3 @@
1
- import { CheckboxProps } from '@hh.ru/magritte-ui-checkbox-radio/types';
1
+ import { CheckboxProps } from './types';
2
2
  import { IncompleteSkeletonComponent } from '@hh.ru/magritte-ui-skeleton';
3
3
  export declare const CheckboxSkeleton: IncompleteSkeletonComponent<CheckboxProps>;
@@ -2,5 +2,5 @@ import './index.css';
2
2
  import 'react/jsx-runtime';
3
3
  import '@hh.ru/magritte-common-use-loading-state';
4
4
  import '@hh.ru/magritte-ui-skeleton';
5
- export { C as CheckboxSkeleton } from './CheckboxSkeleton-BtZPDu8l.js';
5
+ export { C as CheckboxSkeleton } from './CheckboxSkeleton-yIwBQneg.js';
6
6
  //# sourceMappingURL=CheckboxSkeleton.js.map
package/Radio.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { FcWithFlag } from '@hh.ru/magritte-types';
2
- import { RadioProps } from '@hh.ru/magritte-ui-checkbox-radio/types';
2
+ import { RadioProps } from './types';
3
3
  export declare const Radio: import("@hh.ru/magritte-ui-skeleton").ComponentWithSkeleton<FcWithFlag<RadioProps, "isRadio">, RadioProps>;
package/Radio.js CHANGED
@@ -2,25 +2,55 @@ import './index.css';
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import classnames from 'classnames';
4
4
  import { useDisabled } from '@hh.ru/magritte-common-use-disabled';
5
- import { R as RadioSkeleton, s as styles } from './RadioSkeleton-Ddk06OCE.js';
5
+ import { R as RadioSkeleton, s as styles } from './RadioSkeleton-DtHrnT95.js';
6
6
  import { RadioCircleSize24 } from '@hh.ru/magritte-ui-icon/variants/private';
7
7
  import { enrichWithSkeleton } from '@hh.ru/magritte-ui-skeleton';
8
8
  import '@hh.ru/magritte-common-use-loading-state';
9
9
 
10
- const RadioComponent = ({ checked, disabled, invalid, onChange, readOnly, 'aria-label': ariaLabel, 'data-qa': dataQaInput, dataQaContainer = 'radio-container', dataQaRadio = 'radio', ...props }) => {
11
- const forceDisabled = useDisabled();
12
- return (jsxs("span", { className: styles.radioContainer, "data-qa": dataQaContainer, children: [jsx("input", { ...props, checked: checked, "data-qa": dataQaInput,
13
- // Checkable Card вызывает event.preventDefault(),
14
- // из-за чего браузер не перерисовывает радиокнопку при изменении пропа checked,
15
- // поэтому в controlled радиокнопках полагаемся на CSS-класс, а не на селектор :checked
16
- className: classnames(styles.radioInput, {
17
- [styles.radioInputChecked]: checked,
18
- // нужно отличать false от undefined, потому что в случае uncontrolled радиокнопки
19
- // checked равен undefined и значение задается через проп defaultChecked
20
- [styles.radioInputUnchecked]: Object.is(checked, false),
21
- }), type: "radio", readOnly: readOnly, "aria-label": ariaLabel, disabled: forceDisabled || !!disabled, onChange: onChange }), jsx("span", { className: classnames(styles.radio, {
22
- [styles.invalid]: invalid,
23
- }), "data-qa": dataQaRadio }), jsx("span", { className: styles.iconWrapper, children: jsx(RadioCircleSize24, {}) })] }));
10
+ const RadioComponent = ({
11
+ checked,
12
+ disabled,
13
+ invalid,
14
+ onChange,
15
+ readOnly,
16
+ "aria-label": ariaLabel,
17
+ "data-qa": dataQaInput,
18
+ dataQaContainer = "radio-container",
19
+ dataQaRadio = "radio",
20
+ ...props
21
+ }) => {
22
+ const forceDisabled = useDisabled();
23
+ return /* @__PURE__ */ jsxs("span", { className: styles.radioContainer, "data-qa": dataQaContainer, children: [
24
+ /* @__PURE__ */ jsx(
25
+ "input",
26
+ {
27
+ ...props,
28
+ checked,
29
+ "data-qa": dataQaInput,
30
+ className: classnames(styles.radioInput, {
31
+ [styles.radioInputChecked]: checked,
32
+ // нужно отличать false от undefined, потому что в случае uncontrolled радиокнопки
33
+ // checked равен undefined и значение задается через проп defaultChecked
34
+ [styles.radioInputUnchecked]: Object.is(checked, false)
35
+ }),
36
+ type: "radio",
37
+ readOnly,
38
+ "aria-label": ariaLabel,
39
+ disabled: forceDisabled || !!disabled,
40
+ onChange
41
+ }
42
+ ),
43
+ /* @__PURE__ */ jsx(
44
+ "span",
45
+ {
46
+ className: classnames(styles.radio, {
47
+ [styles.invalid]: invalid
48
+ }),
49
+ "data-qa": dataQaRadio
50
+ }
51
+ ),
52
+ /* @__PURE__ */ jsx("span", { className: styles.iconWrapper, children: /* @__PURE__ */ jsx(RadioCircleSize24, {}) })
53
+ ] });
24
54
  };
25
55
  RadioComponent.isRadio = true;
26
56
  const Radio = enrichWithSkeleton(RadioComponent, RadioSkeleton);
package/Radio.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","sources":["src/Radio.tsx"],"sourcesContent":["import classnames from 'classnames';\n\nimport { useDisabled } from '@hh.ru/magritte-common-use-disabled';\nimport { FcWithFlag } from '@hh.ru/magritte-types';\nimport { RadioSkeleton } from '@hh.ru/magritte-ui-checkbox-radio/RadioSkeleton';\nimport { RadioProps } from '@hh.ru/magritte-ui-checkbox-radio/types';\nimport { RadioCircleSize24 } from '@hh.ru/magritte-ui-icon/variants/private';\nimport { enrichWithSkeleton } from '@hh.ru/magritte-ui-skeleton';\n\nimport styles from './radio.less';\n\nconst RadioComponent: FcWithFlag<RadioProps, 'isRadio'> = ({\n checked,\n disabled,\n invalid,\n onChange,\n readOnly,\n 'aria-label': ariaLabel,\n 'data-qa': dataQaInput,\n dataQaContainer = 'radio-container',\n dataQaRadio = 'radio',\n ...props\n}) => {\n const forceDisabled = useDisabled();\n\n return (\n <span className={styles.radioContainer} data-qa={dataQaContainer}>\n <input\n {...props}\n checked={checked}\n data-qa={dataQaInput}\n // Checkable Card вызывает event.preventDefault(),\n // из-за чего браузер не перерисовывает радиокнопку при изменении пропа checked,\n // поэтому в controlled радиокнопках полагаемся на CSS-класс, а не на селектор :checked\n className={classnames(styles.radioInput, {\n [styles.radioInputChecked]: checked,\n // нужно отличать false от undefined, потому что в случае uncontrolled радиокнопки\n // checked равен undefined и значение задается через проп defaultChecked\n [styles.radioInputUnchecked]: Object.is(checked, false),\n })}\n type=\"radio\"\n readOnly={readOnly}\n aria-label={ariaLabel}\n disabled={forceDisabled || !!disabled}\n onChange={onChange}\n />\n <span\n className={classnames(styles.radio, {\n [styles.invalid]: invalid,\n })}\n data-qa={dataQaRadio}\n />\n <span className={styles.iconWrapper}>\n <RadioCircleSize24 />\n </span>\n </span>\n );\n};\n\nRadioComponent.isRadio = true;\n\nexport const Radio = enrichWithSkeleton(RadioComponent, RadioSkeleton);\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;AAWA,MAAM,cAAc,GAAsC,CAAC,EACvD,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,YAAY,EAAE,SAAS,EACvB,SAAS,EAAE,WAAW,EACtB,eAAe,GAAG,iBAAiB,EACnC,WAAW,GAAG,OAAO,EACrB,GAAG,KAAK,EACX,KAAI;AACD,IAAA,MAAM,aAAa,GAAG,WAAW,EAAE,CAAC;AAEpC,IAAA,QACIA,IAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,cAAc,EAAA,SAAA,EAAW,eAAe,EAAA,QAAA,EAAA,CAC5DC,kBACQ,KAAK,EACT,OAAO,EAAE,OAAO,aACP,WAAW;;;;AAIpB,gBAAA,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE;AACrC,oBAAA,CAAC,MAAM,CAAC,iBAAiB,GAAG,OAAO;;;AAGnC,oBAAA,CAAC,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;AAC1D,iBAAA,CAAC,EACF,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,QAAQ,EAAA,YAAA,EACN,SAAS,EACrB,QAAQ,EAAE,aAAa,IAAI,CAAC,CAAC,QAAQ,EACrC,QAAQ,EAAE,QAAQ,GACpB,EACFA,GAAA,CAAA,MAAA,EAAA,EACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE;AAChC,oBAAA,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO;AAC5B,iBAAA,CAAC,aACO,WAAW,EAAA,CACtB,EACFA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,WAAW,YAC/BA,GAAC,CAAA,iBAAiB,KAAG,EAClB,CAAA,CAAA,EAAA,CACJ,EACT;AACN,CAAC,CAAC;AAEF,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;AAEjB,MAAA,KAAK,GAAG,kBAAkB,CAAC,cAAc,EAAE,aAAa;;;;"}
1
+ {"version":3,"file":"Radio.js","sources":["src/Radio.tsx"],"sourcesContent":["import classnames from 'classnames';\n\nimport { useDisabled } from '@hh.ru/magritte-common-use-disabled';\nimport { FcWithFlag } from '@hh.ru/magritte-types';\nimport { RadioSkeleton } from '@hh.ru/magritte-ui-checkbox-radio/RadioSkeleton';\nimport { RadioProps } from '@hh.ru/magritte-ui-checkbox-radio/types';\nimport { RadioCircleSize24 } from '@hh.ru/magritte-ui-icon/variants/private';\nimport { enrichWithSkeleton } from '@hh.ru/magritte-ui-skeleton';\n\nimport styles from './radio.less';\n\nconst RadioComponent: FcWithFlag<RadioProps, 'isRadio'> = ({\n checked,\n disabled,\n invalid,\n onChange,\n readOnly,\n 'aria-label': ariaLabel,\n 'data-qa': dataQaInput,\n dataQaContainer = 'radio-container',\n dataQaRadio = 'radio',\n ...props\n}) => {\n const forceDisabled = useDisabled();\n\n return (\n <span className={styles.radioContainer} data-qa={dataQaContainer}>\n <input\n {...props}\n checked={checked}\n data-qa={dataQaInput}\n // Checkable Card вызывает event.preventDefault(),\n // из-за чего браузер не перерисовывает радиокнопку при изменении пропа checked,\n // поэтому в controlled радиокнопках полагаемся на CSS-класс, а не на селектор :checked\n className={classnames(styles.radioInput, {\n [styles.radioInputChecked]: checked,\n // нужно отличать false от undefined, потому что в случае uncontrolled радиокнопки\n // checked равен undefined и значение задается через проп defaultChecked\n [styles.radioInputUnchecked]: Object.is(checked, false),\n })}\n type=\"radio\"\n readOnly={readOnly}\n aria-label={ariaLabel}\n disabled={forceDisabled || !!disabled}\n onChange={onChange}\n />\n <span\n className={classnames(styles.radio, {\n [styles.invalid]: invalid,\n })}\n data-qa={dataQaRadio}\n />\n <span className={styles.iconWrapper}>\n <RadioCircleSize24 />\n </span>\n </span>\n );\n};\n\nRadioComponent.isRadio = true;\n\nexport const Radio = enrichWithSkeleton(RadioComponent, RadioSkeleton);\n"],"names":[],"mappings":";;;;;;;;AAWA,MAAM,iBAAoD,CAAC;AAAA,EACvD,OAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAc,EAAA,SAAA;AAAA,EACd,SAAW,EAAA,WAAA;AAAA,EACX,eAAkB,GAAA,iBAAA;AAAA,EAClB,WAAc,GAAA,OAAA;AAAA,EACd,GAAG,KAAA;AACP,CAAM,KAAA;AACF,EAAA,MAAM,gBAAgB,WAAY,EAAA,CAAA;AAElC,EAAA,4BACK,MAAK,EAAA,EAAA,SAAA,EAAW,MAAO,CAAA,cAAA,EAAgB,WAAS,eAC7C,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACI,GAAG,KAAA;AAAA,QACJ,OAAA;AAAA,QACA,SAAS,EAAA,WAAA;AAAA,QAIT,SAAA,EAAW,UAAW,CAAA,MAAA,CAAO,UAAY,EAAA;AAAA,UACrC,CAAC,MAAO,CAAA,iBAAiB,GAAG,OAAA;AAAA;AAAA;AAAA,UAG5B,CAAC,MAAO,CAAA,mBAAmB,GAAG,MAAO,CAAA,EAAA,CAAG,SAAS,KAAK,CAAA;AAAA,SACzD,CAAA;AAAA,QACD,IAAK,EAAA,OAAA;AAAA,QACL,QAAA;AAAA,QACA,YAAY,EAAA,SAAA;AAAA,QACZ,QAAA,EAAU,aAAiB,IAAA,CAAC,CAAC,QAAA;AAAA,QAC7B,QAAA;AAAA,OAAA;AAAA,KACJ;AAAA,oBACA,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACG,SAAA,EAAW,UAAW,CAAA,MAAA,CAAO,KAAO,EAAA;AAAA,UAChC,CAAC,MAAO,CAAA,OAAO,GAAG,OAAA;AAAA,SACrB,CAAA;AAAA,QACD,SAAS,EAAA,WAAA;AAAA,OAAA;AAAA,KACb;AAAA,wBACC,MAAK,EAAA,EAAA,SAAA,EAAW,OAAO,WACpB,EAAA,QAAA,kBAAA,GAAA,CAAC,qBAAkB,CACvB,EAAA,CAAA;AAAA,GACJ,EAAA,CAAA,CAAA;AAER,CAAA,CAAA;AAEA,cAAA,CAAe,OAAU,GAAA,IAAA,CAAA;AAEZ,MAAA,KAAA,GAAQ,kBAAmB,CAAA,cAAA,EAAgB,aAAa;;;;"}
@@ -0,0 +1,27 @@
1
+ import './index.css';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { useLoadingState } from '@hh.ru/magritte-common-use-loading-state';
4
+ import { Skeleton } from '@hh.ru/magritte-ui-skeleton';
5
+
6
+ var styles = {"radio-container":"magritte-radio-container___4uMia_4-1-40","radioContainer":"magritte-radio-container___4uMia_4-1-40","radio-input":"magritte-radio-input___-IM3Y_4-1-40","radioInput":"magritte-radio-input___-IM3Y_4-1-40","radio":"magritte-radio___diMe7_4-1-40","icon-wrapper":"magritte-icon-wrapper___ASC7R_4-1-40","iconWrapper":"magritte-icon-wrapper___ASC7R_4-1-40","radio-input-unchecked":"magritte-radio-input-unchecked___J-rPE_4-1-40","radioInputUnchecked":"magritte-radio-input-unchecked___J-rPE_4-1-40","radio-input-checked":"magritte-radio-input-checked___eYMcP_4-1-40","radioInputChecked":"magritte-radio-input-checked___eYMcP_4-1-40","invalid":"magritte-invalid___1vONj_4-1-40","radio-skeleton-container":"magritte-radio-skeleton-container___GjZez_4-1-40","radioSkeletonContainer":"magritte-radio-skeleton-container___GjZez_4-1-40","radio-skeleton":"magritte-radio-skeleton___9TSLy_4-1-40","radioSkeleton":"magritte-radio-skeleton___9TSLy_4-1-40"};
7
+
8
+ const RadioSkeleton = ({
9
+ Component: Radio,
10
+ // skeleton props
11
+ width,
12
+ height,
13
+ borderRadius,
14
+ inline,
15
+ additionalClass,
16
+ loading,
17
+ ...radioProps
18
+ }) => {
19
+ const isLoading = useLoadingState() || loading;
20
+ if (isLoading) {
21
+ return /* @__PURE__ */ jsx("div", { className: styles.radioSkeletonContainer, children: /* @__PURE__ */ jsx(Skeleton, { additionalClass: styles.radioSkeleton, loading: isLoading }) });
22
+ }
23
+ return /* @__PURE__ */ jsx(Radio, { ...radioProps });
24
+ };
25
+
26
+ export { RadioSkeleton as R, styles as s };
27
+ //# sourceMappingURL=RadioSkeleton-DtHrnT95.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioSkeleton-Ddk06OCE.js","sources":["src/RadioSkeleton.tsx"],"sourcesContent":["import { useLoadingState } from '@hh.ru/magritte-common-use-loading-state';\nimport { RadioProps } from '@hh.ru/magritte-ui-checkbox-radio/types';\nimport { IncompleteSkeletonComponent, Skeleton } from '@hh.ru/magritte-ui-skeleton';\n\nimport styles from './radio.less';\n\nexport const RadioSkeleton: IncompleteSkeletonComponent<RadioProps> = ({\n Component: Radio,\n\n // skeleton props\n width,\n height,\n borderRadius,\n inline,\n additionalClass,\n loading,\n\n ...radioProps\n}) => {\n const isLoading = useLoadingState() || loading;\n\n if (isLoading) {\n return (\n <div className={styles.radioSkeletonContainer}>\n <Skeleton additionalClass={styles.radioSkeleton} loading={isLoading} />\n </div>\n );\n }\n\n return <Radio {...radioProps} />;\n};\n"],"names":["_jsx"],"mappings":";;;;;;MAMa,aAAa,GAA4C,CAAC,EACnE,SAAS,EAAE,KAAK;AAEhB;AACA,KAAK,EACL,MAAM,EACN,YAAY,EACZ,MAAM,EACN,eAAe,EACf,OAAO,EAEP,GAAG,UAAU,EAChB,KAAI;AACD,IAAA,MAAM,SAAS,GAAG,eAAe,EAAE,IAAI,OAAO,CAAC;IAE/C,IAAI,SAAS,EAAE;QACX,QACIA,aAAK,SAAS,EAAE,MAAM,CAAC,sBAAsB,EACzC,QAAA,EAAAA,GAAA,CAAC,QAAQ,EAAA,EAAC,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,EAAA,CAAI,EACrE,CAAA,EACR;KACL;AAED,IAAA,OAAOA,GAAC,CAAA,KAAK,EAAK,EAAA,GAAA,UAAU,GAAI,CAAC;AACrC;;;;"}
1
+ {"version":3,"file":"RadioSkeleton-DtHrnT95.js","sources":["src/RadioSkeleton.tsx"],"sourcesContent":["import { useLoadingState } from '@hh.ru/magritte-common-use-loading-state';\nimport { RadioProps } from '@hh.ru/magritte-ui-checkbox-radio/types';\nimport { IncompleteSkeletonComponent, Skeleton } from '@hh.ru/magritte-ui-skeleton';\n\nimport styles from './radio.less';\n\nexport const RadioSkeleton: IncompleteSkeletonComponent<RadioProps> = ({\n Component: Radio,\n\n // skeleton props\n width,\n height,\n borderRadius,\n inline,\n additionalClass,\n loading,\n\n ...radioProps\n}) => {\n const isLoading = useLoadingState() || loading;\n\n if (isLoading) {\n return (\n <div className={styles.radioSkeletonContainer}>\n <Skeleton additionalClass={styles.radioSkeleton} loading={isLoading} />\n </div>\n );\n }\n\n return <Radio {...radioProps} />;\n};\n"],"names":[],"mappings":";;;;;;AAMO,MAAM,gBAAyD,CAAC;AAAA,EACnE,SAAW,EAAA,KAAA;AAAA;AAAA,EAGX,KAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,eAAA;AAAA,EACA,OAAA;AAAA,EAEA,GAAG,UAAA;AACP,CAAM,KAAA;AACF,EAAM,MAAA,SAAA,GAAY,iBAAqB,IAAA,OAAA,CAAA;AAEvC,EAAA,IAAI,SAAW,EAAA;AACX,IAAA,uBACK,GAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,MAAA,CAAO,sBACnB,EAAA,QAAA,kBAAA,GAAA,CAAC,QAAS,EAAA,EAAA,eAAA,EAAiB,MAAO,CAAA,aAAA,EAAe,OAAS,EAAA,SAAA,EAAW,CACzE,EAAA,CAAA,CAAA;AAAA,GAER;AAEA,EAAO,uBAAA,GAAA,CAAC,KAAO,EAAA,EAAA,GAAG,UAAY,EAAA,CAAA,CAAA;AAClC;;;;"}
@@ -1,3 +1,3 @@
1
- import { RadioProps } from '@hh.ru/magritte-ui-checkbox-radio/types';
1
+ import { RadioProps } from './types';
2
2
  import { IncompleteSkeletonComponent } from '@hh.ru/magritte-ui-skeleton';
3
3
  export declare const RadioSkeleton: IncompleteSkeletonComponent<RadioProps>;
package/RadioSkeleton.js CHANGED
@@ -2,5 +2,5 @@ import './index.css';
2
2
  import 'react/jsx-runtime';
3
3
  import '@hh.ru/magritte-common-use-loading-state';
4
4
  import '@hh.ru/magritte-ui-skeleton';
5
- export { R as RadioSkeleton } from './RadioSkeleton-Ddk06OCE.js';
5
+ export { R as RadioSkeleton } from './RadioSkeleton-DtHrnT95.js';
6
6
  //# sourceMappingURL=RadioSkeleton.js.map