@ozen-ui/kit 0.57.0 → 0.58.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 (232) hide show
  1. package/AutocompleteNext/package.json +5 -0
  2. package/__inner__/cjs/components/Autocomplete/Autocomplete.d.ts +3 -0
  3. package/__inner__/cjs/components/Autocomplete/Autocomplete.js +7 -0
  4. package/__inner__/cjs/components/Autocomplete/helper.d.ts +2 -10
  5. package/__inner__/cjs/components/AutocompleteNext/Autocomplete.css +226 -0
  6. package/__inner__/cjs/components/AutocompleteNext/Autocomplete.d.ts +4 -0
  7. package/__inner__/cjs/components/AutocompleteNext/Autocomplete.js +216 -0
  8. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/AutocompleteDropdown.d.ts +2 -0
  9. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/AutocompleteDropdown.js +156 -0
  10. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/AutocompleteDropdownCheckIcon.css +7 -0
  11. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/AutocompleteDropdownCheckIcon.d.ts +6 -0
  12. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/AutocompleteDropdownCheckIcon.js +18 -0
  13. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/index.d.ts +1 -0
  14. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/index.js +4 -0
  15. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownLoading/AutocompleteDropdownLoading.d.ts +6 -0
  16. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownLoading/AutocompleteDropdownLoading.js +23 -0
  17. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownLoading/index.d.ts +1 -0
  18. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownLoading/index.js +4 -0
  19. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownNoOptions/AutocompleteDropdownNoOptions.d.ts +6 -0
  20. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownNoOptions/AutocompleteDropdownNoOptions.js +17 -0
  21. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownNoOptions/index.d.ts +1 -0
  22. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownNoOptions/index.js +4 -0
  23. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/index.d.ts +3 -0
  24. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/index.js +6 -0
  25. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/constants.d.ts +3 -0
  26. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/constants.js +6 -0
  27. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/helpers.d.ts +17 -0
  28. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/helpers.js +36 -0
  29. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/index.d.ts +3 -0
  30. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/index.js +6 -0
  31. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/types.d.ts +45 -0
  32. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/types.js +2 -0
  33. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/utils/index.d.ts +2 -0
  34. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/utils/index.js +5 -0
  35. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/utils/useDataListNavigation.d.ts +20 -0
  36. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/utils/useDataListNavigation.js +71 -0
  37. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/utils/useScrollContainerToElement.d.ts +3 -0
  38. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/utils/useScrollContainerToElement.js +15 -0
  39. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/AutocompleteInput.d.ts +2 -0
  40. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/AutocompleteInput.js +38 -0
  41. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/components/AutocompleteInputMultiple.d.ts +2 -0
  42. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/components/AutocompleteInputMultiple.js +112 -0
  43. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/components/helpers.d.ts +5 -0
  44. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/components/helpers.js +36 -0
  45. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/components/index.d.ts +1 -0
  46. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/components/index.js +4 -0
  47. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/components/types.d.ts +17 -0
  48. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/components/types.js +2 -0
  49. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/helpers.d.ts +3 -0
  50. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/index.d.ts +2 -0
  51. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/index.js +5 -0
  52. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/types.d.ts +26 -0
  53. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/types.js +2 -0
  54. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteRenderRight/AutocompleteRenderRight.d.ts +8 -0
  55. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteRenderRight/AutocompleteRenderRight.js +28 -0
  56. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteRenderRight/index.d.ts +1 -0
  57. package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteRenderRight/index.js +4 -0
  58. package/__inner__/cjs/components/AutocompleteNext/components/index.d.ts +3 -0
  59. package/__inner__/cjs/components/AutocompleteNext/components/index.js +6 -0
  60. package/__inner__/cjs/components/AutocompleteNext/constants.d.ts +10 -0
  61. package/__inner__/cjs/components/AutocompleteNext/constants.js +13 -0
  62. package/__inner__/cjs/components/AutocompleteNext/helpers.d.ts +152 -0
  63. package/__inner__/cjs/components/AutocompleteNext/helpers.js +18 -0
  64. package/__inner__/cjs/components/AutocompleteNext/index.d.ts +2 -0
  65. package/__inner__/cjs/components/AutocompleteNext/index.js +5 -0
  66. package/__inner__/cjs/components/AutocompleteNext/types.d.ts +133 -0
  67. package/__inner__/cjs/components/AutocompleteNext/types.js +2 -0
  68. package/__inner__/cjs/components/DataList/DataList.js +18 -25
  69. package/__inner__/cjs/components/DataList/helpers.d.ts +3 -0
  70. package/__inner__/cjs/components/DataList/helpers.js +7 -0
  71. package/__inner__/cjs/components/DataList/{helpers → utils}/index.d.ts +0 -1
  72. package/__inner__/cjs/components/DataList/{helpers → utils}/index.js +0 -1
  73. package/__inner__/cjs/components/DatePicker/DatePicker.d.ts +2 -2
  74. package/__inner__/cjs/components/DatePicker/DatePicker.js +1 -1
  75. package/__inner__/cjs/components/FieldControl/FieldControl.css +4 -0
  76. package/__inner__/cjs/components/FieldInput/FieldInput.d.ts +1 -9
  77. package/__inner__/cjs/components/FieldInput/FieldInput.js +9 -4
  78. package/__inner__/cjs/components/FieldInput/constants.d.ts +1 -0
  79. package/__inner__/cjs/components/FieldInput/constants.js +4 -0
  80. package/__inner__/cjs/components/FieldInput/index.d.ts +1 -0
  81. package/__inner__/cjs/components/FieldInput/index.js +1 -0
  82. package/__inner__/cjs/components/FieldInput/types.d.ts +11 -0
  83. package/__inner__/cjs/components/FieldInput/types.js +2 -0
  84. package/__inner__/cjs/components/FieldLabel/FieldLabel.css +1 -0
  85. package/__inner__/cjs/components/Grid/Grid.css +4 -0
  86. package/__inner__/cjs/components/Input/Input.css +6 -9
  87. package/__inner__/cjs/components/Input/types.d.ts +2 -3
  88. package/__inner__/cjs/components/InputNumber/InputNumber.css +0 -5
  89. package/__inner__/cjs/components/Tag/Tag.css +1 -0
  90. package/__inner__/cjs/components/TagNext/Tag.css +11 -4
  91. package/__inner__/cjs/components/TagNext/Tag.js +1 -1
  92. package/__inner__/cjs/components/TagNext/constants.d.ts +1 -1
  93. package/__inner__/cjs/components/TagNext/constants.js +2 -2
  94. package/__inner__/cjs/components/TagNext/types.d.ts +6 -3
  95. package/__inner__/cjs/components/Textarea/Textarea.css +0 -5
  96. package/__inner__/cjs/components/ThemeProvider/types.d.ts +2 -0
  97. package/__inner__/cjs/hooks/useElementSize/index.d.ts +1 -0
  98. package/__inner__/cjs/hooks/useElementSize/index.js +4 -0
  99. package/__inner__/cjs/hooks/useElementSize/useElementSize.d.ts +6 -0
  100. package/__inner__/cjs/hooks/useElementSize/useElementSize.js +11 -0
  101. package/__inner__/cjs/hooks/useResizeObserver/index.d.ts +1 -0
  102. package/__inner__/cjs/hooks/useResizeObserver/index.js +4 -0
  103. package/__inner__/cjs/hooks/useResizeObserver/useResizeObserver.d.ts +4 -0
  104. package/__inner__/cjs/hooks/useResizeObserver/useResizeObserver.js +50 -0
  105. package/__inner__/cjs/locale/locale.js +21 -0
  106. package/__inner__/cjs/utils/isNotNil.d.ts +1 -0
  107. package/__inner__/cjs/utils/isNotNil.js +7 -0
  108. package/__inner__/esm/components/Autocomplete/Autocomplete.d.ts +3 -0
  109. package/__inner__/esm/components/Autocomplete/Autocomplete.js +7 -0
  110. package/__inner__/esm/components/Autocomplete/helper.d.ts +2 -10
  111. package/__inner__/esm/components/AutocompleteNext/Autocomplete.css +226 -0
  112. package/__inner__/esm/components/AutocompleteNext/Autocomplete.d.ts +4 -0
  113. package/__inner__/esm/components/AutocompleteNext/Autocomplete.js +213 -0
  114. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/AutocompleteDropdown.d.ts +2 -0
  115. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/AutocompleteDropdown.js +153 -0
  116. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/AutocompleteDropdownCheckIcon.css +7 -0
  117. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/AutocompleteDropdownCheckIcon.d.ts +6 -0
  118. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/AutocompleteDropdownCheckIcon.js +13 -0
  119. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/index.d.ts +1 -0
  120. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/index.js +1 -0
  121. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownLoading/AutocompleteDropdownLoading.d.ts +6 -0
  122. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownLoading/AutocompleteDropdownLoading.js +18 -0
  123. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownLoading/index.d.ts +1 -0
  124. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownLoading/index.js +1 -0
  125. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownNoOptions/AutocompleteDropdownNoOptions.d.ts +6 -0
  126. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownNoOptions/AutocompleteDropdownNoOptions.js +12 -0
  127. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownNoOptions/index.d.ts +1 -0
  128. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownNoOptions/index.js +1 -0
  129. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/index.d.ts +3 -0
  130. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/index.js +3 -0
  131. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/constants.d.ts +3 -0
  132. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/constants.js +3 -0
  133. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/helpers.d.ts +17 -0
  134. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/helpers.js +30 -0
  135. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/index.d.ts +3 -0
  136. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/index.js +3 -0
  137. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/types.d.ts +45 -0
  138. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/types.js +1 -0
  139. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/utils/index.d.ts +2 -0
  140. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/utils/index.js +2 -0
  141. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/utils/useDataListNavigation.d.ts +20 -0
  142. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/utils/useDataListNavigation.js +67 -0
  143. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/utils/useScrollContainerToElement.d.ts +3 -0
  144. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/utils/useScrollContainerToElement.js +11 -0
  145. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/AutocompleteInput.d.ts +2 -0
  146. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/AutocompleteInput.js +35 -0
  147. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/components/AutocompleteInputMultiple.d.ts +2 -0
  148. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/components/AutocompleteInputMultiple.js +109 -0
  149. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/components/helpers.d.ts +5 -0
  150. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/components/helpers.js +29 -0
  151. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/components/index.d.ts +1 -0
  152. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/components/index.js +1 -0
  153. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/components/types.d.ts +17 -0
  154. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/components/types.js +1 -0
  155. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/helpers.d.ts +3 -0
  156. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/index.d.ts +2 -0
  157. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/index.js +2 -0
  158. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/types.d.ts +26 -0
  159. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/types.js +1 -0
  160. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteRenderRight/AutocompleteRenderRight.d.ts +8 -0
  161. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteRenderRight/AutocompleteRenderRight.js +24 -0
  162. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteRenderRight/index.d.ts +1 -0
  163. package/__inner__/esm/components/AutocompleteNext/components/AutocompleteRenderRight/index.js +1 -0
  164. package/__inner__/esm/components/AutocompleteNext/components/index.d.ts +3 -0
  165. package/__inner__/esm/components/AutocompleteNext/components/index.js +3 -0
  166. package/__inner__/esm/components/AutocompleteNext/constants.d.ts +10 -0
  167. package/__inner__/esm/components/AutocompleteNext/constants.js +10 -0
  168. package/__inner__/esm/components/AutocompleteNext/helpers.d.ts +152 -0
  169. package/__inner__/esm/components/AutocompleteNext/helpers.js +9 -0
  170. package/__inner__/esm/components/AutocompleteNext/index.d.ts +2 -0
  171. package/__inner__/esm/components/AutocompleteNext/index.js +2 -0
  172. package/__inner__/esm/components/AutocompleteNext/types.d.ts +133 -0
  173. package/__inner__/esm/components/AutocompleteNext/types.js +1 -0
  174. package/__inner__/esm/components/DataList/DataList.js +17 -24
  175. package/__inner__/esm/components/DataList/helpers.d.ts +3 -0
  176. package/__inner__/esm/components/DataList/helpers.js +2 -0
  177. package/__inner__/esm/components/DataList/{helpers → utils}/index.d.ts +0 -1
  178. package/__inner__/esm/components/DataList/{helpers → utils}/index.js +0 -1
  179. package/__inner__/esm/components/DatePicker/DatePicker.d.ts +2 -2
  180. package/__inner__/esm/components/DatePicker/DatePicker.js +1 -1
  181. package/__inner__/esm/components/FieldControl/FieldControl.css +4 -0
  182. package/__inner__/esm/components/FieldInput/FieldInput.d.ts +1 -9
  183. package/__inner__/esm/components/FieldInput/FieldInput.js +8 -3
  184. package/__inner__/esm/components/FieldInput/constants.d.ts +1 -0
  185. package/__inner__/esm/components/FieldInput/constants.js +1 -0
  186. package/__inner__/esm/components/FieldInput/index.d.ts +1 -0
  187. package/__inner__/esm/components/FieldInput/index.js +1 -0
  188. package/__inner__/esm/components/FieldInput/types.d.ts +11 -0
  189. package/__inner__/esm/components/FieldInput/types.js +1 -0
  190. package/__inner__/esm/components/FieldLabel/FieldLabel.css +1 -0
  191. package/__inner__/esm/components/Grid/Grid.css +4 -0
  192. package/__inner__/esm/components/Input/Input.css +6 -9
  193. package/__inner__/esm/components/Input/types.d.ts +2 -3
  194. package/__inner__/esm/components/InputNumber/InputNumber.css +0 -5
  195. package/__inner__/esm/components/Tag/Tag.css +1 -0
  196. package/__inner__/esm/components/TagNext/Tag.css +11 -4
  197. package/__inner__/esm/components/TagNext/Tag.js +2 -2
  198. package/__inner__/esm/components/TagNext/constants.d.ts +1 -1
  199. package/__inner__/esm/components/TagNext/constants.js +1 -1
  200. package/__inner__/esm/components/TagNext/types.d.ts +6 -3
  201. package/__inner__/esm/components/Textarea/Textarea.css +0 -5
  202. package/__inner__/esm/components/ThemeProvider/types.d.ts +2 -0
  203. package/__inner__/esm/hooks/useElementSize/index.d.ts +1 -0
  204. package/__inner__/esm/hooks/useElementSize/index.js +1 -0
  205. package/__inner__/esm/hooks/useElementSize/useElementSize.d.ts +6 -0
  206. package/__inner__/esm/hooks/useElementSize/useElementSize.js +7 -0
  207. package/__inner__/esm/hooks/useResizeObserver/index.d.ts +1 -0
  208. package/__inner__/esm/hooks/useResizeObserver/index.js +1 -0
  209. package/__inner__/esm/hooks/useResizeObserver/useResizeObserver.d.ts +4 -0
  210. package/__inner__/esm/hooks/useResizeObserver/useResizeObserver.js +46 -0
  211. package/__inner__/esm/locale/locale.js +21 -0
  212. package/__inner__/esm/utils/isNotNil.d.ts +1 -0
  213. package/__inner__/esm/utils/isNotNil.js +3 -0
  214. package/package.json +4 -4
  215. package/useElementSize/package.json +5 -0
  216. package/useResizeObserver/package.json +5 -0
  217. package/__inner__/cjs/components/DataList/helpers/types.d.ts +0 -10
  218. package/__inner__/esm/components/DataList/helpers/types.d.ts +0 -10
  219. /package/__inner__/cjs/components/{DataList/helpers/types.js → AutocompleteNext/components/AutocompleteInput/helpers.js} +0 -0
  220. /package/__inner__/cjs/components/DataList/{helpers → utils}/lastSelectedValue.d.ts +0 -0
  221. /package/__inner__/cjs/components/DataList/{helpers → utils}/lastSelectedValue.js +0 -0
  222. /package/__inner__/cjs/components/DataList/{helpers → utils}/useDataListNavigation.d.ts +0 -0
  223. /package/__inner__/cjs/components/DataList/{helpers → utils}/useDataListNavigation.js +0 -0
  224. /package/__inner__/cjs/components/DataList/{helpers → utils}/useScrollContainerToElement.d.ts +0 -0
  225. /package/__inner__/cjs/components/DataList/{helpers → utils}/useScrollContainerToElement.js +0 -0
  226. /package/__inner__/esm/components/{DataList/helpers/types.js → AutocompleteNext/components/AutocompleteInput/helpers.js} +0 -0
  227. /package/__inner__/esm/components/DataList/{helpers → utils}/lastSelectedValue.d.ts +0 -0
  228. /package/__inner__/esm/components/DataList/{helpers → utils}/lastSelectedValue.js +0 -0
  229. /package/__inner__/esm/components/DataList/{helpers → utils}/useDataListNavigation.d.ts +0 -0
  230. /package/__inner__/esm/components/DataList/{helpers → utils}/useDataListNavigation.js +0 -0
  231. /package/__inner__/esm/components/DataList/{helpers → utils}/useScrollContainerToElement.d.ts +0 -0
  232. /package/__inner__/esm/components/DataList/{helpers → utils}/useScrollContainerToElement.js +0 -0
@@ -0,0 +1,67 @@
1
+ import { __assign, __read } from "tslib";
2
+ import { useEffect, useState, useCallback } from 'react';
3
+ import { useMutableRef } from '../../../../../hooks/useMutableRef';
4
+ import { getNextIndex } from '../../../../../utils/getNextIndex';
5
+ import { getPrevIndex } from '../../../../../utils/getPrevIndex';
6
+ import { isKey } from '../../../../../utils/isKey';
7
+ import { isKeys } from '../../../../../utils/isKeys';
8
+ /** Навигация по элементам списка без перехвата фокуса с элемента контроля */
9
+ export function useDataListNavigation(_a) {
10
+ var selected = _a.selected, onSelect = _a.onSelect, _b = _a.active, active = _b === void 0 ? false : _b, itemsProps = _a.items;
11
+ var savedItems = useMutableRef(itemsProps);
12
+ var savedSelected = useMutableRef(selected);
13
+ var savedOnSelect = useMutableRef(onSelect);
14
+ var _c = __read(useState({}), 2), state = _c[0], setState = _c[1];
15
+ var findInItems = function (value) { var _a; return (_a = savedItems.current) === null || _a === void 0 ? void 0 : _a.find(function (item) { return item === value; }); };
16
+ useEffect(function () {
17
+ if (!active)
18
+ return;
19
+ setState(function (prevState) {
20
+ var _a, _b, _c;
21
+ return (__assign(__assign({}, prevState), { focused: (_a = findInItems(prevState.focused)) !== null && _a !== void 0 ? _a : null, current: (_b = findInItems(savedSelected.current)) !== null && _b !== void 0 ? _b : (_c = savedItems.current) === null || _c === void 0 ? void 0 : _c[0] }));
22
+ });
23
+ }, [itemsProps, active]);
24
+ // Сброс
25
+ useEffect(function () {
26
+ if (!active)
27
+ return undefined;
28
+ return function () {
29
+ setState({});
30
+ };
31
+ }, [active]);
32
+ var onClick = useCallback(function (event, item) {
33
+ var _a;
34
+ if (!active)
35
+ return;
36
+ var focused = item === state.focused ? item : null;
37
+ setState(__assign(__assign({}, state), { focused: focused, current: item }));
38
+ (_a = savedOnSelect.current) === null || _a === void 0 ? void 0 : _a.call(savedOnSelect, event, item);
39
+ }, [state.focused, active]);
40
+ var onKeyDown = useCallback(function (event) {
41
+ var _a, _b, _c, _d, _e, _f, _g;
42
+ if (!active || !isKeys(event, ['Enter', 'ArrowUp', 'ArrowDown']))
43
+ return;
44
+ var current = (_a = state.focused) !== null && _a !== void 0 ? _a : state.current;
45
+ if (isKey(event, 'Enter')) {
46
+ // Не обрабатываем ввод в пустом списке
47
+ if (!((_b = savedItems.current) === null || _b === void 0 ? void 0 : _b.length))
48
+ return;
49
+ event.preventDefault();
50
+ setState(__assign(__assign({}, state), { current: current, focused: current }));
51
+ (_c = savedOnSelect.current) === null || _c === void 0 ? void 0 : _c.call(savedOnSelect, event, current);
52
+ }
53
+ if (isKeys(event, ['ArrowUp', 'ArrowDown'])) {
54
+ event.preventDefault();
55
+ var currentIndex = typeof current !== 'undefined'
56
+ ? (_d = savedItems.current) === null || _d === void 0 ? void 0 : _d.indexOf(current)
57
+ : null;
58
+ var isArrowUp = isKey(event, 'ArrowUp');
59
+ var newIndex = isArrowUp
60
+ ? getPrevIndex(currentIndex !== null && currentIndex !== void 0 ? currentIndex : 0, ((_e = savedItems.current) === null || _e === void 0 ? void 0 : _e.length) || 0)
61
+ : getNextIndex(currentIndex !== null && currentIndex !== void 0 ? currentIndex : -1, ((_f = savedItems.current) === null || _f === void 0 ? void 0 : _f.length) || 0);
62
+ var newItem = (_g = savedItems.current) === null || _g === void 0 ? void 0 : _g[newIndex];
63
+ setState(__assign(__assign({}, state), { focused: newItem }));
64
+ }
65
+ }, [state.focused, state.current, active]);
66
+ return __assign(__assign({}, state), { onClick: onClick, onKeyDown: onKeyDown });
67
+ }
@@ -0,0 +1,3 @@
1
+ import type { RefObject } from 'react';
2
+ import type { ScrollContainerToElement } from '../../../../../utils/scrollContainerToElement';
3
+ export declare function useScrollContainerToElement(container: RefObject<HTMLElement>, element: RefObject<HTMLElement>, behavior?: ScrollContainerToElement['behavior']): void;
@@ -0,0 +1,11 @@
1
+ import { useEffect } from 'react';
2
+ import { scrollContainerToElement } from '../../../../../utils/scrollContainerToElement';
3
+ export function useScrollContainerToElement(container, element, behavior) {
4
+ useEffect(function () {
5
+ scrollContainerToElement({
6
+ container: container.current,
7
+ element: element.current,
8
+ behavior: behavior,
9
+ });
10
+ }, [container, element]);
11
+ }
@@ -0,0 +1,2 @@
1
+ import type { AutocompleteInputComponent } from './types';
2
+ export declare const AutocompleteInput: AutocompleteInputComponent;
@@ -0,0 +1,35 @@
1
+ import { __assign, __rest } from "tslib";
2
+ import React, { forwardRef } from 'react';
3
+ import { isNotNil } from '../../../../utils/isNotNil';
4
+ import { Input } from '../../../Input';
5
+ import { cnAutocomplete } from '../../index';
6
+ import { AutocompleteRenderRight } from '../AutocompleteRenderRight';
7
+ import { AutocompleteInputMultiple } from './components';
8
+ import { isNotMultipleParams, isMultipleParams } from './helpers';
9
+ var AutocompleteInputRender = function (inProps, ref) {
10
+ var _a, _b;
11
+ var _c = inProps.size, size = _c === void 0 ? 'm' : _c, open = inProps.open, value = inProps.value, onOpen = inProps.onOpen, onClear = inProps.onClear, multiple = inProps.multiple, disabled = inProps.disabled, openText = inProps.openText, onRemoveTag = inProps.onRemoveTag, clearText = inProps.clearText, closeText = inProps.closeText, className = inProps.className, bodyProps = inProps.bodyProps, inputProps = inProps.inputProps, renderRight = inProps.renderRight, placeholder = inProps.placeholder, selectedOptions = inProps.selectedOptions, getOptionKey = inProps.getOptionKey, getOptionLabel = inProps.getOptionLabel, getOptionDisabled = inProps.getOptionDisabled, limitTags = inProps.limitTags, disableClearButton = inProps.disableClearButton, disableShowChevron = inProps.disableShowChevron, renderTag = inProps.renderTag, renderInputProp = inProps.renderInput, renderMoreTag = inProps.renderMoreTag, other = __rest(inProps, ["size", "open", "value", "onOpen", "onClear", "multiple", "disabled", "openText", "onRemoveTag", "clearText", "closeText", "className", "bodyProps", "inputProps", "renderRight", "placeholder", "selectedOptions", "getOptionKey", "getOptionLabel", "getOptionDisabled", "limitTags", "disableClearButton", "disableShowChevron", "renderTag", "renderInput", "renderMoreTag"]);
12
+ var hasValue = isMultipleParams(inProps)
13
+ ? !!((_a = inProps.selectedOptions) === null || _a === void 0 ? void 0 : _a.length)
14
+ : isNotNil(selectedOptions);
15
+ var selectedOptionsLength = isMultipleParams(inProps)
16
+ ? ((_b = inProps.selectedOptions) === null || _b === void 0 ? void 0 : _b.length) || 0
17
+ : 0;
18
+ var renderInputDefault = function (props, ref) { return (React.createElement(Input, __assign({}, props, { ref: ref }))); };
19
+ var renderInput = renderInputProp || renderInputDefault;
20
+ var renderComponent = function (_a, ref) {
21
+ var className = _a.className, other = __rest(_a, ["className"]);
22
+ if (isNotMultipleParams(inProps)) {
23
+ return (React.createElement("input", __assign({}, other, { ref: ref, className: cnAutocomplete('Input', { multiple: multiple }, [className]) })));
24
+ }
25
+ if (isMultipleParams(inProps)) {
26
+ var selectedOptions_1 = inProps.selectedOptions;
27
+ return (React.createElement(AutocompleteInputMultiple, __assign({ renderTag: renderTag, limitTags: limitTags, onRemoveTag: onRemoveTag, getOptionKey: getOptionKey, renderMoreTag: renderMoreTag, getOptionLabel: getOptionLabel, getOptionDisabled: getOptionDisabled, selectedOptions: selectedOptions_1, ref: ref }, other)));
28
+ }
29
+ return null;
30
+ };
31
+ return renderInput(__assign({ size: size, disabled: disabled, value: value || '', placeholder: placeholder, renderRight: (React.createElement(AutocompleteRenderRight, { open: open, size: size, onOpen: onOpen, onClear: onClear, hasValue: hasValue, openText: openText, disabled: disabled, clearText: clearText, closeText: closeText, renderRight: renderRight, disableShowChevron: disableShowChevron, disableClearButton: disableClearButton })), labelProps: {
32
+ shrink: !!selectedOptionsLength,
33
+ }, inputProps: __assign(__assign({ autoComplete: 'off' }, inputProps), { renderComponent: renderComponent }), bodyProps: __assign({ 'aria-expanded': open }, bodyProps), className: cnAutocomplete({ size: size, multiple: multiple, hasChevron: !disableShowChevron }, [className]) }, other), ref);
34
+ };
35
+ export var AutocompleteInput = forwardRef(AutocompleteInputRender);
@@ -0,0 +1,2 @@
1
+ import type { AutocompleteInputMultipleComponent } from './types';
2
+ export declare const AutocompleteInputMultiple: AutocompleteInputMultipleComponent;
@@ -0,0 +1,109 @@
1
+ import { __assign, __read, __rest } from "tslib";
2
+ import React, { forwardRef, useState } from 'react';
3
+ import { CrossSmallIcon } from '@ozen-ui/icons';
4
+ import { useElementSize } from '../../../../../hooks/useElementSize';
5
+ import { useIsomorphicEffect } from '../../../../../hooks/useIsomorphicEffect';
6
+ import { isNumber } from '../../../../../utils/isNumber';
7
+ import { Tag } from '../../../../TagNext';
8
+ import { cnAutocomplete, } from '../../../index';
9
+ import { calcElementSize, calcElementsSize, createMap, getAutocompleteSizeToTag, } from './helpers';
10
+ var AutocompleteInputMultipleRender = function (inProps, ref) {
11
+ var _a = inProps.size, size = _a === void 0 ? 'm' : _a, value = inProps.value, placeholder = inProps.placeholder, selectedOptions = inProps.selectedOptions, onRemoveTag = inProps.onRemoveTag, renderTagProp = inProps.renderTag, renderMoreTagProp = inProps.renderMoreTag, getOptionKey = inProps.getOptionKey, getOptionLabel = inProps.getOptionLabel, getOptionDisabled = inProps.getOptionDisabled, limitTags = inProps.limitTags, other = __rest(inProps, ["size", "value", "placeholder", "selectedOptions", "onRemoveTag", "renderTag", "renderMoreTag", "getOptionKey", "getOptionLabel", "getOptionDisabled", "limitTags"]);
12
+ var selectedOptionsLength = (selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions.length) || 0;
13
+ var responsive = limitTags === 'responsive';
14
+ var hasLimitTags = isNumber(limitTags) && limitTags > 0;
15
+ var showMoreTag = !!selectedOptionsLength && (responsive || hasLimitTags);
16
+ var _b = __read(useState(), 2), visibleMap = _b[0], setVisibleMap = _b[1];
17
+ var omittedValues = selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions.filter(function (_, i) { return !(visibleMap === null || visibleMap === void 0 ? void 0 : visibleMap[i]); });
18
+ var renderMoreTagDefault = function (_a, ref) {
19
+ var props = _a.props;
20
+ return React.createElement(Tag, __assign({ color: "neutral" }, props, { ref: ref }));
21
+ };
22
+ var renderMoreTag = renderMoreTagProp || renderMoreTagDefault;
23
+ var renderTagDefault = function (props, ref) { return (React.createElement(Tag, __assign({ color: "neutral" }, props, { ref: ref }))); };
24
+ var renderTag = renderTagProp || renderTagDefault;
25
+ var _c = useElementSize(), parentRef = _c.ref, parentSize = _c.width;
26
+ var moreTagSize = (parentRef === null || parentRef === void 0 ? void 0 : parentRef.current)
27
+ ? calcElementSize(parentRef === null || parentRef === void 0 ? void 0 : parentRef.current.children[selectedOptionsLength])
28
+ : 0;
29
+ var _d = useElementSize(), helperInputRef = _d.ref, _e = _d.width, helperInputSize = _e === void 0 ? 20 : _e;
30
+ var getInputSize = function () {
31
+ var inputSize = helperInputSize + 20;
32
+ if (responsive &&
33
+ (visibleMap === null || visibleMap === void 0 ? void 0 : visibleMap.filter(function (item) { return !item; }).length) === selectedOptionsLength) {
34
+ return inputSize > parentSize - moreTagSize
35
+ ? parentSize - moreTagSize
36
+ : inputSize;
37
+ }
38
+ return inputSize > parentSize ? parentSize : inputSize;
39
+ };
40
+ var inputSize = getInputSize();
41
+ useIsomorphicEffect(function () {
42
+ if ((!responsive && !isNumber(limitTags)) || !parentSize)
43
+ return;
44
+ var optionsLength = selectedOptionsLength;
45
+ var parentSizeWithoutInput = parentSize - inputSize;
46
+ var moreIndex = optionsLength;
47
+ var map = createMap(optionsLength + 1, moreIndex);
48
+ for (var i = 0; i < optionsLength + 1; i += 1) {
49
+ var index = moreIndex - i;
50
+ if (index !== moreIndex) {
51
+ var elementsSize = calcElementsSize(parentRef.current.children, map);
52
+ var condition = responsive
53
+ ? elementsSize > parentSizeWithoutInput
54
+ : isNumber(limitTags) && limitTags <= index;
55
+ if (condition) {
56
+ map[index] = false;
57
+ map[moreIndex] = true;
58
+ }
59
+ }
60
+ }
61
+ setVisibleMap(map);
62
+ }, [
63
+ limitTags,
64
+ inputSize,
65
+ parentSize,
66
+ selectedOptions,
67
+ selectedOptionsLength,
68
+ ]);
69
+ return (React.createElement(React.Fragment, null,
70
+ React.createElement("div", { ref: parentRef, className: cnAutocomplete('Input', { responsive: responsive, multiple: true }) }, selectedOptions === null || selectedOptions === void 0 ? void 0 :
71
+ selectedOptions.map(function (option, index) {
72
+ var label = (getOptionLabel === null || getOptionLabel === void 0 ? void 0 : getOptionLabel(option)) || '';
73
+ var key = getOptionKey === null || getOptionKey === void 0 ? void 0 : getOptionKey(option);
74
+ var disabled = getOptionDisabled === null || getOptionDisabled === void 0 ? void 0 : getOptionDisabled(option);
75
+ return renderTag({
76
+ key: key,
77
+ label: label,
78
+ size: getAutocompleteSizeToTag(size),
79
+ className: cnAutocomplete('Tag', {
80
+ hidden: (responsive || hasLimitTags) && !(visibleMap === null || visibleMap === void 0 ? void 0 : visibleMap[index]),
81
+ disabled: disabled,
82
+ }),
83
+ iconRight: function (_a) {
84
+ var size = _a.size;
85
+ return (React.createElement("span", { "aria-hidden": "true", "data-testid": "clear-tag", className: cnAutocomplete('ClearTag'), onClick: function (e) {
86
+ if (disabled)
87
+ return;
88
+ e.preventDefault();
89
+ onRemoveTag === null || onRemoveTag === void 0 ? void 0 : onRemoveTag(e, option);
90
+ } },
91
+ React.createElement(CrossSmallIcon, { size: size })));
92
+ },
93
+ });
94
+ }),
95
+ showMoreTag &&
96
+ renderMoreTag({
97
+ omittedValues: omittedValues,
98
+ props: {
99
+ label: "+".concat(visibleMap === null || visibleMap === void 0 ? void 0 : visibleMap.filter(function (item) { return !item; }).length),
100
+ size: getAutocompleteSizeToTag(size),
101
+ className: cnAutocomplete('Tag', {
102
+ hidden: !(visibleMap === null || visibleMap === void 0 ? void 0 : visibleMap[selectedOptionsLength]),
103
+ }),
104
+ },
105
+ }),
106
+ React.createElement("input", __assign({}, other, { value: value, ref: ref, style: { width: inputSize }, placeholder: placeholder }))),
107
+ React.createElement("div", { className: cnAutocomplete('HelperInput'), ref: helperInputRef }, value || placeholder)));
108
+ };
109
+ export var AutocompleteInputMultiple = forwardRef(AutocompleteInputMultipleRender);
@@ -0,0 +1,5 @@
1
+ import type { AutocompletePropSize } from '../../../index';
2
+ export declare const getAutocompleteSizeToTag: (size: AutocompletePropSize) => "s" | "m" | "l" | "2xs" | "xs";
3
+ export declare function calcElementSize(el?: Element): number;
4
+ export declare const calcElementsSize: (elements: Element[], map: boolean[]) => number;
5
+ export declare const createMap: (length: number, moreIndex: number) => boolean[];
@@ -0,0 +1,29 @@
1
+ import { getByMap } from '../../../../../utils/getByMap';
2
+ var typeMap = {
3
+ '2xs': '2xs',
4
+ xs: '2xs',
5
+ s: '2xs',
6
+ m: 'xs',
7
+ l: 'xs',
8
+ };
9
+ export var getAutocompleteSizeToTag = function (size) {
10
+ return getByMap(typeMap, size);
11
+ };
12
+ export function calcElementSize(el) {
13
+ if (!el)
14
+ return 0;
15
+ var _a = getComputedStyle(el), marginRight = _a.marginRight, marginLeft = _a.marginLeft;
16
+ return (el.getBoundingClientRect().width +
17
+ parseInt(marginRight, 10) +
18
+ parseInt(marginLeft, 10));
19
+ }
20
+ export var calcElementsSize = function (elements, map) {
21
+ var sum = 0;
22
+ for (var index = 0; index < elements.length; index++) {
23
+ sum += map[index] ? calcElementSize(elements === null || elements === void 0 ? void 0 : elements[index]) : 0;
24
+ }
25
+ return sum;
26
+ };
27
+ export var createMap = function (length, moreIndex) {
28
+ return new Array(length).fill(0).map(function (_, index) { return index !== moreIndex; });
29
+ };
@@ -0,0 +1 @@
1
+ export * from './AutocompleteInputMultiple';
@@ -0,0 +1 @@
1
+ export * from './AutocompleteInputMultiple';
@@ -0,0 +1,17 @@
1
+ import type { ReactElement, Ref } from 'react';
2
+ import type { InputProps } from '../../../../Input';
3
+ import type { AutocompleteDefaultOption, AutocompletePropGetOptionDisabled, AutocompletePropGetOptionKey, AutocompletePropGetOptionLabel, AutocompletePropRenderMoreTag, AutocompletePropRenderTag, AutocompletePropValue } from '../../../index';
4
+ import type { AutocompleteDropdownOnChange } from '../../index';
5
+ export type AutocompleteInputMultipleRef = HTMLInputElement;
6
+ export type AutocompleteInputMultipleProps<OPTION = AutocompleteDefaultOption> = Pick<InputProps, 'size' | 'value' | 'placeholder'> & {
7
+ getOptionLabel?: AutocompletePropGetOptionLabel<OPTION>;
8
+ getOptionKey?: AutocompletePropGetOptionKey<OPTION>;
9
+ getOptionDisabled?: AutocompletePropGetOptionDisabled<OPTION>;
10
+ onRemoveTag?: AutocompleteDropdownOnChange<OPTION>;
11
+ selectedOptions?: AutocompletePropValue<OPTION, true>;
12
+ renderTag?: AutocompletePropRenderTag;
13
+ renderMoreTag?: AutocompletePropRenderMoreTag<OPTION>;
14
+ limitTags?: 'responsive' | number;
15
+ ref?: Ref<AutocompleteInputMultipleRef>;
16
+ };
17
+ export type AutocompleteInputMultipleComponent = <OPTION = AutocompleteDefaultOption>(props: AutocompleteInputMultipleProps<OPTION>) => ReactElement | null;
@@ -0,0 +1,3 @@
1
+ import type { AutocompleteInputProps } from './types';
2
+ export declare const isMultipleParams: <OPTION>(params: AutocompleteInputProps<OPTION, boolean>) => params is AutocompleteInputProps<OPTION, true>;
3
+ export declare const isNotMultipleParams: <OPTION>(params: AutocompleteInputProps<OPTION, boolean>) => params is AutocompleteInputProps<OPTION, false>;
@@ -0,0 +1,2 @@
1
+ export * from './AutocompleteInput';
2
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export * from './AutocompleteInput';
2
+ export * from './types';
@@ -0,0 +1,26 @@
1
+ import type { ReactElement, Ref } from 'react';
2
+ import type { InputProps, InputRef } from '../../../Input';
3
+ import type { AutocompleteDefaultOption, AutocompletePropGetOptionKey, AutocompletePropGetOptionLabel, AutocompletePropValue, AutocompletePropRenderInput, AutocompletePropRenderTag, AutocompletePropRenderMoreTag, AutocompletePropGetOptionDisabled } from '../../index';
4
+ import type { AutocompleteDropdownOnChange } from '../AutocompleteDropdown';
5
+ import type { AutocompleteRenderRightProps } from '../AutocompleteRenderRight';
6
+ export type AutocompleteInputRef = InputRef;
7
+ export type AutocompleteInputProps<OPTION = AutocompleteDefaultOption, MULTIPLE extends boolean = false> = Pick<InputProps, 'size' | 'value' | 'disabled' | 'required' | 'onChange' | 'fullWidth' | 'onKeyDown' | 'className' | 'bodyProps' | 'inputProps' | 'renderRight' | 'placeholder'> & Pick<AutocompleteRenderRightProps, 'onOpen' | 'onClear'> & {
8
+ open?: boolean;
9
+ openText?: string;
10
+ closeText?: string;
11
+ clearText?: string;
12
+ multiple?: MULTIPLE;
13
+ disableShowChevron?: boolean;
14
+ disableClearButton?: boolean;
15
+ ref?: Ref<AutocompleteInputRef>;
16
+ limitTags?: 'responsive' | number;
17
+ renderTag?: AutocompletePropRenderTag;
18
+ renderInput?: AutocompletePropRenderInput;
19
+ onRemoveTag?: AutocompleteDropdownOnChange<OPTION>;
20
+ getOptionKey?: AutocompletePropGetOptionKey<OPTION>;
21
+ renderMoreTag?: AutocompletePropRenderMoreTag<OPTION>;
22
+ getOptionLabel?: AutocompletePropGetOptionLabel<OPTION>;
23
+ getOptionDisabled?: AutocompletePropGetOptionDisabled<OPTION>;
24
+ selectedOptions?: AutocompletePropValue<OPTION, MULTIPLE>;
25
+ };
26
+ export type AutocompleteInputComponent = <OPTION = AutocompleteDefaultOption, MULTIPLE extends boolean = false>(props: AutocompleteInputProps<OPTION, MULTIPLE>) => ReactElement | null;
@@ -0,0 +1,8 @@
1
+ import type { FC, MouseEvent } from 'react';
2
+ import type { AutocompleteProps } from '../../index';
3
+ export type AutocompleteRenderRightProps = {
4
+ hasValue: boolean;
5
+ onOpen: () => void;
6
+ onClear: (e: MouseEvent<HTMLElement>) => void;
7
+ } & Pick<AutocompleteProps, 'size' | 'open' | 'disabled' | 'openText' | 'clearText' | 'closeText' | 'renderRight' | 'disableClearButton' | 'disableShowChevron'>;
8
+ export declare const AutocompleteRenderRight: FC<AutocompleteRenderRightProps>;
@@ -0,0 +1,24 @@
1
+ import { __read } from "tslib";
2
+ import React from 'react';
3
+ import { ChevronDownIcon, ChevronUpIcon, CrossIcon } from '@ozen-ui/icons';
4
+ import { useFieldControl } from '../../../FieldControl';
5
+ import { FieldIcon } from '../../../FieldIcon';
6
+ import { IconButton } from '../../../IconButtonNext';
7
+ import { cnAutocomplete } from '../../index';
8
+ export var AutocompleteRenderRight = function (_a) {
9
+ var open = _a.open, size = _a.size, onOpen = _a.onOpen, onClear = _a.onClear, openText = _a.openText, disabled = _a.disabled, hasValue = _a.hasValue, clearText = _a.clearText, closeText = _a.closeText, renderRight = _a.renderRight, disableClearButton = _a.disableClearButton, disableShowChevron = _a.disableShowChevron;
10
+ var _b = __read(useFieldControl(), 1), _c = _b[0], focused = _c.focused, hovered = _c.hovered;
11
+ var isVisibleClearButton = !!(hovered || open || focused) && hasValue;
12
+ return (React.createElement("div", { className: cnAutocomplete('RenderRight') },
13
+ !disableClearButton && (React.createElement(IconButton, { size: size, type: "button", tabIndex: -1, icon: CrossIcon, variant: "function", title: clearText, "aria-label": clearText, onClick: function (e) {
14
+ e.preventDefault();
15
+ onClear === null || onClear === void 0 ? void 0 : onClear(e);
16
+ }, className: cnAutocomplete('ClearButton', {
17
+ visibility: isVisibleClearButton,
18
+ }), compressed: true })),
19
+ React.createElement(FieldIcon, { icon: renderRight }),
20
+ !disableShowChevron && (React.createElement(IconButton, { size: size, type: "button", tabIndex: -1, variant: "ghost", disabled: disabled, title: open ? closeText : openText, "aria-label": open ? closeText : openText, icon: open ? ChevronUpIcon : ChevronDownIcon, onClick: function (e) {
21
+ e.preventDefault();
22
+ onOpen();
23
+ }, compressed: true }))));
24
+ };
@@ -0,0 +1 @@
1
+ export * from './AutocompleteRenderRight';
@@ -0,0 +1 @@
1
+ export * from './AutocompleteRenderRight';
@@ -0,0 +1,3 @@
1
+ export * from './AutocompleteRenderRight';
2
+ export * from './AutocompleteDropdown';
3
+ export * from './AutocompleteInput';
@@ -0,0 +1,3 @@
1
+ export * from './AutocompleteRenderRight';
2
+ export * from './AutocompleteDropdown';
3
+ export * from './AutocompleteInput';
@@ -0,0 +1,10 @@
1
+ export declare const AUTOCOMPLETE_DEFAULT_DISABLED = false;
2
+ export declare const AUTOCOMPLETE_DEFAULT_REQUIRED = false;
3
+ export declare const AUTOCOMPLETE_DEFAULT_AUTOFOCUS = false;
4
+ export declare const AUTOCOMPLETE_DEFAULT_FULLWIDTH = false;
5
+ export declare const AUTOCOMPLETE_DEFAULT_ALLOW_CUSTOM_VALUE = false;
6
+ export declare const AUTOCOMPLETE_DEFAULT_DISABLE_SHOW_CHEVRON = false;
7
+ export declare const AUTOCOMPLETE_DEFAULT_DISABLE_SHOW_EMPTY_OPTIONS_LIST = false;
8
+ export declare const AUTOCOMPLETE_DEFAULT_DISABLE_CLOSE_ON_SELECT = false;
9
+ export declare const AUTOCOMPLETE_DEFAULT_DISABLE_CLEAR_BUTTON = false;
10
+ export declare const AUTOCOMPLETE_DEFAULT_SIZE = "m";
@@ -0,0 +1,10 @@
1
+ export var AUTOCOMPLETE_DEFAULT_DISABLED = false;
2
+ export var AUTOCOMPLETE_DEFAULT_REQUIRED = false;
3
+ export var AUTOCOMPLETE_DEFAULT_AUTOFOCUS = false;
4
+ export var AUTOCOMPLETE_DEFAULT_FULLWIDTH = false;
5
+ export var AUTOCOMPLETE_DEFAULT_ALLOW_CUSTOM_VALUE = false;
6
+ export var AUTOCOMPLETE_DEFAULT_DISABLE_SHOW_CHEVRON = false;
7
+ export var AUTOCOMPLETE_DEFAULT_DISABLE_SHOW_EMPTY_OPTIONS_LIST = false;
8
+ export var AUTOCOMPLETE_DEFAULT_DISABLE_CLOSE_ON_SELECT = false;
9
+ export var AUTOCOMPLETE_DEFAULT_DISABLE_CLEAR_BUTTON = false;
10
+ export var AUTOCOMPLETE_DEFAULT_SIZE = 'm';
@@ -0,0 +1,152 @@
1
+ /// <reference types="react" />
2
+ import type { AutocompleteDefaultOption, AutocompletePropGetOptionDisabled, AutocompletePropGetOptionKey, AutocompletePropGetOptionLabel, AutocompleteProps } from './types';
3
+ export declare const defaultGetOptionKey: AutocompletePropGetOptionKey<AutocompleteDefaultOption>;
4
+ export declare const defaultGetOptionLabel: AutocompletePropGetOptionLabel<AutocompleteDefaultOption>;
5
+ export declare const defaultGetOptionDisabled: AutocompletePropGetOptionDisabled<AutocompleteDefaultOption>;
6
+ export declare function withDefaultGetters<OPTION = AutocompleteDefaultOption, MULTIPLE extends boolean = false>(props: AutocompleteProps<OPTION, MULTIPLE>): ({
7
+ multiple?: MULTIPLE | undefined;
8
+ limitTags?: number | "responsive" | undefined;
9
+ renderTag?: import("./types").AutocompletePropRenderTag | undefined;
10
+ renderMoreTag?: import("./types").AutocompletePropRenderMoreTag<OPTION> | undefined;
11
+ options: OPTION[];
12
+ size?: "s" | "m" | "l" | "2xs" | "xs" | undefined;
13
+ value?: import("./types").AutocompletePropValue<OPTION, MULTIPLE>;
14
+ defaultValue?: import("./types").AutocompletePropValue<OPTION, MULTIPLE>;
15
+ onChange?: import("./types").AutocompleteOnChange<OPTION, MULTIPLE> | undefined;
16
+ inputValue?: string | undefined;
17
+ onInputChange?: import("./types").AutocompleteOnInputChange | undefined;
18
+ renderInput?: import("./types").AutocompletePropRenderInput | undefined;
19
+ renderOption?: import("./types").AutocompletePropRenderOption<OPTION> | undefined;
20
+ getOptionLabel?: AutocompletePropGetOptionLabel<OPTION> | undefined;
21
+ getOptionKey?: AutocompletePropGetOptionKey<OPTION> | undefined;
22
+ getOptionDisabled?: AutocompletePropGetOptionDisabled<OPTION> | undefined;
23
+ disableCloseOnSelect?: boolean | undefined;
24
+ allowCustomValue?: boolean | undefined;
25
+ loading?: boolean | undefined;
26
+ noOptionsText?: import("react").ReactNode;
27
+ clearText?: string | undefined;
28
+ openText?: string | undefined;
29
+ closeText?: string | undefined;
30
+ loadingText?: import("react").ReactNode;
31
+ onClose?(): void;
32
+ onOpen?(): void;
33
+ disableClearButton?: boolean | undefined;
34
+ searchFunction?: import("./types").AutocompletePropSearchFunction<OPTION> | undefined;
35
+ disableShowEmptyOptionsList?: boolean | undefined;
36
+ disableShowChevron?: boolean | undefined;
37
+ popoverProps?: Partial<Omit<import("../Popover").PopoverProps, "className" | "children" | "open" | "onClose" | "anchorRef">> | undefined;
38
+ listProps?: Partial<Omit<import("../List").ListProps, "children">> | undefined;
39
+ } & {
40
+ error?: boolean | undefined;
41
+ label?: string | undefined;
42
+ style?: import("react").CSSProperties | undefined;
43
+ className?: string | undefined;
44
+ onKeyDown?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
45
+ autoFocus?: boolean | undefined;
46
+ disabled?: boolean | undefined;
47
+ placeholder?: string | undefined;
48
+ required?: boolean | undefined;
49
+ fullWidth?: boolean | undefined;
50
+ disableStroke?: boolean | undefined;
51
+ hint?: string | null | undefined;
52
+ 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;
53
+ 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;
54
+ inputProps?: import("../FieldInput").FieldInputProps | undefined;
55
+ bodyProps?: (Omit<import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, "ref"> & {
56
+ ref?: ((instance: HTMLLabelElement | null) => void) | import("react").RefObject<HTMLLabelElement> | null | undefined;
57
+ }) | undefined;
58
+ hintProps?: Omit<import("../FieldHint").FieldHintProps, "children"> | undefined;
59
+ } & {
60
+ open?: boolean | undefined;
61
+ defaultOpen?: undefined;
62
+ } & (OPTION extends {
63
+ label: string;
64
+ } ? Record<string, unknown> : {
65
+ getOptionLabel?: AutocompletePropGetOptionLabel<OPTION> | undefined;
66
+ }) & (OPTION extends {
67
+ id: string | number;
68
+ } ? Record<string, unknown> : {
69
+ getOptionKey?: AutocompletePropGetOptionKey<OPTION> | undefined;
70
+ }) & (OPTION extends {
71
+ disabled: boolean | undefined;
72
+ } ? Record<string, unknown> : {
73
+ getOptionDisabled?: AutocompletePropGetOptionDisabled<OPTION> | undefined;
74
+ }) & {
75
+ getOptionLabel: AutocompletePropGetOptionLabel<AutocompleteDefaultOption> | AutocompletePropGetOptionLabel<OPTION>;
76
+ getOptionKey: AutocompletePropGetOptionKey<AutocompleteDefaultOption> | AutocompletePropGetOptionKey<OPTION>;
77
+ getOptionDisabled: AutocompletePropGetOptionDisabled<AutocompleteDefaultOption> | AutocompletePropGetOptionDisabled<OPTION>;
78
+ }) | ({
79
+ multiple?: MULTIPLE | undefined;
80
+ limitTags?: number | "responsive" | undefined;
81
+ renderTag?: import("./types").AutocompletePropRenderTag | undefined;
82
+ renderMoreTag?: import("./types").AutocompletePropRenderMoreTag<OPTION> | undefined;
83
+ options: OPTION[];
84
+ size?: "s" | "m" | "l" | "2xs" | "xs" | undefined;
85
+ value?: import("./types").AutocompletePropValue<OPTION, MULTIPLE>;
86
+ defaultValue?: import("./types").AutocompletePropValue<OPTION, MULTIPLE>;
87
+ onChange?: import("./types").AutocompleteOnChange<OPTION, MULTIPLE> | undefined;
88
+ inputValue?: string | undefined;
89
+ onInputChange?: import("./types").AutocompleteOnInputChange | undefined;
90
+ renderInput?: import("./types").AutocompletePropRenderInput | undefined;
91
+ renderOption?: import("./types").AutocompletePropRenderOption<OPTION> | undefined;
92
+ getOptionLabel?: AutocompletePropGetOptionLabel<OPTION> | undefined;
93
+ getOptionKey?: AutocompletePropGetOptionKey<OPTION> | undefined;
94
+ getOptionDisabled?: AutocompletePropGetOptionDisabled<OPTION> | undefined;
95
+ disableCloseOnSelect?: boolean | undefined;
96
+ allowCustomValue?: boolean | undefined;
97
+ loading?: boolean | undefined;
98
+ noOptionsText?: import("react").ReactNode;
99
+ clearText?: string | undefined;
100
+ openText?: string | undefined;
101
+ closeText?: string | undefined;
102
+ loadingText?: import("react").ReactNode;
103
+ onClose?(): void;
104
+ onOpen?(): void;
105
+ disableClearButton?: boolean | undefined;
106
+ searchFunction?: import("./types").AutocompletePropSearchFunction<OPTION> | undefined;
107
+ disableShowEmptyOptionsList?: boolean | undefined;
108
+ disableShowChevron?: boolean | undefined;
109
+ popoverProps?: Partial<Omit<import("../Popover").PopoverProps, "className" | "children" | "open" | "onClose" | "anchorRef">> | undefined;
110
+ listProps?: Partial<Omit<import("../List").ListProps, "children">> | undefined;
111
+ } & {
112
+ error?: boolean | undefined;
113
+ label?: string | undefined;
114
+ style?: import("react").CSSProperties | undefined;
115
+ className?: string | undefined;
116
+ onKeyDown?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
117
+ autoFocus?: boolean | undefined;
118
+ disabled?: boolean | undefined;
119
+ placeholder?: string | undefined;
120
+ required?: boolean | undefined;
121
+ fullWidth?: boolean | undefined;
122
+ disableStroke?: boolean | undefined;
123
+ hint?: string | null | undefined;
124
+ 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;
125
+ 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;
126
+ inputProps?: import("../FieldInput").FieldInputProps | undefined;
127
+ bodyProps?: (Omit<import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, "ref"> & {
128
+ ref?: ((instance: HTMLLabelElement | null) => void) | import("react").RefObject<HTMLLabelElement> | null | undefined;
129
+ }) | undefined;
130
+ hintProps?: Omit<import("../FieldHint").FieldHintProps, "children"> | undefined;
131
+ } & {
132
+ open?: undefined;
133
+ defaultOpen?: boolean | undefined;
134
+ } & (OPTION extends {
135
+ label: string;
136
+ } ? Record<string, unknown> : {
137
+ getOptionLabel?: AutocompletePropGetOptionLabel<OPTION> | undefined;
138
+ }) & (OPTION extends {
139
+ id: string | number;
140
+ } ? Record<string, unknown> : {
141
+ getOptionKey?: AutocompletePropGetOptionKey<OPTION> | undefined;
142
+ }) & (OPTION extends {
143
+ disabled: boolean | undefined;
144
+ } ? Record<string, unknown> : {
145
+ getOptionDisabled?: AutocompletePropGetOptionDisabled<OPTION> | undefined;
146
+ }) & {
147
+ getOptionLabel: AutocompletePropGetOptionLabel<AutocompleteDefaultOption> | AutocompletePropGetOptionLabel<OPTION>;
148
+ getOptionKey: AutocompletePropGetOptionKey<AutocompleteDefaultOption> | AutocompletePropGetOptionKey<OPTION>;
149
+ getOptionDisabled: AutocompletePropGetOptionDisabled<AutocompleteDefaultOption> | AutocompletePropGetOptionDisabled<OPTION>;
150
+ });
151
+ export declare const isMultipleParams: <OPTION>(params: AutocompleteProps<OPTION, boolean>) => params is AutocompleteProps<OPTION, true>;
152
+ export declare const isNotMultipleParams: <OPTION>(params: AutocompleteProps<OPTION, boolean>) => params is AutocompleteProps<OPTION, false>;
@@ -0,0 +1,9 @@
1
+ import { __assign } from "tslib";
2
+ export var defaultGetOptionKey = function (option) { var _a; return (_a = option.id) !== null && _a !== void 0 ? _a : option; };
3
+ export var defaultGetOptionLabel = function (option) { var _a; return (_a = option.label) !== null && _a !== void 0 ? _a : option; };
4
+ export var defaultGetOptionDisabled = function (option) { var _a; return (_a = option.disabled) !== null && _a !== void 0 ? _a : false; };
5
+ export function withDefaultGetters(props) {
6
+ return __assign(__assign({}, props), { getOptionLabel: props.getOptionLabel || defaultGetOptionLabel, getOptionKey: props.getOptionKey || defaultGetOptionKey, getOptionDisabled: props.getOptionDisabled || defaultGetOptionDisabled });
7
+ }
8
+ export var isMultipleParams = function (params) { return !!params.multiple; };
9
+ export var isNotMultipleParams = function (params) { return !params.multiple; };
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ export * from './Autocomplete';
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ export * from './Autocomplete';