@redneckz/wildless-cms-uni-blocks 0.13.4 → 0.13.5

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 (223) hide show
  1. package/bin/migration-scripts/0.13.4.js +30 -0
  2. package/bundle/blocks.schema.json +1 -1
  3. package/bundle/bundle.umd.js +110 -85
  4. package/bundle/bundle.umd.min.js +1 -1
  5. package/bundle/components/Carousel/CarouselContent.d.ts +6 -0
  6. package/bundle/components/Carousel/renderCarouselCards.d.ts +3 -1
  7. package/bundle/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.d.ts +1 -1
  8. package/bundle/ui-kit/Input/InputProps.d.ts +1 -0
  9. package/bundle/ui-kit/List/ListContent.d.ts +2 -2
  10. package/bundle/ui-kit/Select/Select.d.ts +1 -0
  11. package/dist/components/ApplicationForm/ApplicationFormCredit.js +2 -1
  12. package/dist/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  13. package/dist/components/ApplicationForm/PhoneInputControl.js +1 -1
  14. package/dist/components/ApplicationForm/PhoneInputControl.js.map +1 -1
  15. package/dist/components/ApplicationForm/renderCreditDataOrganization.js +1 -1
  16. package/dist/components/ApplicationForm/renderCreditDataOrganization.js.map +1 -1
  17. package/dist/components/ApplicationForm/renderCreditParameters.js +1 -1
  18. package/dist/components/ApplicationForm/renderCreditParameters.js.map +1 -1
  19. package/dist/components/ApplicationForm/renderRegion.js +1 -1
  20. package/dist/components/ApplicationForm/renderRegion.js.map +1 -1
  21. package/dist/components/ApplicationForm/renderRegionDepartment.js +1 -1
  22. package/dist/components/ApplicationForm/renderRegionDepartment.js.map +1 -1
  23. package/dist/components/Carousel/Carousel.js +2 -2
  24. package/dist/components/Carousel/Carousel.js.map +1 -1
  25. package/dist/components/Carousel/CarouselContent.d.ts +6 -0
  26. package/dist/components/Carousel/renderCarouselCards.d.ts +3 -1
  27. package/dist/components/Carousel/renderCarouselCards.js +12 -3
  28. package/dist/components/Carousel/renderCarouselCards.js.map +1 -1
  29. package/dist/components/CarouselLinks/CarouselLinks.js +1 -1
  30. package/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
  31. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.d.ts +1 -1
  32. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +1 -1
  33. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -1
  34. package/dist/components/Headline/headlineVersionStyles.js +1 -1
  35. package/dist/ui-kit/BaseTile/BaseTile.js +1 -1
  36. package/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
  37. package/dist/ui-kit/Input/Input.js +2 -2
  38. package/dist/ui-kit/Input/Input.js.map +1 -1
  39. package/dist/ui-kit/Input/InputProps.d.ts +1 -0
  40. package/dist/ui-kit/List/List.js +2 -0
  41. package/dist/ui-kit/List/List.js.map +1 -1
  42. package/dist/ui-kit/List/ListContent.d.ts +2 -2
  43. package/dist/ui-kit/List/ListItem.js +1 -0
  44. package/dist/ui-kit/List/ListItem.js.map +1 -1
  45. package/dist/ui-kit/Select/Select.d.ts +1 -0
  46. package/dist/ui-kit/Select/Select.js +18 -4
  47. package/dist/ui-kit/Select/Select.js.map +1 -1
  48. package/lib/common.css +1 -1
  49. package/lib/components/ApplicationForm/ApplicationFormCredit.js +2 -1
  50. package/lib/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  51. package/lib/components/ApplicationForm/PhoneInputControl.js +1 -1
  52. package/lib/components/ApplicationForm/PhoneInputControl.js.map +1 -1
  53. package/lib/components/ApplicationForm/renderCreditDataOrganization.js +1 -1
  54. package/lib/components/ApplicationForm/renderCreditDataOrganization.js.map +1 -1
  55. package/lib/components/ApplicationForm/renderCreditParameters.js +1 -1
  56. package/lib/components/ApplicationForm/renderCreditParameters.js.map +1 -1
  57. package/lib/components/ApplicationForm/renderRegion.js +1 -1
  58. package/lib/components/ApplicationForm/renderRegion.js.map +1 -1
  59. package/lib/components/ApplicationForm/renderRegionDepartment.js +1 -1
  60. package/lib/components/ApplicationForm/renderRegionDepartment.js.map +1 -1
  61. package/lib/components/Carousel/Carousel.js +2 -2
  62. package/lib/components/Carousel/Carousel.js.map +1 -1
  63. package/lib/components/Carousel/CarouselContent.d.ts +6 -0
  64. package/lib/components/Carousel/renderCarouselCards.d.ts +3 -1
  65. package/lib/components/Carousel/renderCarouselCards.js +12 -3
  66. package/lib/components/Carousel/renderCarouselCards.js.map +1 -1
  67. package/lib/components/CarouselLinks/CarouselLinks.js +1 -1
  68. package/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
  69. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.d.ts +1 -1
  70. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +1 -1
  71. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -1
  72. package/lib/components/Headline/headlineVersionStyles.js +1 -1
  73. package/lib/ui-kit/BaseTile/BaseTile.js +1 -1
  74. package/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
  75. package/lib/ui-kit/Input/Input.js +2 -2
  76. package/lib/ui-kit/Input/Input.js.map +1 -1
  77. package/lib/ui-kit/Input/InputProps.d.ts +1 -0
  78. package/lib/ui-kit/List/List.js +2 -0
  79. package/lib/ui-kit/List/List.js.map +1 -1
  80. package/lib/ui-kit/List/ListContent.d.ts +2 -2
  81. package/lib/ui-kit/List/ListItem.js +1 -0
  82. package/lib/ui-kit/List/ListItem.js.map +1 -1
  83. package/lib/ui-kit/Select/Select.d.ts +1 -0
  84. package/lib/ui-kit/Select/Select.js +19 -5
  85. package/lib/ui-kit/Select/Select.js.map +1 -1
  86. package/mobile/bundle/bundle.umd.js +111 -22
  87. package/mobile/bundle/bundle.umd.min.js +1 -1
  88. package/mobile/bundle/components/Carousel/CarouselContent.d.ts +6 -0
  89. package/mobile/bundle/components/Carousel/renderCarouselCards.d.ts +3 -1
  90. package/mobile/bundle/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +1 -1
  91. package/mobile/bundle/ui-kit/Input/InputProps.d.ts +1 -0
  92. package/mobile/bundle/ui-kit/List/ListContent.d.ts +2 -2
  93. package/mobile/bundle/ui-kit/Select/Select.d.ts +1 -0
  94. package/mobile/dist/components/ApplicationForm/ApplicationFormCredit.js +2 -1
  95. package/mobile/dist/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  96. package/mobile/dist/components/ApplicationForm/PhoneInputControl.js +1 -1
  97. package/mobile/dist/components/ApplicationForm/PhoneInputControl.js.map +1 -1
  98. package/mobile/dist/components/ApplicationForm/renderCreditDataOrganization.js +1 -1
  99. package/mobile/dist/components/ApplicationForm/renderCreditDataOrganization.js.map +1 -1
  100. package/mobile/dist/components/ApplicationForm/renderCreditParameters.js +1 -1
  101. package/mobile/dist/components/ApplicationForm/renderCreditParameters.js.map +1 -1
  102. package/mobile/dist/components/ApplicationForm/renderRegion.js +1 -1
  103. package/mobile/dist/components/ApplicationForm/renderRegion.js.map +1 -1
  104. package/mobile/dist/components/ApplicationForm/renderRegionDepartment.js +1 -1
  105. package/mobile/dist/components/ApplicationForm/renderRegionDepartment.js.map +1 -1
  106. package/mobile/dist/components/Carousel/Carousel.js +2 -2
  107. package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
  108. package/mobile/dist/components/Carousel/CarouselContent.d.ts +6 -0
  109. package/mobile/dist/components/Carousel/renderCarouselCards.d.ts +3 -1
  110. package/mobile/dist/components/Carousel/renderCarouselCards.js +12 -3
  111. package/mobile/dist/components/Carousel/renderCarouselCards.js.map +1 -1
  112. package/mobile/dist/components/CarouselLinks/CarouselLinks.js +1 -1
  113. package/mobile/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
  114. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +1 -1
  115. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -1
  116. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  117. package/mobile/dist/components/Footer/buttonSizeStyles.js +1 -1
  118. package/mobile/dist/components/Headline/headlineVersionStyles.js +1 -1
  119. package/mobile/dist/ui-kit/BaseTile/BaseTile.js +1 -1
  120. package/mobile/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
  121. package/mobile/dist/ui-kit/Input/Input.js +2 -2
  122. package/mobile/dist/ui-kit/Input/Input.js.map +1 -1
  123. package/mobile/dist/ui-kit/Input/InputProps.d.ts +1 -0
  124. package/mobile/dist/ui-kit/List/List.js +2 -0
  125. package/mobile/dist/ui-kit/List/List.js.map +1 -1
  126. package/mobile/dist/ui-kit/List/ListContent.d.ts +2 -2
  127. package/mobile/dist/ui-kit/List/ListItem.js +1 -0
  128. package/mobile/dist/ui-kit/List/ListItem.js.map +1 -1
  129. package/mobile/dist/ui-kit/Select/Select.d.ts +1 -0
  130. package/mobile/dist/ui-kit/Select/Select.js +18 -4
  131. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  132. package/mobile/lib/common.css +1 -1
  133. package/mobile/lib/components/ApplicationForm/ApplicationFormCredit.js +2 -1
  134. package/mobile/lib/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  135. package/mobile/lib/components/ApplicationForm/PhoneInputControl.js +1 -1
  136. package/mobile/lib/components/ApplicationForm/PhoneInputControl.js.map +1 -1
  137. package/mobile/lib/components/ApplicationForm/renderCreditDataOrganization.js +1 -1
  138. package/mobile/lib/components/ApplicationForm/renderCreditDataOrganization.js.map +1 -1
  139. package/mobile/lib/components/ApplicationForm/renderCreditParameters.js +1 -1
  140. package/mobile/lib/components/ApplicationForm/renderCreditParameters.js.map +1 -1
  141. package/mobile/lib/components/ApplicationForm/renderRegion.js +1 -1
  142. package/mobile/lib/components/ApplicationForm/renderRegion.js.map +1 -1
  143. package/mobile/lib/components/ApplicationForm/renderRegionDepartment.js +1 -1
  144. package/mobile/lib/components/ApplicationForm/renderRegionDepartment.js.map +1 -1
  145. package/mobile/lib/components/Carousel/Carousel.js +2 -2
  146. package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
  147. package/mobile/lib/components/Carousel/CarouselContent.d.ts +6 -0
  148. package/mobile/lib/components/Carousel/renderCarouselCards.d.ts +3 -1
  149. package/mobile/lib/components/Carousel/renderCarouselCards.js +12 -3
  150. package/mobile/lib/components/Carousel/renderCarouselCards.js.map +1 -1
  151. package/mobile/lib/components/CarouselLinks/CarouselLinks.js +1 -1
  152. package/mobile/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
  153. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +1 -1
  154. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -1
  155. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  156. package/mobile/lib/components/Footer/buttonSizeStyles.js +1 -1
  157. package/mobile/lib/components/Headline/headlineVersionStyles.js +1 -1
  158. package/mobile/lib/ui-kit/BaseTile/BaseTile.js +1 -1
  159. package/mobile/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
  160. package/mobile/lib/ui-kit/Input/Input.js +2 -2
  161. package/mobile/lib/ui-kit/Input/Input.js.map +1 -1
  162. package/mobile/lib/ui-kit/Input/InputProps.d.ts +1 -0
  163. package/mobile/lib/ui-kit/List/List.js +2 -0
  164. package/mobile/lib/ui-kit/List/List.js.map +1 -1
  165. package/mobile/lib/ui-kit/List/ListContent.d.ts +2 -2
  166. package/mobile/lib/ui-kit/List/ListItem.js +1 -0
  167. package/mobile/lib/ui-kit/List/ListItem.js.map +1 -1
  168. package/mobile/lib/ui-kit/Select/Select.d.ts +1 -0
  169. package/mobile/lib/ui-kit/Select/Select.js +19 -5
  170. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  171. package/mobile/src/components/ApplicationForm/ApplicationFormCredit.tsx +2 -1
  172. package/mobile/src/components/ApplicationForm/PhoneInputControl.tsx +1 -0
  173. package/mobile/src/components/ApplicationForm/renderCreditDataOrganization.tsx +1 -1
  174. package/mobile/src/components/ApplicationForm/renderCreditParameters.tsx +2 -2
  175. package/mobile/src/components/ApplicationForm/renderRegion.tsx +1 -0
  176. package/mobile/src/components/ApplicationForm/renderRegionDepartment.tsx +1 -0
  177. package/mobile/src/components/Carousel/Carousel.example.json +2 -1
  178. package/mobile/src/components/Carousel/Carousel.tsx +2 -1
  179. package/mobile/src/components/Carousel/CarouselContent.ts +7 -0
  180. package/mobile/src/components/Carousel/renderCarouselCards.tsx +20 -4
  181. package/mobile/src/components/CarouselLinks/CarouselLinks.tsx +1 -1
  182. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +7 -7
  183. package/mobile/src/components/Footer/buttonSizeStyles.ts +1 -1
  184. package/mobile/src/components/Headline/headlineVersionStyles.ts +1 -1
  185. package/mobile/src/ui-kit/BaseTile/BaseTile.tsx +1 -1
  186. package/mobile/src/ui-kit/Input/Input.tsx +2 -0
  187. package/mobile/src/ui-kit/Input/InputProps.ts +1 -0
  188. package/mobile/src/ui-kit/List/List.tsx +2 -0
  189. package/mobile/src/ui-kit/List/ListContent.ts +2 -2
  190. package/mobile/src/ui-kit/List/ListItem.tsx +1 -0
  191. package/mobile/src/ui-kit/Select/Select.tsx +46 -12
  192. package/package.json +1 -1
  193. package/src/components/ApplicationForm/ApplicationFormCredit.tsx +2 -1
  194. package/src/components/ApplicationForm/PhoneInputControl.tsx +1 -0
  195. package/src/components/ApplicationForm/renderCreditDataOrganization.tsx +1 -1
  196. package/src/components/ApplicationForm/renderCreditParameters.tsx +2 -2
  197. package/src/components/ApplicationForm/renderRegion.tsx +1 -0
  198. package/src/components/ApplicationForm/renderRegionDepartment.tsx +1 -0
  199. package/src/components/Carousel/Carousel.example.json +2 -1
  200. package/src/components/Carousel/Carousel.fixture.tsx +2 -0
  201. package/src/components/Carousel/Carousel.tsx +2 -1
  202. package/src/components/Carousel/CarouselContent.ts +7 -0
  203. package/src/components/Carousel/renderCarouselCards.tsx +20 -4
  204. package/src/components/CarouselLinks/CarouselLinks.fixture.tsx +12 -9
  205. package/src/components/CarouselLinks/CarouselLinks.tsx +1 -1
  206. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.mobile.tsx +1 -1
  207. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.tsx +7 -7
  208. package/src/components/Headline/headlineVersionStyles.ts +1 -1
  209. package/src/ui-kit/BaseTile/BaseTile.tsx +1 -1
  210. package/src/ui-kit/Input/Input.tsx +2 -0
  211. package/src/ui-kit/Input/InputProps.ts +1 -0
  212. package/src/ui-kit/List/List.tsx +2 -0
  213. package/src/ui-kit/List/ListContent.ts +2 -2
  214. package/src/ui-kit/List/ListItem.tsx +1 -0
  215. package/src/ui-kit/Select/Select.tsx +46 -12
  216. package/bundle/components/Footer/buttonSizeStyles.mobile.d.ts +0 -4
  217. package/dist/components/Footer/buttonSizeStyles.mobile.d.ts +0 -4
  218. package/dist/components/Footer/buttonSizeStyles.mobile.js +0 -7
  219. package/dist/components/Footer/buttonSizeStyles.mobile.js.map +0 -1
  220. package/lib/components/Footer/buttonSizeStyles.mobile.d.ts +0 -4
  221. package/lib/components/Footer/buttonSizeStyles.mobile.js +0 -5
  222. package/lib/components/Footer/buttonSizeStyles.mobile.js.map +0 -1
  223. package/src/components/Footer/buttonSizeStyles.mobile.ts +0 -6
@@ -3,11 +3,13 @@ import { JSX } from '@redneckz/uni-jsx';
3
3
  import { style } from '../../utils/style.js';
4
4
  import { ListItem } from './ListItem.js';
5
5
  const TEXT_SIZE_MAP = {
6
+ XS: 'text-m font-light',
6
7
  S: 'text-l font-light',
7
8
  M: 'text-h6',
8
9
  L: 'text-h5',
9
10
  };
10
11
  const ITEM_INDENT_MAP = {
12
+ XS: 'ml-2xs',
11
13
  S: 'ml-xs',
12
14
  M: 'ml-s',
13
15
  L: 'ml-m',
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sourceRoot":"","sources":["../../../src/ui-kit/List/List.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,aAAa,GAAiC;IAClD,CAAC,EAAE,mBAAmB;IACtB,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;CACb,CAAC;AAEF,MAAM,eAAe,GAAiC;IACpD,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,MAAM;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CACrB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,GAAG,GAAG,EAAE,EAAE,EAAE,CAChE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACd,kBACE,SAAS,EAAE,KAAK,CACd,sHAAsH,EACtH,aAAa,CAAC,YAAY,CAAC,EAC3B,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAC9C,SAAS,CACV,EACD,IAAI,EAAC,MAAM,YAEV,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,KAAC,QAAQ,IAAiB,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,YAC7D,IAAI,IADQ,MAAM,CAAC,CAAC,CAAC,CAEb,CACZ,CAAC,GACM,CACX,CAAC,CAAC,CAAC,IAAI,CACX,CAAC"}
1
+ {"version":3,"file":"List.js","sourceRoot":"","sources":["../../../src/ui-kit/List/List.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,aAAa,GAAiC;IAClD,EAAE,EAAE,mBAAmB;IACvB,CAAC,EAAE,mBAAmB;IACtB,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;CACb,CAAC;AAEF,MAAM,eAAe,GAAiC;IACpD,EAAE,EAAE,QAAQ;IACZ,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,MAAM;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CACrB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,GAAG,GAAG,EAAE,EAAE,EAAE,CAChE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACd,kBACE,SAAS,EAAE,KAAK,CACd,sHAAsH,EACtH,aAAa,CAAC,YAAY,CAAC,EAC3B,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAC9C,SAAS,CACV,EACD,IAAI,EAAC,MAAM,YAEV,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,KAAC,QAAQ,IAAiB,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,YAC7D,IAAI,IADQ,MAAM,CAAC,CAAC,CAAC,CAEb,CACZ,CAAC,GACM,CACX,CAAC,CAAC,CAAC,IAAI,CACX,CAAC"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @title Размер пунктов списка
3
- * @enumNames ["Маленький", "Средний", "Большой"]
3
+ * @enumNames ["Очень маленький", "Маленький", "Средний", "Большой"]
4
4
  */
5
- export declare type ListItemSize = 'S' | 'M' | 'L';
5
+ export declare type ListItemSize = 'XS' | 'S' | 'M' | 'L';
6
6
  export interface ListContent {
7
7
  /** @title Список */
8
8
  items?: string[];
@@ -5,6 +5,7 @@ const DOT_SIZE_MAP = {
5
5
  L: 'w-1.5 h-1.5 mr-m',
6
6
  M: 'w-1.5 h-1.5 mr-s',
7
7
  S: 'w-1 h-1 mr-xs',
8
+ XS: 'w-1 h-1 mr-xs',
8
9
  };
9
10
  export const ListItem = JSX(({ className, isDotted = true, children, size = 'M' }) => (_jsxs("div", { className: style('font-sans flex', className), role: "listitem", children: [isDotted ? (_jsx("div", { className: "shrink-0", children: _jsx("div", { className: style('align-middle inline-block rounded-full bg-primary-text group-data-secondary:bg-white', DOT_SIZE_MAP[size]) }) })) : null, _jsx("span", { children: children })] })));
10
11
  //# sourceMappingURL=ListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../../src/ui-kit/List/ListItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAa1C,MAAM,YAAY,GAAG;IACnB,CAAC,EAAE,kBAAkB;IACrB,CAAC,EAAE,kBAAkB;IACrB,CAAC,EAAE,eAAe;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CACzB,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,CACxD,eAAK,SAAS,EAAE,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,IAAI,EAAC,UAAU,aAChE,QAAQ,CAAC,CAAC,CAAC,CACV,cAAK,SAAS,EAAC,UAAU,YACvB,cACE,SAAS,EAAE,KAAK,CACd,sFAAsF,EACtF,YAAY,CAAC,IAAI,CAAC,CACnB,GACD,GACE,CACP,CAAC,CAAC,CAAC,IAAI,EACR,yBAAO,QAAQ,GAAQ,IACnB,CACP,CACF,CAAC"}
1
+ {"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../../src/ui-kit/List/ListItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAa1C,MAAM,YAAY,GAAG;IACnB,CAAC,EAAE,kBAAkB;IACrB,CAAC,EAAE,kBAAkB;IACrB,CAAC,EAAE,eAAe;IAClB,EAAE,EAAE,eAAe;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CACzB,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,CACxD,eAAK,SAAS,EAAE,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,IAAI,EAAC,UAAU,aAChE,QAAQ,CAAC,CAAC,CAAC,CACV,cAAK,SAAS,EAAC,UAAU,YACvB,cACE,SAAS,EAAE,KAAK,CACd,sFAAsF,EACtF,YAAY,CAAC,IAAI,CAAC,CACnB,GACD,GACE,CACP,CAAC,CAAC,CAAC,IAAI,EACR,yBAAO,QAAQ,GAAQ,IACnB,CACP,CACF,CAAC"}
@@ -11,5 +11,6 @@ export declare type SelectProps = LabelProps & {
11
11
  isBorder?: boolean;
12
12
  placeholder?: string;
13
13
  onChange?: (value: Option) => void;
14
+ isSearch?: boolean;
14
15
  };
15
16
  export declare const Select: import("@redneckz/uni-jsx").UNIComponent<SelectProps, any, any>;
@@ -1,21 +1,35 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
- import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
3
+ import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
4
4
  import { useBool } from '../../hooks/useBool.js';
5
5
  import { useOutsideClick } from '../../hooks/useOutsideClick.js';
6
+ import { jaroWinklerDistance } from '../../services/search/jaroWinklerDistance.js';
6
7
  import { Text } from '../../ui-kit/Text/Text.js';
7
8
  import { style } from '../../utils/style.js';
8
9
  import { Icon } from '../Icon/Icon.js';
9
- export const Select = JSX(({ className = '', label, options = [], value, valid = true, isBorder = true, placeholder = '', onChange, }) => {
10
+ import { Input } from '../Input/Input.js';
11
+ export const Select = JSX(({ className = '', label, options = [], value, valid = true, isBorder = true, placeholder = '', onChange, isSearch = false, }) => {
10
12
  const [isOpen, { setFalse: close, toggle }] = useBool();
11
- const wrapperRef = useOutsideClick(close);
12
- const handleChange = useCallback((option) => {
13
+ const [searchValue, setSearchValue] = useState('');
14
+ const reset = useCallback(() => {
13
15
  close();
16
+ setSearchValue('');
17
+ }, []);
18
+ const wrapperRef = useOutsideClick(reset);
19
+ const handleChange = useCallback((option) => {
20
+ reset();
14
21
  onChange && onChange(option);
15
22
  }, [onChange]);
16
23
  const isSelected = (option) => option.key === value?.key;
17
- return (_jsxs("div", { className: className, ref: wrapperRef, children: [label ? (_jsx("div", { className: "mb-xs", children: _jsx(Text, { size: "text-m", color: "text-primary-text", font: "font-light", children: label }) })) : null, _jsxs("div", { className: style('relative', isOpen ? 'z-20' : 'z-10'), children: [_jsxs("div", { className: style('text-l flex justify-between items-center text-primary-text cursor-pointer', getBorderStyle(isBorder, valid)), onClick: toggle, children: [_jsx("p", { className: "p-m pr-3xl h-14 overflow-hidden text-ellipsis whitespace-nowrap", children: formatOption(value) || placeholder }), _jsx(Icon, { className: style('absolute right-3', isOpen ? '' : 'rotate-180'), name: "ArrowUpIcon", width: "16", height: "16" })] }), options?.length ? (_jsx("div", { className: style('h-0', isOpen ? '' : 'overflow-hidden'), children: _jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]", children: options.map(renderOption(handleChange, isOpen, isSelected)) }) })) : null] })] }));
24
+ return (_jsxs("div", { className: className, ref: wrapperRef, children: [renderLabel(label), _jsxs("div", { className: style('relative', isOpen ? 'z-20' : 'z-10'), children: [_jsxs("div", { className: style('text-l flex justify-between items-center text-primary-text cursor-pointer relative z-10', getBorderStyle(isBorder, valid)), onClick: toggle, children: [_jsx("p", { className: "p-m pr-3xl h-14 overflow-hidden text-ellipsis whitespace-nowrap", children: formatOption(value) || placeholder }), _jsx(Icon, { className: style('absolute right-3', isOpen ? '' : 'rotate-180'), name: "ArrowUpIcon", width: "16", height: "16" })] }), isSearch ? renderSearch(isOpen, searchValue, setSearchValue) : null, options?.length ? (_jsx("div", { className: style('h-0', isOpen ? '' : 'overflow-hidden'), children: _jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]", children: getFilteredOptions(options, searchValue).map(renderOption(handleChange, isOpen, isSelected)) }) })) : null] })] }));
18
25
  });
26
+ const renderLabel = (label) => label ? (_jsx("div", { className: "mb-xs", children: _jsx(Text, { size: "text-m", color: "text-primary-text", font: "font-light", children: label }) })) : null;
27
+ const getFilteredOptions = (options, searchValue) => {
28
+ return searchValue
29
+ ? options.filter((_) => jaroWinklerDistance(_.text?.toLowerCase())(searchValue.toLowerCase()) >= 0.6)
30
+ : options;
31
+ };
32
+ const renderSearch = (isOpen, searchValue, setSearchValue) => isOpen ? (_jsx("div", { className: style('absolute top-0 w-full h-full z-20'), children: _jsx(Input, { type: "text", autoFocus: true, value: searchValue, onChange: setSearchValue }) })) : null;
19
33
  const renderOption = (handleChange, isOpen, isSelected) => (option, i) => (_jsxs("div", { onClick: () => {
20
34
  handleChange(option);
21
35
  }, className: "flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative", children: [_jsx("span", { className: "min-h-6", children: formatOption(option) }), _jsx(Icon, { name: "DoneSimpleIcon", width: "16", height: "16", className: style('absolute right-4 pt-3xs', isSelected(option) && isOpen ? '' : 'hidden') })] }, String(i)));
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/Select.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/Select.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAkBvC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CACvB,CAAC,EACC,SAAS,GAAG,EAAE,EACd,KAAK,EACL,OAAO,GAAG,EAAE,EACZ,KAAK,EACL,KAAK,GAAG,IAAI,EACZ,QAAQ,GAAG,IAAI,EACf,WAAW,GAAG,EAAE,EAChB,QAAQ,EACR,QAAQ,GAAG,KAAK,GACjB,EAAE,EAAE;IACH,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC;IACxD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,KAAK,EAAE,CAAC;QACR,cAAc,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,UAAU,GAAG,eAAe,CAAiB,KAAK,CAAC,CAAC;IAE1D,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,MAAc,EAAE,EAAE;QACjB,KAAK,EAAE,CAAC;QACR,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,KAAK,EAAE,GAAG,CAAC;IAEjE,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,aACvC,WAAW,CAAC,KAAK,CAAC,EACnB,eAAK,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,aACzD,eACE,SAAS,EAAE,KAAK,CACd,yFAAyF,EACzF,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAChC,EACD,OAAO,EAAE,MAAM,aAEf,YAAG,SAAS,EAAC,iEAAiE,YAC3E,YAAY,CAAC,KAAK,CAAC,IAAI,WAAW,GACjC,EACJ,KAAC,IAAI,IACH,SAAS,EAAE,KAAK,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAChE,IAAI,EAAC,aAAa,EAClB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,GACX,IACE,EACL,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EACnE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CACjB,cAAK,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAC3D,cAAK,SAAS,EAAC,4GAA4G,YACxH,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,GAAG,CAC3C,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,CAC/C,GACG,GACF,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,IACF,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAE,CACrC,KAAK,CAAC,CAAC,CAAC,CACN,cAAK,SAAS,EAAC,OAAO,YACpB,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAC,YAAY,YAC5D,KAAK,GACD,GACH,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AAEX,MAAM,kBAAkB,GAAG,CAAC,OAAiB,EAAE,WAAmB,EAAE,EAAE;IACpE,OAAO,WAAW;QAChB,CAAC,CAAC,OAAO,CAAC,MAAM,CACZ,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,GAAG,CACpF;QACH,CAAC,CAAC,OAAO,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,MAAe,EACf,WAAmB,EACnB,cAAuC,EACvC,EAAE,CACF,MAAM,CAAC,CAAC,CAAC,CACP,cAAK,SAAS,EAAE,KAAK,CAAC,mCAAmC,CAAC,YACxD,KAAC,KAAK,IAAC,IAAI,EAAC,MAAM,EAAC,SAAS,QAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,GAAI,GACzE,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AAEX,MAAM,YAAY,GAChB,CACE,YAAsC,EACtC,MAAe,EACf,UAAuC,EACvC,EAAE,CACJ,CAAC,MAAc,EAAE,CAAS,EAAE,EAAE,CAC5B,CACE,eAEE,OAAO,EAAE,GAAG,EAAE;QACZ,YAAY,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,EACD,SAAS,EAAC,qEAAqE,aAE/E,eAAM,SAAS,EAAC,SAAS,YAAE,YAAY,CAAC,MAAM,CAAC,GAAQ,EACvD,KAAC,IAAI,IACH,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,SAAS,EAAE,KAAK,CAAC,yBAAyB,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GACzF,KAZG,MAAM,CAAC,CAAC,CAAC,CAaV,CACP,CAAC;AAEN,MAAM,YAAY,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;AAErE,MAAM,cAAc,GAAG,CAAC,QAAiB,EAAE,KAAc,EAAE,EAAE,CAC3D,KAAK,CACH,QAAQ,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,EAAE,EAC9D,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CACxC,CAAC"}
@@ -693,7 +693,7 @@
693
693
  };
694
694
  };
695
695
 
696
- const Input = JSX(({ key, className = '', inputClassName = '', id, name, type = 'text', label, placeholder, value = '', valid = true, children, onChange, onFocus, onBlur, pattern, }) => {
696
+ const Input = JSX(({ key, className = '', inputClassName = '', id, name, type = 'text', label, placeholder, value = '', valid = true, children, onChange, onFocus, onBlur, pattern, autoFocus = false, }) => {
697
697
  const handleChange = useCallback((e) => {
698
698
  onChange && onChange(e.target?.value || '');
699
699
  }, [onChange]);
@@ -701,7 +701,7 @@
701
701
  const validStyle = valid
702
702
  ? 'border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text'
703
703
  : 'border-error';
704
- return (jsxs("div", { className: style('relative', className), children: [jsxs("label", { children: [label ? (jsx("div", { className: "mb-xs", children: jsx(Text, { size: "text-m", font: "font-light", children: label }) })) : null, jsx("input", { className: style('w-full border rounded-md text-primary-text outline-none p-m', paddingStyle, validStyle, inputClassName), id: id, name: name || id, placeholder: placeholder, type: type, value: value, onInput: handleChange, onFocus: onFocus, onBlur: onBlur, pattern: pattern }, key)] }), children] }));
704
+ return (jsxs("div", { className: style('relative', className), children: [jsxs("label", { children: [label ? (jsx("div", { className: "mb-xs", children: jsx(Text, { size: "text-m", font: "font-light", children: label }) })) : null, jsx("input", { className: style('w-full border rounded-md text-primary-text outline-none p-m', paddingStyle, validStyle, inputClassName), id: id, name: name || id, placeholder: placeholder, type: type, value: value, onInput: handleChange, onFocus: onFocus, onBlur: onBlur, pattern: pattern, autoFocus: autoFocus }, key)] }), children] }));
705
705
  });
706
706
 
707
707
  const InputControl = JSX(({ className, label, value = '', error, onChange, onBlur }) => (jsxs("div", { className: className, children: [jsx(Input, { type: "text", "aria-label": label, label: label, valid: Boolean(!error), value: value, onChange: onChange, onBlur: onBlur }), jsx("div", { className: "h-2", children: error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: error })) : null })] })));
@@ -725,7 +725,7 @@
725
725
  return (jsx(Input, { onChange: handleChange, onFocus: (event) => handleChange(event?.target?.value || ''), ...inputProps, children: children }));
726
726
  });
727
727
 
728
- const PhoneInputControl = JSX(({ className, label, value, error, onChange, onBlur }) => (jsxs("div", { className: className, children: [jsx(PhoneInput, { "aria-label": label, label: label, valid: Boolean(!error), value: value, onChange: onChange, onBlur: onBlur }), jsx("div", { className: "h-2", children: error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: error })) : null })] })));
728
+ const PhoneInputControl = JSX(({ className, label, value, error, onChange, onBlur }) => (jsxs("div", { className: className, children: [jsx(PhoneInput, { "aria-label": label, label: label, valid: Boolean(!error), value: value, onChange: onChange, onBlur: onBlur, placeholder: "+7 (___) ___-__-__" }), jsx("div", { className: "h-2", children: error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: error })) : null })] })));
729
729
 
730
730
  const pattern = (regexp) => validator((_) => typeof _ === 'string' && regexp.test(_));
731
731
 
@@ -784,6 +784,70 @@
784
784
  return targetRef;
785
785
  }
786
786
 
787
+ const JARO_WINKLER_P = 0.1;
788
+ const JARO_WINKLER_MAX_L = 4;
789
+ const jaroWinklerDistance = (s1) => (s2) => {
790
+ if (s1 === s2) {
791
+ return 1;
792
+ }
793
+ if (!s1 || !s2) {
794
+ return 0;
795
+ }
796
+ const { m, s1Matches, s2Matches } = computeM(s1, s2);
797
+ if (m === 0) {
798
+ return 0;
799
+ }
800
+ const t = computeT(s1, s2, { s1Matches, s2Matches });
801
+ const jaroWeight = (m / s1.length + m / s2.length + (m - t / 2) / m) / 3;
802
+ const winklerWeight = jaroWeight > 0.7 ? computePrefixL(s1, s2) * JARO_WINKLER_P : 0;
803
+ return jaroWeight + winklerWeight * (1 - jaroWeight);
804
+ };
805
+ function computeM(s1, s2) {
806
+ const range = Math.max(0, Math.floor(Math.max(s1.length, s2.length) / 2) - 1);
807
+ const s1Matches = new Array(s1.length);
808
+ const s2Matches = new Array(s2.length);
809
+ let m = 0;
810
+ for (let i = 0; i < s1.length; i++) {
811
+ const low = Math.max(0, i - range);
812
+ const high = Math.min(i + range, s2.length - 1);
813
+ for (let j = low; j <= high; j++) {
814
+ if (s1Matches[i] || s2Matches[j] || s1[i] !== s2[j]) {
815
+ continue;
816
+ }
817
+ m++;
818
+ s1Matches[i] = true;
819
+ s2Matches[j] = true;
820
+ }
821
+ }
822
+ return { m, s1Matches, s2Matches };
823
+ }
824
+ function computeT(s1, s2, { s1Matches, s2Matches }) {
825
+ let t = 0;
826
+ for (let i = 0, k = 0; i < s1.length; i++) {
827
+ if (!s1Matches[i]) {
828
+ continue;
829
+ }
830
+ let j = k;
831
+ for (; j < s2.length; j++) {
832
+ if (s2Matches[j]) {
833
+ k = j + 1;
834
+ break;
835
+ }
836
+ }
837
+ if (s1[i] !== s2[j]) {
838
+ t++;
839
+ }
840
+ }
841
+ return t;
842
+ }
843
+ function computePrefixL(s1, s2) {
844
+ let prefixL = 0;
845
+ while (s1[prefixL] === s2[prefixL] && prefixL < JARO_WINKLER_MAX_L) {
846
+ prefixL++;
847
+ }
848
+ return prefixL;
849
+ }
850
+
787
851
  const svgUseStyleMap = {
788
852
  normal: '',
789
853
  color: 'text-primary-main',
@@ -804,16 +868,28 @@
804
868
  const getSvgSize = (width) => (width ? '' : 'w-full h-full');
805
869
  const Background = JSX(({ className, children }) => className ? jsx("div", { className: className, children: children }) : children);
806
870
 
807
- const Select = JSX(({ className = '', label, options = [], value, valid = true, isBorder = true, placeholder = '', onChange, }) => {
871
+ const Select = JSX(({ className = '', label, options = [], value, valid = true, isBorder = true, placeholder = '', onChange, isSearch = false, }) => {
808
872
  const [isOpen, { setFalse: close, toggle }] = useBool();
809
- const wrapperRef = useOutsideClick(close);
810
- const handleChange = useCallback((option) => {
873
+ const [searchValue, setSearchValue] = useState('');
874
+ const reset = useCallback(() => {
811
875
  close();
876
+ setSearchValue('');
877
+ }, []);
878
+ const wrapperRef = useOutsideClick(reset);
879
+ const handleChange = useCallback((option) => {
880
+ reset();
812
881
  onChange && onChange(option);
813
882
  }, [onChange]);
814
883
  const isSelected = (option) => option.key === value?.key;
815
- return (jsxs("div", { className: className, ref: wrapperRef, children: [label ? (jsx("div", { className: "mb-xs", children: jsx(Text, { size: "text-m", color: "text-primary-text", font: "font-light", children: label }) })) : null, jsxs("div", { className: style('relative', isOpen ? 'z-20' : 'z-10'), children: [jsxs("div", { className: style('text-l flex justify-between items-center text-primary-text cursor-pointer', getBorderStyle(isBorder, valid)), onClick: toggle, children: [jsx("p", { className: "p-m pr-3xl h-14 overflow-hidden text-ellipsis whitespace-nowrap", children: formatOption(value) || placeholder }), jsx(Icon, { className: style('absolute right-3', isOpen ? '' : 'rotate-180'), name: "ArrowUpIcon", width: "16", height: "16" })] }), options?.length ? (jsx("div", { className: style('h-0', isOpen ? '' : 'overflow-hidden'), children: jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]", children: options.map(renderOption(handleChange, isOpen, isSelected)) }) })) : null] })] }));
884
+ return (jsxs("div", { className: className, ref: wrapperRef, children: [renderLabel(label), jsxs("div", { className: style('relative', isOpen ? 'z-20' : 'z-10'), children: [jsxs("div", { className: style('text-l flex justify-between items-center text-primary-text cursor-pointer relative z-10', getBorderStyle(isBorder, valid)), onClick: toggle, children: [jsx("p", { className: "p-m pr-3xl h-14 overflow-hidden text-ellipsis whitespace-nowrap", children: formatOption(value) || placeholder }), jsx(Icon, { className: style('absolute right-3', isOpen ? '' : 'rotate-180'), name: "ArrowUpIcon", width: "16", height: "16" })] }), isSearch ? renderSearch(isOpen, searchValue, setSearchValue) : null, options?.length ? (jsx("div", { className: style('h-0', isOpen ? '' : 'overflow-hidden'), children: jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]", children: getFilteredOptions(options, searchValue).map(renderOption(handleChange, isOpen, isSelected)) }) })) : null] })] }));
816
885
  });
886
+ const renderLabel = (label) => label ? (jsx("div", { className: "mb-xs", children: jsx(Text, { size: "text-m", color: "text-primary-text", font: "font-light", children: label }) })) : null;
887
+ const getFilteredOptions = (options, searchValue) => {
888
+ return searchValue
889
+ ? options.filter((_) => jaroWinklerDistance(_.text?.toLowerCase())(searchValue.toLowerCase()) >= 0.6)
890
+ : options;
891
+ };
892
+ const renderSearch = (isOpen, searchValue, setSearchValue) => isOpen ? (jsx("div", { className: style('absolute top-0 w-full h-full z-20'), children: jsx(Input, { type: "text", autoFocus: true, value: searchValue, onChange: setSearchValue }) })) : null;
817
893
  const renderOption = (handleChange, isOpen, isSelected) => (option, i) => (jsxs("div", { onClick: () => {
818
894
  handleChange(option);
819
895
  }, className: "flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative", children: [jsx("span", { className: "min-h-6", children: formatOption(option) }), jsx(Icon, { name: "DoneSimpleIcon", width: "16", height: "16", className: style('absolute right-4 pt-3xs', isSelected(option) && isOpen ? '' : 'hidden') })] }, String(i)));
@@ -875,7 +951,7 @@
875
951
 
876
952
  const renderBusinessCardDataOrganization = (field) => (jsxs("div", { className: "sm:flex sm:justify-between sm:gap-lg", children: [jsxs("div", { className: "sm:w-1/2 space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", ...withValidator(field('name'), nameValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u0418\u041D\u041D", ...withValidator(field('inn'), innValidator) })] }), jsxs("div", { className: "sm:w-1/2 space-y-s", children: [jsx(PhoneInputControl, { className: "shrink-0 w-full", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...withValidator(field('mail'), defaultValidator) })] })] }));
877
953
 
878
- const renderRegion = ({ regions, field }) => (jsx(SelectControl, { className: "w-full", label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", options: regions.map(({ code = '', name = '' }) => ({ key: code, text: name })), ...withValidator(field('region'), defaultValidator) }));
954
+ const renderRegion = ({ regions, field }) => (jsx(SelectControl, { className: "w-full", label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", isSearch: true, options: regions.map(({ code = '', name = '' }) => ({ key: code, text: name })), ...withValidator(field('region'), defaultValidator) }));
879
955
 
880
956
  const initialFormState$3 = {
881
957
  name: '',
@@ -927,7 +1003,7 @@
927
1003
  const MAX_CREDIT_TERM = 180;
928
1004
  const ITEMS_CREDIT_TERM = ['От 1 мес', 'До 15 лет'];
929
1005
 
930
- const renderCreditDataOrganization = (field) => (jsxs("div", { className: "pb-2xs border-b border-b-main-divider sm:flex sm:justify-between sm:gap-lg sm:border-none sm:pb-0", children: [jsxs("div", { className: "sm:w-1/2 space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...field('fullName') }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u0418\u041D\u041D", ...withValidator(field('inn'), innValidator) }), jsx(PhoneInputControl, { className: "shrink-0 w-full", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) })] }), jsxs("div", { className: "sm:w-1/2 space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u0413\u043E\u0434\u043E\u0432\u0430\u044F \u0432\u044B\u0440\u0443\u0447\u043A\u0430, \u20BD", ...withValidator(field('annualRevenue'), defaultValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", ...withValidator(field('name'), nameValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...field('mail') })] })] }));
1006
+ const renderCreditDataOrganization = (field) => (jsxs("div", { className: "pb-2xs border-b border-b-main-divider sm:flex sm:justify-between sm:gap-lg sm:border-none sm:pb-0", children: [jsxs("div", { className: "sm:w-1/2 space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...withValidator(field('fullName'), defaultValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u0418\u041D\u041D", ...withValidator(field('inn'), innValidator) }), jsx(PhoneInputControl, { className: "shrink-0 w-full", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) })] }), jsxs("div", { className: "sm:w-1/2 space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u0413\u043E\u0434\u043E\u0432\u0430\u044F \u0432\u044B\u0440\u0443\u0447\u043A\u0430, \u20BD", ...withValidator(field('annualRevenue'), defaultValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", ...withValidator(field('name'), nameValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...field('mail') })] })] }));
931
1007
 
932
1008
  const useNormalizedInput = (props, { normalize, format }) => {
933
1009
  const { value, onFocus, onBlur, onChange } = props;
@@ -990,9 +1066,9 @@
990
1066
  const closestValue = (list) => (_) => list.reduce((prev, curr) => (Math.abs(curr - _) < Math.abs(prev - _) ? curr : prev));
991
1067
  const renderRangeCaption = (items) => (jsx("div", { className: "flex justify-between my-xs", children: items.map((item, i) => (jsx(Text, { size: "text-s", font: "font-light", color: "text-secondary-text", children: item }, String(i)))) }));
992
1068
 
993
- const renderCreditParameters = (field) => (jsxs("div", { className: "border-b border-b-main-divider sm:flex sm:justify-between gap-lg sm:border-none", children: [jsxs("div", { className: "sm:w-1/2", children: [jsx("label", { children: jsx(Text, { size: "text-m", font: "font-light", children: "\u0421\u0443\u043C\u043C\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u0430, \u20BD" }) }), jsx(InputRange, { items: ITEMS_CREDIT_AMOUNT, min: MIN_CREDIT_AMOUNT, max: MAX_CREDIT_AMOUNT, ...field('amount') })] }), jsxs("div", { className: "sm:w-1/2", children: [jsx("label", { children: jsx(Text, { size: "text-m", font: "font-light", children: "\u0421\u0440\u043E\u043A \u043A\u0440\u0435\u0434\u0438\u0442\u0430, \u043C\u0435\u0441\u044F\u0446\u0435\u0432" }) }), jsx(InputRange, { items: ITEMS_CREDIT_TERM, min: MIN_CREDIT_TERM, max: MAX_CREDIT_TERM, ...field('term') })] })] }));
1069
+ const renderCreditParameters = (field) => (jsxs("div", { className: "border-b border-b-main-divider sm:flex sm:justify-between gap-lg sm:border-none", children: [jsxs("div", { className: "sm:w-1/2", children: [jsx("label", { children: jsx(Text, { size: "text-m", font: "font-light", children: "\u0421\u0443\u043C\u043C\u0430, \u20BD" }) }), jsx(InputRange, { items: ITEMS_CREDIT_AMOUNT, min: MIN_CREDIT_AMOUNT, max: MAX_CREDIT_AMOUNT, ...field('amount') })] }), jsxs("div", { className: "sm:w-1/2", children: [jsx("label", { children: jsx(Text, { size: "text-m", font: "font-light", children: "\u0421\u0440\u043E\u043A, \u043C\u0435\u0441\u044F\u0446\u0435\u0432" }) }), jsx(InputRange, { items: ITEMS_CREDIT_TERM, min: MIN_CREDIT_TERM, max: MAX_CREDIT_TERM, ...field('term') })] })] }));
994
1070
 
995
- const renderRegionDepartment = ({ regions, branches, field }) => (jsxs("div", { className: "sm:flex sm:justify-between sm:gap-m sm:mb-2xl sm:border-none sm:pb-0", children: [jsx("div", { className: "sm:w-1/2", children: jsx(SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", options: regions.map(({ code = '', name = '' }) => ({ key: code, text: name })), ...withValidator(field('region'), defaultValidator) }) }), jsx("div", { className: "sm:w-1/2", children: jsx(SelectControl, { label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441", options: branches.map(({ branchCode = '', address = '' }) => ({
1071
+ const renderRegionDepartment = ({ regions, branches, field }) => (jsxs("div", { className: "sm:flex sm:justify-between sm:gap-m sm:mb-2xl sm:border-none sm:pb-0", children: [jsx("div", { className: "sm:w-1/2", children: jsx(SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", isSearch: true, options: regions.map(({ code = '', name = '' }) => ({ key: code, text: name })), ...withValidator(field('region'), defaultValidator) }) }), jsx("div", { className: "sm:w-1/2", children: jsx(SelectControl, { label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441", options: branches.map(({ branchCode = '', address = '' }) => ({
996
1072
  key: branchCode,
997
1073
  text: address,
998
1074
  })), ...withValidator(field('department'), defaultValidator) }) })] }));
@@ -1008,6 +1084,7 @@
1008
1084
  annualRevenue: '',
1009
1085
  };
1010
1086
  const creditValidator = objectValidator({
1087
+ fullName: defaultValidator,
1011
1088
  annualRevenue: defaultValidator,
1012
1089
  inn: innValidator,
1013
1090
  name: nameValidator,
@@ -1034,7 +1111,7 @@
1034
1111
  const [formState, { field, ...formProps }] = useForm(initialFormState$2, handleSubmit);
1035
1112
  const regions = useGetRegions();
1036
1113
  const branches = useBranches(formState.region?.key).filter((branch) => branch?.address);
1037
- return (jsxs("form", { className: "container space-y-m", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u043A\u0440\u0435\u0434\u0438\u0442\u0430", className: "sm:text-center" }), renderCreditParameters(field), jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "sm:text-center" }), renderCreditDataOrganization(field), jsx(Heading, { headingType: "h6", title: "\u041E\u0444\u0438\u0441 \u0431\u0430\u043D\u043A\u0430", className: "sm:text-center" }), renderRegionDepartment({ regions, branches, field }), renderSubmitButton(button), jsx(Footnote, { link: link })] }));
1114
+ return (jsxs("form", { className: "container space-y-m", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B", className: "sm:text-center" }), renderCreditParameters(field), jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "sm:text-center" }), renderCreditDataOrganization(field), jsx(Heading, { headingType: "h6", title: "\u041E\u0444\u0438\u0441 \u0431\u0430\u043D\u043A\u0430", className: "sm:text-center" }), renderRegionDepartment({ regions, branches, field }), renderSubmitButton(button), jsx(Footnote, { link: link })] }));
1038
1115
  });
1039
1116
 
1040
1117
  const initialFormState$1 = {
@@ -1275,7 +1352,7 @@
1275
1352
  },
1276
1353
  XS: {
1277
1354
  title: { headingType: 'h5', as: 'h2' },
1278
- descriptionSize: 'text-l',
1355
+ descriptionSize: 'text-m',
1279
1356
  descriptionWeight: 'font-light',
1280
1357
  descriptionStyle: 'mt-xs',
1281
1358
  },
@@ -2383,13 +2460,21 @@
2383
2460
  const renderCardHighlight = ({ className, text = 'ХИТ' } = {}) => (jsxs("div", { className: style('w-14 h-14 bg-white flex flex-col items-center justify-center rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]', className), children: [jsx(Icon, { iconVersion: "black", name: "HeartIcon", width: "24", height: "24" }), jsx(Paragraph, { size: "text-s", font: "font-normal", align: "text-center", color: "text-primary-text", children: text })] }));
2384
2461
 
2385
2462
  const cardBaseStyle = 'relative h-full';
2386
- const renderCarouselCards = ({ noCardBorder, activeIndex, ...rest }) => {
2463
+ const CARD_SIZE_MAP = {
2464
+ normal: 'sm:min-w-96',
2465
+ big: 'sm:min-w-[515px]',
2466
+ };
2467
+ const renderCarouselCards = ({ noCardBorder, activeIndex, cardSize = 'normal', ...rest }) => {
2387
2468
  const { blocks: childBlocks } = rest.block || {};
2388
2469
  const someCardsHighlighted = childBlocks?.some(isCardHighlighted);
2389
2470
  return renderChildren({
2390
2471
  ...rest,
2391
2472
  renderProps: (block, options, blockIndex) => (jsxs("div", { className: cardWrapperStyle(block, { someCardsHighlighted }), children: [renderBlock(block, options, {
2392
- className: cardStyle(block, { someCardsHighlighted, showBorder: !noCardBorder }),
2473
+ className: cardStyle(block, {
2474
+ someCardsHighlighted,
2475
+ showBorder: !noCardBorder,
2476
+ cardSize,
2477
+ }),
2393
2478
  blockIndex,
2394
2479
  isActive: blockIndex === activeIndex,
2395
2480
  }), isCardHighlighted(block)
@@ -2398,11 +2483,12 @@
2398
2483
  });
2399
2484
  };
2400
2485
  const cardWrapperStyle = (_, { someCardsHighlighted }) => style(cardBaseStyle, someCardsHighlighted && (isCardHighlighted(_) ? 'pt-3xl' : 'pt-3xl sm:pt-16'));
2401
- const cardStyle = (_, { someCardsHighlighted, showBorder }) => style(cardBaseStyle, 'min-w-80 sm:min-w-96', someCardsHighlighted && (isCardHighlighted(_) ? 'pt-3xl sm:pt-16' : 'pt-3xl'), showBorder &&
2486
+ const cardStyle = (_, { someCardsHighlighted, showBorder, cardSize = 'normal', }) => style(cardBaseStyle, 'min-w-80', CARD_SIZE_MAP[cardSize], // TODO fix для RecommendationCard
2487
+ someCardsHighlighted && (isCardHighlighted(_) ? 'pt-3xl sm:pt-16' : 'pt-3xl'), showBorder &&
2402
2488
  'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider');
2403
2489
  const isCardHighlighted = (_) => _?.content && 'isHighlighting' in _.content && _.content.isHighlighting;
2404
2490
 
2405
- const Carousel = JSX(({ className, itemCount, visibleItemCount = 0, noCardBorder, isAlignCenter, showDots, arrowsPadded = true, isGap = true, ...rest }) => {
2491
+ const Carousel = JSX(({ className, itemCount, visibleItemCount = 0, noCardBorder, isAlignCenter, showDots, arrowsPadded = true, isGap = true, cardSize = 'normal', ...rest }) => {
2406
2492
  const { blocks: childBlocks = [] } = rest.block || {};
2407
2493
  const count = itemCount || childBlocks?.length;
2408
2494
  const [activeIndex, { inc: increaseActiveIndex, dec: decreaseActiveIndex }] = useCarouselControls({
@@ -2413,7 +2499,7 @@
2413
2499
  const [dotsActiveIndex] = scroll.visibleIndicesRange;
2414
2500
  // TODO Remove
2415
2501
  const isBankHistoryCarousel = childBlocks && childBlocks[0]?.type === 'CarouselBankHistoryCard';
2416
- return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: style(isAlignCenter ? 'flex justify-center' : '', 'relative max-w-full'), children: [jsx(SwipeListContainer, { containerRef: containerRef, visibleItemCount: visibleItemCount, snapAlign: "snap-start", gap: isGap ? ITEMS_GAP : undefined, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: renderCarouselCards({ noCardBorder, activeIndex, ...rest }) }), jsx(CarouselScrollButtons, { scroll: scroll, arrowsPadded: arrowsPadded, onScrollLeft: decreaseActiveIndex, onScrollRight: increaseActiveIndex, hasEdgeBlocks: isBankHistoryCarousel, activeIndex: activeIndex, itemCount: count }), showDots ? (jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: dotsActiveIndex, dotCount: count, listType: "horizontal-list" })) : null] }) }));
2502
+ return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: style(isAlignCenter ? 'flex justify-center' : '', 'relative max-w-full'), children: [jsx(SwipeListContainer, { containerRef: containerRef, visibleItemCount: visibleItemCount, snapAlign: "snap-start", gap: isGap ? ITEMS_GAP : undefined, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: renderCarouselCards({ noCardBorder, activeIndex, cardSize, ...rest }) }), jsx(CarouselScrollButtons, { scroll: scroll, arrowsPadded: arrowsPadded, onScrollLeft: decreaseActiveIndex, onScrollRight: increaseActiveIndex, hasEdgeBlocks: isBankHistoryCarousel, activeIndex: activeIndex, itemCount: count }), showDots ? (jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: dotsActiveIndex, dotCount: count, listType: "horizontal-list" })) : null] }) }));
2417
2503
  });
2418
2504
  Carousel.childrenTypes = [
2419
2505
  'CarouselCard',
@@ -2464,15 +2550,18 @@
2464
2550
  L: 'w-1.5 h-1.5 mr-m',
2465
2551
  M: 'w-1.5 h-1.5 mr-s',
2466
2552
  S: 'w-1 h-1 mr-xs',
2553
+ XS: 'w-1 h-1 mr-xs',
2467
2554
  };
2468
2555
  const ListItem = JSX(({ className, isDotted = true, children, size = 'M' }) => (jsxs("div", { className: style('font-sans flex', className), role: "listitem", children: [isDotted ? (jsx("div", { className: "shrink-0", children: jsx("div", { className: style('align-middle inline-block rounded-full bg-primary-text group-data-secondary:bg-white', DOT_SIZE_MAP[size]) }) })) : null, jsx("span", { children: children })] })));
2469
2556
 
2470
2557
  const TEXT_SIZE_MAP = {
2558
+ XS: 'text-m font-light',
2471
2559
  S: 'text-l font-light',
2472
2560
  M: 'text-h6',
2473
2561
  L: 'text-h5',
2474
2562
  };
2475
2563
  const ITEM_INDENT_MAP = {
2564
+ XS: 'ml-2xs',
2476
2565
  S: 'ml-xs',
2477
2566
  M: 'ml-s',
2478
2567
  L: 'ml-m',
@@ -2501,7 +2590,7 @@
2501
2590
  const BaseTile = JSX(({ className, defaultPadding, padding, title = '', insetTitle = '', buttons, leftImage, rightImage, imageAlign, backImage, children, }) => (jsxs("div", { className: style('relative flex flex-col gap-3xl font-sans overflow-hidden', padding || defaultPadding, className), children: [title ? jsx("div", { className: "relative", children: title }) : null, jsxs("div", { className: "grow relative flex flex-wrap @xl:flex-nowrap justify-around @xl:justify-between items-stretch gap-3xl", children: [renderImageContainer(leftImage, { imageAlign }), jsxs("div", { className: style('flex flex-col gap-3xl max-w-[600px] @xl:max-w-[728px]', leftImage ? '' : 'grow'), children: [insetTitle, jsx("div", { className: "grow", children: children }), backImage ? (jsx("div", { className: "mx-auto sm:absolute sm:-z-10 sm:-bottom-4 sm:-right-4", children: backImage })) : null, buttons] }), renderImageContainer(rightImage, { className: '-order-1 @xl:order-1', imageAlign })] })] })));
2502
2591
  const renderImageContainer = (image, { className, imageAlign }) => {
2503
2592
  //TODO Спорное решение
2504
- const fullWidth = image?.props?.image.size?.width > 400;
2593
+ const fullWidth = image?.props?.image?.size?.width > 400;
2505
2594
  return image ? (jsx("div", { className: style('flex-shrink-0', fullWidth ? 'w-full @xl:w-auto' : '', imageAlign && imageAlignmentMap[imageAlign], className), children: image })) : null;
2506
2595
  };
2507
2596
 
@@ -2561,7 +2650,7 @@
2561
2650
  })) }) }) })));
2562
2651
 
2563
2652
  const buttonSizeStyles = {
2564
- default: 'w-24 h-14',
2653
+ default: 'w-14 h-14',
2565
2654
  stretched: 'flex-1 h-14',
2566
2655
  };
2567
2656
 
@@ -2615,7 +2704,7 @@
2615
2704
  const SocialMedia = JSX(({ className = '', media, children, buttonSize }) => (jsxs("div", { className: "flex flex-col sm:flex-col-reverse gap-xs", children: [children ? (jsx(Text, { size: "text-s", font: "font-light", color: "text-secondary-text", children: children })) : null, jsx("div", { className: style('flex gap-xs', className), children: media?.map((_, index) => (jsx(MediaButton, { buttonSize: buttonSize, ..._ }, String(index)))) })] })));
2616
2705
 
2617
2706
  const CarouselRecommendationCard = JSX(({ className = '', description, href, icon, items = [], socialMedia = [], target, title, align = 'text-left', ...rest }) => {
2618
- return (jsx(BlockWrapper, { className: style('relative group-data-gray:bg-main-divider/50 space-y-m', className), defaultPadding: "p-6xl", ...rest, children: jsxs(LinkWrapper, { href: href, target: target, children: [jsx(Headline, { title: title, description: description, headlineVersion: "S", isEmbedded: true, align: align }), items.length ? (jsx(List, { className: "flex flex-col gap-xs", items: items, listItemSize: "S" })) : null, renderIcon$1(icon), socialMedia.length ? jsx(SocialMedia, { media: socialMedia }) : null] }) }));
2707
+ return (jsx(BlockWrapper, { className: style('relative group-data-gray:bg-main-divider/50', className), defaultPadding: "p-3xl", ...rest, children: jsxs(LinkWrapper, { href: href, target: target, className: 'space-y-lg', children: [jsx(Headline, { title: title, description: description, headlineVersion: "XS", isEmbedded: true, align: align }), items.length ? (jsx(List, { className: "flex flex-col gap-xs", items: items, listItemSize: "XS" })) : null, renderIcon$1(icon), socialMedia.length ? jsx(SocialMedia, { media: socialMedia }) : null] }) }));
2619
2708
  });
2620
2709
  const renderIcon$1 = (icon) => icon?.src || icon?.icon ? (jsx("div", { children: jsx(Img, { image: icon }) })) : null;
2621
2710
 
@@ -3976,7 +4065,7 @@
3976
4065
 
3977
4066
  const joinList = (sep) => (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: `sep-${i}` }, el) : [el]), []);
3978
4067
 
3979
- const packageVersion = "0.13.4";
4068
+ const packageVersion = "0.13.5";
3980
4069
 
3981
4070
  exports.Blocks = Blocks;
3982
4071
  exports.ContentPage = ContentPage;