@homecode/ui 4.18.15 → 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 -585
  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,397 +1,2 @@
1
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import { Component, createRef } from 'react';
3
- import cn from 'classnames';
4
- import { createStore } from 'justorm/react';
5
- import Time from 'timen';
6
- import { Paranja } from '../Paranja/Paranja.js';
7
- import { Portal } from '../Portal/Portal.js';
8
- import { getCoords } from '../../tools/dom.js';
9
- import { observe, unobserve } from '../../tools/resizeObserver.js';
10
- import { isBrowser } from '../../tools/env.js';
11
- import debounce from '../../tools/debounce.js';
12
- import throttle from '../../tools/throttle.js';
13
- import S from './Popup.styl.js';
14
- import { getId, getPopupId, isLastChild, unsetChild, childs, setChild } from './Popup.helpers.js';
15
-
16
- const ANIMATION_DURATION = 100;
17
- const OFFSET_GAP = 10;
18
- const INITIAL_OFFSET = { top: 0, left: 0 };
19
- class Popup extends Component {
20
- rootElem = createRef();
21
- triggerElem = createRef();
22
- containerElem = null;
23
- onContainerElemRef = elem => {
24
- this.containerElem = elem;
25
- // TODO: useElemResize(elem, callback)
26
- if (elem) {
27
- this.unsubscribeSizeChange();
28
- this.subscribeSizeChange();
29
- }
30
- };
31
- focused = false;
32
- pointerPressed = false;
33
- subscribedHoverControl = false;
34
- subscribedSizeChange = false;
35
- pointerDownTarget = null;
36
- isPointerPressedInside = false;
37
- needDropOffset = false;
38
- id;
39
- parentPopupContent;
40
- store;
41
- timers = Time.create();
42
- scrollParent;
43
- offset = { ...INITIAL_OFFSET };
44
- static defaultProps = {
45
- size: 'm',
46
- direction: '',
47
- animated: true,
48
- };
49
- constructor(props) {
50
- super(props);
51
- const isOpen = Boolean(props.isOpen);
52
- this.id = getId();
53
- this.store = createStore(this, {
54
- rootPopupId: null,
55
- isOpen,
56
- isContentVisible: isOpen,
57
- animating: false,
58
- direction: props.direction,
59
- triggerBounds: null,
60
- });
61
- }
62
- componentDidMount() {
63
- const { hoverControl, focusControl } = this.props;
64
- const parentPopupContent = this.triggerElem.current.closest(`.${S.content}`);
65
- document.addEventListener('pointerdown', this.onDocPointerDown, true);
66
- document.addEventListener('pointerup', this.onDocPointerUp, true);
67
- if (parentPopupContent) {
68
- this.store.rootPopupId =
69
- getPopupId(parentPopupContent, 'data-root-popup-id') ||
70
- getPopupId(parentPopupContent, 'data-popup-id');
71
- }
72
- if (focusControl) {
73
- document.addEventListener('keydown', this.onDocKeyDown, true);
74
- document.addEventListener('keyup', this.onDocKeyUp);
75
- }
76
- if (hoverControl)
77
- this.subscribeHoverControl();
78
- this.subscribeScroll();
79
- }
80
- componentDidUpdate(prevProps) {
81
- const { isOpen, disabled, hoverControl } = this.props;
82
- if (disabled) {
83
- this.store.isOpen = false; // close when receive disabled=true
84
- return;
85
- }
86
- if (!prevProps.hoverControl && hoverControl)
87
- this.subscribeHoverControl();
88
- if (prevProps.hoverControl && !hoverControl)
89
- this.unsubscribeHoverControl();
90
- if (typeof isOpen === 'boolean' && isOpen !== prevProps.isOpen) {
91
- isOpen ? this.open() : this.close();
92
- }
93
- }
94
- componentWillUnmount() {
95
- this.timers.clear();
96
- document.removeEventListener('keyup', this.onDocKeyUp, true);
97
- if (this.scrollParent) {
98
- this.scrollParent.removeEventListener('scroll', this.close);
99
- }
100
- this.unsubscribeHoverControl();
101
- this.unsubscribeSizeChange();
102
- this.unsubscribeScroll();
103
- }
104
- subscribeSizeChange() {
105
- if (this.subscribedSizeChange)
106
- return;
107
- this.subscribedSizeChange = true;
108
- observe(this.triggerElem.current, this.onTriggerResize);
109
- observe(this.containerElem, this.onContainerResize);
110
- }
111
- subscribeScroll() {
112
- if (isBrowser && !this.props.inline) {
113
- document.addEventListener('scroll', this.onScroll, true);
114
- }
115
- }
116
- unsubscribeScroll() {
117
- document.removeEventListener('scroll', this.onScroll, true);
118
- }
119
- unsubscribeSizeChange() {
120
- this.subscribedSizeChange = false;
121
- unobserve(this.triggerElem.current);
122
- unobserve(this.containerElem);
123
- }
124
- subscribeHoverControl() {
125
- if (this.subscribedHoverControl)
126
- return;
127
- this.subscribedHoverControl = true;
128
- document.addEventListener('pointermove', this.checkHover);
129
- document.addEventListener('pointerup', this.checkHover);
130
- }
131
- unsubscribeHoverControl() {
132
- if (!this.subscribedHoverControl)
133
- return;
134
- this.subscribedHoverControl = false;
135
- document.removeEventListener('pointermove', this.checkHover);
136
- document.removeEventListener('pointerup', this.checkHover);
137
- }
138
- updateBounds() {
139
- if (this.store.animating || !this.containerElem)
140
- return;
141
- if (!this.triggerElem.current)
142
- return;
143
- this.updateBoundsThrottled();
144
- }
145
- updateBoundsThrottled = throttle(() => {
146
- const trigger = this.triggerElem.current;
147
- const bounds = {
148
- minHeight: trigger.offsetHeight,
149
- minWidth: trigger.offsetWidth,
150
- ...getCoords(trigger),
151
- };
152
- Object.entries(bounds).forEach(([key, value]) => {
153
- this.triggerElem.current.style[key] = value;
154
- });
155
- this.updateOffset();
156
- this.store.triggerBounds = bounds;
157
- }, 200, { trailing: true });
158
- prevContentBounds = { width: 0, height: 0 };
159
- updateOffset = () => {
160
- const content = this.containerElem.getBoundingClientRect();
161
- if (!content.height ||
162
- !content.width ||
163
- this.prevContentBounds.width !== content.width ||
164
- this.prevContentBounds.height !== content.height) {
165
- this.prevContentBounds = content;
166
- Time.after(100, this.updateOffset);
167
- return;
168
- }
169
- const { offset } = this;
170
- const { innerHeight, innerWidth } = window;
171
- const bottom = content.top + content.height + OFFSET_GAP - offset.top;
172
- const right = content.left + content.width + OFFSET_GAP - offset.left;
173
- if (content.top < 0) {
174
- offset.top = -content.top + OFFSET_GAP;
175
- }
176
- else if (bottom > innerHeight) {
177
- offset.top = innerHeight - bottom;
178
- }
179
- if (content.left < 0) {
180
- offset.left = -content.left + OFFSET_GAP;
181
- }
182
- else if (right > innerWidth) {
183
- offset.left = innerWidth - right;
184
- }
185
- this.applyOffset();
186
- };
187
- applyOffset() {
188
- const { left, top } = this.offset;
189
- this.containerElem.style.marginTop = `${top}px`;
190
- this.containerElem.style.marginLeft = `${left}px`;
191
- }
192
- checkHover = debounce((e) => {
193
- if (this.isPointerPressedInside)
194
- return;
195
- const { isOpen, rootPopupId } = this.store;
196
- const overTrigger = this.isPointerOver(e.target, S.trigger);
197
- const overContent = this.isPointerOver(e.target, S.content);
198
- if (!isOpen) {
199
- if (overTrigger)
200
- this.open();
201
- return;
202
- }
203
- // isOpen
204
- if (overTrigger || overContent)
205
- return;
206
- if (typeof rootPopupId === 'number') {
207
- if (isLastChild(rootPopupId, this.id)) {
208
- this.close();
209
- unsetChild(rootPopupId, this.id);
210
- }
211
- }
212
- else {
213
- const isOverAnyPopupContent = e.target.closest(`.${S.content}`);
214
- if (!isOverAnyPopupContent || !childs[this.id]?.length) {
215
- this.close();
216
- }
217
- }
218
- }, 100);
219
- isLastClickInside = () => this.pointerDownTarget &&
220
- (this.pointerDownTarget.closest(`.${S.trigger}`) ||
221
- this.pointerDownTarget.closest(`.${S.content}`));
222
- onDocPointerDown = (e) => {
223
- this.pointerDownTarget = e.target;
224
- this.isPointerPressedInside = this.isLastClickInside();
225
- this.timers.after(100, () => (this.pointerDownTarget = null));
226
- };
227
- onDocPointerUp = (e) => {
228
- if (!this.isPointerPressedInside)
229
- this.close();
230
- this.isPointerPressedInside = false;
231
- };
232
- isPointerOver(target, elem) {
233
- return target.closest(`.${elem}[data-popup-id="${this.id}"]`);
234
- }
235
- onScroll = throttle(e => {
236
- if (!this.store.isOpen) {
237
- const { top, left } = this.offset;
238
- if (left || top) {
239
- this.offset = { ...INITIAL_OFFSET };
240
- this.applyOffset();
241
- }
242
- return;
243
- }
244
- // if scrolling outside this popup - close it
245
- if (!this.isPointerOver(e.target, S.content) &&
246
- !childs[this.id]?.length) {
247
- this.needDropOffset = true;
248
- this.close();
249
- }
250
- }, 200);
251
- onDocKeyDown = (e) => {
252
- this.pointerDownTarget = null;
253
- };
254
- onDocKeyUp = (e) => {
255
- if (this.store.isOpen && e.key === 'Escape') {
256
- e.stopPropagation();
257
- this.close();
258
- return;
259
- }
260
- if (this.focused && /Enter| /.test(e.key)) {
261
- e.stopPropagation();
262
- this.toggle();
263
- }
264
- };
265
- onTriggerPointerDown = e => {
266
- this.pointerDownTarget = e.target;
267
- this.pointerPressed = true;
268
- };
269
- onTriggerPointerUp = e => {
270
- this.pointerPressed = false;
271
- if (e.traget === this.pointerDownTarget)
272
- this.toggle();
273
- };
274
- onFocus = e => {
275
- this.focused = true;
276
- this.props.triggerProps?.onFocus?.(e);
277
- if (!this.pointerPressed)
278
- this.open();
279
- };
280
- onBlur = e => {
281
- this.focused = false;
282
- this.props.triggerProps?.onBlur?.(e);
283
- // give time to fire clicks inside popup
284
- this.timers.after(60, () => {
285
- if (!this.isLastClickInside())
286
- this.close();
287
- });
288
- };
289
- onTriggerResize = () => {
290
- this.updateBounds();
291
- };
292
- onContainerResize = () => {
293
- this.updateBounds();
294
- };
295
- open = throttle(() => {
296
- const { rootPopupId } = this.store;
297
- if (this.store.isOpen)
298
- return;
299
- this.updateBounds();
300
- this.subscribeSizeChange();
301
- this.subscribeScroll();
302
- this.store.isContentVisible = true;
303
- this.changeState(true, this.afterOpen);
304
- if (rootPopupId)
305
- setChild(rootPopupId, this.id);
306
- }, 100);
307
- close = () => {
308
- if (!this.store.isOpen)
309
- return;
310
- this.unsubscribeSizeChange();
311
- this.changeState(false, this.afterClose);
312
- };
313
- changeState(isOpen, callback) {
314
- const { animated } = this.props;
315
- this.timers.clear();
316
- this.store.isOpen = isOpen;
317
- if (animated) {
318
- this.store.animating = true;
319
- this.timers.after(ANIMATION_DURATION + 500, () => {
320
- this.store.animating = false;
321
- callback();
322
- });
323
- }
324
- else {
325
- callback();
326
- }
327
- }
328
- afterOpen = () => {
329
- this.props.onOpen?.();
330
- };
331
- afterClose = () => {
332
- this.store.isContentVisible = false;
333
- this.dropOffset();
334
- this.props.onClose?.();
335
- };
336
- dropOffset() {
337
- if (!this.needDropOffset)
338
- return;
339
- this.offset = { ...INITIAL_OFFSET };
340
- this.applyOffset();
341
- }
342
- toggle = throttle(() => {
343
- this.store.isOpen ? this.close() : this.open();
344
- }, 100);
345
- renderTrigger() {
346
- const { trigger, content, disabled, focusControl, hoverControl, ...rest } = this.props;
347
- const triggerProps = { ...rest.triggerProps };
348
- const { isOpen } = this.store;
349
- if (!trigger)
350
- return null;
351
- const disableTrigger = disabled || !content;
352
- const classesTrigger = cn(S.trigger, isOpen && S.isOpen, disableTrigger && S.disabled, triggerProps.className);
353
- if (!disableTrigger) {
354
- triggerProps.role = 'button';
355
- if (hoverControl) {
356
- Object.assign(triggerProps, {
357
- onPointerDown: this.onTriggerPointerDown,
358
- onPointerUp: this.onTriggerPointerUp,
359
- });
360
- }
361
- if (focusControl) {
362
- Object.assign(triggerProps, {
363
- onFocus: this.onFocus,
364
- onBlur: this.onBlur,
365
- });
366
- }
367
- }
368
- return (jsx("div", { className: classesTrigger, ...triggerProps, suppressHydrationWarning: true, "data-popup-id": this.id, ref: this.triggerElem, children: trigger }));
369
- }
370
- renderContent() {
371
- const { content, contentProps = {}, wrapperProps = {}, size, disabled, inline, outlined, animated, paranja, blur, elevation, } = this.props;
372
- const { isOpen, isContentVisible, animating, direction, triggerBounds, rootPopupId, } = this.store;
373
- if (disabled)
374
- return null;
375
- const wrapperClasses = cn(S.contentWrapper, blur && S.blur, inline && S.inline, isOpen && S.isOpen, wrapperProps.className);
376
- const trigger = this.triggerElem.current;
377
- const [axis, float] = direction.split('-');
378
- const classes = cn(S.content, outlined && S.outlined, animated && animating && S.animating, elevation && S[`elevation-${elevation}`], S[`size-${size}`], S[`axis-${axis}`], S[`float-${float || 'middle'}`], contentProps.className);
379
- if (trigger && !inline && triggerBounds) {
380
- wrapperProps.style = { ...triggerBounds };
381
- }
382
- const contentNode = (jsx("div", { ...wrapperProps, className: wrapperClasses, children: jsxs("div", { ...contentProps, ref: this.onContainerElemRef, className: classes, suppressHydrationWarning: true, "data-popup-id": this.id, "data-root-popup-id": rootPopupId, style: {
383
- marginTop: this.offset.top,
384
- marginLeft: this.offset.left,
385
- }, children: [paranja && !rootPopupId && (jsx(Paranja, { visible: isContentVisible, blur: blur })), isContentVisible && jsx(Fragment, { children: content })] }) }));
386
- if (inline)
387
- return contentNode;
388
- return jsx(Portal, { children: contentNode });
389
- }
390
- render() {
391
- const { className } = this.props;
392
- const classes = cn(S.root, className);
393
- return (jsxs("div", { className: classes, ref: this.rootElem, children: [this.renderTrigger(), this.renderContent()] }));
394
- }
395
- }
396
-
397
- export { ANIMATION_DURATION, Popup };
1
+ import{jsx,jsxs,Fragment}from"react/jsx-runtime";import{Component,createRef}from"react";import cn from"classnames";import{createStore}from"justorm/react";import Time from"timen";import{Paranja}from"../Paranja/Paranja.js";import{Portal}from"../Portal/Portal.js";import{getCoords}from"../../tools/dom.js";import{observe,unobserve}from"../../tools/resizeObserver.js";import{isBrowser}from"../../tools/env.js";import debounce from"../../tools/debounce.js";import throttle from"../../tools/throttle.js";import S from"./Popup.styl.js";import{getId,getPopupId,isLastChild,unsetChild,childs,setChild}from"./Popup.helpers.js";const ANIMATION_DURATION=100,OFFSET_GAP=10,INITIAL_OFFSET={top:0,left:0};class Popup extends Component{rootElem=createRef();triggerElem=createRef();containerElem=null;onContainerElemRef=e=>{(this.containerElem=e)&&(this.unsubscribeSizeChange(),this.subscribeSizeChange())};focused=!1;pointerPressed=!1;subscribedHoverControl=!1;subscribedSizeChange=!1;pointerDownTarget=null;isPointerPressedInside=!1;needDropOffset=!1;id;parentPopupContent;store;timers=Time.create();scrollParent;offset={...INITIAL_OFFSET};static defaultProps={size:"m",direction:"",animated:!0};constructor(e){super(e);var t=Boolean(e.isOpen);this.id=getId(),this.store=createStore(this,{rootPopupId:null,isOpen:t,isContentVisible:t,animating:!1,direction:e.direction,triggerBounds:null})}componentDidMount(){var{hoverControl:e,focusControl:t}=this.props,s=this.triggerElem.current.closest("."+S.content);document.addEventListener("pointerdown",this.onDocPointerDown,!0),document.addEventListener("pointerup",this.onDocPointerUp,!0),s&&(this.store.rootPopupId=getPopupId(s,"data-root-popup-id")||getPopupId(s,"data-popup-id")),t&&(document.addEventListener("keydown",this.onDocKeyDown,!0),document.addEventListener("keyup",this.onDocKeyUp)),e&&this.subscribeHoverControl(),this.subscribeScroll()}componentDidUpdate(e){var{isOpen:t,disabled:s,hoverControl:i}=this.props;s?this.store.isOpen=!1:(!e.hoverControl&&i&&this.subscribeHoverControl(),e.hoverControl&&!i&&this.unsubscribeHoverControl(),"boolean"==typeof t&&t!==e.isOpen&&(t?this.open():this.close()))}componentWillUnmount(){this.timers.clear(),document.removeEventListener("keyup",this.onDocKeyUp,!0),this.scrollParent&&this.scrollParent.removeEventListener("scroll",this.close),this.unsubscribeHoverControl(),this.unsubscribeSizeChange(),this.unsubscribeScroll()}subscribeSizeChange(){this.subscribedSizeChange||(this.subscribedSizeChange=!0,observe(this.triggerElem.current,this.onTriggerResize),observe(this.containerElem,this.onContainerResize))}subscribeScroll(){isBrowser&&!this.props.inline&&document.addEventListener("scroll",this.onScroll,!0)}unsubscribeScroll(){document.removeEventListener("scroll",this.onScroll,!0)}unsubscribeSizeChange(){this.subscribedSizeChange=!1,unobserve(this.triggerElem.current),unobserve(this.containerElem)}subscribeHoverControl(){this.subscribedHoverControl||(this.subscribedHoverControl=!0,document.addEventListener("pointermove",this.checkHover),document.addEventListener("pointerup",this.checkHover))}unsubscribeHoverControl(){this.subscribedHoverControl&&(this.subscribedHoverControl=!1,document.removeEventListener("pointermove",this.checkHover),document.removeEventListener("pointerup",this.checkHover))}updateBounds(){!this.store.animating&&this.containerElem&&this.triggerElem.current&&this.updateBoundsThrottled()}updateBoundsThrottled=throttle(()=>{var e=this.triggerElem.current,e={minHeight:e.offsetHeight,minWidth:e.offsetWidth,...getCoords(e)};Object.entries(e).forEach(([e,t])=>{this.triggerElem.current.style[e]=t}),this.updateOffset(),this.store.triggerBounds=e},200,{trailing:!0});prevContentBounds={width:0,height:0};updateOffset=()=>{var e,t,s,i,o,r=this.containerElem.getBoundingClientRect();r.height&&r.width&&this.prevContentBounds.width===r.width&&this.prevContentBounds.height===r.height?(e=this.offset,{innerHeight:t,innerWidth:s}=window,i=r.top+r.height+OFFSET_GAP-e.top,o=r.left+r.width+OFFSET_GAP-e.left,r.top<0?e.top=-r.top+OFFSET_GAP:t<i&&(e.top=t-i),r.left<0?e.left=-r.left+OFFSET_GAP:s<o&&(e.left=s-o),this.applyOffset()):(this.prevContentBounds=r,Time.after(100,this.updateOffset))};applyOffset(){var{left:e,top:t}=this.offset;this.containerElem.style.marginTop=t+"px",this.containerElem.style.marginLeft=e+"px"}checkHover=debounce(e=>{var t,s,i,o;this.isPointerPressedInside||({isOpen:t,rootPopupId:s}=this.store,i=this.isPointerOver(e.target,S.trigger),o=this.isPointerOver(e.target,S.content),t?i||o||("number"==typeof s?isLastChild(s,this.id)&&(this.close(),unsetChild(s,this.id)):e.target.closest("."+S.content)&&childs[this.id]?.length||this.close()):i&&this.open())},100);isLastClickInside=()=>this.pointerDownTarget&&(this.pointerDownTarget.closest("."+S.trigger)||this.pointerDownTarget.closest("."+S.content));onDocPointerDown=e=>{this.pointerDownTarget=e.target,this.isPointerPressedInside=this.isLastClickInside(),this.timers.after(100,()=>this.pointerDownTarget=null)};onDocPointerUp=e=>{this.isPointerPressedInside||this.close(),this.isPointerPressedInside=!1};isPointerOver(e,t){return e.closest(`.${t}[data-popup-id="${this.id}"]`)}onScroll=throttle(e=>{var t;this.store.isOpen?this.isPointerOver(e.target,S.content)||childs[this.id]?.length||(this.needDropOffset=!0,this.close()):({top:e,left:t}=this.offset,(t||e)&&(this.offset={...INITIAL_OFFSET},this.applyOffset()))},200);onDocKeyDown=e=>{this.pointerDownTarget=null};onDocKeyUp=e=>{this.store.isOpen&&"Escape"===e.key?(e.stopPropagation(),this.close()):this.focused&&/Enter| /.test(e.key)&&(e.stopPropagation(),this.toggle())};onTriggerPointerDown=e=>{this.pointerDownTarget=e.target,this.pointerPressed=!0};onTriggerPointerUp=e=>{this.pointerPressed=!1,e.traget===this.pointerDownTarget&&this.toggle()};onFocus=e=>{this.focused=!0,this.props.triggerProps?.onFocus?.(e),this.pointerPressed||this.open()};onBlur=e=>{this.focused=!1,this.props.triggerProps?.onBlur?.(e),this.timers.after(60,()=>{this.isLastClickInside()||this.close()})};onTriggerResize=()=>{this.updateBounds()};onContainerResize=()=>{this.updateBounds()};open=throttle(()=>{var e=this.store["rootPopupId"];this.store.isOpen||(this.updateBounds(),this.subscribeSizeChange(),this.subscribeScroll(),this.store.isContentVisible=!0,this.changeState(!0,this.afterOpen),e&&setChild(e,this.id))},100);close=()=>{this.store.isOpen&&(this.unsubscribeSizeChange(),this.changeState(!1,this.afterClose))};changeState(e,t){var s=this.props["animated"];this.timers.clear(),this.store.isOpen=e,s?(this.store.animating=!0,this.timers.after(ANIMATION_DURATION+500,()=>{this.store.animating=!1,t()})):t()}afterOpen=()=>{this.props.onOpen?.()};afterClose=()=>{this.store.isContentVisible=!1,this.dropOffset(),this.props.onClose?.()};dropOffset(){this.needDropOffset&&(this.offset={...INITIAL_OFFSET},this.applyOffset())}toggle=throttle(()=>{this.store.isOpen?this.close():this.open()},100);renderTrigger(){const{trigger:e,content:t,disabled:s,focusControl:i,hoverControl:o,...r}=this.props;var n,h={...r.triggerProps},p=this.store["isOpen"];return e?(n=cn(S.trigger,p&&S.isOpen,(p=s||!t)&&S.disabled,h.className),p||(h.role="button",o&&Object.assign(h,{onPointerDown:this.onTriggerPointerDown,onPointerUp:this.onTriggerPointerUp}),i&&Object.assign(h,{onFocus:this.onFocus,onBlur:this.onBlur})),jsx("div",{className:n,...h,suppressHydrationWarning:!0,"data-popup-id":this.id,ref:this.triggerElem,children:e})):null}renderContent(){var e,{content:t,contentProps:s={},wrapperProps:i={},size:o,disabled:r,inline:n,outlined:h,animated:p,paranja:a,blur:l,elevation:d}=this.props,{isOpen:c,isContentVisible:u,animating:g,direction:m,triggerBounds:f,rootPopupId:b}=this.store;return r?null:(r=cn(S.contentWrapper,l&&S.blur,n&&S.inline,c&&S.isOpen,i.className),c=this.triggerElem.current,[m,e]=m.split("-"),h=cn(S.content,h&&S.outlined,p&&g&&S.animating,d&&S["elevation-"+d],S["size-"+o],S["axis-"+m],S["float-"+(e||"middle")],s.className),c&&!n&&f&&(i.style={...f}),p=jsx("div",{...i,className:r,children:jsxs("div",{...s,ref:this.onContainerElemRef,className:h,suppressHydrationWarning:!0,"data-popup-id":this.id,"data-root-popup-id":b,style:{marginTop:this.offset.top,marginLeft:this.offset.left},children:[a&&!b&&jsx(Paranja,{visible:u,blur:l}),u&&jsx(Fragment,{children:t})]})}),n?p:jsx(Portal,{children:p}))}render(){var e=this.props["className"],e=cn(S.root,e);return jsxs("div",{className:e,ref:this.rootElem,children:[this.renderTrigger(),this.renderContent()]})}}export{ANIMATION_DURATION,Popup};
2
+ //# sourceMappingURL=Popup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Popup.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 = ".Popup_root__uQ-fP{display:inline-block;position:relative}.Popup_contentWrapper__2yi-2{pointer-events:none;position:absolute}.Popup_contentWrapper__2yi-2.Popup_inline__1-l1S.Popup_isOpen__BRIdP{position:relative}.Popup_contentWrapper__2yi-2:not(.Popup_inline__1-l1S),.Popup_contentWrapper__2yi-2:not(.Popup_inline__1-l1S)>.Popup_content__e8Qyu{position:absolute}.Popup_trigger__jQNaQ{cursor:pointer}.Popup_trigger__jQNaQ.Popup_isOpen__BRIdP{position:relative;z-index:11}.Popup_trigger__jQNaQ.Popup_disabled__DlE9y{opacity:.4;pointer-events:none}.Popup_content__e8Qyu{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--decent-color);box-shadow:inset 0 0 0 1px var(--accent-color-alpha-50);max-width:70vw;min-width:100%;opacity:0;overflow:hidden;pointer-events:none;position:relative;transform-origin:top center;z-index:11}.Popup_blur__1hfU8 .Popup_content__e8Qyu{-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);background-color:var(--decent-color-alpha-500)}.Popup_content__e8Qyu.Popup_size-s__UmixP{border-radius:4px}.Popup_content__e8Qyu.Popup_size-m__FYpTL{border-radius:6px}.Popup_content__e8Qyu.Popup_size-l__BTS57{border-radius:8px}.Popup_content__e8Qyu.Popup_elevation-1__vmP3e{box-shadow:inset 0 0 0 1px var(--accent-color-alpha-50),0 0 var(--indent-s) 2px var(--decent-color)}.Popup_content__e8Qyu.Popup_elevation-2__Ci4sI{box-shadow:inset 0 0 0 1px var(--accent-color-alpha-50),0 0 var(--indent-m) 2px var(--decent-color)}.Popup_content__e8Qyu.Popup_outlined__g3cJV:after{border-radius:inherit;bottom:0;content:\"\";left:0;pointer-events:none;position:absolute;right:0;top:0}.Popup_isOpen__BRIdP .Popup_content__e8Qyu{opacity:1;pointer-events:all;transform:scaleX(1)}.Popup_animating__kR0qF{transition:70ms ease-out;transition-property:transform,opacity,margin}.Popup_axis-top__BaLgG{bottom:100%}.Popup_axis-bottom__hZwwr{top:100%}.Popup_axis-right__LMYVy{left:100%}.Popup_axis-left__SFKm-{right:100%}.Popup_float-top__8SQAu{bottom:0}.Popup_float-right__mdm-3{left:0}.Popup_float-bottom__7flve{top:0}.Popup_float-left__tz7fX{right:0}.Popup_axis-bottom__hZwwr,.Popup_axis-top__BaLgG{transform:scaleY(.5)}.Popup_axis-bottom__hZwwr.Popup_float-middle__Dmnn1,.Popup_axis-top__BaLgG.Popup_float-middle__Dmnn1{left:50%;transform:translateX(-50%) scaleY(.5)}.Popup_isOpen__BRIdP .Popup_axis-bottom__hZwwr.Popup_float-middle__Dmnn1,.Popup_isOpen__BRIdP .Popup_axis-top__BaLgG.Popup_float-middle__Dmnn1{transform:translateX(-50%) scaleX(1)}.Popup_axis-left__SFKm-,.Popup_axis-right__LMYVy{transform:scaleX(.5)}.Popup_axis-left__SFKm-.Popup_float-middle__Dmnn1,.Popup_axis-right__LMYVy.Popup_float-middle__Dmnn1{top:50%;transform:translateY(-50%) scaleX(.5)}.Popup_isOpen__BRIdP .Popup_axis-left__SFKm-.Popup_float-middle__Dmnn1,.Popup_isOpen__BRIdP .Popup_axis-right__LMYVy.Popup_float-middle__Dmnn1{transform:translateY(-50%) scaleX(1)}.Popup_axis-top__BaLgG.Popup_float-middle__Dmnn1{transform-origin:bottom center}.Popup_axis-top__BaLgG.Popup_float-right__mdm-3{transform-origin:bottom left}.Popup_axis-top__BaLgG.Popup_float-left__tz7fX{transform-origin:bottom right}.Popup_axis-bottom__hZwwr.Popup_float-middle__Dmnn1{transform-origin:top center}.Popup_axis-bottom__hZwwr.Popup_float-right__mdm-3{transform-origin:top left}.Popup_axis-bottom__hZwwr.Popup_float-left__tz7fX{transform-origin:top right}.Popup_axis-right__LMYVy.Popup_float-middle__Dmnn1{transform-origin:center left}.Popup_axis-right__LMYVy.Popup_float-top__8SQAu{transform-origin:bottom left}.Popup_axis-right__LMYVy.Popup_float-bottom__7flve{transform-origin:top left}.Popup_axis-left__SFKm-.Popup_float-middle__Dmnn1{transform-origin:center right}.Popup_axis-left__SFKm-.Popup_float-top__8SQAu{transform-origin:bottom right}.Popup_axis-left__SFKm-.Popup_float-bottom__7flve{transform-origin:top right}";
4
- var S = {"root":"Popup_root__uQ-fP","contentWrapper":"Popup_contentWrapper__2yi-2","inline":"Popup_inline__1-l1S","isOpen":"Popup_isOpen__BRIdP","content":"Popup_content__e8Qyu","trigger":"Popup_trigger__jQNaQ","disabled":"Popup_disabled__DlE9y","blur":"Popup_blur__1hfU8","size-s":"Popup_size-s__UmixP","size-m":"Popup_size-m__FYpTL","size-l":"Popup_size-l__BTS57","elevation-1":"Popup_elevation-1__vmP3e","elevation-2":"Popup_elevation-2__Ci4sI","outlined":"Popup_outlined__g3cJV","animating":"Popup_animating__kR0qF","axis-top":"Popup_axis-top__BaLgG","axis-bottom":"Popup_axis-bottom__hZwwr","axis-right":"Popup_axis-right__LMYVy","axis-left":"Popup_axis-left__SFKm-","float-top":"Popup_float-top__8SQAu","float-right":"Popup_float-right__mdm-3","float-bottom":"Popup_float-bottom__7flve","float-left":"Popup_float-left__tz7fX","float-middle":"Popup_float-middle__Dmnn1"};
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='.Popup_root__uQ-fP{display:inline-block;position:relative}.Popup_contentWrapper__2yi-2{pointer-events:none;position:absolute}.Popup_contentWrapper__2yi-2.Popup_inline__1-l1S.Popup_isOpen__BRIdP{position:relative}.Popup_contentWrapper__2yi-2:not(.Popup_inline__1-l1S),.Popup_contentWrapper__2yi-2:not(.Popup_inline__1-l1S)>.Popup_content__e8Qyu{position:absolute}.Popup_trigger__jQNaQ{cursor:pointer}.Popup_trigger__jQNaQ.Popup_isOpen__BRIdP{position:relative;z-index:11}.Popup_trigger__jQNaQ.Popup_disabled__DlE9y{opacity:.4;pointer-events:none}.Popup_content__e8Qyu{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--decent-color);box-shadow:inset 0 0 0 1px var(--accent-color-alpha-50);max-width:70vw;min-width:100%;opacity:0;overflow:hidden;pointer-events:none;position:relative;transform-origin:top center;z-index:11}.Popup_blur__1hfU8 .Popup_content__e8Qyu{-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);background-color:var(--decent-color-alpha-500)}.Popup_content__e8Qyu.Popup_size-s__UmixP{border-radius:4px}.Popup_content__e8Qyu.Popup_size-m__FYpTL{border-radius:6px}.Popup_content__e8Qyu.Popup_size-l__BTS57{border-radius:8px}.Popup_content__e8Qyu.Popup_elevation-1__vmP3e{box-shadow:inset 0 0 0 1px var(--accent-color-alpha-50),0 0 var(--indent-s) 2px var(--decent-color)}.Popup_content__e8Qyu.Popup_elevation-2__Ci4sI{box-shadow:inset 0 0 0 1px var(--accent-color-alpha-50),0 0 var(--indent-m) 2px var(--decent-color)}.Popup_content__e8Qyu.Popup_outlined__g3cJV:after{border-radius:inherit;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.Popup_isOpen__BRIdP .Popup_content__e8Qyu{opacity:1;pointer-events:all;transform:scaleX(1)}.Popup_animating__kR0qF{transition:70ms ease-out;transition-property:transform,opacity,margin}.Popup_axis-top__BaLgG{bottom:100%}.Popup_axis-bottom__hZwwr{top:100%}.Popup_axis-right__LMYVy{left:100%}.Popup_axis-left__SFKm-{right:100%}.Popup_float-top__8SQAu{bottom:0}.Popup_float-right__mdm-3{left:0}.Popup_float-bottom__7flve{top:0}.Popup_float-left__tz7fX{right:0}.Popup_axis-bottom__hZwwr,.Popup_axis-top__BaLgG{transform:scaleY(.5)}.Popup_axis-bottom__hZwwr.Popup_float-middle__Dmnn1,.Popup_axis-top__BaLgG.Popup_float-middle__Dmnn1{left:50%;transform:translateX(-50%) scaleY(.5)}.Popup_isOpen__BRIdP .Popup_axis-bottom__hZwwr.Popup_float-middle__Dmnn1,.Popup_isOpen__BRIdP .Popup_axis-top__BaLgG.Popup_float-middle__Dmnn1{transform:translateX(-50%) scaleX(1)}.Popup_axis-left__SFKm-,.Popup_axis-right__LMYVy{transform:scaleX(.5)}.Popup_axis-left__SFKm-.Popup_float-middle__Dmnn1,.Popup_axis-right__LMYVy.Popup_float-middle__Dmnn1{top:50%;transform:translateY(-50%) scaleX(.5)}.Popup_isOpen__BRIdP .Popup_axis-left__SFKm-.Popup_float-middle__Dmnn1,.Popup_isOpen__BRIdP .Popup_axis-right__LMYVy.Popup_float-middle__Dmnn1{transform:translateY(-50%) scaleX(1)}.Popup_axis-top__BaLgG.Popup_float-middle__Dmnn1{transform-origin:bottom center}.Popup_axis-top__BaLgG.Popup_float-right__mdm-3{transform-origin:bottom left}.Popup_axis-top__BaLgG.Popup_float-left__tz7fX{transform-origin:bottom right}.Popup_axis-bottom__hZwwr.Popup_float-middle__Dmnn1{transform-origin:top center}.Popup_axis-bottom__hZwwr.Popup_float-right__mdm-3{transform-origin:top left}.Popup_axis-bottom__hZwwr.Popup_float-left__tz7fX{transform-origin:top right}.Popup_axis-right__LMYVy.Popup_float-middle__Dmnn1{transform-origin:center left}.Popup_axis-right__LMYVy.Popup_float-top__8SQAu{transform-origin:bottom left}.Popup_axis-right__LMYVy.Popup_float-bottom__7flve{transform-origin:top left}.Popup_axis-left__SFKm-.Popup_float-middle__Dmnn1{transform-origin:center right}.Popup_axis-left__SFKm-.Popup_float-top__8SQAu{transform-origin:bottom right}.Popup_axis-left__SFKm-.Popup_float-bottom__7flve{transform-origin:top right}',S={root:"Popup_root__uQ-fP",contentWrapper:"Popup_contentWrapper__2yi-2",inline:"Popup_inline__1-l1S",isOpen:"Popup_isOpen__BRIdP",content:"Popup_content__e8Qyu",trigger:"Popup_trigger__jQNaQ",disabled:"Popup_disabled__DlE9y",blur:"Popup_blur__1hfU8","size-s":"Popup_size-s__UmixP","size-m":"Popup_size-m__FYpTL","size-l":"Popup_size-l__BTS57","elevation-1":"Popup_elevation-1__vmP3e","elevation-2":"Popup_elevation-2__Ci4sI",outlined:"Popup_outlined__g3cJV",animating:"Popup_animating__kR0qF","axis-top":"Popup_axis-top__BaLgG","axis-bottom":"Popup_axis-bottom__hZwwr","axis-right":"Popup_axis-right__LMYVy","axis-left":"Popup_axis-left__SFKm-","float-top":"Popup_float-top__8SQAu","float-right":"Popup_float-right__mdm-3","float-bottom":"Popup_float-bottom__7flve","float-left":"Popup_float-left__tz7fX","float-middle":"Popup_float-middle__Dmnn1"};styleInject(css_248z);export{S as default};
2
+ //# sourceMappingURL=Popup.styl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Popup.styl.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,15 +1,2 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { createElement } from 'react';
3
- import cn from 'classnames';
4
- import { Button } from '../Button/Button.js';
5
- import { Popup } from '../Popup/Popup.js';
6
- import S from './PopupMenu.styl.js';
7
-
8
- function PopupMenu({ items, onClose, ...props }) {
9
- if (items.length === 0)
10
- return null;
11
- const { size } = props;
12
- return (jsx(Popup, { ...props, content: jsx("div", { className: S.list, children: items.map(({ id, title, className, ...rest }) => (createElement(Button, { variant: "clear", size: size, ...rest, className: cn(S.item, className), key: id }, title))) }) }));
13
- }
14
-
15
- export { PopupMenu };
1
+ import{jsx}from"react/jsx-runtime";import{createElement}from"react";import cn from"classnames";import{Button}from"../Button/Button.js";import{Popup}from"../Popup/Popup.js";import S from"./PopupMenu.styl.js";function PopupMenu({items:t,onClose:e,...o}){if(0===t.length)return null;const r=o["size"];return jsx(Popup,{...o,content:jsx("div",{className:S.list,children:t.map(({id:t,title:e,className:o,...n})=>createElement(Button,{variant:"clear",size:r,...n,className:cn(S.item,o),key:t},e))})})}export{PopupMenu};
2
+ //# sourceMappingURL=PopupMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopupMenu.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 = ".PopupMenu_list__G7xP3{align-items:stretch;border-radius:inherit;display:flex;flex-direction:column;padding:2px}.PopupMenu_item__wxay-+.PopupMenu_item__wxay-{margin-top:2px}.PopupMenu_item__wxay-:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.PopupMenu_item__wxay-:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}";
4
- var S = {"list":"PopupMenu_list__G7xP3","item":"PopupMenu_item__wxay-"};
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=".PopupMenu_list__G7xP3{align-items:stretch;border-radius:inherit;display:flex;flex-direction:column;padding:2px}.PopupMenu_item__wxay-+.PopupMenu_item__wxay-{margin-top:2px}.PopupMenu_item__wxay-:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.PopupMenu_item__wxay-:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}",S={list:"PopupMenu_list__G7xP3",item:"PopupMenu_item__wxay-"};styleInject(css_248z);export{S as default};
2
+ //# sourceMappingURL=PopupMenu.styl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopupMenu.styl.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,19 +1,2 @@
1
- import { jsx, Fragment } from 'react/jsx-runtime';
2
- import { useState, useEffect } from 'react';
3
- import { createPortal } from 'react-dom';
4
- import { config } from '../../tools/config.js';
5
-
6
- const DEFAULT_SELECTOR = `#${config.appOverlayId}`;
7
- function Portal(props) {
8
- const { selector = DEFAULT_SELECTOR, children } = props;
9
- const [isMounted, setMounted] = useState(false);
10
- useEffect(() => {
11
- // prevent HTML mismatch between server and client
12
- setMounted(true);
13
- }, []);
14
- if (!isMounted)
15
- return null;
16
- return createPortal(jsx(Fragment, { children: children }), document.querySelector(selector));
17
- }
18
-
19
- export { Portal };
1
+ import{jsx,Fragment}from"react/jsx-runtime";import{useState,useEffect}from"react";import{createPortal}from"react-dom";import{config}from"../../tools/config.js";const DEFAULT_SELECTOR="#"+config.appOverlayId;function Portal(t){var{selector:t=DEFAULT_SELECTOR,children:r}=t;const[e,o]=useState(!1);return useEffect(()=>{o(!0)},[]),e?createPortal(jsx(Fragment,{children:r}),document.querySelector(t)):null}export{Portal};
2
+ //# sourceMappingURL=Portal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Portal.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,12 +1,2 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import cn from 'classnames';
3
- import { Icon } from '../Icon/Icon.js';
4
- import S from './RequiredStar.styl.js';
5
-
6
- function RequiredStar(props) {
7
- const { className, inline, ...rest } = props;
8
- const classes = cn(S.root, className, inline && S.inline);
9
- return jsx(Icon, { ...rest, type: "requiredStar", className: classes });
10
- }
11
-
12
- export { RequiredStar };
1
+ import{jsx}from"react/jsx-runtime";import cn from"classnames";import{Icon}from"../Icon/Icon.js";import S from"./RequiredStar.styl.js";function RequiredStar(r){const{className:e,inline:o,...t}=r;r=cn(S.root,e,o&&S.inline);return jsx(Icon,{...t,type:"requiredStar",className:r})}export{RequiredStar};
2
+ //# sourceMappingURL=RequiredStar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequiredStar.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 = ".RequiredStar_root__qZpQW{color:var(--danger-color)!important;pointer-events:none;position:absolute;right:2px;top:2px;transform:scale(.6)}.RequiredStar_inline__328Ou{position:relative;transform:translateY(-.5em)}";
4
- var S = {"root":"RequiredStar_root__qZpQW","inline":"RequiredStar_inline__328Ou"};
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=".RequiredStar_root__qZpQW{color:var(--danger-color)!important;pointer-events:none;position:absolute;right:2px;top:2px;transform:scale(.6)}.RequiredStar_inline__328Ou{position:relative;transform:translateY(-.5em)}",S={root:"RequiredStar_root__qZpQW",inline:"RequiredStar_inline__328Ou"};styleInject(css_248z);export{S as default};
2
+ //# sourceMappingURL=RequiredStar.styl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequiredStar.styl.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,61 +1,2 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { useRef, useContext, useMemo, useCallback } from 'react';
3
- import { withStore } from 'justorm/react';
4
- import cn from 'classnames';
5
- import { Icon } from '../../Icon/Icon.js';
6
- import Context from '../context.js';
7
- import S from './Link.styl.js';
8
-
9
- const isStartFromDoubleSlash = href => /^\/\//.test(href);
10
- const Link = withStore({ router: ['path'] })(({ className, exactClassName, children, href: hrefProp, isClear = false, isDisabled = false, disableExternalIcon = false, inline = false, store: { router }, isPartialExact = false, onClick, ...rest }) => {
11
- const { path } = router;
12
- const isFromRoot = isStartFromDoubleSlash(hrefProp);
13
- const domElem = useRef(null);
14
- const { basePath } = useContext(Context);
15
- const isExternal = useMemo(() => /\./.test(hrefProp), [hrefProp]);
16
- const rootPath = useMemo(() => {
17
- if (isExternal || isFromRoot)
18
- return '';
19
- return basePath ?? '';
20
- }, [isExternal, isFromRoot, basePath]);
21
- const href = useMemo(() => {
22
- let str = hrefProp;
23
- if (isFromRoot)
24
- str = str.replace(/^\//, '');
25
- if (str === '/')
26
- str = '';
27
- return `${rootPath}${str}`;
28
- }, [hrefProp, rootPath]);
29
- const handleClick = useCallback(e => {
30
- onClick?.(e, href);
31
- if (!isExternal && router.path !== href) {
32
- e.preventDefault();
33
- if (e.ctrlKey || e.metaKey) {
34
- window.open(href, '_blank');
35
- }
36
- else {
37
- router.go(href);
38
- }
39
- domElem.current?.blur();
40
- }
41
- }, [href, isExternal, onClick]);
42
- const isExact = useMemo(() => {
43
- if (isPartialExact)
44
- return path.startsWith(href);
45
- return path === href;
46
- }, [path, href, isPartialExact]);
47
- const props = { ...rest, href };
48
- const isNested = !/^\//.test(href) && !isExternal;
49
- const classes = cn(S.root, isDisabled && S.disabled, isExternal && S.external, isExact && cn(S.exact, exactClassName), isClear && S.clear, inline && S.inline, className);
50
- if (isNested) {
51
- props.href = `${path.replace(/\/$/, '')}/${href}`;
52
- }
53
- if (isExternal) {
54
- props.target = '_blank';
55
- if (!/^http/.test(href))
56
- props.href = `http://${href}`;
57
- }
58
- return (jsxs("a", { className: classes, ...props, onClick: handleClick, ref: domElem, children: [children, isExternal && !disableExternalIcon && (jsx(Icon, { type: "externalLink", className: S.externalIcon }))] }));
59
- });
60
-
61
- export { Link };
1
+ import{jsxs,jsx}from"react/jsx-runtime";import{useRef,useContext,useMemo,useCallback}from"react";import{withStore}from"justorm/react";import cn from"classnames";import{Icon}from"../../Icon/Icon.js";import Context from"../context.js";import S from"./Link.styl.js";const isStartFromDoubleSlash=e=>/^\/\//.test(e),Link=withStore({router:["path"]})(({className:e,exactClassName:t,children:r,href:s,isClear:a=!1,isDisabled:o=!1,disableExternalIcon:n=!1,inline:l=!1,store:{router:c},isPartialExact:i=!1,onClick:m,...u})=>{const p=c["path"],x=isStartFromDoubleSlash(s),h=useRef(null),f=useContext(Context)["basePath"],b=useMemo(()=>/\./.test(s),[s]),k=useMemo(()=>b||x?"":f??"",[b,x,f]),C=useMemo(()=>{let e=s;return"/"===(e=x?e.replace(/^\//,""):e)&&(e=""),""+k+e},[s,k]);var j=useCallback(e=>{m?.(e,C),b||c.path===C||(e.preventDefault(),e.ctrlKey||e.metaKey?window.open(C,"_blank"):c.go(C),h.current?.blur())},[C,b,m]),d=useMemo(()=>i?p.startsWith(C):p===C,[p,C,i]),u={...u,href:C},I=!/^\//.test(C)&&!b,o=cn(S.root,o&&S.disabled,b&&S.external,d&&cn(S.exact,t),a&&S.clear,l&&S.inline,e);return I&&(u.href=p.replace(/\/$/,"")+"/"+C),b&&(u.target="_blank",/^http/.test(C)||(u.href="http://"+C)),jsxs("a",{className:o,...u,onClick:j,ref:h,children:[r,b&&!n&&jsx(Icon,{type:"externalLink",className:S.externalIcon})]})});export{Link};
2
+ //# sourceMappingURL=Link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Link.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 = ".Link_root__KhBI1{align-items:center;box-shadow:inset 0 0 0 2px none;color:var(--link-color);cursor:pointer;display:inline-flex;padding:5px;position:relative;text-decoration:none;transition:color .1s ease-out;white-space:nowrap}.Link_root__KhBI1:before{background-color:var(--accent-color);bottom:0;content:\"\";height:2px;left:5px;pointer-events:none;position:absolute;right:5px;transform:scale(0);transition:transform .1s ease-out}.Link_root__KhBI1.Link_clear__abVgJ:before{content:none}.Link_root__KhBI1.Link_inline__iuNov{padding:0}.Link_root__KhBI1.Link_inline__iuNov:before{bottom:-2px;left:0;right:0}.Link_root__KhBI1.Link_exact__3MNoz{color:var(--accent-color);pointer-events:none}.Link_root__KhBI1.Link_external__drijI:before{background-color:var(--active-color)}.Link_root__KhBI1:active,.Link_root__KhBI1:focus,.Link_root__KhBI1:hover{color:var(--accent-color)}.Link_root__KhBI1:active.Link_external__drijI,.Link_root__KhBI1:focus.Link_external__drijI,.Link_root__KhBI1:hover.Link_external__drijI{color:var(--active-color)}.Link_root__KhBI1:active::-moz-selection,.Link_root__KhBI1:focus::-moz-selection,.Link_root__KhBI1:hover::-moz-selection{color:var(--accent-color)}.Link_root__KhBI1:active::selection,.Link_root__KhBI1:focus::selection,.Link_root__KhBI1:hover::selection{color:var(--accent-color)}.Link_root__KhBI1:active:before,.Link_root__KhBI1:focus:before,.Link_root__KhBI1:hover:before{transform:scale(1)}.Link_root__KhBI1.Link_disabled__wkAeH{color:var(--accent-color);opacity:.4;pointer-events:none}.Link_externalIcon__YDRJG{display:inline-block;height:1em;margin-bottom:-2px;margin-left:3px;width:1em}";
4
- var S = {"root":"Link_root__KhBI1","clear":"Link_clear__abVgJ","inline":"Link_inline__iuNov","exact":"Link_exact__3MNoz","external":"Link_external__drijI","disabled":"Link_disabled__wkAeH","externalIcon":"Link_externalIcon__YDRJG"};
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='.Link_root__KhBI1{align-items:center;box-shadow:inset 0 0 0 2px none;color:var(--link-color);cursor:pointer;display:inline-flex;padding:5px;position:relative;text-decoration:none;transition:color .1s ease-out;white-space:nowrap}.Link_root__KhBI1:before{background-color:var(--accent-color);bottom:0;content:"";height:2px;left:5px;pointer-events:none;position:absolute;right:5px;transform:scale(0);transition:transform .1s ease-out}.Link_root__KhBI1.Link_clear__abVgJ:before{content:none}.Link_root__KhBI1.Link_inline__iuNov{padding:0}.Link_root__KhBI1.Link_inline__iuNov:before{bottom:-2px;left:0;right:0}.Link_root__KhBI1.Link_exact__3MNoz{color:var(--accent-color);pointer-events:none}.Link_root__KhBI1.Link_external__drijI:before{background-color:var(--active-color)}.Link_root__KhBI1:active,.Link_root__KhBI1:focus,.Link_root__KhBI1:hover{color:var(--accent-color)}.Link_root__KhBI1:active.Link_external__drijI,.Link_root__KhBI1:focus.Link_external__drijI,.Link_root__KhBI1:hover.Link_external__drijI{color:var(--active-color)}.Link_root__KhBI1:active::-moz-selection,.Link_root__KhBI1:focus::-moz-selection,.Link_root__KhBI1:hover::-moz-selection{color:var(--accent-color)}.Link_root__KhBI1:active::selection,.Link_root__KhBI1:focus::selection,.Link_root__KhBI1:hover::selection{color:var(--accent-color)}.Link_root__KhBI1:active:before,.Link_root__KhBI1:focus:before,.Link_root__KhBI1:hover:before{transform:scale(1)}.Link_root__KhBI1.Link_disabled__wkAeH{color:var(--accent-color);opacity:.4;pointer-events:none}.Link_externalIcon__YDRJG{display:inline-block;height:1em;margin-bottom:-2px;margin-left:3px;width:1em}',S={root:"Link_root__KhBI1",clear:"Link_clear__abVgJ",inline:"Link_inline__iuNov",exact:"Link_exact__3MNoz",external:"Link_external__drijI",disabled:"Link_disabled__wkAeH",externalIcon:"Link_externalIcon__YDRJG"};styleInject(css_248z);export{S as default};
2
+ //# sourceMappingURL=Link.styl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Link.styl.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}