@ozen-ui/kit 0.75.0 → 0.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/ImageBase/package.json +5 -0
  2. package/StepperVertical/package.json +5 -0
  3. package/__inner__/cjs/components/Autocomplete/helper.d.ts +5 -5
  4. package/__inner__/cjs/components/Autocomplete/types.d.ts +1 -1
  5. package/__inner__/cjs/components/AutocompleteBase/AutocompleteBase.d.ts +2 -1
  6. package/__inner__/cjs/components/AutocompleteNext/helpers.d.ts +4 -4
  7. package/__inner__/cjs/components/ButtonNext/types.d.ts +2 -1
  8. package/__inner__/cjs/components/DataList/types.d.ts +1 -1
  9. package/__inner__/cjs/components/InputOTP/InputOTP.js +79 -76
  10. package/__inner__/cjs/components/InputOTP/constants.d.ts +4 -4
  11. package/__inner__/cjs/components/InputOTP/presets.d.ts +5 -0
  12. package/__inner__/cjs/components/InputOTP/presets.js +5 -0
  13. package/__inner__/cjs/components/InputOTP/types.d.ts +9 -6
  14. package/__inner__/cjs/components/OzenProvider/providers/theme/entities/defaultProps.d.ts +6 -0
  15. package/__inner__/cjs/components/Select/Select.css +10 -1
  16. package/__inner__/cjs/components/Select/Select.d.ts +0 -1
  17. package/__inner__/cjs/components/Select/Select.js +40 -10
  18. package/__inner__/cjs/components/Select/SelectContext.d.ts +21 -0
  19. package/__inner__/cjs/components/Select/SelectContext.js +29 -0
  20. package/__inner__/cjs/components/Select/classNames.d.ts +1 -0
  21. package/__inner__/cjs/components/Select/classNames.js +5 -0
  22. package/__inner__/cjs/components/Select/components/SelectInput/SelectInput.js +14 -15
  23. package/__inner__/cjs/components/Select/components/SelectInput/types.d.ts +0 -22
  24. package/__inner__/cjs/components/Select/components/SelectInputContextConsumer/SelectInputContextConsumer.js +3 -3
  25. package/__inner__/cjs/components/Select/components/SelectInputRenderRight/SelectInputRenderRight.d.ts +2 -0
  26. package/__inner__/cjs/components/Select/components/SelectInputRenderRight/SelectInputRenderRight.js +42 -0
  27. package/__inner__/cjs/components/Select/components/SelectInputRenderRight/index.d.ts +1 -0
  28. package/__inner__/cjs/components/Select/components/SelectInputRenderRight/index.js +4 -0
  29. package/__inner__/cjs/components/Select/components/index.d.ts +1 -0
  30. package/__inner__/cjs/components/Select/components/index.js +1 -0
  31. package/__inner__/cjs/components/Select/constants.d.ts +3 -0
  32. package/__inner__/cjs/components/Select/constants.js +8 -1
  33. package/__inner__/cjs/components/Select/entities/index.d.ts +2 -0
  34. package/__inner__/cjs/components/Select/entities/index.js +5 -0
  35. package/__inner__/cjs/components/Select/entities/onClear.d.ts +2 -0
  36. package/__inner__/cjs/components/Select/entities/onClear.js +2 -0
  37. package/__inner__/cjs/components/Select/entities/render.d.ts +6 -0
  38. package/__inner__/cjs/components/Select/entities/render.js +4 -0
  39. package/__inner__/cjs/components/Select/index.d.ts +1 -0
  40. package/__inner__/cjs/components/Select/index.js +1 -0
  41. package/__inner__/cjs/components/Select/types.d.ts +30 -5
  42. package/__inner__/cjs/components/Select/types.js +3 -0
  43. package/__inner__/cjs/components/StepperVertical/StepperVertical.css +4 -0
  44. package/__inner__/cjs/components/StepperVertical/StepperVertical.d.ts +7 -0
  45. package/__inner__/cjs/components/StepperVertical/StepperVertical.js +21 -0
  46. package/__inner__/cjs/components/StepperVertical/StepperVerticalContext.d.ts +6 -0
  47. package/__inner__/cjs/components/StepperVertical/StepperVerticalContext.js +18 -0
  48. package/__inner__/cjs/components/StepperVertical/constants.d.ts +3 -0
  49. package/__inner__/cjs/components/StepperVertical/constants.js +6 -0
  50. package/__inner__/cjs/components/StepperVertical/index.d.ts +5 -0
  51. package/__inner__/cjs/components/StepperVertical/index.js +8 -0
  52. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/StepperVerticalIconIndicator.css +4 -0
  53. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/StepperVerticalIconIndicator.d.ts +3 -0
  54. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/StepperVerticalIconIndicator.js +24 -0
  55. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/constants.d.ts +3 -0
  56. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/constants.js +12 -0
  57. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/entities/icon.d.ts +3 -0
  58. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/entities/icon.js +2 -0
  59. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/entities/index.d.ts +1 -0
  60. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/entities/index.js +4 -0
  61. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/index.d.ts +4 -0
  62. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/index.js +7 -0
  63. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/types.d.ts +7 -0
  64. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIconIndicator/types.js +2 -0
  65. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/StepperVerticalIndicator.css +20 -0
  66. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/StepperVerticalIndicator.d.ts +3 -0
  67. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/StepperVerticalIndicator.js +23 -0
  68. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/constants.d.ts +1 -0
  69. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/constants.js +4 -0
  70. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/index.d.ts +3 -0
  71. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/index.js +6 -0
  72. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/types.d.ts +11 -0
  73. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalIndicator/types.js +2 -0
  74. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.css +105 -0
  75. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.d.ts +3 -0
  76. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.js +41 -0
  77. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStepContext.d.ts +8 -0
  78. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStepContext.js +19 -0
  79. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/constants.d.ts +3 -0
  80. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/constants.js +6 -0
  81. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/entities/index.d.ts +1 -0
  82. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/entities/index.js +4 -0
  83. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/entities/variant.d.ts +2 -0
  84. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/entities/variant.js +11 -0
  85. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/index.d.ts +5 -0
  86. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/index.js +8 -0
  87. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/types.d.ts +26 -0
  88. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStep/types.js +2 -0
  89. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepButton/StepperVerticalStepButton.d.ts +3 -0
  90. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepButton/StepperVerticalStepButton.js +19 -0
  91. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepButton/constants.d.ts +3 -0
  92. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepButton/constants.js +8 -0
  93. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepButton/index.d.ts +3 -0
  94. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepButton/index.js +6 -0
  95. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepButton/types.d.ts +7 -0
  96. package/__inner__/cjs/components/StepperVertical/modules/StepperVerticalStepButton/types.js +2 -0
  97. package/__inner__/cjs/components/StepperVertical/modules/index.d.ts +4 -0
  98. package/__inner__/cjs/components/StepperVertical/modules/index.js +7 -0
  99. package/__inner__/cjs/components/StepperVertical/types.d.ts +13 -0
  100. package/__inner__/cjs/components/StepperVertical/types.js +2 -0
  101. package/__inner__/cjs/hooks/useLockBodyScroll/useLockBodyScroll.js +25 -5
  102. package/__inner__/cjs/locale/locale.js +9 -0
  103. package/__inner__/cjs/utils/array/generatePermutations/generatePermutations.d.ts +1 -0
  104. package/__inner__/cjs/utils/array/generatePermutations/generatePermutations.js +47 -0
  105. package/__inner__/cjs/utils/array/generatePermutations/index.d.ts +1 -0
  106. package/__inner__/cjs/utils/array/generatePermutations/index.js +4 -0
  107. package/__inner__/cjs/utils/array/index.d.ts +1 -0
  108. package/__inner__/cjs/utils/array/index.js +1 -0
  109. package/__inner__/esm/components/Autocomplete/helper.d.ts +5 -5
  110. package/__inner__/esm/components/Autocomplete/types.d.ts +1 -1
  111. package/__inner__/esm/components/AutocompleteBase/AutocompleteBase.d.ts +2 -1
  112. package/__inner__/esm/components/AutocompleteNext/helpers.d.ts +4 -4
  113. package/__inner__/esm/components/ButtonNext/types.d.ts +2 -1
  114. package/__inner__/esm/components/DataList/types.d.ts +1 -1
  115. package/__inner__/esm/components/InputOTP/InputOTP.js +79 -76
  116. package/__inner__/esm/components/InputOTP/constants.d.ts +4 -4
  117. package/__inner__/esm/components/InputOTP/presets.d.ts +5 -0
  118. package/__inner__/esm/components/InputOTP/presets.js +5 -0
  119. package/__inner__/esm/components/InputOTP/types.d.ts +9 -6
  120. package/__inner__/esm/components/OzenProvider/providers/theme/entities/defaultProps.d.ts +6 -0
  121. package/__inner__/esm/components/Select/Select.css +10 -1
  122. package/__inner__/esm/components/Select/Select.d.ts +0 -1
  123. package/__inner__/esm/components/Select/Select.js +40 -10
  124. package/__inner__/esm/components/Select/SelectContext.d.ts +21 -0
  125. package/__inner__/esm/components/Select/SelectContext.js +25 -0
  126. package/__inner__/esm/components/Select/classNames.d.ts +1 -0
  127. package/__inner__/esm/components/Select/classNames.js +2 -0
  128. package/__inner__/esm/components/Select/components/SelectInput/SelectInput.js +7 -8
  129. package/__inner__/esm/components/Select/components/SelectInput/types.d.ts +0 -22
  130. package/__inner__/esm/components/Select/components/SelectInputContextConsumer/SelectInputContextConsumer.js +1 -1
  131. package/__inner__/esm/components/Select/components/SelectInputRenderRight/SelectInputRenderRight.d.ts +2 -0
  132. package/__inner__/esm/components/Select/components/SelectInputRenderRight/SelectInputRenderRight.js +38 -0
  133. package/__inner__/esm/components/Select/components/SelectInputRenderRight/index.d.ts +1 -0
  134. package/__inner__/esm/components/Select/components/SelectInputRenderRight/index.js +1 -0
  135. package/__inner__/esm/components/Select/components/index.d.ts +1 -0
  136. package/__inner__/esm/components/Select/components/index.js +1 -0
  137. package/__inner__/esm/components/Select/constants.d.ts +3 -0
  138. package/__inner__/esm/components/Select/constants.js +7 -0
  139. package/__inner__/esm/components/Select/entities/index.d.ts +2 -0
  140. package/__inner__/esm/components/Select/entities/index.js +2 -0
  141. package/__inner__/esm/components/Select/entities/onClear.d.ts +2 -0
  142. package/__inner__/esm/components/Select/entities/onClear.js +1 -0
  143. package/__inner__/esm/components/Select/entities/render.d.ts +6 -0
  144. package/__inner__/esm/components/Select/entities/render.js +1 -0
  145. package/__inner__/esm/components/Select/index.d.ts +1 -0
  146. package/__inner__/esm/components/Select/index.js +1 -0
  147. package/__inner__/esm/components/Select/types.d.ts +30 -5
  148. package/__inner__/esm/components/Select/types.js +2 -1
  149. package/__inner__/esm/components/StepperVertical/StepperVertical.css +4 -0
  150. package/__inner__/esm/components/StepperVertical/StepperVertical.d.ts +7 -0
  151. package/__inner__/esm/components/StepperVertical/StepperVertical.js +18 -0
  152. package/__inner__/esm/components/StepperVertical/StepperVerticalContext.d.ts +6 -0
  153. package/__inner__/esm/components/StepperVertical/StepperVerticalContext.js +14 -0
  154. package/__inner__/esm/components/StepperVertical/constants.d.ts +3 -0
  155. package/__inner__/esm/components/StepperVertical/constants.js +3 -0
  156. package/__inner__/esm/components/StepperVertical/index.d.ts +5 -0
  157. package/__inner__/esm/components/StepperVertical/index.js +5 -0
  158. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/StepperVerticalIconIndicator.css +4 -0
  159. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/StepperVerticalIconIndicator.d.ts +3 -0
  160. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/StepperVerticalIconIndicator.js +21 -0
  161. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/constants.d.ts +3 -0
  162. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/constants.js +9 -0
  163. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/entities/icon.d.ts +3 -0
  164. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/entities/icon.js +1 -0
  165. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/entities/index.d.ts +1 -0
  166. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/entities/index.js +1 -0
  167. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/index.d.ts +4 -0
  168. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/index.js +4 -0
  169. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/types.d.ts +7 -0
  170. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIconIndicator/types.js +1 -0
  171. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/StepperVerticalIndicator.css +20 -0
  172. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/StepperVerticalIndicator.d.ts +3 -0
  173. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/StepperVerticalIndicator.js +20 -0
  174. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/constants.d.ts +1 -0
  175. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/constants.js +1 -0
  176. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/index.d.ts +3 -0
  177. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/index.js +3 -0
  178. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/types.d.ts +11 -0
  179. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalIndicator/types.js +1 -0
  180. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.css +105 -0
  181. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.d.ts +3 -0
  182. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStep.js +38 -0
  183. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStepContext.d.ts +8 -0
  184. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/StepperVerticalStepContext.js +15 -0
  185. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/constants.d.ts +3 -0
  186. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/constants.js +3 -0
  187. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/entities/index.d.ts +1 -0
  188. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/entities/index.js +1 -0
  189. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/entities/variant.d.ts +2 -0
  190. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/entities/variant.js +8 -0
  191. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/index.d.ts +5 -0
  192. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/index.js +5 -0
  193. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/types.d.ts +26 -0
  194. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStep/types.js +1 -0
  195. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepButton/StepperVerticalStepButton.d.ts +3 -0
  196. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepButton/StepperVerticalStepButton.js +16 -0
  197. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepButton/constants.d.ts +3 -0
  198. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepButton/constants.js +5 -0
  199. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepButton/index.d.ts +3 -0
  200. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepButton/index.js +3 -0
  201. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepButton/types.d.ts +7 -0
  202. package/__inner__/esm/components/StepperVertical/modules/StepperVerticalStepButton/types.js +1 -0
  203. package/__inner__/esm/components/StepperVertical/modules/index.d.ts +4 -0
  204. package/__inner__/esm/components/StepperVertical/modules/index.js +4 -0
  205. package/__inner__/esm/components/StepperVertical/types.d.ts +13 -0
  206. package/__inner__/esm/components/StepperVertical/types.js +1 -0
  207. package/__inner__/esm/hooks/useLockBodyScroll/useLockBodyScroll.js +25 -5
  208. package/__inner__/esm/locale/locale.js +9 -0
  209. package/__inner__/esm/utils/array/generatePermutations/generatePermutations.d.ts +1 -0
  210. package/__inner__/esm/utils/array/generatePermutations/generatePermutations.js +43 -0
  211. package/__inner__/esm/utils/array/generatePermutations/index.d.ts +1 -0
  212. package/__inner__/esm/utils/array/generatePermutations/index.js +1 -0
  213. package/__inner__/esm/utils/array/index.d.ts +1 -0
  214. package/__inner__/esm/utils/array/index.js +1 -0
  215. package/package.json +4 -4
@@ -0,0 +1,5 @@
1
+ {
2
+ "main": "../__inner__/cjs/components/ImageBase/index.js",
3
+ "module": "../__inner__/esm/components/ImageBase/index.js",
4
+ "types": "../__inner__/esm/components/ImageBase/index.d.ts"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "main": "../__inner__/cjs/components/StepperVertical/index.js",
3
+ "module": "../__inner__/esm/components/StepperVertical/index.js",
4
+ "types": "../__inner__/esm/components/StepperVertical/index.d.ts"
5
+ }
@@ -9,7 +9,7 @@ export declare function withDefaultGetters<OPTION>(props: AutocompleteProps<OPTI
9
9
  defaultValue?: import("./types").AutocompletePropValue<OPTION>;
10
10
  open?: boolean;
11
11
  defaultOpen?: boolean;
12
- onChange?: ((e: import("react").SyntheticEvent | KeyboardEvent, value: OPTION | null) => void) | undefined;
12
+ onChange?: ((e: import("react").SyntheticEvent | KeyboardEvent | MouseEvent, value: OPTION | null) => void) | undefined;
13
13
  inputValue?: string;
14
14
  onInputChange?: (e: import("react").ChangeEvent<HTMLInputElement> | null, value: string) => void;
15
15
  renderInput?: import("./types").AutocompleteRenderInput;
@@ -38,16 +38,16 @@ export declare function withDefaultGetters<OPTION>(props: AutocompleteProps<OPTI
38
38
  label?: string | undefined;
39
39
  style?: import("react").CSSProperties | undefined;
40
40
  autoFocus?: boolean | undefined;
41
- className?: string | undefined;
41
+ className?: string | undefined | undefined;
42
42
  onKeyDown?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
43
43
  disabled?: boolean | undefined;
44
44
  placeholder?: string | undefined;
45
45
  required?: boolean | undefined;
46
46
  fullWidth?: boolean | undefined;
47
- hint?: string | null | undefined;
47
+ hint?: string | null | undefined | undefined;
48
48
  disableStroke?: boolean | undefined;
49
- renderLeft?: import("../FieldIcon").FieldIconProps["icon"];
50
- renderRight?: import("../FieldIcon").FieldIconProps["icon"];
49
+ renderLeft?: string | number | import("react").FC<import("@ozen-ui/icons").IconProps> | import("react").ReactElement<import("@ozen-ui/icons").IconProps, string | import("react").JSXElementConstructor<any>> | (() => import("react").ReactElement<import("@ozen-ui/icons").IconProps, string | import("react").JSXElementConstructor<any>>) | undefined;
50
+ renderRight?: string | number | import("react").FC<import("@ozen-ui/icons").IconProps> | import("react").ReactElement<import("@ozen-ui/icons").IconProps, string | import("react").JSXElementConstructor<any>> | (() => import("react").ReactElement<import("@ozen-ui/icons").IconProps, string | import("react").JSXElementConstructor<any>>) | undefined;
51
51
  inputProps?: import("../FieldInput").FieldInputProps | undefined;
52
52
  bodyProps?: import("react").ComponentPropsWithRef<"label"> | undefined;
53
53
  hintProps?: Omit<import("../FieldHint").FieldHintProps, "children"> | undefined;
@@ -35,7 +35,7 @@ export type AutocompleteProps<OPTION = AutocompleteDefaultOption> = {
35
35
  /** Состояние открытие по умолчанию (неконтролируемый компонент) */
36
36
  defaultOpen?: boolean;
37
37
  /** Функция обратного вызова, которая будет вызвана при выборе значения */
38
- onChange?: (e: SyntheticEvent | KeyboardEvent, value: OPTION | null) => void;
38
+ onChange?: (e: SyntheticEvent | KeyboardEvent | MouseEvent, value: OPTION | null) => void;
39
39
  /** Введённое значение в текстовом поле */
40
40
  inputValue?: string;
41
41
  /** Функция обратного вызова, которая будет вызвана при вводе значения с клавиатуры */
@@ -2,5 +2,6 @@ import './modules/AutocompleteBaseDropdown/AutocompleteBaseDropdown.css';
2
2
  import './modules/AutocompleteBaseInput/AutocompleteBaseInput.css';
3
3
  import './modules/AutocompleteBaseInputTag/AutocompleteBaseInputTag.css';
4
4
  import React from 'react';
5
+ import { AUTOCOMPLETE_BASE_DEFAULT_MULTIPLE } from './constants';
5
6
  import type { AutocompleteBaseProps } from './types';
6
- export declare const AutocompleteBase: <Option, Multiple extends boolean = false>(inProps: AutocompleteBaseProps<Option, Multiple>) => React.JSX.Element;
7
+ export declare const AutocompleteBase: <Option, Multiple extends boolean = typeof AUTOCOMPLETE_BASE_DEFAULT_MULTIPLE>(inProps: AutocompleteBaseProps<Option, Multiple>) => React.JSX.Element;
@@ -44,16 +44,16 @@ export declare function withDefaultGetters<OPTION = AutocompleteDefaultOption, M
44
44
  label?: string | undefined;
45
45
  style?: import("react").CSSProperties | undefined;
46
46
  autoFocus?: boolean | undefined;
47
- className?: string | undefined;
47
+ className?: string | undefined | undefined;
48
48
  onKeyDown?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
49
49
  disabled?: boolean | undefined;
50
50
  placeholder?: string | undefined;
51
51
  required?: boolean | undefined;
52
52
  fullWidth?: boolean | undefined;
53
- hint?: string | null | undefined;
53
+ hint?: string | null | undefined | undefined;
54
54
  disableStroke?: boolean | undefined;
55
- renderLeft?: import("../FieldIcon").FieldIconProps["icon"];
56
- renderRight?: import("../FieldIcon").FieldIconProps["icon"];
55
+ renderLeft?: string | number | import("react").FC<import("@ozen-ui/icons").IconProps> | import("react").ReactElement<import("@ozen-ui/icons").IconProps, string | import("react").JSXElementConstructor<any>> | (() => import("react").ReactElement<import("@ozen-ui/icons").IconProps, string | import("react").JSXElementConstructor<any>>) | undefined;
56
+ renderRight?: string | number | import("react").FC<import("@ozen-ui/icons").IconProps> | import("react").ReactElement<import("@ozen-ui/icons").IconProps, string | import("react").JSXElementConstructor<any>> | (() => import("react").ReactElement<import("@ozen-ui/icons").IconProps, string | import("react").JSXElementConstructor<any>>) | undefined;
57
57
  inputProps?: import("../FieldInput").FieldInputProps | undefined;
58
58
  bodyProps?: import("react").ComponentPropsWithRef<"label"> | undefined;
59
59
  hintProps?: Omit<import("../FieldHint").FieldHintProps, "children"> | undefined;
@@ -1,4 +1,4 @@
1
- import type { ComponentPropsWithRef, ElementType, ReactNode } from 'react';
1
+ import type { ComponentPropsWithRef, ComponentRef, ElementType, ReactNode } from 'react';
2
2
  import type { IconProps } from '@ozen-ui/icons';
3
3
  import type { FormElementSizeVariant } from '../../types/FormElementSizeVariant';
4
4
  import type { PolymorphicComponentPropsWithoutRef } from '../../utils/polymorphicComponentWithRef';
@@ -46,3 +46,4 @@ export type ButtonBaseProps = {
46
46
  'data-testid'?: string;
47
47
  };
48
48
  export type ButtonProps<As extends ElementType = typeof BUTTON_DEFAULT_TAG> = PolymorphicComponentPropsWithoutRef<ButtonBaseProps, As>;
49
+ export type ButtonRef<As extends ElementType = typeof BUTTON_DEFAULT_TAG> = ComponentRef<As>;
@@ -12,7 +12,7 @@ export type DataListPayload<MULTIPLE extends boolean> = {
12
12
  name?: string;
13
13
  value: DataListSelected<MULTIPLE>;
14
14
  };
15
- export type DataListOnSelect<MULTIPLE extends boolean> = (event: SyntheticEvent | KeyboardEvent, payload: DataListPayload<MULTIPLE>) => void;
15
+ export type DataListOnSelect<MULTIPLE extends boolean> = (event: SyntheticEvent | KeyboardEvent | MouseEvent, payload: DataListPayload<MULTIPLE>) => void;
16
16
  export type DataListBaseProps<MULTIPLE extends boolean = false> = {
17
17
  /** Имя списка */
18
18
  name?: string;
@@ -14,6 +14,7 @@ var isString_1 = require("../../utils/isString");
14
14
  var polymorphicComponentWithRef_1 = require("../../utils/polymorphicComponentWithRef");
15
15
  var setRef_1 = require("../../utils/setRef");
16
16
  var FieldControl_1 = require("../FieldControl");
17
+ var FieldHint_1 = require("../FieldHint");
17
18
  var FieldInput_1 = require("../FieldInput");
18
19
  var Fieldset_1 = require("../Fieldset");
19
20
  var Stack_1 = require("../Stack");
@@ -26,7 +27,7 @@ exports.InputOTP = (0, polymorphicComponentWithRef_1.polymorphicComponentWithRef
26
27
  props: inProps,
27
28
  name: 'InputOTP',
28
29
  });
29
- var _a = props.as, as = _a === void 0 ? constants_1.INPUT_OTP_DEFAULT_TAG : _a, className = props.className, length = props.length, autoComplete = props.autoComplete, _b = props.autoCompleteMode, autoCompleteMode = _b === void 0 ? constants_1.INPUT_OTP_DEFAULT_AUTO_COMPLETE_MODE : _b, placeholder = props.placeholder, disabled = props.disabled, error = props.error, onChangeFromProps = props.onChange, ariaLabel = props.ariaLabel, value = props.value, defaultValue = props.defaultValue, mask = props.mask, autoFocus = props.autoFocus, onFinish = props.onFinish, onPasteFromProps = props.onPaste, onKeyDownFromProps = props.onKeyDown, _c = props.disableStroke, disableStroke = _c === void 0 ? constants_1.INPUT_OTP_DEFAULT_DISABLE_STROKE : _c, validate = props.validate, _d = props.size, size = _d === void 0 ? constants_1.INPUT_OTP_DEFAULT_SIZE : _d, inputProps = props.inputProps, fieldProps = props.fieldProps, _e = props.finishBehavior, finishBehavior = _e === void 0 ? constants_1.INPUT_OTP_DEFAULT_FINISH_BEHAVIOR : _e, inputContainerProps = props.inputContainerProps, other = tslib_1.__rest(props, ["as", "className", "length", "autoComplete", "autoCompleteMode", "placeholder", "disabled", "error", "onChange", "ariaLabel", "value", "defaultValue", "mask", "autoFocus", "onFinish", "onPaste", "onKeyDown", "disableStroke", "validate", "size", "inputProps", "fieldProps", "finishBehavior", "inputContainerProps"]);
30
+ var _a = props.as, as = _a === void 0 ? constants_1.INPUT_OTP_DEFAULT_TAG : _a, className = props.className, length = props.length, autoComplete = props.autoComplete, _b = props.autoCompleteMode, autoCompleteMode = _b === void 0 ? constants_1.INPUT_OTP_DEFAULT_AUTO_COMPLETE_MODE : _b, placeholder = props.placeholder, disabled = props.disabled, error = props.error, onChangeFromProps = props.onChange, ariaLabel = props.ariaLabel, value = props.value, defaultValue = props.defaultValue, mask = props.mask, autoFocus = props.autoFocus, onFinish = props.onFinish, onPasteFromProps = props.onPaste, onKeyDownFromProps = props.onKeyDown, _c = props.disableStroke, disableStroke = _c === void 0 ? constants_1.INPUT_OTP_DEFAULT_DISABLE_STROKE : _c, validate = props.validate, _d = props.size, size = _d === void 0 ? constants_1.INPUT_OTP_DEFAULT_SIZE : _d, inputProps = props.inputProps, fieldProps = props.fieldProps, _e = props.finishBehavior, finishBehavior = _e === void 0 ? constants_1.INPUT_OTP_DEFAULT_FINISH_BEHAVIOR : _e, inputContainerProps = props.inputContainerProps, hint = props.hint, other = tslib_1.__rest(props, ["as", "className", "length", "autoComplete", "autoCompleteMode", "placeholder", "disabled", "error", "onChange", "ariaLabel", "value", "defaultValue", "mask", "autoFocus", "onFinish", "onPaste", "onKeyDown", "disableStroke", "validate", "size", "inputProps", "fieldProps", "finishBehavior", "inputContainerProps", "hint"]);
30
31
  var _f = tslib_1.__read((0, react_1.useState)(null), 2), focusedInputIndex = _f[0], setFocusedInputIndex = _f[1];
31
32
  var _g = tslib_1.__read((0, useControlled_1.useControlled)({
32
33
  value: (0, isString_1.isString)(value) ? (0, helper_1.valueToArray)(value) : value,
@@ -100,81 +101,83 @@ exports.InputOTP = (0, polymorphicComponentWithRef_1.polymorphicComponentWithRef
100
101
  return (react_1.default.createElement(Stack_1.Stack, tslib_1.__assign({ as: as, className: (0, exports.cnInputOTP)({
101
102
  size: size,
102
103
  disabled: disabled,
103
- }, [className]), gap: constants_1.INPUT_OTP_SPACING_BY_SIZE[size] }, other, { ref: ref }), (0, array_1.createEmptyArray)(length).map(function (_, index) {
104
- var _a, _b;
105
- var calculatedInput = calculateInput(valueByIndex, index);
106
- var isInputDisabled = calculatedInput.isDisabled, value = calculatedInput.value;
107
- var processedAutocomplete = (function () {
108
- if (autoCompleteMode === 'firstOnly') {
109
- return !!autoComplete && index === 0 ? autoComplete : 'off';
110
- }
111
- return autoComplete;
112
- })();
113
- var processedContainerProps = (0, isFunction_1.isFunction)(inputContainerProps)
114
- ? inputContainerProps(calculatedInput, index)
115
- : inputContainerProps;
116
- var processedFieldProps = (0, isFunction_1.isFunction)(fieldProps)
117
- ? fieldProps(calculatedInput, index)
118
- : fieldProps;
119
- var processedInputProps = (0, isFunction_1.isFunction)(inputProps)
120
- ? inputProps(calculatedInput, index)
121
- : inputProps;
122
- var processedPlaceholder = (0, isFunction_1.isFunction)(placeholder)
123
- ? placeholder(calculatedInput, index)
124
- : placeholder;
125
- return (
126
- // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
127
- react_1.default.createElement("div", tslib_1.__assign({ key: index }, processedContainerProps, { className: (0, exports.cnInputOTP)('InputContainer', [
128
- processedContainerProps === null || processedContainerProps === void 0 ? void 0 : processedContainerProps.className,
129
- ]), onClick: function () {
130
- if (isInputDisabled) {
131
- focusFirstNonFilledInput();
104
+ }, [className]), direction: "column" }, other, { ref: ref }),
105
+ react_1.default.createElement(Stack_1.Stack, { className: (0, exports.cnInputOTP)('Inputs'), gap: constants_1.INPUT_OTP_SPACING_BY_SIZE[size] }, (0, array_1.createEmptyArray)(length).map(function (_, index) {
106
+ var _a, _b;
107
+ var calculatedInput = calculateInput(valueByIndex, index);
108
+ var isInputDisabled = calculatedInput.isDisabled, value = calculatedInput.value;
109
+ var processedAutocomplete = (function () {
110
+ if (autoCompleteMode === 'firstOnly') {
111
+ return !!autoComplete && index === 0 ? autoComplete : 'off';
132
112
  }
133
- } }),
134
- react_1.default.createElement(FieldControl_1.FieldControl, tslib_1.__assign({ size: size, disabled: disabled, error: error, disableStroke: disableStroke }, processedFieldProps, { className: (0, exports.cnInputOTP)('Field', {
135
- notAvailable: isInputDisabled,
136
- }, [processedFieldProps === null || processedFieldProps === void 0 ? void 0 : processedFieldProps.className]) }),
137
- react_1.default.createElement(FieldInput_1.FieldInput, tslib_1.__assign({ inputMode: (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.inputMode) !== null && _a !== void 0 ? _a : 'numeric', type: (_b = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.type) !== null && _b !== void 0 ? _b : 'text', value: value, autoComplete: processedAutocomplete, "aria-label": ariaLabel && "".concat(ariaLabel, ": ").concat(index + 1, "."), placeholder: processedPlaceholder, disabled: isInputDisabled }, processedInputProps, { onMouseDown: function (event) {
138
- var _a;
139
- (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onMouseDown) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
140
- onInputSelect(index);
141
- }, onTouchStart: function (event) {
142
- var _a;
143
- (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onTouchStart) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
144
- onInputSelect(index);
145
- }, onPointerDown: function (event) {
146
- var _a;
147
- (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onPointerDown) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
148
- onInputSelect(index);
149
- }, onChange: function (event) {
150
- var _a;
151
- (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onChange) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
152
- onInputChange(event, index);
153
- }, onKeyDown: function (event) {
154
- var _a;
155
- (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
156
- onKeyDown(event, index);
157
- }, onPaste: function (event) {
158
- var _a;
159
- (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onPaste) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
160
- onPaste(event, index);
161
- }, onFocus: function (event) {
162
- var _a;
163
- (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onFocus) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
164
- setFocusedInputIndex(index);
165
- }, onBlur: function (event) {
166
- var _a;
167
- (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onBlur) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
168
- setFocusedInputIndex(null);
169
- }, className: (0, exports.cnInputOTP)('Input', [
170
- processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.className,
171
- ]), ref: function (instance) {
172
- if (instance) {
173
- inputs.current[index] = instance;
174
- }
175
- (0, setRef_1.setRef)(processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.ref, instance);
176
- } })),
177
- react_1.default.createElement(Fieldset_1.Fieldset, null))));
178
- })));
113
+ return autoComplete;
114
+ })();
115
+ var processedContainerProps = (0, isFunction_1.isFunction)(inputContainerProps)
116
+ ? inputContainerProps(calculatedInput, index)
117
+ : inputContainerProps;
118
+ var processedFieldProps = (0, isFunction_1.isFunction)(fieldProps)
119
+ ? fieldProps(calculatedInput, index)
120
+ : fieldProps;
121
+ var processedInputProps = (0, isFunction_1.isFunction)(inputProps)
122
+ ? inputProps(calculatedInput, index)
123
+ : inputProps;
124
+ var processedPlaceholder = (0, isFunction_1.isFunction)(placeholder)
125
+ ? placeholder(calculatedInput, index)
126
+ : placeholder;
127
+ return (
128
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
129
+ react_1.default.createElement("div", tslib_1.__assign({ key: index }, processedContainerProps, { className: (0, exports.cnInputOTP)('InputContainer', [
130
+ processedContainerProps === null || processedContainerProps === void 0 ? void 0 : processedContainerProps.className,
131
+ ]), onClick: function () {
132
+ if (isInputDisabled) {
133
+ focusFirstNonFilledInput();
134
+ }
135
+ } }),
136
+ react_1.default.createElement(FieldControl_1.FieldControl, tslib_1.__assign({ size: size, disabled: disabled, error: error, disableStroke: disableStroke }, processedFieldProps, { className: (0, exports.cnInputOTP)('Field', {
137
+ notAvailable: isInputDisabled,
138
+ }, [processedFieldProps === null || processedFieldProps === void 0 ? void 0 : processedFieldProps.className]) }),
139
+ react_1.default.createElement(FieldInput_1.FieldInput, tslib_1.__assign({ inputMode: (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.inputMode) !== null && _a !== void 0 ? _a : 'numeric', type: (_b = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.type) !== null && _b !== void 0 ? _b : 'text', value: value, autoComplete: processedAutocomplete, "aria-label": ariaLabel && "".concat(ariaLabel, ": ").concat(index + 1, "."), placeholder: processedPlaceholder, disabled: isInputDisabled }, processedInputProps, { onMouseDown: function (event) {
140
+ var _a;
141
+ (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onMouseDown) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
142
+ onInputSelect(index);
143
+ }, onTouchStart: function (event) {
144
+ var _a;
145
+ (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onTouchStart) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
146
+ onInputSelect(index);
147
+ }, onPointerDown: function (event) {
148
+ var _a;
149
+ (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onPointerDown) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
150
+ onInputSelect(index);
151
+ }, onChange: function (event) {
152
+ var _a;
153
+ (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onChange) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
154
+ onInputChange(event, index);
155
+ }, onKeyDown: function (event) {
156
+ var _a;
157
+ (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
158
+ onKeyDown(event, index);
159
+ }, onPaste: function (event) {
160
+ var _a;
161
+ (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onPaste) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
162
+ onPaste(event, index);
163
+ }, onFocus: function (event) {
164
+ var _a;
165
+ (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onFocus) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
166
+ setFocusedInputIndex(index);
167
+ }, onBlur: function (event) {
168
+ var _a;
169
+ (_a = processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.onBlur) === null || _a === void 0 ? void 0 : _a.call(processedInputProps, event);
170
+ setFocusedInputIndex(null);
171
+ }, className: (0, exports.cnInputOTP)('Input', [
172
+ processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.className,
173
+ ]), ref: function (instance) {
174
+ if (instance) {
175
+ inputs.current[index] = instance;
176
+ }
177
+ (0, setRef_1.setRef)(processedInputProps === null || processedInputProps === void 0 ? void 0 : processedInputProps.ref, instance);
178
+ } })),
179
+ react_1.default.createElement(Fieldset_1.Fieldset, null))));
180
+ })),
181
+ react_1.default.createElement(FieldHint_1.FieldHint, { className: (0, exports.cnInputOTP)('Hint'), size: "l", disabled: disabled, error: error }, hint)));
179
182
  });
180
183
  exports.InputOTP.displayName = 'InputOTP';
@@ -1,8 +1,8 @@
1
1
  import type { StackGapVariant } from '../Stack';
2
- import type { InputOTPAutoCompleteMode, InputOTPSizeVariant } from './types';
2
+ import type { InputOTPSizeVariant } from './types';
3
3
  export declare const INPUT_OTP_DEFAULT_TAG = "div";
4
- export declare const INPUT_OTP_DEFAULT_AUTO_COMPLETE_MODE: InputOTPAutoCompleteMode;
5
- export declare const INPUT_OTP_DEFAULT_DISABLE_STROKE: boolean;
6
- export declare const INPUT_OTP_DEFAULT_SIZE: InputOTPSizeVariant;
4
+ export declare const INPUT_OTP_DEFAULT_AUTO_COMPLETE_MODE = "firstOnly";
5
+ export declare const INPUT_OTP_DEFAULT_DISABLE_STROKE = false;
6
+ export declare const INPUT_OTP_DEFAULT_SIZE = "s";
7
7
  export declare const INPUT_OTP_SPACING_BY_SIZE: Readonly<Record<InputOTPSizeVariant, StackGapVariant>>;
8
8
  export declare const INPUT_OTP_DEFAULT_FINISH_BEHAVIOR: ({ isFullFilled }: import("./types").InputOTPFinishBehaviorContext) => boolean;
@@ -1,12 +1,17 @@
1
1
  export declare const INPUT_OTP_VALIDATE_PRESET: {
2
+ /** Только текст */
2
3
  TEXT: (value: string) => boolean;
4
+ /** Только числа */
3
5
  NUMERIC: (value: string) => boolean;
6
+ /** Текст и числа */
4
7
  TEXT_NUMERIC: (value: string) => boolean;
5
8
  };
6
9
  export declare const INPUT_OTP_MASK_PRESET: {
7
10
  PASSWORD: string;
8
11
  };
9
12
  export declare const INPUT_OTP_FINISH_BEHAVIOR_PRESET: {
13
+ /** Реагирует на полный ввод на любом из input */
10
14
  FULL_FILLED_NON_LAST_INPUT: ({ isFullFilled }: import("./types").InputOTPFinishBehaviorContext) => boolean;
15
+ /** Реагирует на полный ввод только на последнем input, либо на нажатие на Enter при полном заполнении */
11
16
  FULL_FILLED_ON_LAST_INPUT: ({ isFullFilled, isChangeOnLastInput, isEnter, }: import("./types").InputOTPFinishBehaviorContext) => boolean;
12
17
  };
@@ -2,18 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.INPUT_OTP_FINISH_BEHAVIOR_PRESET = exports.INPUT_OTP_MASK_PRESET = exports.INPUT_OTP_VALIDATE_PRESET = void 0;
4
4
  exports.INPUT_OTP_VALIDATE_PRESET = {
5
+ /** Только текст */
5
6
  TEXT: function (value) { return /[a-zA-Z]{1}/.test(value); },
7
+ /** Только числа */
6
8
  NUMERIC: function (value) { return /\d{1}/.test(value); },
9
+ /** Текст и числа */
7
10
  TEXT_NUMERIC: function (value) { return /[a-zA-Z0-9]{1}/.test(value); },
8
11
  };
9
12
  exports.INPUT_OTP_MASK_PRESET = {
10
13
  PASSWORD: '•',
11
14
  };
12
15
  exports.INPUT_OTP_FINISH_BEHAVIOR_PRESET = {
16
+ /** Реагирует на полный ввод на любом из input */
13
17
  FULL_FILLED_NON_LAST_INPUT: function (_a) {
14
18
  var isFullFilled = _a.isFullFilled;
15
19
  return isFullFilled;
16
20
  },
21
+ /** Реагирует на полный ввод только на последнем input, либо на нажатие на Enter при полном заполнении */
17
22
  FULL_FILLED_ON_LAST_INPUT: function (_a) {
18
23
  var isFullFilled = _a.isFullFilled, isChangeOnLastInput = _a.isChangeOnLastInput, isEnter = _a.isEnter;
19
24
  if (isFullFilled && isChangeOnLastInput) {
@@ -1,4 +1,4 @@
1
- import type { ComponentPropsWithRef, ElementType } from 'react';
1
+ import type { ComponentPropsWithRef, ComponentRef, ElementType, ReactNode } from 'react';
2
2
  import type { PolymorphicComponentPropsWithRef } from '../../utils/polymorphicComponentWithRef';
3
3
  import type { FIELD_CONTROL_DEFAULT_TAG, FieldControlBaseProps } from '../FieldControl';
4
4
  import type { FieldInputProps } from '../FieldInput';
@@ -38,15 +38,15 @@ export type InputOTPFinishBehaviorContext = {
38
38
  value: string;
39
39
  /** Необработанное значение */
40
40
  rawValue: InputOTPRawValue;
41
- /** Значение с маской */
41
+ /** Значение с примененной маской */
42
42
  maskedValue: string;
43
- /** Необработанное значение с маской */
43
+ /** Необработанное значение с примененной маской */
44
44
  maskedRawValue: InputOTPRawValue;
45
- /** Флаг: Это изменение на последнем input */
45
+ /** Если `true` — это изменение на последнем input */
46
46
  isChangeOnLastInput: boolean;
47
- /** index input'а, на котором произошло изменение */
47
+ /** index input, на котором произошло изменение */
48
48
  inputIndex: number;
49
- /** Флаг: Был нажат enter */
49
+ /** Если `true` это нажатие Enter */
50
50
  isEnter: boolean;
51
51
  };
52
52
  export type InputOTPFinishBehavior = (context: InputOTPFinishBehaviorContext) => boolean;
@@ -87,6 +87,8 @@ export type InputOTPBaseProps = {
87
87
  placeholder?: InputOTPDynamicInputParameter<string>;
88
88
  /** Свойства Field */
89
89
  fieldProps?: InputOTPDynamicInputParameter<PolymorphicComponentPropsWithRef<FieldControlBaseProps, typeof FIELD_CONTROL_DEFAULT_TAG>>;
90
+ /** Дополнительное описание к полю */
91
+ hint?: ReactNode;
90
92
  /** Свойства Input */
91
93
  inputProps?: InputOTPDynamicInputParameter<FieldInputProps>;
92
94
  /** Свойства InputContainer */
@@ -99,3 +101,4 @@ export type InputOTPBaseProps = {
99
101
  'data-testid'?: string;
100
102
  };
101
103
  export type InputOTPProps<As extends ElementType = typeof INPUT_OTP_DEFAULT_TAG> = PolymorphicComponentPropsWithRef<InputOTPBaseProps, As>;
104
+ export type InputOTPRef<As extends ElementType = typeof INPUT_OTP_DEFAULT_TAG> = ComponentRef<As>;
@@ -66,6 +66,7 @@ import type { SelectProps } from '../../../../Select';
66
66
  import type { SliderProps } from '../../../../Slider';
67
67
  import type { SnackbarProviderProps } from '../../../../Snackbar';
68
68
  import type { StackProps } from '../../../../Stack';
69
+ import type { StepperVerticalProps, StepperVerticalStepButtonProps, StepperVerticalStepProps, StepperVerticalIndicatorProps, StepperVerticalIconIndicatorProps } from '../../../../StepperVertical';
69
70
  import type { TableContainerProps, TableProps, TableCaptionProps, TableCellProps } from '../../../../Table';
70
71
  import type { TagProps } from '../../../../Tag';
71
72
  import type { TagProps as TagPropsNext } from '../../../../TagNext';
@@ -188,6 +189,11 @@ export type ThemeDefaultProps = {
188
189
  Slider?: Partial<SliderProps>;
189
190
  SnackbarProvider?: Partial<SnackbarProviderProps>;
190
191
  Stack?: Partial<StackProps>;
192
+ StepperVertical?: Partial<StepperVerticalProps>;
193
+ StepperVerticalStep?: Partial<StepperVerticalStepProps>;
194
+ StepperVerticalStepButton?: Partial<StepperVerticalStepButtonProps>;
195
+ StepperVerticalIconIndicator?: Partial<StepperVerticalIconIndicatorProps>;
196
+ StepperVerticalIndicator?: Partial<StepperVerticalIndicatorProps>;
191
197
  Table?: Partial<TableProps>;
192
198
  TableCaption?: Partial<TableCaptionProps>;
193
199
  TableCell?: Partial<TableCellProps>;
@@ -79,10 +79,19 @@
79
79
  }
80
80
 
81
81
  .Select-RenderLeft,
82
- .Select-RenderRight {
82
+ .Select-RenderRight_nonInteractive {
83
83
  pointer-events: none;
84
84
  }
85
85
 
86
+ .Select-ClearIcon {
87
+ visibility: hidden;
88
+ transition: visibility var(--transition-default);
89
+ }
90
+
91
+ .Select-ClearIcon_visibility {
92
+ visibility: visible;
93
+ }
94
+
86
95
  .Select-DropDownIcon {
87
96
  display: flex;
88
97
  align-items: center;
@@ -1,4 +1,3 @@
1
1
  import './Select.css';
2
2
  import type { SelectComponent } from './types';
3
- export declare const cnSelect: import("@bem-react/classname").ClassNameFormatter;
4
3
  export declare const Select: SelectComponent;
@@ -1,42 +1,49 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Select = exports.cnSelect = void 0;
3
+ exports.Select = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  require("./Select.css");
6
6
  var react_1 = tslib_1.__importStar(require("react"));
7
+ var logger_1 = require("@ozen-ui/logger");
7
8
  var react_is_1 = require("react-is");
8
9
  var useControlled_1 = require("../../hooks/useControlled");
10
+ var useDevEffect_1 = require("../../hooks/useDevEffect");
9
11
  var useMultiRef_1 = require("../../hooks/useMultiRef");
10
12
  var useThemeProps_1 = require("../../hooks/useThemeProps");
11
- var classname_1 = require("../../utils/classname");
13
+ var utils_1 = require("../../utils");
12
14
  var isKeys_1 = require("../../utils/isKeys");
13
15
  var isString_1 = require("../../utils/isString");
14
16
  var DataList_1 = require("../DataList");
15
17
  var components_1 = require("./components");
16
18
  var constants_1 = require("./constants");
17
19
  var helpers_1 = require("./helpers");
18
- exports.cnSelect = (0, classname_1.cn)('Select');
20
+ var SelectContext_1 = require("./SelectContext");
19
21
  var SelectRender = function (inProps, ref) {
20
22
  var props = (0, useThemeProps_1.useThemeProps)({
21
23
  props: inProps,
22
24
  name: 'Select',
23
25
  });
24
- var _a = props.size, size = _a === void 0 ? constants_1.SELECT_DEFAULT_SIZE : _a, _b = props.autoFocus, autoFocus = _b === void 0 ? constants_1.SELECT_DEFAULT_AUTO_FOCUS : _b, _c = props.fullWidth, fullWidth = _c === void 0 ? constants_1.SELECT_DEFAULT_FULL_WIDTH : _c, _d = props.disabled, disabled = _d === void 0 ? constants_1.SELECT_DEFAULT_DISABLED : _d, _e = props.required, required = _e === void 0 ? constants_1.SELECT_DEFAULT_REQUIRED : _e, _f = props.multiline, multiline = _f === void 0 ? constants_1.SELECT_DEFAULT_MULTILINE : _f, _g = props.defaultOpen, defaultOpen = _g === void 0 ? constants_1.SELECT_DEFAULT_DEFAULT_OPEN : _g, valueProp = props.value, defaultValue = props.defaultValue, onChange = props.onChange, renderValueProp = props.renderValue, children = props.children, onClick = props.onClick, onKeyDown = props.onKeyDown, menuProps = props.menuProps, dataListPropsProp = props.dataListProps, bodyProps = props.bodyProps, bodyRefProp = props.bodyRef, onCloseProp = props.onClose, onOpenProp = props.onOpen, openProp = props.open, multiple = props.multiple, other = tslib_1.__rest(props, ["size", "autoFocus", "fullWidth", "disabled", "required", "multiline", "defaultOpen", "value", "defaultValue", "onChange", "renderValue", "children", "onClick", "onKeyDown", "menuProps", "dataListProps", "bodyProps", "bodyRef", "onClose", "onOpen", "open", "multiple"]);
26
+ var _a = props.size, size = _a === void 0 ? constants_1.SELECT_DEFAULT_SIZE : _a, _b = props.autoFocus, autoFocus = _b === void 0 ? constants_1.SELECT_DEFAULT_AUTO_FOCUS : _b, _c = props.fullWidth, fullWidth = _c === void 0 ? constants_1.SELECT_DEFAULT_FULL_WIDTH : _c, _d = props.disabled, disabled = _d === void 0 ? constants_1.SELECT_DEFAULT_DISABLED : _d, _e = props.required, required = _e === void 0 ? constants_1.SELECT_DEFAULT_REQUIRED : _e, _f = props.multiline, multiline = _f === void 0 ? constants_1.SELECT_DEFAULT_MULTILINE : _f, _g = props.defaultOpen, defaultOpen = _g === void 0 ? constants_1.SELECT_DEFAULT_DEFAULT_OPEN : _g, _h = props.renderRightLayout, renderRightLayout = _h === void 0 ? constants_1.SELECT_DEFAULT_RENDER_RIGHT_LAYOUT : _h, valueProp = props.value, defaultValue = props.defaultValue, onChange = props.onChange, renderValueProp = props.renderValue, children = props.children, onClick = props.onClick, onKeyDown = props.onKeyDown, menuProps = props.menuProps, dataListPropsProp = props.dataListProps, bodyProps = props.bodyProps, bodyRefProp = props.bodyRef, onCloseProp = props.onClose, onOpenProp = props.onOpen, openProp = props.open, multiple = props.multiple, _j = props.showClearButton, showClearButton = _j === void 0 ? constants_1.SELECT_DEFAULT_SHOW_CLEAR_BUTTON : _j, renderLeft = props.renderLeft, renderRight = props.renderRight, onClearProp = props.onClear, clearText = props.clearText, _k = props.error, error = _k === void 0 ? constants_1.SELECT_DEFAULT_ERROR : _k, other = tslib_1.__rest(props, ["size", "autoFocus", "fullWidth", "disabled", "required", "multiline", "defaultOpen", "renderRightLayout", "value", "defaultValue", "onChange", "renderValue", "children", "onClick", "onKeyDown", "menuProps", "dataListProps", "bodyProps", "bodyRef", "onClose", "onOpen", "open", "multiple", "showClearButton", "renderLeft", "renderRight", "onClear", "clearText", "error"]);
27
+ (0, useDevEffect_1.useDevEffect)(function () {
28
+ if (renderRightLayout.length !== new Set(renderRightLayout).size) {
29
+ logger_1.logger.error("\u0412 renderRightLayout [".concat(renderRightLayout.map(function (element) { return "\"".concat(element, "\""); }).join(', '), "] \u0435\u0441\u0442\u044C \u0434\u0443\u0431\u043B\u0438\u0440\u0443\u044E\u0449\u0438\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B, \u043F\u0435\u0440\u0435\u043F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u043F\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043C\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435."));
30
+ }
31
+ }, [renderRightLayout]);
25
32
  var bodyInnerRef = (0, react_1.useRef)(null);
26
33
  var bodyRef = (0, useMultiRef_1.useMultiRef)([(bodyProps === null || bodyProps === void 0 ? void 0 : bodyProps.ref) || bodyRefProp, bodyInnerRef]);
27
34
  var dataListProps = dataListPropsProp || menuProps;
28
- var _h = tslib_1.__read((0, useControlled_1.useControlled)({
35
+ var _l = tslib_1.__read((0, useControlled_1.useControlled)({
29
36
  value: valueProp,
30
37
  defaultValue: defaultValue,
31
38
  name: 'Select',
32
39
  state: 'value',
33
- }), 2), valueState = _h[0], setValueState = _h[1];
34
- var _j = tslib_1.__read((0, useControlled_1.useControlled)({
40
+ }), 2), valueState = _l[0], setValueState = _l[1];
41
+ var _m = tslib_1.__read((0, useControlled_1.useControlled)({
35
42
  value: openProp,
36
43
  defaultValue: defaultOpen,
37
44
  name: 'Select',
38
45
  state: 'open',
39
- }), 2), open = _j[0], setOpen = _j[1];
46
+ }), 2), open = _m[0], setOpen = _m[1];
40
47
  var currentLabel;
41
48
  var isNotSelectOption = function (child) { return !(0, react_1.isValidElement)(child) || child.type !== DataList_1.DataListOption; };
42
49
  var resolvedChildren = (0, react_is_1.isFragment)(children)
@@ -125,8 +132,16 @@ var SelectRender = function (inProps, ref) {
125
132
  return (params === null || params === void 0 ? void 0 : params.value) || '';
126
133
  return '';
127
134
  };
135
+ var onClear = function (event) {
136
+ setValueState(undefined);
137
+ onChange === null || onChange === void 0 ? void 0 : onChange(undefined, event);
138
+ onClearProp === null || onClearProp === void 0 ? void 0 : onClearProp(event);
139
+ };
128
140
  /** Представление значение элемента контроля */
129
141
  var renderValue = renderValueProp || renderDefaultValue;
142
+ var hasValue = (0, utils_1.isArray)(valueState)
143
+ ? valueState.length > 0
144
+ : (0, utils_1.isNotNil)(valueState);
130
145
  (0, react_1.useEffect)(function () {
131
146
  var _a;
132
147
  /** Устанавливает фокус на элементе контроля
@@ -141,8 +156,23 @@ var SelectRender = function (inProps, ref) {
141
156
  if (autoFocus)
142
157
  (_a = bodyInnerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
143
158
  }, [autoFocus]);
144
- return (react_1.default.createElement(react_1.default.Fragment, null,
145
- react_1.default.createElement(components_1.SelectInput, tslib_1.__assign({ size: size, disabled: disabled, required: required, multiline: multiline, fullWidth: fullWidth }, other, { open: open, value: inputValue(), onClick: handleClick, onKeyDown: handleKeyDown, renderedValue: renderValue({
159
+ return (react_1.default.createElement(SelectContext_1.SelectContext.Provider, { value: {
160
+ open: open !== null && open !== void 0 ? open : false,
161
+ hasValue: hasValue,
162
+ size: size,
163
+ disabled: disabled,
164
+ renderRightLayout: renderRightLayout,
165
+ showClearButton: showClearButton,
166
+ fullWidth: fullWidth,
167
+ required: required,
168
+ multiline: multiline,
169
+ onClear: onClear,
170
+ clearText: clearText !== null && clearText !== void 0 ? clearText : '',
171
+ renderRight: renderRight,
172
+ renderLeft: renderLeft,
173
+ error: error,
174
+ } },
175
+ react_1.default.createElement(components_1.SelectInput, tslib_1.__assign({}, other, { value: inputValue(), onClick: handleClick, onKeyDown: handleKeyDown, renderedValue: renderValue({
146
176
  label: currentLabel,
147
177
  value: valueState,
148
178
  }), bodyProps: tslib_1.__assign(tslib_1.__assign({}, bodyProps), { ref: bodyRef }), ref: ref })),
@@ -0,0 +1,21 @@
1
+ import type { SelectOnClear, SelectRenderLeft, SelectRenderRight, SelectRenderRightLayout } from './entities';
2
+ import type { SelectPropSize } from './types';
3
+ export type SelectContextValue = {
4
+ renderRightLayout: SelectRenderRightLayout;
5
+ size: SelectPropSize;
6
+ open: boolean;
7
+ disabled: boolean;
8
+ hasValue: boolean;
9
+ onClear: SelectOnClear;
10
+ renderLeft: SelectRenderLeft;
11
+ renderRight: SelectRenderRight;
12
+ clearText: string;
13
+ showClearButton: boolean;
14
+ required: boolean;
15
+ multiline: boolean;
16
+ fullWidth: boolean;
17
+ error: boolean;
18
+ };
19
+ export declare const SelectContextDefaultValue: SelectContextValue;
20
+ export declare const SelectContext: import("react").Context<SelectContextValue>;
21
+ export declare const useSelectContext: () => SelectContextValue;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useSelectContext = exports.SelectContext = exports.SelectContextDefaultValue = void 0;
4
+ var react_1 = require("react");
5
+ var environment_1 = require("../../constants/environment");
6
+ var constants_1 = require("./constants");
7
+ exports.SelectContextDefaultValue = {
8
+ renderRightLayout: constants_1.SELECT_DEFAULT_RENDER_RIGHT_LAYOUT,
9
+ disabled: constants_1.SELECT_DEFAULT_DISABLED,
10
+ size: constants_1.SELECT_DEFAULT_SIZE,
11
+ open: constants_1.SELECT_DEFAULT_DEFAULT_OPEN,
12
+ hasValue: false,
13
+ onClear: function () { },
14
+ clearText: '',
15
+ renderLeft: undefined,
16
+ renderRight: undefined,
17
+ showClearButton: constants_1.SELECT_DEFAULT_SHOW_CLEAR_BUTTON,
18
+ required: constants_1.SELECT_DEFAULT_REQUIRED,
19
+ multiline: constants_1.SELECT_DEFAULT_MULTILINE,
20
+ fullWidth: constants_1.SELECT_DEFAULT_FULL_WIDTH,
21
+ error: false,
22
+ };
23
+ exports.SelectContext = (0, react_1.createContext)(exports.SelectContextDefaultValue);
24
+ var useSelectContext = function () { return (0, react_1.useContext)(exports.SelectContext); };
25
+ exports.useSelectContext = useSelectContext;
26
+ // Именованный провайдер
27
+ if (environment_1.isDev) {
28
+ exports.SelectContext.displayName = 'SelectContext';
29
+ }
@@ -0,0 +1 @@
1
+ export declare const cnSelect: import("@bem-react/classname").ClassNameFormatter;