@homecode/ui 4.18.14 → 4.18.16

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 (331) hide show
  1. package/dist/esm/index.js +2 -83
  2. package/dist/esm/index.js.map +1 -0
  3. package/dist/esm/node_modules/style-inject/dist/style-inject.es.js +2 -28
  4. package/dist/esm/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
  5. package/dist/esm/src/components/AssistiveText/AssistiveText.js +2 -10
  6. package/dist/esm/src/components/AssistiveText/AssistiveText.js.map +1 -0
  7. package/dist/esm/src/components/AssistiveText/AssistiveText.styl.js +2 -7
  8. package/dist/esm/src/components/AssistiveText/AssistiveText.styl.js.map +1 -0
  9. package/dist/esm/src/components/Button/Button.helpers.js +2 -12
  10. package/dist/esm/src/components/Button/Button.helpers.js.map +1 -0
  11. package/dist/esm/src/components/Button/Button.js +2 -38
  12. package/dist/esm/src/components/Button/Button.js.map +1 -0
  13. package/dist/esm/src/components/Button/Button.styl.js +2 -7
  14. package/dist/esm/src/components/Button/Button.styl.js.map +1 -0
  15. package/dist/esm/src/components/ButtonGroup/ButtonGroup.js +2 -10
  16. package/dist/esm/src/components/ButtonGroup/ButtonGroup.js.map +1 -0
  17. package/dist/esm/src/components/ButtonGroup/ButtonGroup.styl.js +2 -7
  18. package/dist/esm/src/components/ButtonGroup/ButtonGroup.styl.js.map +1 -0
  19. package/dist/esm/src/components/Calendar/Calendar.helpers.js +2 -65
  20. package/dist/esm/src/components/Calendar/Calendar.helpers.js.map +1 -0
  21. package/dist/esm/src/components/Calendar/Calendar.js +2 -66
  22. package/dist/esm/src/components/Calendar/Calendar.js.map +1 -0
  23. package/dist/esm/src/components/Calendar/Calendar.styl.js +2 -7
  24. package/dist/esm/src/components/Calendar/Calendar.styl.js.map +1 -0
  25. package/dist/esm/src/components/Checkbox/Checkbox.js +2 -48
  26. package/dist/esm/src/components/Checkbox/Checkbox.js.map +1 -0
  27. package/dist/esm/src/components/Checkbox/Checkbox.styl.js +2 -7
  28. package/dist/esm/src/components/Checkbox/Checkbox.styl.js.map +1 -0
  29. package/dist/esm/src/components/Container/Container.js +2 -12
  30. package/dist/esm/src/components/Container/Container.js.map +1 -0
  31. package/dist/esm/src/components/Container/Container.styl.js +2 -7
  32. package/dist/esm/src/components/Container/Container.styl.js.map +1 -0
  33. package/dist/esm/src/components/DatePicker/DatePicker.helpers.js +2 -31
  34. package/dist/esm/src/components/DatePicker/DatePicker.helpers.js.map +1 -0
  35. package/dist/esm/src/components/DatePicker/DatePicker.js +2 -47
  36. package/dist/esm/src/components/DatePicker/DatePicker.js.map +1 -0
  37. package/dist/esm/src/components/DatePicker/DatePicker.styl.js +2 -7
  38. package/dist/esm/src/components/DatePicker/DatePicker.styl.js.map +1 -0
  39. package/dist/esm/src/components/DatePickerInput/DatePickerInput.js +2 -20
  40. package/dist/esm/src/components/DatePickerInput/DatePickerInput.js.map +1 -0
  41. package/dist/esm/src/components/DatePickerInput/DatePickerInput.styl.js +2 -7
  42. package/dist/esm/src/components/DatePickerInput/DatePickerInput.styl.js.map +1 -0
  43. package/dist/esm/src/components/DateTime/DateTime.js +2 -17
  44. package/dist/esm/src/components/DateTime/DateTime.js.map +1 -0
  45. package/dist/esm/src/components/Draggable/Draggable.js +2 -136
  46. package/dist/esm/src/components/Draggable/Draggable.js.map +1 -0
  47. package/dist/esm/src/components/Draggable/Draggable.styl.js +2 -7
  48. package/dist/esm/src/components/Draggable/Draggable.styl.js.map +1 -0
  49. package/dist/esm/src/components/Expand/Expand.js +2 -24
  50. package/dist/esm/src/components/Expand/Expand.js.map +1 -0
  51. package/dist/esm/src/components/Expand/Expand.styl.js +2 -7
  52. package/dist/esm/src/components/Expand/Expand.styl.js.map +1 -0
  53. package/dist/esm/src/components/Form/Form.helpers.js +2 -42
  54. package/dist/esm/src/components/Form/Form.helpers.js.map +1 -0
  55. package/dist/esm/src/components/Form/Form.js +2 -286
  56. package/dist/esm/src/components/Form/Form.js.map +1 -0
  57. package/dist/esm/src/components/Form/Form.styl.js +2 -7
  58. package/dist/esm/src/components/Form/Form.styl.js.map +1 -0
  59. package/dist/esm/src/components/Form/Form.types.js +1 -0
  60. package/dist/esm/src/components/Form/Form.types.js.map +1 -0
  61. package/dist/esm/src/components/Form/SubmitButtons/SubmitButtons.js +2 -8
  62. package/dist/esm/src/components/Form/SubmitButtons/SubmitButtons.js.map +1 -0
  63. package/dist/esm/src/components/Form/SubmitButtons/SubmitButtons.styl.js +2 -7
  64. package/dist/esm/src/components/Form/SubmitButtons/SubmitButtons.styl.js.map +1 -0
  65. package/dist/esm/src/components/Form/Validator.js +6 -24
  66. package/dist/esm/src/components/Form/Validator.js.map +1 -0
  67. package/dist/esm/src/components/Gallery/Dots/Dots.js +2 -9
  68. package/dist/esm/src/components/Gallery/Dots/Dots.js.map +1 -0
  69. package/dist/esm/src/components/Gallery/Dots/Dots.styl.js +2 -7
  70. package/dist/esm/src/components/Gallery/Dots/Dots.styl.js.map +1 -0
  71. package/dist/esm/src/components/Gallery/Gallery.js +2 -180
  72. package/dist/esm/src/components/Gallery/Gallery.js.map +1 -0
  73. package/dist/esm/src/components/Gallery/Gallery.styl.js +2 -7
  74. package/dist/esm/src/components/Gallery/Gallery.styl.js.map +1 -0
  75. package/dist/esm/src/components/Heading/Heading.js +2 -37
  76. package/dist/esm/src/components/Heading/Heading.js.map +1 -0
  77. package/dist/esm/src/components/Heading/Heading.styl.js +2 -7
  78. package/dist/esm/src/components/Heading/Heading.styl.js.map +1 -0
  79. package/dist/esm/src/components/Icon/Icon.js +2 -27
  80. package/dist/esm/src/components/Icon/Icon.js.map +1 -0
  81. package/dist/esm/src/components/Icon/Icon.styl.js +2 -7
  82. package/dist/esm/src/components/Icon/Icon.styl.js.map +1 -0
  83. package/dist/esm/src/components/Icon/icons/avatar.svg.js +2 -15
  84. package/dist/esm/src/components/Icon/icons/avatar.svg.js.map +1 -0
  85. package/dist/esm/src/components/Icon/icons/brokenImage.svg.js +2 -15
  86. package/dist/esm/src/components/Icon/icons/brokenImage.svg.js.map +1 -0
  87. package/dist/esm/src/components/Icon/icons/check.svg.js +2 -19
  88. package/dist/esm/src/components/Icon/icons/check.svg.js.map +1 -0
  89. package/dist/esm/src/components/Icon/icons/chevronDown.svg.js +2 -20
  90. package/dist/esm/src/components/Icon/icons/chevronDown.svg.js.map +1 -0
  91. package/dist/esm/src/components/Icon/icons/chevronLeft.svg.js +2 -20
  92. package/dist/esm/src/components/Icon/icons/chevronLeft.svg.js.map +1 -0
  93. package/dist/esm/src/components/Icon/icons/chevronRight.svg.js +2 -20
  94. package/dist/esm/src/components/Icon/icons/chevronRight.svg.js.map +1 -0
  95. package/dist/esm/src/components/Icon/icons/chevronUp.svg.js +2 -20
  96. package/dist/esm/src/components/Icon/icons/chevronUp.svg.js.map +1 -0
  97. package/dist/esm/src/components/Icon/icons/close.svg.js +2 -15
  98. package/dist/esm/src/components/Icon/icons/close.svg.js.map +1 -0
  99. package/dist/esm/src/components/Icon/icons/colors.svg.js +2 -60
  100. package/dist/esm/src/components/Icon/icons/colors.svg.js.map +1 -0
  101. package/dist/esm/src/components/Icon/icons/copy.svg.js +2 -15
  102. package/dist/esm/src/components/Icon/icons/copy.svg.js.map +1 -0
  103. package/dist/esm/src/components/Icon/icons/delete.svg.js +2 -15
  104. package/dist/esm/src/components/Icon/icons/delete.svg.js.map +1 -0
  105. package/dist/esm/src/components/Icon/icons/draft.svg.js +2 -15
  106. package/dist/esm/src/components/Icon/icons/draft.svg.js.map +1 -0
  107. package/dist/esm/src/components/Icon/icons/edit.svg.js +2 -15
  108. package/dist/esm/src/components/Icon/icons/edit.svg.js.map +1 -0
  109. package/dist/esm/src/components/Icon/icons/email.svg.js +2 -15
  110. package/dist/esm/src/components/Icon/icons/email.svg.js.map +1 -0
  111. package/dist/esm/src/components/Icon/icons/externalLink.svg.js +2 -15
  112. package/dist/esm/src/components/Icon/icons/externalLink.svg.js.map +1 -0
  113. package/dist/esm/src/components/Icon/icons/eye.svg.js +2 -15
  114. package/dist/esm/src/components/Icon/icons/eye.svg.js.map +1 -0
  115. package/dist/esm/src/components/Icon/icons/fullscreen.svg.js +2 -15
  116. package/dist/esm/src/components/Icon/icons/fullscreen.svg.js.map +1 -0
  117. package/dist/esm/src/components/Icon/icons/fullscreenExit.svg.js +2 -15
  118. package/dist/esm/src/components/Icon/icons/fullscreenExit.svg.js.map +1 -0
  119. package/dist/esm/src/components/Icon/icons/function.svg.js +2 -15
  120. package/dist/esm/src/components/Icon/icons/function.svg.js.map +1 -0
  121. package/dist/esm/src/components/Icon/icons/gear.svg.js +2 -20
  122. package/dist/esm/src/components/Icon/icons/gear.svg.js.map +1 -0
  123. package/dist/esm/src/components/Icon/icons/group.svg.js +2 -15
  124. package/dist/esm/src/components/Icon/icons/group.svg.js.map +1 -0
  125. package/dist/esm/src/components/Icon/icons/history.svg.js +2 -17
  126. package/dist/esm/src/components/Icon/icons/history.svg.js.map +1 -0
  127. package/dist/esm/src/components/Icon/icons/home.svg.js +2 -19
  128. package/dist/esm/src/components/Icon/icons/home.svg.js.map +1 -0
  129. package/dist/esm/src/components/Icon/icons/index.js +2 -46
  130. package/dist/esm/src/components/Icon/icons/index.js.map +1 -0
  131. package/dist/esm/src/components/Icon/icons/instagram.svg.js +2 -15
  132. package/dist/esm/src/components/Icon/icons/instagram.svg.js.map +1 -0
  133. package/dist/esm/src/components/Icon/icons/link.svg.js +2 -15
  134. package/dist/esm/src/components/Icon/icons/link.svg.js.map +1 -0
  135. package/dist/esm/src/components/Icon/icons/loader.svg.js +2 -45
  136. package/dist/esm/src/components/Icon/icons/loader.svg.js.map +1 -0
  137. package/dist/esm/src/components/Icon/icons/menu.svg.js +2 -18
  138. package/dist/esm/src/components/Icon/icons/menu.svg.js.map +1 -0
  139. package/dist/esm/src/components/Icon/icons/mic.svg.js +2 -15
  140. package/dist/esm/src/components/Icon/icons/mic.svg.js.map +1 -0
  141. package/dist/esm/src/components/Icon/icons/minus.svg.js +2 -15
  142. package/dist/esm/src/components/Icon/icons/minus.svg.js.map +1 -0
  143. package/dist/esm/src/components/Icon/icons/moreHorizontal.svg.js +2 -15
  144. package/dist/esm/src/components/Icon/icons/moreHorizontal.svg.js.map +1 -0
  145. package/dist/esm/src/components/Icon/icons/moreVertical.svg.js +2 -15
  146. package/dist/esm/src/components/Icon/icons/moreVertical.svg.js.map +1 -0
  147. package/dist/esm/src/components/Icon/icons/output.svg.js +2 -15
  148. package/dist/esm/src/components/Icon/icons/output.svg.js.map +1 -0
  149. package/dist/esm/src/components/Icon/icons/plus.svg.js +2 -15
  150. package/dist/esm/src/components/Icon/icons/plus.svg.js.map +1 -0
  151. package/dist/esm/src/components/Icon/icons/redo.svg.js +2 -15
  152. package/dist/esm/src/components/Icon/icons/redo.svg.js.map +1 -0
  153. package/dist/esm/src/components/Icon/icons/requiredStar.svg.js +2 -15
  154. package/dist/esm/src/components/Icon/icons/requiredStar.svg.js.map +1 -0
  155. package/dist/esm/src/components/Icon/icons/save.svg.js +2 -17
  156. package/dist/esm/src/components/Icon/icons/save.svg.js.map +1 -0
  157. package/dist/esm/src/components/Icon/icons/send.svg.js +2 -16
  158. package/dist/esm/src/components/Icon/icons/send.svg.js.map +1 -0
  159. package/dist/esm/src/components/Icon/icons/settings.svg.js +2 -52
  160. package/dist/esm/src/components/Icon/icons/settings.svg.js.map +1 -0
  161. package/dist/esm/src/components/Icon/icons/shoppingBag.svg.js +2 -17
  162. package/dist/esm/src/components/Icon/icons/shoppingBag.svg.js.map +1 -0
  163. package/dist/esm/src/components/Icon/icons/table.svg.js +2 -15
  164. package/dist/esm/src/components/Icon/icons/table.svg.js.map +1 -0
  165. package/dist/esm/src/components/Icon/icons/telegram.svg.js +2 -19
  166. package/dist/esm/src/components/Icon/icons/telegram.svg.js.map +1 -0
  167. package/dist/esm/src/components/Icon/icons/undo.svg.js +2 -15
  168. package/dist/esm/src/components/Icon/icons/undo.svg.js.map +1 -0
  169. package/dist/esm/src/components/Input/Input.js +2 -343
  170. package/dist/esm/src/components/Input/Input.js.map +1 -0
  171. package/dist/esm/src/components/Input/Input.styl.js +2 -7
  172. package/dist/esm/src/components/Input/Input.styl.js.map +1 -0
  173. package/dist/esm/src/components/InputFile/InputFile.js +2 -295
  174. package/dist/esm/src/components/InputFile/InputFile.js.map +1 -0
  175. package/dist/esm/src/components/InputFile/InputFile.styl.js +2 -7
  176. package/dist/esm/src/components/InputFile/InputFile.styl.js.map +1 -0
  177. package/dist/esm/src/components/InputFile/InputFile.types.js +1 -0
  178. package/dist/esm/src/components/InputFile/InputFile.types.js.map +1 -0
  179. package/dist/esm/src/components/InputFile/Item/Item.js +2 -18
  180. package/dist/esm/src/components/InputFile/Item/Item.js.map +1 -0
  181. package/dist/esm/src/components/InputFile/Item/Item.styl.js +2 -7
  182. package/dist/esm/src/components/InputFile/Item/Item.styl.js.map +1 -0
  183. package/dist/esm/src/components/Label/Label.constants.json.js +2 -8
  184. package/dist/esm/src/components/Label/Label.constants.json.js.map +1 -0
  185. package/dist/esm/src/components/Label/Label.helpers.js +2 -35
  186. package/dist/esm/src/components/Label/Label.helpers.js.map +1 -0
  187. package/dist/esm/src/components/Label/Label.js +2 -58
  188. package/dist/esm/src/components/Label/Label.js.map +1 -0
  189. package/dist/esm/src/components/Label/Label.styl.js +2 -7
  190. package/dist/esm/src/components/Label/Label.styl.js.map +1 -0
  191. package/dist/esm/src/components/Lazy/Lazy.js +2 -65
  192. package/dist/esm/src/components/Lazy/Lazy.js.map +1 -0
  193. package/dist/esm/src/components/LightBox/LightBox.js +2 -28
  194. package/dist/esm/src/components/LightBox/LightBox.js.map +1 -0
  195. package/dist/esm/src/components/LightBox/LightBox.styl.js +2 -7
  196. package/dist/esm/src/components/LightBox/LightBox.styl.js.map +1 -0
  197. package/dist/esm/src/components/Notifications/Notifications.constants.json.js +2 -6
  198. package/dist/esm/src/components/Notifications/Notifications.constants.json.js.map +1 -0
  199. package/dist/esm/src/components/Notifications/Notifications.js +2 -67
  200. package/dist/esm/src/components/Notifications/Notifications.js.map +1 -0
  201. package/dist/esm/src/components/Notifications/Notifications.styl.js +2 -7
  202. package/dist/esm/src/components/Notifications/Notifications.styl.js.map +1 -0
  203. package/dist/esm/src/components/Notifications/store.js +2 -62
  204. package/dist/esm/src/components/Notifications/store.js.map +1 -0
  205. package/dist/esm/src/components/Paranja/Paranja.js +2 -14
  206. package/dist/esm/src/components/Paranja/Paranja.js.map +1 -0
  207. package/dist/esm/src/components/Paranja/Paranja.styl.js +2 -7
  208. package/dist/esm/src/components/Paranja/Paranja.styl.js.map +1 -0
  209. package/dist/esm/src/components/Popup/Popup.helpers.js +2 -31
  210. package/dist/esm/src/components/Popup/Popup.helpers.js.map +1 -0
  211. package/dist/esm/src/components/Popup/Popup.js +2 -397
  212. package/dist/esm/src/components/Popup/Popup.js.map +1 -0
  213. package/dist/esm/src/components/Popup/Popup.styl.js +2 -7
  214. package/dist/esm/src/components/Popup/Popup.styl.js.map +1 -0
  215. package/dist/esm/src/components/PopupMenu/PopupMenu.js +2 -15
  216. package/dist/esm/src/components/PopupMenu/PopupMenu.js.map +1 -0
  217. package/dist/esm/src/components/PopupMenu/PopupMenu.styl.js +2 -7
  218. package/dist/esm/src/components/PopupMenu/PopupMenu.styl.js.map +1 -0
  219. package/dist/esm/src/components/Portal/Portal.js +2 -19
  220. package/dist/esm/src/components/Portal/Portal.js.map +1 -0
  221. package/dist/esm/src/components/RequiredStar/RequiredStar.js +2 -12
  222. package/dist/esm/src/components/RequiredStar/RequiredStar.js.map +1 -0
  223. package/dist/esm/src/components/RequiredStar/RequiredStar.styl.js +2 -7
  224. package/dist/esm/src/components/RequiredStar/RequiredStar.styl.js.map +1 -0
  225. package/dist/esm/src/components/Router/Link/Link.js +2 -61
  226. package/dist/esm/src/components/Router/Link/Link.js.map +1 -0
  227. package/dist/esm/src/components/Router/Link/Link.styl.js +2 -7
  228. package/dist/esm/src/components/Router/Link/Link.styl.js.map +1 -0
  229. package/dist/esm/src/components/Router/Redirect.js +2 -12
  230. package/dist/esm/src/components/Router/Redirect.js.map +1 -0
  231. package/dist/esm/src/components/Router/Route.js +2 -4
  232. package/dist/esm/src/components/Router/Route.js.map +1 -0
  233. package/dist/esm/src/components/Router/Router.helpers.js +2 -33
  234. package/dist/esm/src/components/Router/Router.helpers.js.map +1 -0
  235. package/dist/esm/src/components/Router/Router.js +2 -68
  236. package/dist/esm/src/components/Router/Router.js.map +1 -0
  237. package/dist/esm/src/components/Router/context.js +2 -5
  238. package/dist/esm/src/components/Router/context.js.map +1 -0
  239. package/dist/esm/src/components/Router/store.js +2 -55
  240. package/dist/esm/src/components/Router/store.js.map +1 -0
  241. package/dist/esm/src/components/Scroll/Scroll.js +2 -274
  242. package/dist/esm/src/components/Scroll/Scroll.js.map +1 -0
  243. package/dist/esm/src/components/Scroll/Scroll.styl.js +2 -7
  244. package/dist/esm/src/components/Scroll/Scroll.styl.js.map +1 -0
  245. package/dist/esm/src/components/Select/Select.helpers.js +2 -37
  246. package/dist/esm/src/components/Select/Select.helpers.js.map +1 -0
  247. package/dist/esm/src/components/Select/Select.js +2 -584
  248. package/dist/esm/src/components/Select/Select.js.map +1 -0
  249. package/dist/esm/src/components/Select/Select.styl.js +2 -7
  250. package/dist/esm/src/components/Select/Select.styl.js.map +1 -0
  251. package/dist/esm/src/components/Spinner/Spinner.js +2 -11
  252. package/dist/esm/src/components/Spinner/Spinner.js.map +1 -0
  253. package/dist/esm/src/components/Spinner/Spinner.styl.js +2 -7
  254. package/dist/esm/src/components/Spinner/Spinner.styl.js.map +1 -0
  255. package/dist/esm/src/components/Spinner/spinner.svg.js +2 -24
  256. package/dist/esm/src/components/Spinner/spinner.svg.js.map +1 -0
  257. package/dist/esm/src/components/Table/Table.js +2 -24
  258. package/dist/esm/src/components/Table/Table.js.map +1 -0
  259. package/dist/esm/src/components/Table/Table.styl.js +2 -7
  260. package/dist/esm/src/components/Table/Table.styl.js.map +1 -0
  261. package/dist/esm/src/components/Tabs/Tabs.js +2 -43
  262. package/dist/esm/src/components/Tabs/Tabs.js.map +1 -0
  263. package/dist/esm/src/components/Tabs/Tabs.styl.js +2 -7
  264. package/dist/esm/src/components/Tabs/Tabs.styl.js.map +1 -0
  265. package/dist/esm/src/components/Text/Text.js +2 -44
  266. package/dist/esm/src/components/Text/Text.js.map +1 -0
  267. package/dist/esm/src/components/Text/Text.styl.js +2 -7
  268. package/dist/esm/src/components/Text/Text.styl.js.map +1 -0
  269. package/dist/esm/src/components/Theme/Theme.defaults.js +2 -50
  270. package/dist/esm/src/components/Theme/Theme.defaults.js.map +1 -0
  271. package/dist/esm/src/components/Theme/Theme.helpers.js +2 -67
  272. package/dist/esm/src/components/Theme/Theme.helpers.js.map +1 -0
  273. package/dist/esm/src/components/Theme/Theme.js +2 -13
  274. package/dist/esm/src/components/Theme/Theme.js.map +1 -0
  275. package/dist/esm/src/components/VH/VH.js +2 -33
  276. package/dist/esm/src/components/VH/VH.js.map +1 -0
  277. package/dist/esm/src/components/Virtualized/List/List.js +2 -124
  278. package/dist/esm/src/components/Virtualized/List/List.js.map +1 -0
  279. package/dist/esm/src/components/Virtualized/List/List.styl.js +2 -7
  280. package/dist/esm/src/components/Virtualized/List/List.styl.js.map +1 -0
  281. package/dist/esm/src/components/Virtualized/List/ListScroll.js +2 -21
  282. package/dist/esm/src/components/Virtualized/List/ListScroll.js.map +1 -0
  283. package/dist/esm/src/components/Virtualized/List/ListScroll.styl.js +2 -7
  284. package/dist/esm/src/components/Virtualized/List/ListScroll.styl.js.map +1 -0
  285. package/dist/esm/src/components/Virtualized/Virtualized.helpers.js +2 -14
  286. package/dist/esm/src/components/Virtualized/Virtualized.helpers.js.map +1 -0
  287. package/dist/esm/src/components/Virtualized/Virtualized.js +2 -200
  288. package/dist/esm/src/components/Virtualized/Virtualized.js.map +1 -0
  289. package/dist/esm/src/components/Virtualized/Virtualized.styl.js +2 -7
  290. package/dist/esm/src/components/Virtualized/Virtualized.styl.js.map +1 -0
  291. package/dist/esm/src/components/Virtualized/Virtualized.types.js +1 -0
  292. package/dist/esm/src/components/Virtualized/Virtualized.types.js.map +1 -0
  293. package/dist/esm/src/services/i18n.js +2 -68
  294. package/dist/esm/src/services/i18n.js.map +1 -0
  295. package/dist/esm/src/tools/array.js +2 -60
  296. package/dist/esm/src/tools/array.js.map +1 -0
  297. package/dist/esm/src/tools/config.js +2 -9
  298. package/dist/esm/src/tools/config.js.map +1 -0
  299. package/dist/esm/src/tools/date.js +2 -11
  300. package/dist/esm/src/tools/date.js.map +1 -0
  301. package/dist/esm/src/tools/debounce.js +2 -11
  302. package/dist/esm/src/tools/debounce.js.map +1 -0
  303. package/dist/esm/src/tools/dom.js +2 -46
  304. package/dist/esm/src/tools/dom.js.map +1 -0
  305. package/dist/esm/src/tools/env.js +2 -3
  306. package/dist/esm/src/tools/env.js.map +1 -0
  307. package/dist/esm/src/tools/file.js +2 -11
  308. package/dist/esm/src/tools/file.js.map +1 -0
  309. package/dist/esm/src/tools/localStorage.js +2 -31
  310. package/dist/esm/src/tools/localStorage.js.map +1 -0
  311. package/dist/esm/src/tools/number.js +2 -27
  312. package/dist/esm/src/tools/number.js.map +1 -0
  313. package/dist/esm/src/tools/object.js +2 -5
  314. package/dist/esm/src/tools/object.js.map +1 -0
  315. package/dist/esm/src/tools/queryParams.js +2 -20
  316. package/dist/esm/src/tools/queryParams.js.map +1 -0
  317. package/dist/esm/src/tools/rangeMap.js +2 -3
  318. package/dist/esm/src/tools/rangeMap.js.map +1 -0
  319. package/dist/esm/src/tools/resizeObserver.js +2 -68
  320. package/dist/esm/src/tools/resizeObserver.js.map +1 -0
  321. package/dist/esm/src/tools/scroll.js +2 -41
  322. package/dist/esm/src/tools/scroll.js.map +1 -0
  323. package/dist/esm/src/tools/string.js +2 -7
  324. package/dist/esm/src/tools/string.js.map +1 -0
  325. package/dist/esm/src/tools/throttle.js +2 -30
  326. package/dist/esm/src/tools/throttle.js.map +1 -0
  327. package/dist/esm/src/tools/uid.js +2 -7
  328. package/dist/esm/src/tools/uid.js.map +1 -0
  329. package/dist/esm/types/src/components/Icon/Icon.d.ts +9 -3
  330. package/dist/esm/types/src/components/Icon/Icon.example.d.ts +0 -1
  331. package/package.json +1 -1
@@ -1,584 +1,2 @@
1
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import { Component, createRef } from 'react';
3
- import cn from 'classnames';
4
- import compare from 'compareq';
5
- import pick from 'lodash.pick';
6
- import omit from 'lodash.omit';
7
- import { createStore } from 'justorm/react';
8
- import Time from 'timen';
9
- import { Icon } from '../Icon/Icon.js';
10
- import { Button } from '../Button/Button.js';
11
- import { Input } from '../Input/Input.js';
12
- import { Label } from '../Label/Label.js';
13
- import { Popup } from '../Popup/Popup.js';
14
- import { Scroll } from '../Scroll/Scroll.js';
15
- import { RequiredStar } from '../RequiredStar/RequiredStar.js';
16
- import { AssistiveText } from '../AssistiveText/AssistiveText.js';
17
- import { INTERACTION_MODE, getInteractionMode } from '../../tools/dom.js';
18
- import throttle from '../../tools/throttle.js';
19
- import * as Select_helpers from './Select.helpers.js';
20
- import { mapById, buildOptionsTree, isMultiple, renderLabel } from './Select.helpers.js';
21
- import S from './Select.styl.js';
22
-
23
- const SelectHelpers = Select_helpers;
24
- class Select extends Component {
25
- store;
26
- inputRef = createRef();
27
- triggerInputRef = createRef();
28
- contentRef = createRef();
29
- scrollInnerElem;
30
- onScrollInnerRef = elem => (this.scrollInnerElem = elem);
31
- focusedElem;
32
- timers = Time.create();
33
- items = [];
34
- maxIndex = -1;
35
- isFirstSelectedMeet = false;
36
- isTree = false;
37
- focusedItemId = '';
38
- preventClose = false;
39
- searchValLower = '';
40
- optionsTree = [];
41
- ids = {
42
- items: {},
43
- childIds: {},
44
- };
45
- static defaultProps = {
46
- size: 'm',
47
- additionalOptions: [],
48
- };
49
- constructor(props) {
50
- super(props);
51
- this.onOptionsChange();
52
- this.store = createStore(this, {
53
- searchVal: '',
54
- isOpen: false,
55
- isFocused: false,
56
- focusedItemIndex: 0,
57
- selected: this.getDefaultSelected(),
58
- expanded: this.getDefaultExpanded(props.value),
59
- labelClipPath: '',
60
- });
61
- }
62
- componentDidUpdate(prevProps) {
63
- const { options, value } = this.props;
64
- if (!compare(value, prevProps.value)) {
65
- this.store.selected = this.getDefaultSelected();
66
- }
67
- if (!compare(options, prevProps.options)) {
68
- this.onOptionsChange();
69
- }
70
- }
71
- componentWillUnmount() {
72
- this.timers.clear();
73
- this.unDocumetnKeyDown();
74
- this.unDocumentClick();
75
- }
76
- onOptionsChange() {
77
- const { options } = this.props;
78
- this.ids = mapById(options);
79
- this.optionsTree = buildOptionsTree(options, this.ids);
80
- this.items = this.getItems();
81
- this.maxIndex = Math.max(0, this.items.length - 1);
82
- if (this.store?.focusedItemIndex > this.maxIndex) {
83
- this.store.focusedItemIndex = this.maxIndex;
84
- this.focusedItemId = this.items[this.maxIndex].id;
85
- }
86
- }
87
- coerceType(id) {
88
- const isNumber = typeof this.ids.items[id].id === 'number';
89
- if (isNumber)
90
- return parseFloat(id);
91
- return id;
92
- }
93
- getDefaultExpanded(value) {
94
- const { expandSelected } = this.props;
95
- const { items } = this.ids;
96
- if (!expandSelected)
97
- return {};
98
- if (!value)
99
- return {};
100
- const result = {};
101
- const stack = [...(this.isMultiple() ? value : [value])];
102
- // go through all selected items and mark their parents as expanded
103
- while (stack.length) {
104
- const pointerId = stack.shift();
105
- const item = items[pointerId];
106
- if (item.parentId) {
107
- result[item.parentId] = true;
108
- stack.push(item.parentId);
109
- }
110
- }
111
- return result;
112
- }
113
- getDefaultSelected() {
114
- const { value } = this.props;
115
- if (!value)
116
- return {};
117
- if (this.isMultiple()) {
118
- // @ts-ignore
119
- return value.reduce((acc, id) => {
120
- const parentId = this.getParentId(id);
121
- if (parentId) {
122
- if (!acc[parentId]) {
123
- acc[parentId] = [id];
124
- }
125
- else {
126
- acc[parentId].push(id);
127
- }
128
- }
129
- else {
130
- acc[id] = this.ids.childIds[id] ? [] : true;
131
- }
132
- return acc;
133
- }, {});
134
- }
135
- // @ts-ignore
136
- return { [value]: true };
137
- }
138
- isDisabled() {
139
- return this.props.disabled || this.items.length === 0;
140
- }
141
- isClickedInside = elem => elem.closest(`.${S.root}`) || elem.closest(`.${S.options}`);
142
- onFocusedElemRef = elem => {
143
- this.focusedElem = elem;
144
- if (elem) {
145
- const content = this.contentRef.current;
146
- if (!content)
147
- return;
148
- const { top, bottom } = elem.getBoundingClientRect();
149
- const rect = this.contentRef.current.getBoundingClientRect();
150
- const list = this.scrollInnerElem;
151
- if (top < rect.top) {
152
- list.scrollTop -= rect.top - top;
153
- }
154
- else if (bottom > rect.bottom) {
155
- list.scrollTop += bottom - rect.bottom;
156
- }
157
- }
158
- };
159
- onDocumentClick = e => {
160
- if (!this.isClickedInside(e.target)) {
161
- this.store.isOpen = false;
162
- }
163
- };
164
- onDocumentKeyDown = e => {
165
- const currIndex = this.store.focusedItemIndex;
166
- switch (e.key) {
167
- case 'ArrowDown':
168
- if (currIndex < this.maxIndex)
169
- this.setItemFocus(currIndex + 1);
170
- break;
171
- case 'ArrowUp':
172
- if (currIndex > 0)
173
- this.setItemFocus(currIndex - 1);
174
- break;
175
- }
176
- };
177
- onDocumentKeyUp = e => {
178
- const currIndex = this.store.focusedItemIndex;
179
- if (currIndex === -1)
180
- return;
181
- switch (e.key) {
182
- case 'Enter':
183
- case 'Space':
184
- if (this.store.isOpen) {
185
- e.preventDefault();
186
- e.stopPropagation();
187
- this.onItemToggle(this.items[currIndex].id);
188
- }
189
- }
190
- };
191
- unDocumetnKeyDown = () => document.removeEventListener('keyup', this.onDocumentKeyUp, true);
192
- unDocumentClick = () => document.removeEventListener('click', this.onDocumentClick);
193
- onFocus = e => {
194
- const { onFocus } = this.props;
195
- this.setSearchVal('');
196
- this.store.isFocused = true;
197
- onFocus?.(e);
198
- };
199
- onBlur = e => {
200
- const { onBlur } = this.props;
201
- this.store.isFocused = false;
202
- onBlur?.(e);
203
- };
204
- onSearchChange = (e, value) => {
205
- this.setSearchVal(value);
206
- };
207
- onExpandClick(e, id) {
208
- const { expanded } = this.store;
209
- e.preventDefault();
210
- e.stopPropagation();
211
- this.store.expanded[id] = !expanded[id];
212
- }
213
- onItemToggle(id) {
214
- this.onChange(this.getNewSelected(id));
215
- if (!this.isMultiple())
216
- this.store.isOpen = false;
217
- }
218
- onChange(selected) {
219
- const { onChange } = this.props;
220
- this.store.selected = selected;
221
- onChange(this.getValue());
222
- }
223
- onLabelClipPathChange = clipPath => (this.store.labelClipPath = clipPath);
224
- onPopupOpen = () => {
225
- this.store.isOpen = true;
226
- if (this.isMultiple()) {
227
- document.addEventListener('click', this.onDocumentClick);
228
- }
229
- document.addEventListener('keydown', this.onDocumentKeyDown);
230
- document.addEventListener('keyup', this.onDocumentKeyUp, true);
231
- };
232
- onPopupClose = () => {
233
- this.setItemFocus(-1);
234
- this.store.isOpen = false;
235
- this.unDocumentClick();
236
- this.unDocumetnKeyDown();
237
- };
238
- onOptionHover = throttle(id => {
239
- const mode = getInteractionMode();
240
- if (mode !== INTERACTION_MODE.POINTER)
241
- return;
242
- const index = this.items.findIndex(item => item.id === id);
243
- this.setItemFocus(index);
244
- }, 100, { trailing: true });
245
- setItemFocus = index => {
246
- this.focusedItemId = this.items[index]?.id;
247
- this.store.focusedItemIndex = index;
248
- };
249
- toggle = () => {
250
- this.store.isOpen = !this.store.isOpen;
251
- };
252
- setSearchVal(searchVal) {
253
- this.searchValLower = searchVal.toLowerCase();
254
- this.store.searchVal = searchVal;
255
- }
256
- getItems = () => [...this.props.additionalOptions, ...this.optionsTree];
257
- getParentId = id => this.ids.items[id]?.parentId;
258
- getChildIds = id => this.ids.childIds[id];
259
- isMultiple = () => isMultiple(this.props.value);
260
- isErrorVisible = () => !this.store.isOpen && Boolean(this.props.error);
261
- isSelected(id) {
262
- const { selected } = this.store;
263
- const parentId = this.getParentId(id);
264
- const hasParent = parentId !== undefined;
265
- if (hasParent) {
266
- // @ts-ignore
267
- return selected[parentId]?.indexOf(id) > -1;
268
- }
269
- const selectedVal = selected[id];
270
- if (Array.isArray(selectedVal)) {
271
- const childCount = this.getChildIds(id).length;
272
- if (selectedVal.length !== childCount)
273
- return 'indeterminate';
274
- return selectedVal.length > 0;
275
- }
276
- return selectedVal;
277
- }
278
- addSelected(id, selected) {
279
- if (!this.isMultiple())
280
- return { [id]: true };
281
- const parentId = this.getParentId(id);
282
- const childIds = this.getChildIds(id);
283
- const hasParent = parentId !== undefined;
284
- const hasChilds = childIds?.length > 0;
285
- if (!hasParent && !hasChilds) {
286
- // top level without childs
287
- return { ...selected, [id]: true };
288
- }
289
- this.addSelectedToParent(id, selected);
290
- childIds?.forEach(childId => this.addSelected(childId, selected));
291
- return selected;
292
- }
293
- addSelectedToParent(id, selected) {
294
- const parentId = this.getParentId(id);
295
- if (parentId === undefined)
296
- return;
297
- if (!selected[parentId])
298
- selected[parentId] = [];
299
- const arr = selected[parentId];
300
- const index = arr.indexOf(id);
301
- if (index > -1)
302
- return;
303
- arr.push(id);
304
- this.addSelectedToParent(parentId, selected);
305
- }
306
- removeSelected(id, selected) {
307
- if (!this.isMultiple())
308
- return {};
309
- this.removeSelectedChilds(id, selected);
310
- this.removeSelectedFromParent(id, selected);
311
- return selected;
312
- }
313
- removeSelectedChilds(id, selected) {
314
- if (Array.isArray(selected[id])) {
315
- selected[id].forEach(childId => this.removeSelectedChilds(childId, selected));
316
- }
317
- delete selected[id];
318
- }
319
- removeSelectedFromParent(id, selected) {
320
- const parentId = this.getParentId(id);
321
- const parentSelected = selected[parentId];
322
- if (parentId === undefined || !parentSelected)
323
- return;
324
- const index = parentSelected.indexOf(id);
325
- if (index > -1)
326
- parentSelected.splice(index, 1);
327
- if (parentSelected.length === 0) {
328
- delete selected[parentId];
329
- this.removeSelectedFromParent(parentId, selected);
330
- }
331
- }
332
- selectAll = () => {
333
- let selected = {};
334
- this.optionsTree.forEach(({ id }) => (selected = this.addSelected(id, selected)));
335
- this.onChange(selected);
336
- };
337
- setSelected(ids) {
338
- let selected = {};
339
- ids.forEach(id => (selected = this.addSelected(id, selected)));
340
- this.onChange(selected);
341
- }
342
- dropSelected = () => {
343
- this.setSelected([]);
344
- };
345
- getNewSelected(id) {
346
- const { required } = this.props;
347
- const selected = JSON.parse(JSON.stringify(this.store.selected));
348
- if (this.isSelected(id)) {
349
- if (required &&
350
- (!this.isMultiple() || Object.keys(selected).length === 1)) {
351
- return selected;
352
- }
353
- return this.removeSelected(id, selected);
354
- }
355
- return this.addSelected(id, selected);
356
- }
357
- getValue() {
358
- const { selected } = this.store;
359
- const entries = Object.entries(selected);
360
- if (this.isMultiple()) {
361
- // @ts-ignore
362
- return entries.reduce((acc, [id, val]) => {
363
- if (Array.isArray(val))
364
- return [...acc, ...val];
365
- return [...acc, this.coerceType(id)];
366
- }, []);
367
- }
368
- const entry = entries[0];
369
- if (entry)
370
- return this.coerceType(entry[0]);
371
- return null;
372
- }
373
- getInputVal() {
374
- const { isFocused, searchVal, selected } = this.store;
375
- if (isFocused && searchVal)
376
- return searchVal;
377
- const selectedPlain = Object.entries(selected).reduce((acc, entry) => {
378
- const parentId = this.coerceType(entry[0]);
379
- const val = entry[1];
380
- if (acc.indexOf(parentId) === -1)
381
- acc.push(parentId);
382
- if (Array.isArray(val)) {
383
- val.forEach(id => {
384
- if (acc.indexOf(id) === -1)
385
- acc.push(id);
386
- });
387
- }
388
- return acc;
389
- }, []);
390
- return selectedPlain.map(id => this.ids.items[id].label).join(', ');
391
- }
392
- getLabel(id) {
393
- const { label, render } = Object(this.ids.items[id]);
394
- if (render)
395
- return render(label);
396
- return label;
397
- }
398
- getFieldLabel(label) {
399
- // @ts-ignore
400
- const length = this.props.value?.length;
401
- if (this.isMultiple() && length)
402
- return `${label} (${length})`;
403
- return label;
404
- }
405
- getSelectedLabel() {
406
- const { value } = this.props;
407
- if (!this.isMultiple())
408
- return this.getLabel(value);
409
- if (!value)
410
- return '';
411
- return (value
412
- // @ts-ignore
413
- .reduce((acc, id) => {
414
- const label = this.getLabel(id);
415
- return label ? [...acc, label] : acc;
416
- }, [])
417
- .join(', '));
418
- }
419
- filterOption({ label }) {
420
- return label.toLowerCase().includes(this.searchValLower);
421
- }
422
- getTriggerProps() {
423
- const { triggerProps } = this.props;
424
- const props = {
425
- ...pick(this.props, [
426
- 'name',
427
- 'label',
428
- 'size',
429
- 'variant',
430
- // 'inputProps',
431
- // 'required',
432
- 'autocomplete',
433
- // 'hideRequiredStar',
434
- ]),
435
- ...triggerProps,
436
- };
437
- return props;
438
- }
439
- renderAdditionalLabel() {
440
- const { additionalLabel } = this.props;
441
- if (!additionalLabel)
442
- return null;
443
- return jsx("div", { className: S.additionalLabel, children: additionalLabel });
444
- }
445
- renderTriggerInput() {
446
- const { inputProps, label } = this.props;
447
- const value = this.getInputVal();
448
- const props = {
449
- ...this.getTriggerProps(),
450
- ...inputProps,
451
- error: this.isErrorVisible(),
452
- // addonLeft: this.renderSelectedItems(),
453
- addonRight: this.renderTriggerArrow(),
454
- value,
455
- onChange: this.onSearchChange,
456
- ref: this.triggerInputRef,
457
- label: this.getFieldLabel(label),
458
- };
459
- return jsx(Input, { ...props });
460
- }
461
- renderTriggerButton() {
462
- const { size } = this.props;
463
- const { labelClipPath } = this.store;
464
- const { label, className, ...rest } = this.getTriggerProps();
465
- const props = omit(rest, ['name', 'inputProps']);
466
- const selectedLabel = [
467
- this.getSelectedLabel(),
468
- this.renderAdditionalLabel(),
469
- ].filter(Boolean);
470
- const hasSelected = selectedLabel.length > 0;
471
- const displayLabel = hasSelected ? selectedLabel : label;
472
- const title = hasSelected ? selectedLabel : null;
473
- const triggerArrow = this.renderTriggerArrow();
474
- const isError = this.isErrorVisible();
475
- const classes = cn(S.triggerButton, isError && S.isError, triggerArrow && S.hasTriggerArrow, className);
476
- return (jsxs("div", { children: [jsxs(Button, { className: classes, variant: "default", ...props, style: { clipPath: labelClipPath }, title: title?.join?.(', '), children: [jsx("div", { className: cn(S.triggerButtonLabel, hasSelected && S.hasSelected), children: displayLabel }), triggerArrow] }), jsx(Label, { size: size, isOnTop: hasSelected, isError: isError, onClipPathChange: this.onLabelClipPathChange, children: this.getFieldLabel(label) })] }));
477
- }
478
- renderTriggerArrow() {
479
- const { size, inputProps } = this.props;
480
- const { isOpen, searchVal } = this.store;
481
- if (inputProps?.hasClear && searchVal)
482
- return null;
483
- return (jsx(Icon, { type: "chevronDown", className: cn(S.triggerArrow, isOpen && S.isOpen), size: size }));
484
- }
485
- renderTrigger() {
486
- const { trigger, isSearchable, required, hideRequiredStar, size } = this.props;
487
- if (trigger)
488
- return trigger;
489
- const triggerElem = isSearchable
490
- ? this.renderTriggerInput()
491
- : this.renderTriggerButton();
492
- return (jsxs("div", { className: S.trigger, children: [triggerElem, required && !hideRequiredStar && jsx(RequiredStar, { size: size })] }));
493
- }
494
- renderFoldButton(id) {
495
- const { size } = this.props;
496
- return (jsx(Button, { variant: "clear", size: size, className: S.expandButton, onPointerUpCapture: e => this.onExpandClick(e, id), children: jsx(Icon, { type: "chevronRight", size: size, className: S.expandIcon }) }));
497
- }
498
- renderOption = (item, level = 0) => {
499
- const { expanded } = this.store;
500
- const { id, children, isGroup } = item;
501
- const selectedState = this.isSelected(id);
502
- const isFocused = id === this.focusedItemId;
503
- const isExpanded = expanded[id];
504
- const isSelected = selectedState === true;
505
- const isIndeterminate = selectedState === 'indeterminate';
506
- const items = [];
507
- const className = cn(S.option, isGroup && S.isGroup, isFocused && S.isFocused, isSelected && S.isSelected, isIndeterminate && S.isIndeterminate, isExpanded && S.isExpanded, S[`level-${level}`]);
508
- const props = {
509
- className,
510
- key: id,
511
- onPointerUp: () => this.onItemToggle(id),
512
- onPointerEnter: () => this.onOptionHover(id),
513
- };
514
- // @ts-ignore
515
- if (isFocused)
516
- props.ref = this.onFocusedElemRef;
517
- if (isIndeterminate || (isSelected && !this.isFirstSelectedMeet)) {
518
- this.isFirstSelectedMeet = true;
519
- }
520
- if (children) {
521
- this.isTree = true;
522
- if (isExpanded) {
523
- children.forEach(child => items.push(...this.renderOption(child, level + 1)));
524
- }
525
- }
526
- if (this.filterOption(item) || items.length > 0) {
527
- items.unshift(jsxs("div", { ...props, children: [children?.length && this.renderFoldButton(item.id), renderLabel(item)] }));
528
- }
529
- return items;
530
- };
531
- renderOptions() {
532
- const { additionalOptions = [] } = this.props;
533
- const items = additionalOptions.concat(this.optionsTree);
534
- const itemsList = [];
535
- this.isFirstSelectedMeet = false;
536
- items.forEach(item => {
537
- itemsList.push(...this.renderOption(item));
538
- });
539
- return itemsList;
540
- }
541
- renderPresets() {
542
- const { presets = [], clearButton, selectAllButton } = this.props;
543
- const items = presets.map(({ label, ids }) => ({
544
- children: label,
545
- onClick: () => this.setSelected(ids),
546
- key: label,
547
- }));
548
- if (selectAllButton) {
549
- items.push({
550
- children: 'Select all',
551
- onClick: this.selectAll,
552
- key: 'select-all-button',
553
- });
554
- }
555
- if (clearButton) {
556
- items.push({
557
- children: 'Clear',
558
- onClick: this.dropSelected,
559
- key: 'clear-button',
560
- });
561
- }
562
- if (items.length === 0)
563
- return null;
564
- return (jsx("div", { className: S.presetPanel, children: items.map(props => (jsx(Button, { className: S.presetButton, variant: "clear", ...props }))) }, "preset-panel"));
565
- }
566
- renderOptionsList() {
567
- const { size } = this.props;
568
- this.isTree = false;
569
- const optionsList = this.renderOptions();
570
- const classes = cn(S.options, S[`size-${size}`], this.isTree && S.isTree);
571
- return (jsxs("div", { ref: this.contentRef, children: [this.renderPresets(), jsx(Scroll, { y: true, offset: { y: { before: 10, after: 10 } }, className: classes, onInnerRef: this.onScrollInnerRef, children: optionsList }, "items-scroll")] }));
572
- }
573
- render() {
574
- const { className, popupProps, size, error, blur } = this.props;
575
- const { isOpen, isFocused } = this.store;
576
- const classes = cn(S.root, className, S[`size-${size}`]);
577
- return (jsxs(Fragment, { children: [jsx(Popup, { className: classes, direction: "bottom", size: size, focusControl: true, hoverControl: isFocused, blur: blur, isOpen: isOpen, ...popupProps, onOpen: this.onPopupOpen, onClose: this.onPopupClose, disabled: this.isDisabled(), trigger: this.renderTrigger(), triggerProps: {
578
- onFocus: this.onFocus,
579
- onBlur: this.onBlur,
580
- }, content: this.renderOptionsList() }), this.isErrorVisible() && (jsx(AssistiveText, { variant: "danger", size: size, children: error }))] }));
581
- }
582
- }
583
-
584
- export { Select, SelectHelpers };
1
+ import{jsx,jsxs,Fragment}from"react/jsx-runtime";import{Component,createRef}from"react";import cn from"classnames";import compare from"compareq";import pick from"lodash.pick";import omit from"lodash.omit";import{createStore}from"justorm/react";import Time from"timen";import{Icon}from"../Icon/Icon.js";import{Button}from"../Button/Button.js";import{Input}from"../Input/Input.js";import{Label}from"../Label/Label.js";import{Popup}from"../Popup/Popup.js";import{Scroll}from"../Scroll/Scroll.js";import{RequiredStar}from"../RequiredStar/RequiredStar.js";import{AssistiveText}from"../AssistiveText/AssistiveText.js";import{INTERACTION_MODE,getInteractionMode}from"../../tools/dom.js";import throttle from"../../tools/throttle.js";import*as Select_helpers from"./Select.helpers.js";import{mapById,buildOptionsTree,isMultiple,renderLabel}from"./Select.helpers.js";import S from"./Select.styl.js";const SelectHelpers=Select_helpers;class Select extends Component{store;inputRef=createRef();triggerInputRef=createRef();contentRef=createRef();scrollInnerElem;onScrollInnerRef=e=>this.scrollInnerElem=e;focusedElem;timers=Time.create();items=[];maxIndex=-1;isFirstSelectedMeet=!1;isTree=!1;focusedItemId="";preventClose=!1;searchValLower="";optionsTree=[];ids={items:{},childIds:{}};static defaultProps={size:"m",additionalOptions:[]};constructor(e){super(e),this.onOptionsChange(),this.store=createStore(this,{searchVal:"",isOpen:!1,isFocused:!1,focusedItemIndex:0,selected:this.getDefaultSelected(),expanded:this.getDefaultExpanded(e.value),labelClipPath:""})}componentDidUpdate(e){var{options:t,value:s}=this.props;compare(s,e.value)||(this.store.selected=this.getDefaultSelected()),compare(t,e.options)||this.onOptionsChange()}componentWillUnmount(){this.timers.clear(),this.unDocumetnKeyDown(),this.unDocumentClick()}onOptionsChange(){var e=this.props["options"];this.ids=mapById(e),this.optionsTree=buildOptionsTree(e,this.ids),this.items=this.getItems(),this.maxIndex=Math.max(0,this.items.length-1),this.store?.focusedItemIndex>this.maxIndex&&(this.store.focusedItemIndex=this.maxIndex,this.focusedItemId=this.items[this.maxIndex].id)}coerceType(e){return"number"==typeof this.ids.items[e].id?parseFloat(e):e}getDefaultExpanded(e){var t=this.props["expandSelected"],s=this.ids["items"];if(!t)return{};if(!e)return{};for(var r={},i=[...this.isMultiple()?e:[e]];i.length;){var o=s[i.shift()];o.parentId&&(r[o.parentId]=!0,i.push(o.parentId))}return r}getDefaultSelected(){var e=this.props["value"];return e?this.isMultiple()?e.reduce((e,t)=>{var s=this.getParentId(t);return s?e[s]?e[s].push(t):e[s]=[t]:e[t]=!this.ids.childIds[t]||[],e},{}):{[e]:!0}:{}}isDisabled(){return this.props.disabled||0===this.items.length}isClickedInside=e=>e.closest("."+S.root)||e.closest("."+S.options);onFocusedElemRef=e=>{var t,s,r;(this.focusedElem=e)&&this.contentRef.current&&({top:e,bottom:t}=e.getBoundingClientRect(),s=this.contentRef.current.getBoundingClientRect(),r=this.scrollInnerElem,e<s.top?r.scrollTop-=s.top-e:t>s.bottom&&(r.scrollTop+=t-s.bottom))};onDocumentClick=e=>{this.isClickedInside(e.target)||(this.store.isOpen=!1)};onDocumentKeyDown=e=>{var t=this.store.focusedItemIndex;switch(e.key){case"ArrowDown":t<this.maxIndex&&this.setItemFocus(t+1);break;case"ArrowUp":0<t&&this.setItemFocus(t-1)}};onDocumentKeyUp=e=>{var t=this.store.focusedItemIndex;if(-1!==t)switch(e.key){case"Enter":case"Space":this.store.isOpen&&(e.preventDefault(),e.stopPropagation(),this.onItemToggle(this.items[t].id))}};unDocumetnKeyDown=()=>document.removeEventListener("keyup",this.onDocumentKeyUp,!0);unDocumentClick=()=>document.removeEventListener("click",this.onDocumentClick);onFocus=e=>{var t=this.props["onFocus"];this.setSearchVal(""),this.store.isFocused=!0,t?.(e)};onBlur=e=>{var t=this.props["onBlur"];this.store.isFocused=!1,t?.(e)};onSearchChange=(e,t)=>{this.setSearchVal(t)};onExpandClick(e,t){var s=this.store["expanded"];e.preventDefault(),e.stopPropagation(),this.store.expanded[t]=!s[t]}onItemToggle(e){this.onChange(this.getNewSelected(e)),this.isMultiple()||(this.store.isOpen=!1)}onChange(e){var t=this.props["onChange"];this.store.selected=e,t(this.getValue())}onLabelClipPathChange=e=>this.store.labelClipPath=e;onPopupOpen=()=>{this.store.isOpen=!0,this.isMultiple()&&document.addEventListener("click",this.onDocumentClick),document.addEventListener("keydown",this.onDocumentKeyDown),document.addEventListener("keyup",this.onDocumentKeyUp,!0)};onPopupClose=()=>{this.setItemFocus(-1),this.store.isOpen=!1,this.unDocumentClick(),this.unDocumetnKeyDown()};onOptionHover=throttle(t=>{var e;getInteractionMode()===INTERACTION_MODE.POINTER&&(e=this.items.findIndex(e=>e.id===t),this.setItemFocus(e))},100,{trailing:!0});setItemFocus=e=>{this.focusedItemId=this.items[e]?.id,this.store.focusedItemIndex=e};toggle=()=>{this.store.isOpen=!this.store.isOpen};setSearchVal(e){this.searchValLower=e.toLowerCase(),this.store.searchVal=e}getItems=()=>[...this.props.additionalOptions,...this.optionsTree];getParentId=e=>this.ids.items[e]?.parentId;getChildIds=e=>this.ids.childIds[e];isMultiple=()=>isMultiple(this.props.value);isErrorVisible=()=>!this.store.isOpen&&Boolean(this.props.error);isSelected(e){var t=this.store["selected"],s=this.getParentId(e);return void 0!==s?-1<t[s]?.indexOf(e):(s=t[e],Array.isArray(s)?(t=this.getChildIds(e).length,s.length!==t?"indeterminate":0<s.length):s)}addSelected(e,t){var s,r,i;return this.isMultiple()?(s=this.getParentId(e),i=0<(r=this.getChildIds(e))?.length,void 0!==s||i?(this.addSelectedToParent(e,t),r?.forEach(e=>this.addSelected(e,t)),t):{...t,[e]:!0}):{[e]:!0}}addSelectedToParent(e,t){var s,r=this.getParentId(e);void 0===r||(t[r]||(t[r]=[]),-1<(s=t[r]).indexOf(e))||(s.push(e),this.addSelectedToParent(r,t))}removeSelected(e,t){return this.isMultiple()?(this.removeSelectedChilds(e,t),this.removeSelectedFromParent(e,t),t):{}}removeSelectedChilds(e,t){Array.isArray(t[e])&&t[e].forEach(e=>this.removeSelectedChilds(e,t)),delete t[e]}removeSelectedFromParent(e,t){var s=this.getParentId(e),r=t[s];void 0!==s&&r&&(-1<(e=r.indexOf(e))&&r.splice(e,1),0===r.length)&&(delete t[s],this.removeSelectedFromParent(s,t))}selectAll=()=>{let t={};this.optionsTree.forEach(({id:e})=>t=this.addSelected(e,t)),this.onChange(t)};setSelected(e){let t={};e.forEach(e=>t=this.addSelected(e,t)),this.onChange(t)}dropSelected=()=>{this.setSelected([])};getNewSelected(e){var t=this.props["required"],s=JSON.parse(JSON.stringify(this.store.selected));return this.isSelected(e)?!t||this.isMultiple()&&1!==Object.keys(s).length?this.removeSelected(e,s):s:this.addSelected(e,s)}getValue(){var e=this.store["selected"],e=Object.entries(e);return this.isMultiple()?e.reduce((e,[t,s])=>Array.isArray(s)?[...e,...s]:[...e,this.coerceType(t)],[]):(e=e[0])?this.coerceType(e[0]):null}getInputVal(){var{isFocused:e,searchVal:t,selected:s}=this.store;return e&&t?t:Object.entries(s).reduce((t,e)=>{var s=this.coerceType(e[0]),e=e[1];return-1===t.indexOf(s)&&t.push(s),Array.isArray(e)&&e.forEach(e=>{-1===t.indexOf(e)&&t.push(e)}),t},[]).map(e=>this.ids.items[e].label).join(", ")}getLabel(e){var{label:e,render:t}=Object(this.ids.items[e]);return t?t(e):e}getFieldLabel(e){var t=this.props.value?.length;return this.isMultiple()&&t?e+` (${t})`:e}getSelectedLabel(){var e=this.props["value"];return this.isMultiple()?e?e.reduce((e,t)=>{t=this.getLabel(t);return t?[...e,t]:e},[]).join(", "):"":this.getLabel(e)}filterOption({label:e}){return e.toLowerCase().includes(this.searchValLower)}getTriggerProps(){var e=this.props["triggerProps"];return{...pick(this.props,["name","label","size","variant","autocomplete"]),...e}}renderAdditionalLabel(){var e=this.props["additionalLabel"];return e?jsx("div",{className:S.additionalLabel,children:e}):null}renderTriggerInput(){var{inputProps:e,label:t}=this.props,s=this.getInputVal(),e={...this.getTriggerProps(),...e,error:this.isErrorVisible(),addonRight:this.renderTriggerArrow(),value:s,onChange:this.onSearchChange,ref:this.triggerInputRef,label:this.getFieldLabel(t)};return jsx(Input,{...e})}renderTriggerButton(){var e=this.props["size"],t=this.store["labelClipPath"];const{label:s,className:r,...i}=this.getTriggerProps();var o=omit(i,["name","inputProps"]),n=[this.getSelectedLabel(),this.renderAdditionalLabel()].filter(Boolean),l=0<n.length,a=l?n:s,n=l?n:null,h=this.renderTriggerArrow(),d=this.isErrorVisible(),c=cn(S.triggerButton,d&&S.isError,h&&S.hasTriggerArrow,r);return jsxs("div",{children:[jsxs(Button,{className:c,variant:"default",...o,style:{clipPath:t},title:n?.join?.(", "),children:[jsx("div",{className:cn(S.triggerButtonLabel,l&&S.hasSelected),children:a}),h]}),jsx(Label,{size:e,isOnTop:l,isError:d,onClipPathChange:this.onLabelClipPathChange,children:this.getFieldLabel(s)})]})}renderTriggerArrow(){var{size:e,inputProps:t}=this.props,{isOpen:s,searchVal:r}=this.store;return t?.hasClear&&r?null:jsx(Icon,{type:"chevronDown",className:cn(S.triggerArrow,s&&S.isOpen),size:e})}renderTrigger(){var{trigger:e,isSearchable:t,required:s,hideRequiredStar:r,size:i}=this.props;return e||(e=t?this.renderTriggerInput():this.renderTriggerButton(),jsxs("div",{className:S.trigger,children:[e,s&&!r&&jsx(RequiredStar,{size:i})]}))}renderFoldButton(t){var e=this.props["size"];return jsx(Button,{variant:"clear",size:e,className:S.expandButton,onPointerUpCapture:e=>this.onExpandClick(e,t),children:jsx(Icon,{type:"chevronRight",size:e,className:S.expandIcon})})}renderOption=(e,t=0)=>{var s=this.props["optionClassName"],r=this.store["expanded"];const{id:i,children:o,isGroup:n}=e;var l=this.isSelected(i),a=i===this.focusedItemId,r=r[i],h=!0===l,l="indeterminate"===l;const d=[];s={className:cn(S.option,n&&S.isGroup,a&&S.isFocused,h&&S.isSelected,l&&S.isIndeterminate,r&&S.isExpanded,S["level-"+t],s),key:i,onPointerUp:()=>this.onItemToggle(i),onPointerEnter:()=>this.onOptionHover(i)};return a&&(s.ref=this.onFocusedElemRef),(l||h&&!this.isFirstSelectedMeet)&&(this.isFirstSelectedMeet=!0),o&&(this.isTree=!0,r)&&o.forEach(e=>d.push(...this.renderOption(e,t+1))),(this.filterOption(e)||0<d.length)&&d.unshift(jsxs("div",{...s,children:[o?.length&&this.renderFoldButton(e.id),renderLabel(e)]})),d};renderOptions(){var{additionalOptions:e=[]}=this.props,e=e.concat(this.optionsTree);const t=[];return this.isFirstSelectedMeet=!1,e.forEach(e=>{t.push(...this.renderOption(e))}),t}renderPresets(){var{presets:e=[],clearButton:t,selectAllButton:s}=this.props,e=e.map(({label:e,ids:t})=>({children:e,onClick:()=>this.setSelected(t),key:e}));return s&&e.push({children:"Select all",onClick:this.selectAll,key:"select-all-button"}),t&&e.push({children:"Clear",onClick:this.dropSelected,key:"clear-button"}),0===e.length?null:jsx("div",{className:S.presetPanel,children:e.map(e=>jsx(Button,{className:S.presetButton,variant:"clear",...e}))},"preset-panel")}renderOptionsList(){var e=this.props["size"],t=(this.isTree=!1,this.renderOptions()),e=cn(S.options,S["size-"+e],this.isTree&&S.isTree);return jsxs("div",{ref:this.contentRef,children:[this.renderPresets(),jsx(Scroll,{y:!0,offset:{y:{before:10,after:10}},className:e,onInnerRef:this.onScrollInnerRef,children:t},"items-scroll")]})}render(){var{className:e,popupProps:t,size:s,error:r,blur:i}=this.props,{isOpen:o,isFocused:n}=this.store,e=cn(S.root,e,S["size-"+s]);return jsxs(Fragment,{children:[jsx(Popup,{className:e,direction:"bottom",size:s,focusControl:!0,hoverControl:n,blur:i,isOpen:o,...t,onOpen:this.onPopupOpen,onClose:this.onPopupClose,disabled:this.isDisabled(),trigger:this.renderTrigger(),triggerProps:{onFocus:this.onFocus,onBlur:this.onBlur},content:this.renderOptionsList()}),this.isErrorVisible()&&jsx(AssistiveText,{variant:"danger",size:s,children:r})]})}}export{Select,SelectHelpers};
2
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,7 +1,2 @@
1
- import styleInject from '../../../node_modules/style-inject/dist/style-inject.es.js';
2
-
3
- var css_248z = ".Select_root__mjOjv{max-height:200px;max-width:100%;position:relative}.Select_root__mjOjv.Select_disabled__AlOQi{opacity:.4;pointer-events:none}.Select_additionalLabel__K0--Z{flex-grow:1;overflow:hidden;text-align:left;text-overflow:ellipsis}.Select_trigger__OH48f{position:relative;z-index:1}.Select_triggerArrow__1LEop{flex-shrink:0;margin-left:var(--indent-s);transition:transform .2s ease-out}.Select_size-m__jp7n- .Select_triggerArrow__1LEop{margin-left:var(--indent-m)}.Select_size-l__b4EEy .Select_triggerArrow__1LEop{margin-left:var(--indent-l)}.Select_triggerButton__lErtt .Select_triggerArrow__1LEop{margin-right:0}.Select_triggerArrow__1LEop.Select_isOpen__WlMUH{transform:rotateX(-180deg)}.Select_disabled__AlOQi .Select_triggerArrow__1LEop{color:var(--text3-color)}.Select_triggerButton__lErtt{justify-content:space-between;text-align:left;width:100%}.Select_size-s__qBK9t .Select_triggerButton__lErtt{padding-bottom:8px;padding-top:8px}.Select_size-m__jp7n- .Select_triggerButton__lErtt{padding-bottom:12px;padding-top:12px}.Select_size-l__b4EEy .Select_triggerButton__lErtt{padding-bottom:14px;padding-top:14px}.Select_triggerButton__lErtt.Select_hasTriggerArrow__vPLad>span{max-width:calc(100% - 22px)}.Select_triggerButton__lErtt.Select_isError__WJJLq{box-shadow:inset 0 0 0 2px var(--danger-color)}.Select_triggerButton__lErtt .Select_triggerButtonLabel__XXLzh{opacity:0;overflow:hidden;text-overflow:ellipsis}.Select_triggerButton__lErtt .Select_triggerButtonLabel__XXLzh.Select_hasSelected__zQhBV{opacity:1}.Select_presetPanel__Yu94r{box-shadow:inset 0 -1px 0 var(--decent-color-alpha-100);display:flex;padding:5px}.Select_presetButton__BAl0q{flex-grow:1;justify-content:center}.Select_presetButton__BAl0q+.Select_presetButton__BAl0q{margin-left:8px}.Select_options__3C0-v{max-height:200px;overflow-y:auto}.keyboard .Select_options__3C0-v{pointer-events:none}.Select_option__iJkfJ{align-items:center;animation:Select_fadeIn__QpAwZ .3s ease-out;cursor:pointer;display:flex;padding-bottom:0!important;padding-top:0!important;position:relative;text-align:left;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.Select_isTree__SiTaD .Select_option__iJkfJ{min-height:36px}.Select_size-s__qBK9t .Select_option__iJkfJ{font-size:16px;height:26px;padding:0 8px}.Select_size-m__jp7n- .Select_option__iJkfJ{font-size:20px;height:34px;padding:0 12px}.Select_size-l__b4EEy .Select_option__iJkfJ{font-size:24px;height:42px;padding:0 14px}.Select_size-xl__0OerX .Select_option__iJkfJ{height:50px}.Select_option__iJkfJ:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.Select_option__iJkfJ:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.Select_isTree__SiTaD .Select_option__iJkfJ{padding-left:30px}.Select_option__iJkfJ.Select_isGroup__aP1lY{color:var(--accent-color);font-weight:500;pointer-events:none}.Select_isExpanded__rG8R1>.Select_option__iJkfJ{display:flex}.Select_option__iJkfJ>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Select_option__iJkfJ:before{content:\"\";display:inline-block}.Select_option__iJkfJ.Select_level-0__vu03A:before{content:none}.Select_option__iJkfJ.Select_level-1__ozH2U:before{min-width:24px;width:24px}.Select_option__iJkfJ.Select_level-2__XDqeh:before{min-width:48px;width:48px}.Select_option__iJkfJ.Select_level-3__Bc9XS:before{min-width:72px;width:72px}.Select_option__iJkfJ.Select_level-4__KfQcQ:before{min-width:96px;width:96px}.Select_option__iJkfJ.Select_level-5__DGSDM:before{min-width:120px;width:120px}.Select_option__iJkfJ.Select_level-6__p688A:before{min-width:144px;width:144px}.Select_option__iJkfJ.Select_isIndeterminate__dy-xV,.Select_option__iJkfJ.Select_isSelected__n3ZeN{background-color:var(--active-color-alpha-500)}.keyboard .Select_option__iJkfJ.Select_isFocused__oZSgY,.pointer .Select_option__iJkfJ:hover{box-shadow:inset 100vw 0 0 0 var(--accent-color-alpha-200)}.Select_expandButton__UTwlR{background-color:transparent!important;display:flex;height:100%;justify-content:flex-end;overflow:visible;padding:0;position:relative;width:30px}.Select_expandButton__UTwlR:before{content:\"\";display:block;height:calc(100% + 20px);position:absolute;right:0;top:-10;width:100px}.Select_size-m__jp7n- .Select_expandButton__UTwlR{margin-left:-40px}.Select_size-l__b4EEy .Select_expandButton__UTwlR{margin-left:-46px}.Select_expandIcon__gWAIB{-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .1s ease-out}.Select_isExpanded__rG8R1 .Select_expandIcon__gWAIB{transform:rotate(90deg) translateZ(0)}.Select_expandButton__UTwlR:hover .Select_expandIcon__gWAIB{color:var(--primary-color)}@keyframes Select_fadeIn__QpAwZ{0%{opacity:0}10%{opacity:0}to{opacity:1}}";
4
- var S = {"root":"Select_root__mjOjv","disabled":"Select_disabled__AlOQi","additionalLabel":"Select_additionalLabel__K0--Z","trigger":"Select_trigger__OH48f","triggerArrow":"Select_triggerArrow__1LEop","size-m":"Select_size-m__jp7n-","size-l":"Select_size-l__b4EEy","triggerButton":"Select_triggerButton__lErtt","isOpen":"Select_isOpen__WlMUH","size-s":"Select_size-s__qBK9t","hasTriggerArrow":"Select_hasTriggerArrow__vPLad","isError":"Select_isError__WJJLq","triggerButtonLabel":"Select_triggerButtonLabel__XXLzh","hasSelected":"Select_hasSelected__zQhBV","presetPanel":"Select_presetPanel__Yu94r","presetButton":"Select_presetButton__BAl0q","options":"Select_options__3C0-v","option":"Select_option__iJkfJ","fadeIn":"Select_fadeIn__QpAwZ","isTree":"Select_isTree__SiTaD","size-xl":"Select_size-xl__0OerX","isGroup":"Select_isGroup__aP1lY","isExpanded":"Select_isExpanded__rG8R1","level-0":"Select_level-0__vu03A","level-1":"Select_level-1__ozH2U","level-2":"Select_level-2__XDqeh","level-3":"Select_level-3__Bc9XS","level-4":"Select_level-4__KfQcQ","level-5":"Select_level-5__DGSDM","level-6":"Select_level-6__p688A","isSelected":"Select_isSelected__n3ZeN","isIndeterminate":"Select_isIndeterminate__dy-xV","isFocused":"Select_isFocused__oZSgY","expandButton":"Select_expandButton__UTwlR","expandIcon":"Select_expandIcon__gWAIB"};
5
- styleInject(css_248z);
6
-
7
- export { S as default };
1
+ import styleInject from"../../../node_modules/style-inject/dist/style-inject.es.js";var css_248z='.Select_root__mjOjv{max-height:200px;max-width:100%;position:relative}.Select_root__mjOjv.Select_disabled__AlOQi{opacity:.4;pointer-events:none}.Select_additionalLabel__K0--Z{flex-grow:1;overflow:hidden;text-align:left;text-overflow:ellipsis}.Select_trigger__OH48f{position:relative;z-index:1}.Select_triggerArrow__1LEop{flex-shrink:0;margin-left:var(--indent-s);transition:transform .2s ease-out}.Select_size-m__jp7n- .Select_triggerArrow__1LEop{margin-left:var(--indent-m)}.Select_size-l__b4EEy .Select_triggerArrow__1LEop{margin-left:var(--indent-l)}.Select_triggerButton__lErtt .Select_triggerArrow__1LEop{margin-right:0}.Select_triggerArrow__1LEop.Select_isOpen__WlMUH{transform:rotateX(-180deg)}.Select_disabled__AlOQi .Select_triggerArrow__1LEop{color:var(--text3-color)}.Select_triggerButton__lErtt{justify-content:space-between;text-align:left;width:100%}.Select_size-s__qBK9t .Select_triggerButton__lErtt{padding-bottom:8px;padding-top:8px}.Select_size-m__jp7n- .Select_triggerButton__lErtt{padding-bottom:12px;padding-top:12px}.Select_size-l__b4EEy .Select_triggerButton__lErtt{padding-bottom:14px;padding-top:14px}.Select_triggerButton__lErtt.Select_hasTriggerArrow__vPLad>span{max-width:calc(100% - 22px)}.Select_triggerButton__lErtt.Select_isError__WJJLq{box-shadow:inset 0 0 0 2px var(--danger-color)}.Select_triggerButton__lErtt .Select_triggerButtonLabel__XXLzh{opacity:0;overflow:hidden;text-overflow:ellipsis}.Select_triggerButton__lErtt .Select_triggerButtonLabel__XXLzh.Select_hasSelected__zQhBV{opacity:1}.Select_presetPanel__Yu94r{box-shadow:inset 0 -1px 0 var(--decent-color-alpha-100);display:flex;padding:5px}.Select_presetButton__BAl0q{flex-grow:1;justify-content:center}.Select_presetButton__BAl0q+.Select_presetButton__BAl0q{margin-left:8px}.Select_options__3C0-v{max-height:200px;overflow-y:auto}.keyboard .Select_options__3C0-v{pointer-events:none}.Select_option__iJkfJ{align-items:center;animation:Select_fadeIn__QpAwZ .3s ease-out;cursor:pointer;display:flex;padding-bottom:0!important;padding-top:0!important;position:relative;text-align:left;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.Select_isTree__SiTaD .Select_option__iJkfJ{min-height:36px}.Select_size-s__qBK9t .Select_option__iJkfJ{font-size:16px;height:26px;padding:0 8px}.Select_size-m__jp7n- .Select_option__iJkfJ{font-size:20px;height:34px;padding:0 12px}.Select_size-l__b4EEy .Select_option__iJkfJ{font-size:24px;height:42px;padding:0 14px}.Select_size-xl__0OerX .Select_option__iJkfJ{height:50px}.Select_option__iJkfJ:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.Select_option__iJkfJ:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.Select_isTree__SiTaD .Select_option__iJkfJ{padding-left:30px}.Select_option__iJkfJ.Select_isGroup__aP1lY{color:var(--accent-color);font-weight:500;pointer-events:none}.Select_isExpanded__rG8R1>.Select_option__iJkfJ{display:flex}.Select_option__iJkfJ>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Select_option__iJkfJ:before{content:"";display:inline-block}.Select_option__iJkfJ.Select_level-0__vu03A:before{content:none}.Select_option__iJkfJ.Select_level-1__ozH2U:before{min-width:24px;width:24px}.Select_option__iJkfJ.Select_level-2__XDqeh:before{min-width:48px;width:48px}.Select_option__iJkfJ.Select_level-3__Bc9XS:before{min-width:72px;width:72px}.Select_option__iJkfJ.Select_level-4__KfQcQ:before{min-width:96px;width:96px}.Select_option__iJkfJ.Select_level-5__DGSDM:before{min-width:120px;width:120px}.Select_option__iJkfJ.Select_level-6__p688A:before{min-width:144px;width:144px}.Select_option__iJkfJ.Select_isIndeterminate__dy-xV,.Select_option__iJkfJ.Select_isSelected__n3ZeN{background-color:var(--active-color-alpha-500)}.keyboard .Select_option__iJkfJ.Select_isFocused__oZSgY,.pointer .Select_option__iJkfJ:hover{box-shadow:inset 100vw 0 0 0 var(--accent-color-alpha-200)}.Select_expandButton__UTwlR{background-color:transparent!important;display:flex;height:100%;justify-content:flex-end;overflow:visible;padding:0;position:relative;width:30px}.Select_expandButton__UTwlR:before{content:"";display:block;height:calc(100% + 20px);position:absolute;right:0;top:-10;width:100px}.Select_size-m__jp7n- .Select_expandButton__UTwlR{margin-left:-40px}.Select_size-l__b4EEy .Select_expandButton__UTwlR{margin-left:-46px}.Select_expandIcon__gWAIB{-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .1s ease-out}.Select_isExpanded__rG8R1 .Select_expandIcon__gWAIB{transform:rotate(90deg) translateZ(0)}.Select_expandButton__UTwlR:hover .Select_expandIcon__gWAIB{color:var(--primary-color)}@keyframes Select_fadeIn__QpAwZ{0%{opacity:0}10%{opacity:0}to{opacity:1}}',S={root:"Select_root__mjOjv",disabled:"Select_disabled__AlOQi",additionalLabel:"Select_additionalLabel__K0--Z",trigger:"Select_trigger__OH48f",triggerArrow:"Select_triggerArrow__1LEop","size-m":"Select_size-m__jp7n-","size-l":"Select_size-l__b4EEy",triggerButton:"Select_triggerButton__lErtt",isOpen:"Select_isOpen__WlMUH","size-s":"Select_size-s__qBK9t",hasTriggerArrow:"Select_hasTriggerArrow__vPLad",isError:"Select_isError__WJJLq",triggerButtonLabel:"Select_triggerButtonLabel__XXLzh",hasSelected:"Select_hasSelected__zQhBV",presetPanel:"Select_presetPanel__Yu94r",presetButton:"Select_presetButton__BAl0q",options:"Select_options__3C0-v",option:"Select_option__iJkfJ",fadeIn:"Select_fadeIn__QpAwZ",isTree:"Select_isTree__SiTaD","size-xl":"Select_size-xl__0OerX",isGroup:"Select_isGroup__aP1lY",isExpanded:"Select_isExpanded__rG8R1","level-0":"Select_level-0__vu03A","level-1":"Select_level-1__ozH2U","level-2":"Select_level-2__XDqeh","level-3":"Select_level-3__Bc9XS","level-4":"Select_level-4__KfQcQ","level-5":"Select_level-5__DGSDM","level-6":"Select_level-6__p688A",isSelected:"Select_isSelected__n3ZeN",isIndeterminate:"Select_isIndeterminate__dy-xV",isFocused:"Select_isFocused__oZSgY",expandButton:"Select_expandButton__UTwlR",expandIcon:"Select_expandIcon__gWAIB"};styleInject(css_248z);export{S as default};
2
+ //# sourceMappingURL=Select.styl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.styl.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,11 +1,2 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import cn from 'classnames';
3
- import SvgSpinner from './spinner.svg.js';
4
- import S from './Spinner.styl.js';
5
-
6
- const Spinner = ({ size = 'm', className = '', ...props }) => {
7
- const classes = cn(S.root, S[`size-${size}`], className);
8
- return jsx(SvgSpinner, { className: classes, ...props });
9
- };
10
-
11
- export { Spinner };
1
+ import{jsx}from"react/jsx-runtime";import cn from"classnames";import SvgSpinner from"./spinner.svg.js";import S from"./Spinner.styl.js";const Spinner=({size:r="m",className:n="",...s})=>{r=cn(S.root,S["size-"+r],n);return jsx(SvgSpinner,{className:r,...s})};export{Spinner};
2
+ //# sourceMappingURL=Spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}