@alfalab/core-components-select 19.1.7 → 19.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/components/arrow/index.css +4 -4
  2. package/components/arrow/index.module.css.js +1 -1
  3. package/components/base-checkmark/Component.js +5 -12
  4. package/components/base-checkmark/Component.js.map +1 -1
  5. package/components/base-checkmark/index.css +13 -26
  6. package/components/base-checkmark/index.module.css.js +1 -1
  7. package/components/base-checkmark/index.module.css.js.map +1 -1
  8. package/components/base-option/Component.js +7 -1
  9. package/components/base-option/Component.js.map +1 -1
  10. package/components/base-option/index.css +14 -14
  11. package/components/base-option/index.module.css.js +1 -1
  12. package/components/base-select/index.css +11 -11
  13. package/components/base-select/index.module.css.js +1 -1
  14. package/components/base-select/mobile.css +11 -11
  15. package/components/base-select/mobile.module.css.js +1 -1
  16. package/components/checkmark/index.css +11 -11
  17. package/components/checkmark/index.module.css.js +1 -1
  18. package/components/checkmark-mobile/index.css +6 -6
  19. package/components/checkmark-mobile/index.module.css.js +1 -1
  20. package/components/clear-button/index.css +4 -4
  21. package/components/clear-button/index.module.css.js +1 -1
  22. package/components/field/index.css +13 -13
  23. package/components/field/index.module.css.js +1 -1
  24. package/components/footer/index.css +4 -4
  25. package/components/footer/index.module.css.js +1 -1
  26. package/components/optgroup/index.css +4 -4
  27. package/components/optgroup/index.module.css.js +1 -1
  28. package/components/option/desktop/index.css +19 -19
  29. package/components/option/desktop/index.module.css.js +1 -1
  30. package/components/option/mobile/index.css +16 -16
  31. package/components/option/mobile/index.module.css.js +1 -1
  32. package/components/options-list/index.css +13 -13
  33. package/components/options-list/index.module.css.js +1 -1
  34. package/components/search/index.css +1 -1
  35. package/components/search/index.module.css.js +1 -1
  36. package/components/virtual-options-list/index.css +13 -13
  37. package/components/virtual-options-list/index.module.css.js +1 -1
  38. package/cssm/components/base-checkmark/Component.js +5 -12
  39. package/cssm/components/base-checkmark/Component.js.map +1 -1
  40. package/cssm/components/base-checkmark/index.module.css +6 -19
  41. package/cssm/components/base-option/Component.js +7 -1
  42. package/cssm/components/base-option/Component.js.map +1 -1
  43. package/esm/components/arrow/index.css +4 -4
  44. package/esm/components/arrow/index.module.css.js +1 -1
  45. package/esm/components/base-checkmark/Component.js +5 -12
  46. package/esm/components/base-checkmark/Component.js.map +1 -1
  47. package/esm/components/base-checkmark/index.css +13 -26
  48. package/esm/components/base-checkmark/index.module.css.js +1 -1
  49. package/esm/components/base-checkmark/index.module.css.js.map +1 -1
  50. package/esm/components/base-option/Component.js +7 -1
  51. package/esm/components/base-option/Component.js.map +1 -1
  52. package/esm/components/base-option/index.css +14 -14
  53. package/esm/components/base-option/index.module.css.js +1 -1
  54. package/esm/components/base-select/index.css +11 -11
  55. package/esm/components/base-select/index.module.css.js +1 -1
  56. package/esm/components/base-select/mobile.css +11 -11
  57. package/esm/components/base-select/mobile.module.css.js +1 -1
  58. package/esm/components/checkmark/index.css +11 -11
  59. package/esm/components/checkmark/index.module.css.js +1 -1
  60. package/esm/components/checkmark-mobile/index.css +6 -6
  61. package/esm/components/checkmark-mobile/index.module.css.js +1 -1
  62. package/esm/components/clear-button/index.css +4 -4
  63. package/esm/components/clear-button/index.module.css.js +1 -1
  64. package/esm/components/field/index.css +13 -13
  65. package/esm/components/field/index.module.css.js +1 -1
  66. package/esm/components/footer/index.css +4 -4
  67. package/esm/components/footer/index.module.css.js +1 -1
  68. package/esm/components/optgroup/index.css +4 -4
  69. package/esm/components/optgroup/index.module.css.js +1 -1
  70. package/esm/components/option/desktop/index.css +19 -19
  71. package/esm/components/option/desktop/index.module.css.js +1 -1
  72. package/esm/components/option/mobile/index.css +16 -16
  73. package/esm/components/option/mobile/index.module.css.js +1 -1
  74. package/esm/components/options-list/index.css +13 -13
  75. package/esm/components/options-list/index.module.css.js +1 -1
  76. package/esm/components/search/index.css +1 -1
  77. package/esm/components/search/index.module.css.js +1 -1
  78. package/esm/components/virtual-options-list/index.css +13 -13
  79. package/esm/components/virtual-options-list/index.module.css.js +1 -1
  80. package/esm/mobile/modal.mobile.css +1 -1
  81. package/esm/mobile/modal.mobile.module.css.js +1 -1
  82. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  83. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  84. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +4 -4
  85. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  86. package/esm/presets/useSelectWithLoading/index.css +1 -1
  87. package/esm/presets/useSelectWithLoading/index.module.css.js +1 -1
  88. package/mobile/modal.mobile.css +1 -1
  89. package/mobile/modal.mobile.module.css.js +1 -1
  90. package/modern/components/arrow/index.css +4 -4
  91. package/modern/components/arrow/index.module.css.js +1 -1
  92. package/modern/components/base-checkmark/Component.js +5 -11
  93. package/modern/components/base-checkmark/Component.js.map +1 -1
  94. package/modern/components/base-checkmark/index.css +13 -26
  95. package/modern/components/base-checkmark/index.module.css.js +1 -1
  96. package/modern/components/base-checkmark/index.module.css.js.map +1 -1
  97. package/modern/components/base-option/Component.js +5 -1
  98. package/modern/components/base-option/Component.js.map +1 -1
  99. package/modern/components/base-option/index.css +14 -14
  100. package/modern/components/base-option/index.module.css.js +1 -1
  101. package/modern/components/base-select/index.css +11 -11
  102. package/modern/components/base-select/index.module.css.js +1 -1
  103. package/modern/components/base-select/mobile.css +11 -11
  104. package/modern/components/base-select/mobile.module.css.js +1 -1
  105. package/modern/components/checkmark/index.css +11 -11
  106. package/modern/components/checkmark/index.module.css.js +1 -1
  107. package/modern/components/checkmark-mobile/index.css +6 -6
  108. package/modern/components/checkmark-mobile/index.module.css.js +1 -1
  109. package/modern/components/clear-button/index.css +4 -4
  110. package/modern/components/clear-button/index.module.css.js +1 -1
  111. package/modern/components/field/index.css +13 -13
  112. package/modern/components/field/index.module.css.js +1 -1
  113. package/modern/components/footer/index.css +4 -4
  114. package/modern/components/footer/index.module.css.js +1 -1
  115. package/modern/components/optgroup/index.css +4 -4
  116. package/modern/components/optgroup/index.module.css.js +1 -1
  117. package/modern/components/option/desktop/index.css +19 -19
  118. package/modern/components/option/desktop/index.module.css.js +1 -1
  119. package/modern/components/option/mobile/index.css +16 -16
  120. package/modern/components/option/mobile/index.module.css.js +1 -1
  121. package/modern/components/options-list/index.css +13 -13
  122. package/modern/components/options-list/index.module.css.js +1 -1
  123. package/modern/components/search/index.css +1 -1
  124. package/modern/components/search/index.module.css.js +1 -1
  125. package/modern/components/virtual-options-list/index.css +13 -13
  126. package/modern/components/virtual-options-list/index.module.css.js +1 -1
  127. package/modern/mobile/modal.mobile.css +1 -1
  128. package/modern/mobile/modal.mobile.module.css.js +1 -1
  129. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  130. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  131. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +4 -4
  132. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  133. package/modern/presets/useSelectWithLoading/index.css +1 -1
  134. package/modern/presets/useSelectWithLoading/index.module.css.js +1 -1
  135. package/moderncssm/components/base-checkmark/Component.js +5 -11
  136. package/moderncssm/components/base-checkmark/Component.js.map +1 -1
  137. package/moderncssm/components/base-checkmark/index.module.css +8 -24
  138. package/moderncssm/components/base-option/Component.js +5 -1
  139. package/moderncssm/components/base-option/Component.js.map +1 -1
  140. package/package.json +5 -5
  141. package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  142. package/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
  143. package/presets/useSelectWithApply/options-list-with-apply/header/index.css +4 -4
  144. package/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
  145. package/presets/useSelectWithLoading/index.css +1 -1
  146. package/presets/useSelectWithLoading/index.module.css.js +1 -1
  147. package/src/components/base-checkmark/Component.tsx +8 -24
  148. package/src/components/base-checkmark/index.module.css +6 -21
  149. package/src/components/base-option/Component.tsx +16 -12
@@ -4,17 +4,11 @@ import { Checkbox } from '@alfalab/core-components-checkbox/moderncssm';
4
4
  import { CheckmarkMIcon } from '@alfalab/icons-glyph/CheckmarkMIcon';
5
5
  import styles from './index.module.css';
6
6
 
7
- const BaseCheckmark = ({ selected, disabled = false, className, multiple, align = 'center', position = 'before', content, }) => {
8
- const renderCheckmarkIcon = () => (React.createElement(CheckmarkMIcon, { className: cn(styles.singleIcon, styles[position], {
9
- [styles.selected]: selected,
10
- }) }));
11
- return multiple ? (React.createElement(Checkbox, { block: true, checked: selected, disabled: disabled, contentClassName: cn({ [styles.positionAfter]: position === 'after' }), className: cn(styles.checkmark, styles[align], className, {
12
- [styles.selected]: selected,
13
- }), size: 24, position: position, label: content, hiddenInput: true })) : (React.createElement("div", { className: cn(styles.container, styles[align], className) },
14
- position === 'before' && renderCheckmarkIcon(),
15
- React.createElement("div", { className: styles.content }, content),
16
- position === 'after' && renderCheckmarkIcon()));
17
- };
7
+ const BaseCheckmark = ({ selected, disabled = false, className, multiple, align = 'center', position = 'before', }) => multiple ? (React.createElement(Checkbox, { checked: selected, disabled: disabled, className: cn(styles.checkmark, styles[position], styles[align], className, {
8
+ [styles.selected]: selected,
9
+ }), size: 24, hiddenInput: true })) : (React.createElement(CheckmarkMIcon, { className: cn(styles.singleIcon, styles[position], styles[align], className, {
10
+ [styles.selected]: selected,
11
+ }) }));
18
12
 
19
13
  export { BaseCheckmark };
20
14
  //# sourceMappingURL=Component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../../src/components/base-checkmark/Component.tsx"],"sourcesContent":["import React, { type FC } from 'react';\nimport cn from 'classnames';\n\nimport { Checkbox } from '@alfalab/core-components-checkbox';\nimport { CheckmarkMIcon } from '@alfalab/icons-glyph/CheckmarkMIcon';\n\nimport { type CheckmarkProps } from '../../typings';\n\nimport styles from './index.module.css';\n\nexport const BaseCheckmark: FC<CheckmarkProps> = ({\n selected,\n disabled = false,\n className,\n multiple,\n align = 'center',\n position = 'before',\n content,\n}) => {\n const renderCheckmarkIcon = () => (\n <CheckmarkMIcon\n className={cn(styles.singleIcon, styles[position], {\n [styles.selected]: selected,\n })}\n />\n );\n\n return multiple ? (\n <Checkbox\n block={true}\n checked={selected}\n disabled={disabled}\n contentClassName={cn({ [styles.positionAfter]: position === 'after' })}\n className={cn(styles.checkmark, styles[align], className, {\n [styles.selected]: selected,\n })}\n size={24}\n position={position}\n label={content}\n hiddenInput={true}\n />\n ) : (\n <div className={cn(styles.container, styles[align], className)}>\n {position === 'before' && renderCheckmarkIcon()}\n\n <div className={styles.content}>{content}</div>\n\n {position === 'after' && renderCheckmarkIcon()}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;AAUa,MAAA,aAAa,GAAuB,CAAC,EAC9C,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,QAAQ,EACR,KAAK,GAAG,QAAQ,EAChB,QAAQ,GAAG,QAAQ,EACnB,OAAO,GACV,KAAI;IACD,MAAM,mBAAmB,GAAG,OACxB,KAAA,CAAA,aAAA,CAAC,cAAc,EACX,EAAA,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;AAC/C,YAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;SAC9B,CAAC,EAAA,CACJ,CACL;IAED,OAAO,QAAQ,IACX,KAAC,CAAA,aAAA,CAAA,QAAQ,EACL,EAAA,KAAK,EAAE,IAAI,EACX,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,GAAG,QAAQ,KAAK,OAAO,EAAE,CAAC,EACtE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE;AACtD,YAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;AAC9B,SAAA,CAAC,EACF,IAAI,EAAE,EAAE,EACR,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,IAAI,EACnB,CAAA,KAEF,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,EAAA;AACzD,QAAA,QAAQ,KAAK,QAAQ,IAAI,mBAAmB,EAAE;AAE/C,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,OAAO,EAAA,EAAG,OAAO,CAAO;AAE9C,QAAA,QAAQ,KAAK,OAAO,IAAI,mBAAmB,EAAE,CAC5C,CACT;AACL;;;;"}
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/base-checkmark/Component.tsx"],"sourcesContent":["import React, { type FC } from 'react';\nimport cn from 'classnames';\n\nimport { Checkbox } from '@alfalab/core-components-checkbox';\nimport { CheckmarkMIcon } from '@alfalab/icons-glyph/CheckmarkMIcon';\n\nimport { type CheckmarkProps } from '../../typings';\n\nimport styles from './index.module.css';\n\nexport const BaseCheckmark: FC<CheckmarkProps> = ({\n selected,\n disabled = false,\n className,\n multiple,\n align = 'center',\n position = 'before',\n}) =>\n multiple ? (\n <Checkbox\n checked={selected}\n disabled={disabled}\n className={cn(styles.checkmark, styles[position], styles[align], className, {\n [styles.selected]: selected,\n })}\n size={24}\n hiddenInput={true}\n />\n ) : (\n <CheckmarkMIcon\n className={cn(styles.singleIcon, styles[position], styles[align], className, {\n [styles.selected]: selected,\n })}\n />\n );\n"],"names":[],"mappings":";;;;;;AAUO,MAAM,aAAa,GAAuB,CAAC,EAC9C,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,QAAQ,EACR,KAAK,GAAG,QAAQ,EAChB,QAAQ,GAAG,QAAQ,GACtB,KACG,QAAQ,IACJ,KAAA,CAAA,aAAA,CAAC,QAAQ,EAAA,EACL,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE;AACxE,QAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;AAC9B,KAAA,CAAC,EACF,IAAI,EAAE,EAAE,EACR,WAAW,EAAE,IAAI,EACnB,CAAA,KAEF,KAAA,CAAA,aAAA,CAAC,cAAc,EACX,EAAA,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE;AACzE,QAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;KAC9B,CAAC,EAAA,CACJ;;;;"}
@@ -3,32 +3,20 @@
3
3
  box-sizing: border-box;
4
4
  }
5
5
 
6
- .checkmark.start {
7
- align-self: start;
6
+ .checkmark.before {
7
+ margin-right: var(--gap-12);
8
8
  }
9
9
 
10
- .checkmark.center {
11
- align-self: center;
10
+ .checkmark.after {
11
+ margin-left: var(--gap-12);
12
12
  }
13
13
 
14
- .positionAfter {
15
- margin-left: 0;
16
- margin-left: initial;
17
- }
18
-
19
- .container {
20
- display: flex;
21
- align-items: center;
22
- justify-content: center;
23
- width: 100%;
24
- }
25
-
26
- .container.start {
27
- align-items: flex-start;
14
+ .checkmark.start {
15
+ align-self: start;
28
16
  }
29
17
 
30
- .container.center {
31
- align-items: center;
18
+ .checkmark.center {
19
+ align-self: center;
32
20
  }
33
21
 
34
22
  .singleIcon {
@@ -47,7 +35,3 @@
47
35
  .singleIcon.selected {
48
36
  opacity: 1;
49
37
  }
50
-
51
- .content {
52
- flex: 1;
53
- }
@@ -8,6 +8,7 @@ const BaseOption = ({ className, option, children, selected, highlighted, disabl
8
8
  const { showCheckMark = true } = option;
9
9
  const isTextContent = !isValidElement(content);
10
10
  const showCheckmark = Checkmark && showCheckMark;
11
+ const renderCheckmark = (position) => showCheckmark && (React.createElement(Checkmark, { disabled: disabled, selected: selected, multiple: multiple, align: align, position: position }));
11
12
  return (React.createElement("div", { ...innerProps, className: cn(styles.option, size && styles[`size-${size}`], className, {
12
13
  [styles.highlighted]: !mobile && highlighted,
13
14
  [styles.selected]: selected,
@@ -16,7 +17,10 @@ const BaseOption = ({ className, option, children, selected, highlighted, disabl
16
17
  [styles.mobile]: mobile,
17
18
  [styles.checkmarkAfter]: showCheckmark && !isTextContent && checkmarkPosition === 'after',
18
19
  [styles.checkmarkBefore]: showCheckmark && !isTextContent && checkmarkPosition === 'before',
19
- }), "data-test-id": dataTestId, "aria-label": option?.value?.name }, showCheckmark ? (React.createElement(Checkmark, { disabled: disabled, selected: selected, multiple: multiple, align: align, position: checkmarkPosition, content: content })) : (React.createElement("div", { className: cn(styles.content) }, content))));
20
+ }), "data-test-id": dataTestId, "aria-label": option?.value?.name },
21
+ checkmarkPosition === 'before' && renderCheckmark('before'),
22
+ React.createElement("div", { className: cn(styles.content) }, content),
23
+ checkmarkPosition === 'after' && renderCheckmark('after')));
20
24
  };
21
25
 
22
26
  export { BaseOption };
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../../src/components/base-option/Component.tsx"],"sourcesContent":["import React, { type FC, isValidElement } from 'react';\nimport cn from 'classnames';\n\nimport { type OptionProps } from '../../typings';\nimport { BaseCheckmark } from '../base-checkmark';\n\nimport styles from './index.module.css';\n\nexport const BaseOption: FC<OptionProps> = ({\n className,\n option,\n children,\n selected,\n highlighted,\n disabled,\n multiple,\n Checkmark = BaseCheckmark,\n checkmarkPosition = multiple ? 'before' : 'after',\n align = 'center',\n innerProps,\n dataTestId,\n mobile = false,\n size,\n}) => {\n const content = children || option.content || option.key;\n const { showCheckMark = true } = option;\n const isTextContent = !isValidElement(content);\n const showCheckmark = Checkmark && showCheckMark;\n\n return (\n <div\n {...innerProps}\n className={cn(styles.option, size && styles[`size-${size}`], className, {\n [styles.highlighted]: !mobile && highlighted,\n [styles.selected]: selected,\n [styles.disabled]: disabled,\n [styles.textContent]: isTextContent,\n [styles.mobile]: mobile,\n [styles.checkmarkAfter]:\n showCheckmark && !isTextContent && checkmarkPosition === 'after',\n [styles.checkmarkBefore]:\n showCheckmark && !isTextContent && checkmarkPosition === 'before',\n })}\n data-test-id={dataTestId}\n aria-label={option?.value?.name}\n >\n {showCheckmark ? (\n <Checkmark\n disabled={disabled}\n selected={selected}\n multiple={multiple}\n align={align}\n position={checkmarkPosition}\n content={content}\n />\n ) : (\n <div className={cn(styles.content)}>{content}</div>\n )}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;MAQa,UAAU,GAAoB,CAAC,EACxC,SAAS,EACT,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,GAAG,aAAa,EACzB,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,EACjD,KAAK,GAAG,QAAQ,EAChB,UAAU,EACV,UAAU,EACV,MAAM,GAAG,KAAK,EACd,IAAI,GACP,KAAI;IACD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG;AACxD,IAAA,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,GAAG,MAAM;AACvC,IAAA,MAAM,aAAa,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC;AAC9C,IAAA,MAAM,aAAa,GAAG,SAAS,IAAI,aAAa;IAEhD,QACI,gCACQ,UAAU,EACd,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAE,CAAA,CAAC,EAAE,SAAS,EAAE;YACpE,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,MAAM,IAAI,WAAW;AAC5C,YAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;AAC3B,YAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;AAC3B,YAAA,CAAC,MAAM,CAAC,WAAW,GAAG,aAAa;AACnC,YAAA,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM;AACvB,YAAA,CAAC,MAAM,CAAC,cAAc,GAClB,aAAa,IAAI,CAAC,aAAa,IAAI,iBAAiB,KAAK,OAAO;AACpE,YAAA,CAAC,MAAM,CAAC,eAAe,GACnB,aAAa,IAAI,CAAC,aAAa,IAAI,iBAAiB,KAAK,QAAQ;AACxE,SAAA,CAAC,EACY,cAAA,EAAA,UAAU,EACZ,YAAA,EAAA,MAAM,EAAE,KAAK,EAAE,IAAI,EAE9B,EAAA,aAAa,IACV,KAAC,CAAA,aAAA,CAAA,SAAS,EACN,EAAA,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,OAAO,EAClB,CAAA,KAEF,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAA,EAAG,OAAO,CAAO,CACtD,CACC;AAEd;;;;"}
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/base-option/Component.tsx"],"sourcesContent":["import React, { type FC, isValidElement } from 'react';\nimport cn from 'classnames';\n\nimport { type OptionProps } from '../../typings';\nimport { BaseCheckmark } from '../base-checkmark';\n\nimport styles from './index.module.css';\n\nexport const BaseOption: FC<OptionProps> = ({\n className,\n option,\n children,\n selected,\n highlighted,\n disabled,\n multiple,\n Checkmark = BaseCheckmark,\n checkmarkPosition = multiple ? 'before' : 'after',\n align = 'center',\n innerProps,\n dataTestId,\n mobile = false,\n size,\n}) => {\n const content = children || option.content || option.key;\n const { showCheckMark = true } = option;\n const isTextContent = !isValidElement(content);\n const showCheckmark = Checkmark && showCheckMark;\n\n const renderCheckmark = (position: 'before' | 'after') =>\n showCheckmark && (\n <Checkmark\n disabled={disabled}\n selected={selected}\n multiple={multiple}\n align={align}\n position={position}\n />\n );\n\n return (\n <div\n {...innerProps}\n className={cn(styles.option, size && styles[`size-${size}`], className, {\n [styles.highlighted]: !mobile && highlighted,\n [styles.selected]: selected,\n [styles.disabled]: disabled,\n [styles.textContent]: isTextContent,\n [styles.mobile]: mobile,\n [styles.checkmarkAfter]:\n showCheckmark && !isTextContent && checkmarkPosition === 'after',\n [styles.checkmarkBefore]:\n showCheckmark && !isTextContent && checkmarkPosition === 'before',\n })}\n data-test-id={dataTestId}\n aria-label={option?.value?.name}\n >\n {checkmarkPosition === 'before' && renderCheckmark('before')}\n\n <div className={cn(styles.content)}>{content}</div>\n\n {checkmarkPosition === 'after' && renderCheckmark('after')}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;MAQa,UAAU,GAAoB,CAAC,EACxC,SAAS,EACT,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,GAAG,aAAa,EACzB,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,EACjD,KAAK,GAAG,QAAQ,EAChB,UAAU,EACV,UAAU,EACV,MAAM,GAAG,KAAK,EACd,IAAI,GACP,KAAI;IACD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG;AACxD,IAAA,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,GAAG,MAAM;AACvC,IAAA,MAAM,aAAa,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC;AAC9C,IAAA,MAAM,aAAa,GAAG,SAAS,IAAI,aAAa;AAEhD,IAAA,MAAM,eAAe,GAAG,CAAC,QAA4B,KACjD,aAAa,KACT,KAAC,CAAA,aAAA,CAAA,SAAS,EACN,EAAA,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAAA,CACpB,CACL;IAEL,QACI,gCACQ,UAAU,EACd,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAE,CAAA,CAAC,EAAE,SAAS,EAAE;YACpE,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,MAAM,IAAI,WAAW;AAC5C,YAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;AAC3B,YAAA,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ;AAC3B,YAAA,CAAC,MAAM,CAAC,WAAW,GAAG,aAAa;AACnC,YAAA,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM;AACvB,YAAA,CAAC,MAAM,CAAC,cAAc,GAClB,aAAa,IAAI,CAAC,aAAa,IAAI,iBAAiB,KAAK,OAAO;AACpE,YAAA,CAAC,MAAM,CAAC,eAAe,GACnB,aAAa,IAAI,CAAC,aAAa,IAAI,iBAAiB,KAAK,QAAQ;AACxE,SAAA,CAAC,kBACY,UAAU,EAAA,YAAA,EACZ,MAAM,EAAE,KAAK,EAAE,IAAI,EAAA;AAE9B,QAAA,iBAAiB,KAAK,QAAQ,IAAI,eAAe,CAAC,QAAQ,CAAC;QAE5D,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAG,EAAA,OAAO,CAAO;QAElD,iBAAiB,KAAK,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CACxD;AAEd;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfalab/core-components-select",
3
- "version": "19.1.7",
3
+ "version": "19.1.8",
4
4
  "description": "Select component",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -14,15 +14,15 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "@alfalab/core-components-base-modal": "^7.1.5",
17
- "@alfalab/core-components-bottom-sheet": "^8.1.7",
17
+ "@alfalab/core-components-bottom-sheet": "^8.1.8",
18
18
  "@alfalab/core-components-button": "^13.1.3",
19
19
  "@alfalab/core-components-checkbox": "^6.2.1",
20
20
  "@alfalab/core-components-form-control": "^14.0.6",
21
21
  "@alfalab/core-components-input": "^17.1.6",
22
- "@alfalab/core-components-modal": "^11.0.10",
22
+ "@alfalab/core-components-modal": "^11.0.11",
23
23
  "@alfalab/core-components-mq": "^6.0.4",
24
24
  "@alfalab/core-components-popover": "^8.0.4",
25
- "@alfalab/core-components-scrollbar": "^5.0.2",
25
+ "@alfalab/core-components-scrollbar": "^5.0.3",
26
26
  "@alfalab/core-components-shared": "^2.2.0",
27
27
  "@alfalab/core-components-skeleton": "^7.0.3",
28
28
  "@alfalab/hooks": "^1.13.1",
@@ -46,5 +46,5 @@
46
46
  "directory": "dist"
47
47
  },
48
48
  "themesVersion": "15.1.0",
49
- "varsVersion": "11.0.2"
49
+ "varsVersion": "11.1.0"
50
50
  }
@@ -12,14 +12,14 @@
12
12
  :root {
13
13
  --select-option-list-footer-button-gap: var(--gap-8);
14
14
  }
15
- .select__footer_1sfv8 {
15
+ .select__footer_12x24 {
16
16
  background-color: var(--color-light-base-bg-primary);
17
17
  padding: var(--gap-12);
18
18
  outline: none;
19
19
  }
20
- .select__footer_1sfv8.select__size-72_1sfv8 {
20
+ .select__footer_12x24.select__size-72_12x24 {
21
21
  padding: var(--gap-12) var(--gap-16);
22
22
  }
23
- .select__footer_1sfv8 > .select__button_1sfv8 + .select__button_1sfv8 {
23
+ .select__footer_12x24 > .select__button_12x24 + .select__button_12x24 {
24
24
  margin-left: var(--select-option-list-footer-button-gap);
25
25
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"footer":"select__footer_1sfv8","size-72":"select__size-72_1sfv8","button":"select__button_1sfv8"};
5
+ var styles = {"footer":"select__footer_12x24","size-72":"select__size-72_12x24","button":"select__button_12x24"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -6,16 +6,16 @@
6
6
  --gap-12: var(--gap-s);
7
7
  --gap-16: var(--gap-m);
8
8
  }
9
- .select__desktop_xi3y4 {
9
+ .select__desktop_kklzv {
10
10
  padding: var(--gap-12);
11
11
  }
12
- .select__desktop_xi3y4.select__size-72_xi3y4 {
12
+ .select__desktop_kklzv.select__size-72_kklzv {
13
13
  padding-left: var(--gap-16);
14
14
  }
15
- .select__mobile_xi3y4 {
15
+ .select__mobile_kklzv {
16
16
  padding: var(--gap-12) var(--gap-12) var(--gap-12) var(--gap-8);
17
17
  }
18
- .select__positionAfter_xi3y4 {
18
+ .select__positionAfter_kklzv {
19
19
  margin-left: 0;
20
20
  margin-left: initial;
21
21
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"desktop":"select__desktop_xi3y4","size-72":"select__size-72_xi3y4","mobile":"select__mobile_xi3y4","positionAfter":"select__positionAfter_xi3y4"};
5
+ var styles = {"desktop":"select__desktop_kklzv","size-72":"select__size-72_kklzv","mobile":"select__mobile_kklzv","positionAfter":"select__positionAfter_kklzv"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1,4 +1,4 @@
1
- .select__skeleton_sbv5r {
1
+ .select__skeleton_1jflm {
2
2
  position: absolute;
3
3
  top: 50%;
4
4
  transform: translateY(-50%);
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"skeleton":"select__skeleton_sbv5r"};
5
+ var styles = {"skeleton":"select__skeleton_1jflm"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -15,37 +15,21 @@ export const BaseCheckmark: FC<CheckmarkProps> = ({
15
15
  multiple,
16
16
  align = 'center',
17
17
  position = 'before',
18
- content,
19
- }) => {
20
- const renderCheckmarkIcon = () => (
21
- <CheckmarkMIcon
22
- className={cn(styles.singleIcon, styles[position], {
23
- [styles.selected]: selected,
24
- })}
25
- />
26
- );
27
-
28
- return multiple ? (
18
+ }) =>
19
+ multiple ? (
29
20
  <Checkbox
30
- block={true}
31
21
  checked={selected}
32
22
  disabled={disabled}
33
- contentClassName={cn({ [styles.positionAfter]: position === 'after' })}
34
- className={cn(styles.checkmark, styles[align], className, {
23
+ className={cn(styles.checkmark, styles[position], styles[align], className, {
35
24
  [styles.selected]: selected,
36
25
  })}
37
26
  size={24}
38
- position={position}
39
- label={content}
40
27
  hiddenInput={true}
41
28
  />
42
29
  ) : (
43
- <div className={cn(styles.container, styles[align], className)}>
44
- {position === 'before' && renderCheckmarkIcon()}
45
-
46
- <div className={styles.content}>{content}</div>
47
-
48
- {position === 'after' && renderCheckmarkIcon()}
49
- </div>
30
+ <CheckmarkMIcon
31
+ className={cn(styles.singleIcon, styles[position], styles[align], className, {
32
+ [styles.selected]: selected,
33
+ })}
34
+ />
50
35
  );
51
- };
@@ -5,31 +5,20 @@
5
5
  flex-shrink: 0;
6
6
  box-sizing: border-box;
7
7
 
8
- &.start {
9
- align-self: start;
8
+ &.before {
9
+ margin-right: var(--gap-12);
10
10
  }
11
11
 
12
- &.center {
13
- align-self: center;
12
+ &.after {
13
+ margin-left: var(--gap-12);
14
14
  }
15
- }
16
-
17
- .positionAfter {
18
- margin-left: unset;
19
- }
20
-
21
- .container {
22
- display: flex;
23
- align-items: center;
24
- justify-content: center;
25
- width: 100%;
26
15
 
27
16
  &.start {
28
- align-items: flex-start;
17
+ align-self: start;
29
18
  }
30
19
 
31
20
  &.center {
32
- align-items: center;
21
+ align-self: center;
33
22
  }
34
23
  }
35
24
 
@@ -49,7 +38,3 @@
49
38
  opacity: 1;
50
39
  }
51
40
  }
52
-
53
- .content {
54
- flex: 1;
55
- }
@@ -27,6 +27,17 @@ export const BaseOption: FC<OptionProps> = ({
27
27
  const isTextContent = !isValidElement(content);
28
28
  const showCheckmark = Checkmark && showCheckMark;
29
29
 
30
+ const renderCheckmark = (position: 'before' | 'after') =>
31
+ showCheckmark && (
32
+ <Checkmark
33
+ disabled={disabled}
34
+ selected={selected}
35
+ multiple={multiple}
36
+ align={align}
37
+ position={position}
38
+ />
39
+ );
40
+
30
41
  return (
31
42
  <div
32
43
  {...innerProps}
@@ -44,18 +55,11 @@ export const BaseOption: FC<OptionProps> = ({
44
55
  data-test-id={dataTestId}
45
56
  aria-label={option?.value?.name}
46
57
  >
47
- {showCheckmark ? (
48
- <Checkmark
49
- disabled={disabled}
50
- selected={selected}
51
- multiple={multiple}
52
- align={align}
53
- position={checkmarkPosition}
54
- content={content}
55
- />
56
- ) : (
57
- <div className={cn(styles.content)}>{content}</div>
58
- )}
58
+ {checkmarkPosition === 'before' && renderCheckmark('before')}
59
+
60
+ <div className={cn(styles.content)}>{content}</div>
61
+
62
+ {checkmarkPosition === 'after' && renderCheckmark('after')}
59
63
  </div>
60
64
  );
61
65
  };