@foxford/ui 2.59.0 → 2.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/components/Accordion/Accordion.js +1 -1
  2. package/components/Accordion/Accordion.js.map +1 -1
  3. package/components/Accordion/Accordion.mjs +1 -1
  4. package/components/Accordion/Accordion.mjs.map +1 -1
  5. package/components/ActionBtn/ActionBtn.js +1 -1
  6. package/components/Alert/Alert.js +1 -1
  7. package/components/Alert/Alert.js.map +1 -1
  8. package/components/Alert/Alert.mjs +1 -1
  9. package/components/Alert/Alert.mjs.map +1 -1
  10. package/components/Alert/CountdownCircle.js +1 -1
  11. package/components/Amount/Amount.js +1 -1
  12. package/components/Anchor/Anchor.js +1 -1
  13. package/components/Anchor/style.js +1 -1
  14. package/components/Anchor/style.js.map +1 -1
  15. package/components/Anchor/style.mjs +1 -1
  16. package/components/Anchor/style.mjs.map +1 -1
  17. package/components/Arrow/Arrow.js +1 -1
  18. package/components/Arrow/style.js +1 -1
  19. package/components/Arrow/style.js.map +1 -1
  20. package/components/Arrow/style.mjs +1 -1
  21. package/components/Arrow/style.mjs.map +1 -1
  22. package/components/ArrowBadge/ArrowBadge.js +1 -1
  23. package/components/Avatar/Avatar.js +1 -1
  24. package/components/Badge/Badge.js +1 -1
  25. package/components/Button/Button.js +1 -1
  26. package/components/Button/style.js +1 -1
  27. package/components/Button/style.js.map +1 -1
  28. package/components/Button/style.mjs +1 -1
  29. package/components/Button/style.mjs.map +1 -1
  30. package/components/Checkbox/Checkbox.js +1 -1
  31. package/components/Checkbox/Group.js +1 -1
  32. package/components/Checkbox/style.js +1 -1
  33. package/components/Checkbox/style.js.map +1 -1
  34. package/components/Checkbox/style.mjs +1 -1
  35. package/components/Checkbox/style.mjs.map +1 -1
  36. package/components/Chip/Chip.js +1 -1
  37. package/components/Chip/style.js +1 -1
  38. package/components/Chip/style.js.map +1 -1
  39. package/components/Chip/style.mjs +1 -1
  40. package/components/Chip/style.mjs.map +1 -1
  41. package/components/Container/Container.js +1 -1
  42. package/components/ContextMenu/ContextMenu.js +1 -1
  43. package/components/ContextMenu/Item.js +1 -1
  44. package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.js +1 -1
  45. package/components/ContextMenu.Multilevel/Controls.js +1 -1
  46. package/components/ContextMenu.Multilevel/Heading.js +1 -1
  47. package/components/ContextMenu.Multilevel/SubHeading.js +1 -1
  48. package/components/Dialog/Dialog.js +1 -1
  49. package/components/Dialog/Dialog.js.map +1 -1
  50. package/components/Dialog/Dialog.mjs.map +1 -1
  51. package/components/DialogComponent/DialogComponent.js +1 -1
  52. package/components/DialogComponent/DialogComponent.js.map +1 -1
  53. package/components/DialogComponent/DialogComponent.mjs +1 -1
  54. package/components/DialogComponent/DialogComponent.mjs.map +1 -1
  55. package/components/DialogComponent/DialogContainer.js +1 -1
  56. package/components/Dropdown/Dropdown.js +1 -1
  57. package/components/Dropdown/Dropdown.js.map +1 -1
  58. package/components/Dropdown/Dropdown.mjs +1 -1
  59. package/components/Dropdown/Dropdown.mjs.map +1 -1
  60. package/components/Dropdown/DropdownMenu.js +1 -1
  61. package/components/Dropdown/DropdownMenu.js.map +1 -1
  62. package/components/Dropdown/DropdownMenu.mjs +1 -1
  63. package/components/Dropdown/DropdownMenu.mjs.map +1 -1
  64. package/components/Dropdown/DropdownMenuNoOptions.js +1 -1
  65. package/components/Dropdown/style.js +1 -1
  66. package/components/Dropdown/style.js.map +1 -1
  67. package/components/Dropdown/style.mjs +1 -1
  68. package/components/Dropdown/style.mjs.map +1 -1
  69. package/components/FormInput/FormInput.js +1 -1
  70. package/components/FormInput/FormInput.js.map +1 -1
  71. package/components/FormInput/FormInput.mjs +1 -1
  72. package/components/FormInput/FormInput.mjs.map +1 -1
  73. package/components/FormInputLabel/FormInputLabel.js +1 -1
  74. package/components/FormInputLabel/style.js +1 -1
  75. package/components/FormInputLabel/style.js.map +1 -1
  76. package/components/FormInputLabel/style.mjs +1 -1
  77. package/components/FormInputLabel/style.mjs.map +1 -1
  78. package/components/FormLabel/FormLabel.js +1 -1
  79. package/components/FormLabel/style.js +1 -1
  80. package/components/FormLabel/style.js.map +1 -1
  81. package/components/FormLabel/style.mjs +1 -1
  82. package/components/FormLabel/style.mjs.map +1 -1
  83. package/components/Icon/Icon.js +1 -1
  84. package/components/Icon/Icon.js.map +1 -1
  85. package/components/Icon/Icon.mjs +1 -1
  86. package/components/Icon/Icon.mjs.map +1 -1
  87. package/components/Icon/list/icon-pack.js +1 -1
  88. package/components/Icon/list/icon-pack.js.map +1 -1
  89. package/components/Icon/list/icon-pack.mjs +1 -1
  90. package/components/Icon/list/icon-pack.mjs.map +1 -1
  91. package/components/IconButton/IconButton.js +1 -1
  92. package/components/IconButton/style.js +1 -1
  93. package/components/IconButton/style.js.map +1 -1
  94. package/components/IconButton/style.mjs +1 -1
  95. package/components/IconButton/style.mjs.map +1 -1
  96. package/components/Indicator/Indicator.js +1 -1
  97. package/components/Input/Input.js +1 -1
  98. package/components/Input/Input.js.map +1 -1
  99. package/components/Input/Input.mjs +1 -1
  100. package/components/Input/Input.mjs.map +1 -1
  101. package/components/Input/style.js +1 -1
  102. package/components/Input/style.js.map +1 -1
  103. package/components/Input/style.mjs +1 -1
  104. package/components/Input/style.mjs.map +1 -1
  105. package/components/Input.Phone/Input.Phone.js +1 -1
  106. package/components/Input.Phone/Input.Phone.js.map +1 -1
  107. package/components/Input.Phone/Input.Phone.mjs.map +1 -1
  108. package/components/InputCheckbox/InputCheckbox.js +1 -1
  109. package/components/InputRadio/InputRadio.js +1 -1
  110. package/components/ListItem/ListItem.js +1 -1
  111. package/components/Menu/Menu.js +1 -1
  112. package/components/Menu/Menu.js.map +1 -1
  113. package/components/Menu/Menu.mjs.map +1 -1
  114. package/components/MenuComponent/MenuComponent.js +1 -1
  115. package/components/MenuContainer/MenuContainer.js +1 -1
  116. package/components/MenuDivider/MenuDivider.js +1 -1
  117. package/components/MenuList/MenuList.js +1 -1
  118. package/components/Modal/Close.js +1 -1
  119. package/components/Modal/Modal.js +1 -1
  120. package/components/Modal/Modal.js.map +1 -1
  121. package/components/Modal/Modal.mjs.map +1 -1
  122. package/components/Modal/adapter.js +1 -1
  123. package/components/Notification/Notification.js +1 -1
  124. package/components/Paper/Paper.js +1 -1
  125. package/components/Popover/Popover.js +1 -1
  126. package/components/Popover/Popover.js.map +1 -1
  127. package/components/Popover/Popover.mjs.map +1 -1
  128. package/components/PopoverComponent/PopoverComponent.js +1 -1
  129. package/components/PopoverComponent/style.js +1 -1
  130. package/components/PopoverComponent/style.js.map +1 -1
  131. package/components/PopoverComponent/style.mjs +1 -1
  132. package/components/PopoverComponent/style.mjs.map +1 -1
  133. package/components/Progress/Progress.js +1 -1
  134. package/components/Progress/style.js +1 -1
  135. package/components/Progress/style.js.map +1 -1
  136. package/components/Progress/style.mjs +1 -1
  137. package/components/Progress/style.mjs.map +1 -1
  138. package/components/Progress.Circle/Progress.Circle.js +1 -1
  139. package/components/Progress.Segmented/Progress.Segmented.js +1 -1
  140. package/components/Radio/Group.js +1 -1
  141. package/components/Radio/Radio.js +1 -1
  142. package/components/Scrollable/Scrollable.js +1 -1
  143. package/components/Section/Section.js +1 -1
  144. package/components/Select/Select.js +1 -1
  145. package/components/Select/Select.js.map +1 -1
  146. package/components/Select/Select.mjs.map +1 -1
  147. package/components/Select/style.js +1 -1
  148. package/components/Select/style.js.map +1 -1
  149. package/components/Select/style.mjs +1 -1
  150. package/components/Select/style.mjs.map +1 -1
  151. package/components/Separator/Separator.js +1 -1
  152. package/components/Separator/SeparatorText.js +1 -1
  153. package/components/Skeleton/Skeleton.js +1 -1
  154. package/components/Spacer/Spacer.js +1 -1
  155. package/components/Spinner/Spinner.js +1 -1
  156. package/components/Switch/Knob.js +1 -1
  157. package/components/Switch/Switch.js +1 -1
  158. package/components/Switch/style.js +1 -1
  159. package/components/Switch/style.js.map +1 -1
  160. package/components/Switch/style.mjs +1 -1
  161. package/components/Switch/style.mjs.map +1 -1
  162. package/components/Switcher/Switcher.js +1 -1
  163. package/components/Switcher/style.js +1 -1
  164. package/components/Switcher/style.js.map +1 -1
  165. package/components/Switcher/style.mjs +1 -1
  166. package/components/Switcher/style.mjs.map +1 -1
  167. package/components/Tab/Tab.js +1 -1
  168. package/components/Tab/style.js +1 -1
  169. package/components/Tab/style.js.map +1 -1
  170. package/components/Tab/style.mjs +1 -1
  171. package/components/Tab/style.mjs.map +1 -1
  172. package/components/Tabs/Tabs.js +1 -1
  173. package/components/Tag/Tag.js +1 -1
  174. package/components/Text/Ellipsis.js +1 -1
  175. package/components/Text/Ellipsis.js.map +1 -1
  176. package/components/Text/Ellipsis.mjs +1 -1
  177. package/components/Text/Ellipsis.mjs.map +1 -1
  178. package/components/Text/Text.js +1 -1
  179. package/components/Text/style.js +1 -1
  180. package/components/Text/style.js.map +1 -1
  181. package/components/Text/style.mjs +1 -1
  182. package/components/Text/style.mjs.map +1 -1
  183. package/components/Text.Ellipse/Text.Ellipse.js +1 -1
  184. package/components/Text.Heading/Text.Heading.js +1 -1
  185. package/components/Textarea/Textarea.js +1 -1
  186. package/components/Textarea/Textarea.js.map +1 -1
  187. package/components/Textarea/Textarea.mjs +1 -1
  188. package/components/Textarea/Textarea.mjs.map +1 -1
  189. package/components/Tooltip/Tooltip.js +1 -1
  190. package/components/Tooltip/Tooltip.js.map +1 -1
  191. package/components/Tooltip/Tooltip.mjs +1 -1
  192. package/components/Tooltip/Tooltip.mjs.map +1 -1
  193. package/components/Tooltip/TooltipWrapper.js +1 -1
  194. package/components/Tooltip/default-constants.js.map +1 -1
  195. package/components/Tooltip/default-constants.mjs.map +1 -1
  196. package/components/TooltipComponent/TooltipComponent.js +1 -1
  197. package/components/TooltipComponent/style.js +1 -1
  198. package/components/TooltipComponent/style.js.map +1 -1
  199. package/components/TooltipComponent/style.mjs +1 -1
  200. package/components/TooltipComponent/style.mjs.map +1 -1
  201. package/components/Visibility/Visibility.js +1 -1
  202. package/dts/index.d.ts +273 -3560
  203. package/hocs/withMergedProps.js +1 -1
  204. package/hocs/withTranslation.js +1 -1
  205. package/hooks/useResizeObserver.js +2 -0
  206. package/hooks/useResizeObserver.js.map +1 -0
  207. package/hooks/useResizeObserver.mjs +2 -0
  208. package/hooks/useResizeObserver.mjs.map +1 -0
  209. package/package.json +16 -8
  210. package/theme/theme-provider.js +1 -1
  211. package/_virtual/ResizeObserver.js +0 -2
  212. package/_virtual/ResizeObserver.js.map +0 -1
  213. package/_virtual/ResizeObserver.mjs +0 -2
  214. package/_virtual/ResizeObserver.mjs.map +0 -1
  215. package/_virtual/_commonjsHelpers.js +0 -2
  216. package/_virtual/_commonjsHelpers.js.map +0 -1
  217. package/_virtual/_commonjsHelpers.mjs +0 -2
  218. package/_virtual/_commonjsHelpers.mjs.map +0 -1
  219. package/_virtual/index.js +0 -2
  220. package/_virtual/index.js.map +0 -1
  221. package/_virtual/index.mjs +0 -2
  222. package/_virtual/index.mjs.map +0 -1
  223. package/_virtual/index2.js +0 -2
  224. package/_virtual/index2.js.map +0 -1
  225. package/_virtual/index2.mjs +0 -2
  226. package/_virtual/index2.mjs.map +0 -1
  227. package/_virtual/index3.js +0 -2
  228. package/_virtual/index3.js.map +0 -1
  229. package/_virtual/index3.mjs +0 -2
  230. package/_virtual/index3.mjs.map +0 -1
  231. package/_virtual/index4.js +0 -2
  232. package/_virtual/index4.js.map +0 -1
  233. package/_virtual/index4.mjs +0 -2
  234. package/_virtual/index4.mjs.map +0 -1
  235. package/_virtual/index5.js +0 -2
  236. package/_virtual/index5.js.map +0 -1
  237. package/_virtual/index5.mjs +0 -2
  238. package/_virtual/index5.mjs.map +0 -1
  239. package/_virtual/index6.js +0 -2
  240. package/_virtual/index6.js.map +0 -1
  241. package/_virtual/index6.mjs +0 -2
  242. package/_virtual/index6.mjs.map +0 -1
  243. package/_virtual/index7.js +0 -2
  244. package/_virtual/index7.js.map +0 -1
  245. package/_virtual/index7.mjs +0 -2
  246. package/_virtual/index7.mjs.map +0 -1
  247. package/_virtual/index8.js +0 -2
  248. package/_virtual/index8.js.map +0 -1
  249. package/_virtual/index8.mjs +0 -2
  250. package/_virtual/index8.mjs.map +0 -1
  251. package/_virtual/purify.js +0 -2
  252. package/_virtual/purify.js.map +0 -1
  253. package/_virtual/purify.mjs +0 -2
  254. package/_virtual/purify.mjs.map +0 -1
  255. package/_virtual/tinycolor.js +0 -2
  256. package/_virtual/tinycolor.js.map +0 -1
  257. package/_virtual/tinycolor.mjs +0 -2
  258. package/_virtual/tinycolor.mjs.map +0 -1
  259. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/components.json.js +0 -2
  260. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/components.json.js.map +0 -1
  261. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/components.json.mjs +0 -2
  262. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/components.json.mjs.map +0 -1
  263. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/CheckCircleFill/index.js +0 -2
  264. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/CheckCircleFill/index.js.map +0 -1
  265. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/CheckCircleFill/index.mjs +0 -2
  266. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/CheckCircleFill/index.mjs.map +0 -1
  267. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/ChevronDown/index.js +0 -2
  268. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/ChevronDown/index.js.map +0 -1
  269. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/ChevronDown/index.mjs +0 -2
  270. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/ChevronDown/index.mjs.map +0 -1
  271. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/Close/index.js +0 -2
  272. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/Close/index.js.map +0 -1
  273. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/Close/index.mjs +0 -2
  274. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/Close/index.mjs.map +0 -1
  275. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/CloseCirlceFill/index.js +0 -2
  276. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/CloseCirlceFill/index.js.map +0 -1
  277. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/CloseCirlceFill/index.mjs +0 -2
  278. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/CloseCirlceFill/index.mjs.map +0 -1
  279. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/LoaderFill/index.js +0 -2
  280. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/LoaderFill/index.js.map +0 -1
  281. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/LoaderFill/index.mjs +0 -2
  282. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/LoaderFill/index.mjs.map +0 -1
  283. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/NotifFill/index.js +0 -2
  284. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/NotifFill/index.js.map +0 -1
  285. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/NotifFill/index.mjs +0 -2
  286. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/NotifFill/index.mjs.map +0 -1
  287. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/ResizeHandle/index.js +0 -2
  288. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/ResizeHandle/index.js.map +0 -1
  289. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/ResizeHandle/index.mjs +0 -2
  290. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/ResizeHandle/index.mjs.map +0 -1
  291. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/WarningTriangleFill/index.js +0 -2
  292. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/WarningTriangleFill/index.js.map +0 -1
  293. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/WarningTriangleFill/index.mjs +0 -2
  294. package/external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/WarningTriangleFill/index.mjs.map +0 -1
  295. package/external/.pnpm/dompurify@3.1.6/node_modules/dompurify/dist/purify.js +0 -2
  296. package/external/.pnpm/dompurify@3.1.6/node_modules/dompurify/dist/purify.js.map +0 -1
  297. package/external/.pnpm/dompurify@3.1.6/node_modules/dompurify/dist/purify.mjs +0 -2
  298. package/external/.pnpm/dompurify@3.1.6/node_modules/dompurify/dist/purify.mjs.map +0 -1
  299. package/external/.pnpm/fuse.js@7.0.0/node_modules/fuse.js/dist/fuse.js +0 -2
  300. package/external/.pnpm/fuse.js@7.0.0/node_modules/fuse.js/dist/fuse.js.map +0 -1
  301. package/external/.pnpm/fuse.js@7.0.0/node_modules/fuse.js/dist/fuse.mjs +0 -2
  302. package/external/.pnpm/fuse.js@7.0.0/node_modules/fuse.js/dist/fuse.mjs.map +0 -1
  303. package/external/.pnpm/nanoid@5.0.9/node_modules/nanoid/index.browser.js +0 -2
  304. package/external/.pnpm/nanoid@5.0.9/node_modules/nanoid/index.browser.js.map +0 -1
  305. package/external/.pnpm/nanoid@5.0.9/node_modules/nanoid/index.browser.mjs +0 -2
  306. package/external/.pnpm/nanoid@5.0.9/node_modules/nanoid/index.browser.mjs.map +0 -1
  307. package/external/.pnpm/nanoid@5.0.9/node_modules/nanoid/url-alphabet/index.js +0 -2
  308. package/external/.pnpm/nanoid@5.0.9/node_modules/nanoid/url-alphabet/index.js.map +0 -1
  309. package/external/.pnpm/nanoid@5.0.9/node_modules/nanoid/url-alphabet/index.mjs +0 -2
  310. package/external/.pnpm/nanoid@5.0.9/node_modules/nanoid/url-alphabet/index.mjs.map +0 -1
  311. package/external/.pnpm/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.js +0 -2
  312. package/external/.pnpm/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.js.map +0 -1
  313. package/external/.pnpm/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.mjs +0 -2
  314. package/external/.pnpm/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.mjs.map +0 -1
  315. package/external/.pnpm/tinycolor2@1.4.2/node_modules/tinycolor2/tinycolor.js +0 -2
  316. package/external/.pnpm/tinycolor2@1.4.2/node_modules/tinycolor2/tinycolor.js.map +0 -1
  317. package/external/.pnpm/tinycolor2@1.4.2/node_modules/tinycolor2/tinycolor.mjs +0 -2
  318. package/external/.pnpm/tinycolor2@1.4.2/node_modules/tinycolor2/tinycolor.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.mjs","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import { forwardRef, useState, useRef, useEffect, useLayoutEffect, useMemo } from 'react'\nimport Fuse from 'fuse.js'\nimport { nanoid } from 'nanoid'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { useScrollMonitor } from 'hooks/useScrollMonitor'\nimport { focusFirstFocusable, focusLastFocusable } from 'shared/utils/dom'\nimport { keyboardKeys } from 'shared/constants'\nimport type { Nullable } from 'shared/types'\nimport { FormInput } from 'components/FormInput'\nimport { FormInputLabel } from 'components/FormInputLabel'\nimport { MenuList } from 'components/MenuList'\nimport { MenuDivider } from 'components/MenuDivider'\nimport { ListItem } from 'components/ListItem'\nimport { InputCheckbox } from 'components/InputCheckbox'\nimport { Chip } from 'components/Chip'\nimport { IconButton } from 'components/IconButton'\nimport type { IconProps } from 'components/Icon'\nimport { DropdownMenu } from './DropdownMenu'\nimport { SIZES, SIZES_CHECKBOX, SIZES_ICON, FuseSearchKeys } from './constants'\nimport { getDropdownInputText, getDropdownSelectedOption, groupDropdownOptions } from './utils'\nimport * as Styled from './style'\nimport type { DropdownProps, DropdownOption } from './types'\n\nconst COMPONENT_NAME = 'Dropdown'\n\n/**\n *\n * Компонент поддерживает все атрибуты \\<div\\> элемента.\n *\n * Можно передать \"ref\", который будет ассоциирован с рутовым элементом.\n *\n * Поддерживаются пропсы определения размеров и внешних отступов в зависимости от ширины вьюпорта.\n *\n * Полный интерфейс можно посмотреть [тут](https://github.com/foxford/ui/blob/master/src/components/Dropdown/types.ts).\n */\nconst Dropdown: React.ForwardRefExoticComponent<DropdownProps> = withMergedProps<DropdownProps, HTMLDivElement>(\n forwardRef((props, ref) => {\n const {\n size = 'm',\n name = 'fox-dropdown',\n labelPosition = 'dynamic',\n searchable = true,\n primary = true,\n optionsMultiToggle = true,\n loading = false,\n iconProps = {},\n menuProps = {},\n loadingIconProps = {},\n optionsEmptyIconProps = {},\n autoFocus,\n disableAutoScrollToSelectedOption,\n closeMenuOnScroll,\n scrollMonitorTarget,\n contrast,\n selectedOption,\n defaultSelectedOption,\n icon,\n inputMode,\n loadingMessage,\n loadingIcon,\n maxLength,\n multiple,\n clearable,\n onCloseMenu,\n onOpenMenu,\n onSelectOption,\n options,\n groupSelectedOptions,\n optionsMultiToggleCaption,\n optionsEmptyMessage,\n optionsEmptyIcon,\n palette,\n placeholder,\n readOnly,\n required,\n status,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n form,\n ...rootProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const iconBaseProps: IconProps = {\n sizes: SIZES_ICON,\n color: rootProps.disabled ? 'content-disabled' : 'content-onmain-tertiary',\n }\n\n const formInputLabelId = useMemo(() => rootProps.id ?? `${name}-${nanoid()}`, [name, rootProps.id])\n const inputLabelId = useMemo(() => nanoid(), [])\n const menuListId = useMemo(() => nanoid(), [])\n\n const getRelevantOptions = useMemo(() => {\n const fuse = new Fuse<DropdownOption>(options, {\n threshold: 0.4,\n ignoreLocation: true,\n keys: [FuseSearchKeys.text, FuseSearchKeys.label, FuseSearchKeys.tags],\n })\n\n return (pattern: string): DropdownOption[] =>\n pattern.length === 0 ? options : fuse.search(pattern).map((result) => result.item)\n }, [options])\n\n const [dropdownSelectedOption, setDropdownSelectedOption] = useState<DropdownOption[]>(() =>\n getDropdownSelectedOption(selectedOption !== undefined ? selectedOption : defaultSelectedOption, multiple)\n )\n\n const [inputText, setInputText] = useState<string>(() => getDropdownInputText(dropdownSelectedOption, multiple))\n\n const [focusWithin, setFocusWithin] = useState<boolean>(false)\n\n const [menuRelevantOptions, setMenuRelevantOptions] = useState<DropdownOption[]>(() =>\n getRelevantOptions(inputText)\n )\n\n const [menuOpenRequest, setMenuOpenRequest] = useState<boolean>(false)\n\n const menuOptionsGroups: ReturnType<typeof groupDropdownOptions> = multiple\n ? groupDropdownOptions(options, dropdownSelectedOption)\n : [[], []]\n\n const menuOpen = menuOpenRequest && !rootProps.disabled\n\n const inputSynced = inputText === getDropdownInputText(dropdownSelectedOption)\n const inputRequired = required && dropdownSelectedOption.length === 0\n const inputActive = Boolean(menuOpen || inputText || focusWithin)\n\n const multiToggleChecked = menuOptionsGroups[0].length > 0 && menuOptionsGroups[1].length === 0\n const multiToggleIndeterminate = menuOptionsGroups[0].length > 0 && menuOptionsGroups[1].length > 0\n\n const inputRef = useRef<HTMLInputElement>(null)\n const [menuRef, setMenuRef] = useState<Nullable<HTMLElement>>(null)\n const menuListRef = useRef<HTMLUListElement>(null)\n const selectedOptionRef = useRef<HTMLElement>(null)\n\n const timeoutIdRef = useRef<Nullable<ReturnType<typeof setTimeout>>>(null)\n\n const inputTextPrevRef = useRef<string>(inputText)\n const menuOpenPrevRef = useRef<boolean>(menuOpen)\n\n useScrollMonitor({\n target: scrollMonitorTarget,\n onScrollStart: () => {\n if (closeMenuOnScroll && menuOpen) {\n inputRef.current?.focus()\n setMenuOpenRequest(false)\n }\n },\n })\n\n useEffect(() => {\n if (inputText === inputTextPrevRef.current) {\n setMenuRelevantOptions(getRelevantOptions(inputText))\n } else {\n inputTextPrevRef.current = inputText\n timeoutIdRef.current = setTimeout(() => {\n setMenuRelevantOptions(getRelevantOptions(inputText))\n }, 150)\n }\n\n return () => {\n if (timeoutIdRef.current) {\n clearTimeout(timeoutIdRef.current)\n }\n }\n }, [getRelevantOptions, inputText])\n\n useLayoutEffect(() => {\n if (selectedOption === undefined) return\n\n if (!multiple) setInputText(getDropdownInputText(selectedOption))\n setDropdownSelectedOption(getDropdownSelectedOption(selectedOption, multiple))\n }, [multiple, selectedOption])\n\n useEffect(() => {\n if (menuOpen === menuOpenPrevRef.current) return\n\n if (menuOpen && onOpenMenu) onOpenMenu()\n if (!menuOpen && onCloseMenu) onCloseMenu()\n\n menuOpenPrevRef.current = menuOpen\n }, [menuOpen, onCloseMenu, onOpenMenu])\n\n useEffect(() => {\n if (!multiple && !disableAutoScrollToSelectedOption && menuOpen && menuRef && selectedOptionRef.current) {\n const menuRect = menuRef.getBoundingClientRect()\n const selectedOptionRect = selectedOptionRef.current.getBoundingClientRect()\n\n if (selectedOptionRect.top < menuRect.top || selectedOptionRect.bottom > menuRect.bottom) {\n setTimeout(() => {\n if (menuRef && selectedOptionRef.current) {\n menuRef.scrollTo(0, selectedOptionRef.current.offsetTop)\n }\n }, 0)\n }\n }\n }, [multiple, disableAutoScrollToSelectedOption, menuOpen, menuRef])\n\n return (\n <FormInputLabel\n {...rootProps}\n {...sizeProps}\n ref={ref}\n id={formInputLabelId}\n labelId={inputLabelId}\n labelPosition={labelPosition}\n active={inputActive}\n onColored={contrast}\n primary={primary}\n error={status === 'error'}\n success={status === 'success'}\n focus={focusWithin}\n icon={[icon, <Styled.ChevronIcon key='chevron' up={menuOpen} />]}\n iconProps={{\n ...sizeProps,\n ...iconBaseProps,\n ...iconProps,\n }}\n palette={{\n color: rootProps.disabled ? palette.labelColorDisabled : palette.labelColor,\n backgroundColor: rootProps.disabled ? palette.backgroundColorDisabled : palette.backgroundColor,\n backgroundColorHover: rootProps.disabled ? palette.backgroundColorDisabled : palette.backgroundColorHover,\n borderColor: rootProps.disabled ? palette.borderColorDisabled : palette.borderColor,\n }}\n onClick={(evt) => {\n if (rootProps.onClick) rootProps.onClick(evt)\n\n if (rootProps.disabled) return\n\n inputRef.current?.focus()\n\n if (!menuOpen) {\n setMenuOpenRequest(true)\n\n if (searchable && !multiple && inputSynced) {\n setInputText('')\n setMenuRelevantOptions(getRelevantOptions(''))\n }\n } else if (menuRef && evt.target instanceof Node && !menuRef.contains(evt.target)) {\n setMenuOpenRequest(false)\n }\n }}\n onPointerDown={(evt) => {\n if (rootProps.onPointerDown) rootProps.onPointerDown(evt)\n\n if (\n evt.target !== inputRef.current &&\n evt.target instanceof Node &&\n (evt.currentTarget.contains(evt.target) ||\n (menuProps.renderInPortal && menuOpen && menuRef && menuRef.contains(evt.target)))\n ) {\n evt.preventDefault()\n }\n }}\n onFocus={(evt) => {\n if (rootProps.onFocus) rootProps.onFocus(evt)\n\n setFocusWithin(true)\n\n if (\n inputRef.current &&\n evt.target === inputRef.current &&\n searchable &&\n !multiple &&\n inputSynced &&\n !menuOpen\n ) {\n setInputText('')\n setMenuRelevantOptions(getRelevantOptions(''))\n }\n }}\n onBlur={(evt) => {\n if (rootProps.onBlur) rootProps.onBlur(evt)\n\n if (\n evt.currentTarget.contains(evt.relatedTarget) ||\n (menuProps.renderInPortal && menuOpen && menuRef && menuRef.contains(evt.relatedTarget))\n ) {\n return\n }\n\n setFocusWithin(false)\n setInputText(getDropdownInputText(dropdownSelectedOption, multiple))\n setMenuOpenRequest(false)\n }}\n input={\n <>\n {inputRequired && !searchable && !readOnly && (\n <Styled.InputMimic\n required\n type='text'\n inputMode='none'\n form={form}\n tabIndex={-1}\n onFocus={() => {\n inputRef.current?.focus()\n }}\n />\n )}\n <FormInput\n ref={inputRef}\n role='combobox'\n aria-controls={menuListId}\n aria-expanded={menuOpen}\n aria-labelledby={rootProps.label ? inputLabelId : undefined}\n type='text'\n autoComplete='off'\n autoCapitalize='off'\n autoCorrect='off'\n spellCheck='false'\n form={form}\n autoFocus={autoFocus}\n inputMode={searchable ? inputMode : 'none'}\n maxLength={maxLength}\n placeholder={placeholder}\n readOnly={readOnly || !searchable}\n required={inputRequired}\n disabled={rootProps.disabled}\n value={inputText}\n palette={{\n color: palette.color,\n colorDisabled: palette.colorDisabled,\n placeholderColor: palette.placeholderColor,\n placeholderColorDisabled: palette.placeholderColorDisabled,\n }}\n onClick={(evt) => {\n if (menuOpen && evt.currentTarget.selectionStart !== evt.currentTarget.selectionEnd) {\n evt.stopPropagation()\n }\n }}\n onChange={(evt) => {\n setInputText(evt.currentTarget.value)\n setMenuOpenRequest(true)\n }}\n onKeyDown={(evt) => {\n if (keyboardKeys.Enter.validate(evt.key)) {\n setInputText(getDropdownInputText(dropdownSelectedOption, multiple))\n setMenuOpenRequest(false)\n }\n\n if (keyboardKeys.Space.validate(evt.key) && (!menuOpen || evt.currentTarget.selectionStart === 0)) {\n evt.preventDefault()\n\n if (searchable && !multiple && inputSynced && !menuOpen) {\n setInputText('')\n setMenuRelevantOptions(getRelevantOptions(''))\n }\n\n setMenuOpenRequest((prev) => !prev)\n }\n\n if (keyboardKeys.Esc.validate(evt.key)) {\n setMenuOpenRequest(false)\n }\n\n if (keyboardKeys.Tab.validate(evt.key) && menuOpen) {\n evt.preventDefault()\n setMenuOpenRequest(false)\n }\n\n if (keyboardKeys.ArrowDown.validate(evt.key) && menuOpen && menuListRef.current) {\n evt.preventDefault()\n\n if (!multiple && selectedOptionRef.current) {\n const menuItems = [...menuListRef.current.children]\n\n const idx = menuItems.findIndex((item) => item.contains(selectedOptionRef.current as Node))\n\n const focusTarget = menuItems[idx + 1] ?? menuItems[0]\n\n if (focusTarget instanceof HTMLElement) {\n focusFirstFocusable(focusTarget)\n }\n } else {\n focusFirstFocusable(menuListRef.current)\n }\n }\n\n if (keyboardKeys.ArrowUp.validate(evt.key) && menuOpen && menuListRef.current) {\n evt.preventDefault()\n\n if (!multiple && selectedOptionRef.current) {\n const menuItems = [...menuListRef.current.children]\n\n const idx = menuItems.findIndex((item) => item.contains(selectedOptionRef.current as Node))\n\n const focusTarget = menuItems[idx - 1] ?? menuItems[menuItems.length - 1]\n\n if (focusTarget instanceof HTMLElement) {\n focusFirstFocusable(focusTarget)\n }\n } else {\n focusLastFocusable(menuListRef.current)\n }\n }\n }}\n />\n {dropdownSelectedOption.map((item) => (\n <input\n key={item.value}\n type='hidden'\n name={name}\n value={item.value}\n form={form}\n disabled={rootProps.disabled}\n />\n ))}\n </>\n }\n addon={\n <>\n {multiple && dropdownSelectedOption.length > 0 && (\n <Chip\n size='xs'\n active\n black\n marginLeft={12}\n disabled={rootProps.disabled}\n cursor={rootProps.disabled ? 'not-allowed' : undefined}\n text={dropdownSelectedOption.length}\n textProps={{\n appearance: 'caption',\n size: 'xs',\n }}\n palette={\n rootProps.disabled\n ? {\n color: 'content-disabled',\n colorHover: 'content-disabled',\n backgroundColor: 'bg-disabled-small',\n backgroundColorHover: 'bg-disabled-small',\n }\n : undefined\n }\n onPointerDown={(evt) => {\n evt.preventDefault()\n }}\n discardButtonProps={{\n square: true,\n contrast: !rootProps.disabled,\n onClick: (evt) => {\n evt.stopPropagation()\n\n if (!readOnly) {\n if (selectedOption === undefined) {\n setDropdownSelectedOption([])\n }\n\n if (onSelectOption) onSelectOption(multiple ? [] : null)\n\n inputRef.current?.focus()\n setMenuOpenRequest(true)\n }\n },\n }}\n />\n )}\n {!multiple && clearable && dropdownSelectedOption.length > 0 && (\n <IconButton\n icon='close'\n size='l'\n square\n marginLeft={12}\n disabled={rootProps.disabled}\n onClick={(evt) => {\n evt.stopPropagation()\n\n if (!readOnly) {\n if (inputSynced) {\n setInputText('')\n setMenuRelevantOptions(getRelevantOptions(''))\n }\n\n if (selectedOption === undefined) {\n setDropdownSelectedOption([])\n }\n\n if (onSelectOption) onSelectOption(multiple ? [] : null)\n\n inputRef.current?.focus()\n setMenuOpenRequest(true)\n }\n }}\n />\n )}\n </>\n }\n dropdown={\n <DropdownMenu\n {...menuProps}\n setRef={setMenuRef}\n open={menuOpen}\n popperReferenceId={formInputLabelId}\n secondary={!contrast}\n elevated={contrast}\n disableAutoFocus\n palette={{\n backgroundColor: palette.menuBackgroundColor,\n borderColor: palette.menuBorderColor,\n }}\n empty={menuRelevantOptions.length === 0}\n loading={loading}\n loadingMessage={loadingMessage}\n loadingIcon={loadingIcon}\n loadingIconProps={{\n ...sizeProps,\n ...iconBaseProps,\n ...loadingIconProps,\n }}\n emptyMessage={optionsEmptyMessage}\n emptyIcon={optionsEmptyIcon}\n emptyIconProps={{\n ...sizeProps,\n ...iconBaseProps,\n ...optionsEmptyIconProps,\n }}\n onKeyDown={(evt) => {\n if (keyboardKeys.Tab.validate(evt.key)) {\n evt.preventDefault()\n inputRef.current?.focus()\n setMenuOpenRequest(false)\n }\n\n if (keyboardKeys.Enter.validate(evt.key)) {\n inputRef.current?.focus()\n setInputText(getDropdownInputText(dropdownSelectedOption, multiple))\n setMenuOpenRequest(false)\n }\n\n if (keyboardKeys.Esc.validate(evt.key)) {\n inputRef.current?.focus()\n setMenuOpenRequest(false)\n }\n\n if (keyboardKeys.Backspace.validate(evt.key) && !readOnly && (multiple || (!multiple && clearable))) {\n if (selectedOption === undefined) {\n setDropdownSelectedOption([])\n }\n\n if (onSelectOption) onSelectOption(multiple ? [] : null)\n }\n }}\n >\n {multiple ? (\n <MenuList\n ref={menuListRef}\n id={menuListId}\n role='listbox'\n aria-labelledby={rootProps.label ? inputLabelId : undefined}\n aria-multiselectable\n >\n {inputText.length === 0 ? (\n <>\n {optionsMultiToggle && (\n <ListItem\n {...sizeProps}\n text={optionsMultiToggleCaption}\n disabled={rootProps.disabled}\n borderRadius={8}\n ellipsis={false}\n textProps={{ wordBreak: 'break-word' }}\n onClick={(evt) => {\n evt.stopPropagation()\n }}\n control={\n <InputCheckbox\n sizes={SIZES_CHECKBOX}\n form='none'\n name={name}\n checked={multiToggleChecked}\n indeterminate={multiToggleIndeterminate}\n error={(multiToggleChecked || multiToggleIndeterminate) && status === 'error'}\n success={(multiToggleChecked || multiToggleIndeterminate) && status === 'success'}\n onChange={() => {\n if (!readOnly) {\n const update = multiToggleChecked || multiToggleIndeterminate ? [] : [...options]\n\n if (selectedOption === undefined) {\n setDropdownSelectedOption(update)\n }\n\n if (onSelectOption) onSelectOption(update)\n }\n }}\n />\n }\n />\n )}\n {optionsMultiToggle && <MenuDivider />}\n {groupSelectedOptions &&\n menuOptionsGroups[0].map((option) => {\n const optionStatus = option.status ?? status\n const optionErrorStatus = optionStatus === 'error'\n const optionSuccessStatus = optionStatus === 'success'\n\n return (\n <ListItem\n {...sizeProps}\n key={option.value}\n active\n text={option.text}\n danger={optionErrorStatus}\n success={optionSuccessStatus}\n disabled={rootProps.disabled}\n borderRadius={8}\n ellipsis={false}\n textProps={{ wordBreak: 'break-word' }}\n onClick={(evt) => {\n evt.stopPropagation()\n inputRef.current?.focus()\n }}\n control={\n <InputCheckbox\n sizes={SIZES_CHECKBOX}\n form='none'\n role='option'\n aria-selected\n name={name}\n value={option.value}\n checked\n error={optionErrorStatus}\n success={optionSuccessStatus}\n onChange={(evt) => {\n if (!readOnly) {\n const update = dropdownSelectedOption.filter(\n (item) => item.value !== evt.currentTarget.value\n )\n\n if (selectedOption === undefined) {\n setDropdownSelectedOption(update)\n }\n\n if (onSelectOption) onSelectOption(update)\n }\n }}\n />\n }\n />\n )\n })}\n {groupSelectedOptions && menuOptionsGroups[0].length > 0 && menuOptionsGroups[1].length > 0 && (\n <MenuDivider />\n )}\n {groupSelectedOptions &&\n menuOptionsGroups[1].map((option) => (\n <ListItem\n {...sizeProps}\n key={option.value}\n text={option.text}\n disabled={rootProps.disabled}\n borderRadius={8}\n ellipsis={false}\n textProps={{ wordBreak: 'break-word' }}\n onClick={(evt) => {\n evt.stopPropagation()\n inputRef.current?.focus()\n }}\n control={\n <InputCheckbox\n sizes={SIZES_CHECKBOX}\n form='none'\n role='option'\n aria-selected={false}\n name={name}\n value={option.value}\n checked={false}\n onChange={() => {\n if (!readOnly) {\n const update = [...dropdownSelectedOption, option]\n\n if (selectedOption === undefined) {\n setDropdownSelectedOption(update)\n }\n\n if (onSelectOption) onSelectOption(update)\n }\n }}\n />\n }\n />\n ))}\n {!groupSelectedOptions &&\n options.map((option) => {\n const selected = dropdownSelectedOption.findIndex((item) => item.value === option.value) !== -1\n\n const optionStatus = option.status ?? status\n const optionErrorStatus = selected && optionStatus === 'error'\n const optionSuccessStatus = selected && optionStatus === 'success'\n\n return (\n <ListItem\n {...sizeProps}\n key={option.value}\n text={option.text}\n danger={optionErrorStatus}\n success={optionSuccessStatus}\n disabled={rootProps.disabled}\n active={selected}\n borderRadius={8}\n ellipsis={false}\n textProps={{ wordBreak: 'break-word' }}\n onClick={(evt) => {\n evt.stopPropagation()\n }}\n control={\n <InputCheckbox\n sizes={SIZES_CHECKBOX}\n form='none'\n role='option'\n aria-selected={selected}\n name={name}\n value={option.value}\n checked={selected}\n error={optionErrorStatus}\n success={optionSuccessStatus}\n onChange={(evt) => {\n if (!readOnly) {\n const update = selected\n ? dropdownSelectedOption.filter((item) => item.value !== evt.currentTarget.value)\n : [...dropdownSelectedOption, option]\n\n if (selectedOption === undefined) {\n setDropdownSelectedOption(update)\n }\n\n if (onSelectOption) onSelectOption(update)\n }\n }}\n />\n }\n />\n )\n })}\n </>\n ) : (\n <>\n {menuRelevantOptions.map((option) => {\n const selected = dropdownSelectedOption.findIndex((item) => item.value === option.value) !== -1\n\n const optionStatus = option.status ?? status\n const optionErrorStatus = selected && optionStatus === 'error'\n const optionSuccessStatus = selected && optionStatus === 'success'\n\n return (\n <ListItem\n {...sizeProps}\n key={option.value}\n text={option.text}\n danger={optionErrorStatus}\n success={optionSuccessStatus}\n disabled={rootProps.disabled}\n active={selected}\n borderRadius={8}\n ellipsis={false}\n textProps={{ wordBreak: 'break-word' }}\n onClick={(evt) => {\n evt.stopPropagation()\n }}\n control={\n <InputCheckbox\n sizes={SIZES_CHECKBOX}\n form='none'\n role='option'\n aria-selected={selected}\n name={name}\n value={option.value}\n checked={selected}\n error={optionErrorStatus}\n success={optionSuccessStatus}\n onChange={(evt) => {\n if (!readOnly) {\n const update = selected\n ? dropdownSelectedOption.filter((item) => item.value !== evt.currentTarget.value)\n : [...dropdownSelectedOption, option]\n\n if (selectedOption === undefined) {\n setDropdownSelectedOption(update)\n }\n\n if (onSelectOption) onSelectOption(update)\n }\n }}\n />\n }\n />\n )\n })}\n </>\n )}\n </MenuList>\n ) : (\n <MenuList\n ref={menuListRef}\n id={menuListId}\n role='listbox'\n aria-labelledby={rootProps.label ? inputLabelId : undefined}\n >\n {(searchable ? menuRelevantOptions : options).map((option) => {\n const selected = dropdownSelectedOption.findIndex((item) => item.value === option.value) !== -1\n\n return (\n <ListItem\n {...sizeProps}\n role='option'\n aria-selected={selected}\n ref={selected ? selectedOptionRef : undefined}\n key={option.value}\n text={option.text}\n active={selected}\n danger={selected && status === 'error'}\n success={selected && status === 'success'}\n disabled={rootProps.disabled}\n borderRadius={8}\n ellipsis={false}\n textProps={{ wordBreak: 'break-word' }}\n onClick={(evt) => {\n evt.stopPropagation()\n\n if (!readOnly) {\n const update = { ...option }\n\n if (selectedOption === undefined) {\n setInputText(getDropdownInputText(update))\n setDropdownSelectedOption(getDropdownSelectedOption(update))\n }\n\n if (onSelectOption) onSelectOption(update)\n\n inputRef.current?.focus()\n setMenuOpenRequest(false)\n }\n }}\n />\n )\n })}\n </MenuList>\n )}\n </DropdownMenu>\n }\n />\n )\n }),\n {\n sizes: SIZES,\n displayName: COMPONENT_NAME,\n }\n)\n\nexport { Dropdown, COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","Dropdown","withMergedProps","forwardRef","props","ref","size","name","labelPosition","searchable","primary","optionsMultiToggle","loading","iconProps","menuProps","loadingIconProps","optionsEmptyIconProps","autoFocus","disableAutoScrollToSelectedOption","closeMenuOnScroll","scrollMonitorTarget","contrast","selectedOption","defaultSelectedOption","icon","inputMode","loadingMessage","loadingIcon","maxLength","multiple","clearable","onCloseMenu","onOpenMenu","onSelectOption","options","groupSelectedOptions","optionsMultiToggleCaption","optionsEmptyMessage","optionsEmptyIcon","palette","placeholder","readOnly","required","status","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","form","rootProps","sizeProps","iconBaseProps","sizes","SIZES_ICON","color","disabled","formInputLabelId","useMemo","id","nanoid","inputLabelId","menuListId","getRelevantOptions","fuse","Fuse","threshold","ignoreLocation","keys","FuseSearchKeys","text","label","tags","pattern","length","search","map","result","item","dropdownSelectedOption","setDropdownSelectedOption","useState","getDropdownSelectedOption","undefined","inputText","setInputText","getDropdownInputText","focusWithin","setFocusWithin","menuRelevantOptions","setMenuRelevantOptions","menuOpenRequest","setMenuOpenRequest","menuOptionsGroups","groupDropdownOptions","menuOpen","inputSynced","inputRequired","inputActive","Boolean","multiToggleChecked","multiToggleIndeterminate","inputRef","useRef","menuRef","setMenuRef","menuListRef","selectedOptionRef","timeoutIdRef","inputTextPrevRef","menuOpenPrevRef","useScrollMonitor","target","onScrollStart","current","focus","useEffect","setTimeout","clearTimeout","useLayoutEffect","menuRect","getBoundingClientRect","selectedOptionRect","top","bottom","scrollTo","offsetTop","_jsx","FormInputLabel","labelId","active","onColored","error","success","Styled","up","labelColorDisabled","labelColor","backgroundColor","backgroundColorDisabled","backgroundColorHover","borderColor","borderColorDisabled","onClick","evt","Node","contains","onPointerDown","currentTarget","renderInPortal","preventDefault","onFocus","onBlur","relatedTarget","input","_jsxs","_Fragment","children","type","tabIndex","FormInput","role","autoComplete","autoCapitalize","autoCorrect","spellCheck","value","colorDisabled","placeholderColor","placeholderColorDisabled","selectionStart","selectionEnd","stopPropagation","onChange","onKeyDown","keyboardKeys","Enter","validate","key","Space","prev","Esc","Tab","ArrowDown","menuItems","idx","findIndex","focusTarget","HTMLElement","focusFirstFocusable","ArrowUp","focusLastFocusable","addon","Chip","black","marginLeft","cursor","textProps","appearance","colorHover","discardButtonProps","square","IconButton","dropdown","DropdownMenu","setRef","open","popperReferenceId","secondary","elevated","disableAutoFocus","menuBackgroundColor","menuBorderColor","empty","emptyMessage","emptyIcon","emptyIconProps","Backspace","MenuList","ListItem","borderRadius","ellipsis","wordBreak","control","InputCheckbox","SIZES_CHECKBOX","checked","indeterminate","update","MenuDivider","option","optionStatus","optionErrorStatus","optionSuccessStatus","_createElement","danger","filter","selected","SIZES","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Dropdown.mjs","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import { forwardRef, useState, useRef, useEffect, useLayoutEffect, useMemo } from 'react'\nimport Fuse from 'fuse.js'\nimport { nanoid } from 'nanoid'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { useScrollMonitor } from 'hooks/useScrollMonitor'\nimport { focusFirstFocusable, focusLastFocusable } from 'shared/utils/dom'\nimport { keyboardKeys } from 'shared/constants'\nimport type { Nullable } from 'shared/types'\nimport { FormInput } from 'components/FormInput'\nimport { FormInputLabel } from 'components/FormInputLabel'\nimport { MenuList } from 'components/MenuList'\nimport { MenuDivider } from 'components/MenuDivider'\nimport { ListItem } from 'components/ListItem'\nimport { InputCheckbox } from 'components/InputCheckbox'\nimport { Chip } from 'components/Chip'\nimport { IconButton } from 'components/IconButton'\nimport type { IconProps } from 'components/Icon'\nimport { DropdownMenu } from './DropdownMenu'\nimport { SIZES, SIZES_CHECKBOX, SIZES_ICON, FuseSearchKeys } from './constants'\nimport { getDropdownInputText, getDropdownSelectedOption, groupDropdownOptions } from './utils'\nimport * as Styled from './style'\nimport type { DropdownProps, DropdownOption } from './types'\n\nconst COMPONENT_NAME = 'Dropdown'\n\n/**\n *\n * Компонент поддерживает все атрибуты \\<div\\> элемента.\n *\n * Можно передать \"ref\", который будет ассоциирован с рутовым элементом.\n *\n * Поддерживаются пропсы определения размеров и внешних отступов в зависимости от ширины вьюпорта.\n *\n * Полный интерфейс можно посмотреть [тут](https://github.com/foxford/ui/blob/master/src/components/Dropdown/types.ts).\n */\nconst Dropdown: React.ForwardRefExoticComponent<DropdownProps> = withMergedProps<DropdownProps, HTMLDivElement>(\n forwardRef((props, ref) => {\n const {\n size = 'm',\n name = 'fox-dropdown',\n labelPosition = 'dynamic',\n searchable = true,\n primary = true,\n optionsMultiToggle = true,\n loading = false,\n iconProps = {},\n menuProps = {},\n loadingIconProps = {},\n optionsEmptyIconProps = {},\n autoFocus,\n disableAutoScrollToSelectedOption,\n closeMenuOnScroll,\n scrollMonitorTarget,\n contrast,\n selectedOption,\n defaultSelectedOption,\n icon,\n inputMode,\n loadingMessage,\n loadingIcon,\n maxLength,\n multiple,\n clearable,\n onCloseMenu,\n onOpenMenu,\n onSelectOption,\n options,\n groupSelectedOptions,\n optionsMultiToggleCaption,\n optionsEmptyMessage,\n optionsEmptyIcon,\n palette,\n placeholder,\n readOnly,\n required,\n status,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n form,\n ...rootProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const iconBaseProps: IconProps = {\n sizes: SIZES_ICON,\n color: rootProps.disabled ? 'content-disabled' : 'content-onmain-tertiary',\n }\n\n const formInputLabelId = useMemo(() => rootProps.id ?? `${name}-${nanoid()}`, [name, rootProps.id])\n const inputLabelId = useMemo(() => nanoid(), [])\n const menuListId = useMemo(() => nanoid(), [])\n\n const getRelevantOptions = useMemo(() => {\n const fuse = new Fuse<DropdownOption>(options, {\n threshold: 0.4,\n ignoreLocation: true,\n keys: [FuseSearchKeys.text, FuseSearchKeys.label, FuseSearchKeys.tags],\n })\n\n return (pattern: string): DropdownOption[] =>\n pattern.length === 0 ? options : fuse.search(pattern).map((result) => result.item)\n }, [options])\n\n const [dropdownSelectedOption, setDropdownSelectedOption] = useState<DropdownOption[]>(() =>\n getDropdownSelectedOption(selectedOption !== undefined ? selectedOption : defaultSelectedOption, multiple)\n )\n\n const [inputText, setInputText] = useState<string>(() => getDropdownInputText(dropdownSelectedOption, multiple))\n\n const [focusWithin, setFocusWithin] = useState<boolean>(false)\n\n const [menuRelevantOptions, setMenuRelevantOptions] = useState<DropdownOption[]>(() =>\n getRelevantOptions(inputText)\n )\n\n const [menuOpenRequest, setMenuOpenRequest] = useState<boolean>(false)\n\n const menuOptionsGroups: ReturnType<typeof groupDropdownOptions> = multiple\n ? groupDropdownOptions(options, dropdownSelectedOption)\n : [[], []]\n\n const menuOpen = menuOpenRequest && !rootProps.disabled\n\n const inputSynced = inputText === getDropdownInputText(dropdownSelectedOption)\n const inputRequired = required && dropdownSelectedOption.length === 0\n const inputActive = Boolean(menuOpen || inputText || focusWithin)\n\n const multiToggleChecked = menuOptionsGroups[0].length > 0 && menuOptionsGroups[1].length === 0\n const multiToggleIndeterminate = menuOptionsGroups[0].length > 0 && menuOptionsGroups[1].length > 0\n\n const inputRef = useRef<HTMLInputElement>(null)\n const [menuRef, setMenuRef] = useState<Nullable<HTMLElement>>(null)\n const menuListRef = useRef<HTMLUListElement>(null)\n const selectedOptionRef = useRef<HTMLElement>(null)\n\n const timeoutIdRef = useRef<Nullable<ReturnType<typeof setTimeout>>>(null)\n\n const inputTextPrevRef = useRef<string>(inputText)\n const menuOpenPrevRef = useRef<boolean>(menuOpen)\n\n useScrollMonitor({\n target: scrollMonitorTarget,\n onScrollStart: () => {\n if (closeMenuOnScroll && menuOpen) {\n inputRef.current?.focus()\n setMenuOpenRequest(false)\n }\n },\n })\n\n useEffect(() => {\n if (inputText === inputTextPrevRef.current) {\n setMenuRelevantOptions(getRelevantOptions(inputText))\n } else {\n inputTextPrevRef.current = inputText\n timeoutIdRef.current = setTimeout(() => {\n setMenuRelevantOptions(getRelevantOptions(inputText))\n }, 150)\n }\n\n return () => {\n if (timeoutIdRef.current) {\n clearTimeout(timeoutIdRef.current)\n }\n }\n }, [getRelevantOptions, inputText])\n\n useLayoutEffect(() => {\n if (selectedOption === undefined) return\n\n if (!multiple) setInputText(getDropdownInputText(selectedOption))\n setDropdownSelectedOption(getDropdownSelectedOption(selectedOption, multiple))\n }, [multiple, selectedOption])\n\n useEffect(() => {\n if (menuOpen === menuOpenPrevRef.current) return\n\n if (menuOpen && onOpenMenu) onOpenMenu()\n if (!menuOpen && onCloseMenu) onCloseMenu()\n\n menuOpenPrevRef.current = menuOpen\n }, [menuOpen, onCloseMenu, onOpenMenu])\n\n useEffect(() => {\n if (!multiple && !disableAutoScrollToSelectedOption && menuOpen && menuRef && selectedOptionRef.current) {\n const menuRect = menuRef.getBoundingClientRect()\n const selectedOptionRect = selectedOptionRef.current.getBoundingClientRect()\n\n if (selectedOptionRect.top < menuRect.top || selectedOptionRect.bottom > menuRect.bottom) {\n setTimeout(() => {\n if (menuRef && selectedOptionRef.current) {\n menuRef.scrollTo(0, selectedOptionRef.current.offsetTop)\n }\n }, 0)\n }\n }\n }, [multiple, disableAutoScrollToSelectedOption, menuOpen, menuRef])\n\n return (\n <FormInputLabel\n {...rootProps}\n {...sizeProps}\n ref={ref}\n id={formInputLabelId}\n labelId={inputLabelId}\n labelPosition={labelPosition}\n active={inputActive}\n onColored={contrast}\n primary={primary}\n error={status === 'error'}\n success={status === 'success'}\n focus={focusWithin}\n icon={[icon, <Styled.ChevronIcon key='chevron' up={menuOpen} />]}\n iconProps={{\n ...sizeProps,\n ...iconBaseProps,\n ...iconProps,\n }}\n palette={{\n color: rootProps.disabled ? palette.labelColorDisabled : palette.labelColor,\n backgroundColor: rootProps.disabled ? palette.backgroundColorDisabled : palette.backgroundColor,\n backgroundColorHover: rootProps.disabled ? palette.backgroundColorDisabled : palette.backgroundColorHover,\n borderColor: rootProps.disabled ? palette.borderColorDisabled : palette.borderColor,\n }}\n onClick={(evt) => {\n if (rootProps.onClick) rootProps.onClick(evt)\n\n if (rootProps.disabled) return\n\n inputRef.current?.focus()\n\n if (!menuOpen) {\n setMenuOpenRequest(true)\n\n if (searchable && !multiple && inputSynced) {\n setInputText('')\n setMenuRelevantOptions(getRelevantOptions(''))\n }\n } else if (menuRef && evt.target instanceof Node && !menuRef.contains(evt.target)) {\n setMenuOpenRequest(false)\n }\n }}\n onPointerDown={(evt) => {\n if (rootProps.onPointerDown) rootProps.onPointerDown(evt)\n\n if (\n evt.target !== inputRef.current &&\n evt.target instanceof Node &&\n (evt.currentTarget.contains(evt.target) ||\n (menuProps.renderInPortal && menuOpen && menuRef && menuRef.contains(evt.target)))\n ) {\n evt.preventDefault()\n }\n }}\n onFocus={(evt) => {\n if (rootProps.onFocus) rootProps.onFocus(evt)\n\n setFocusWithin(true)\n\n if (\n inputRef.current &&\n evt.target === inputRef.current &&\n searchable &&\n !multiple &&\n inputSynced &&\n !menuOpen\n ) {\n setInputText('')\n setMenuRelevantOptions(getRelevantOptions(''))\n }\n }}\n onBlur={(evt) => {\n if (rootProps.onBlur) rootProps.onBlur(evt)\n\n if (\n evt.currentTarget.contains(evt.relatedTarget) ||\n (menuProps.renderInPortal && menuOpen && menuRef && menuRef.contains(evt.relatedTarget))\n ) {\n return\n }\n\n setFocusWithin(false)\n setInputText(getDropdownInputText(dropdownSelectedOption, multiple))\n setMenuOpenRequest(false)\n }}\n input={\n <>\n {inputRequired && !searchable && !readOnly && (\n <Styled.InputMimic\n required\n type='text'\n inputMode='none'\n form={form}\n tabIndex={-1}\n onFocus={() => {\n inputRef.current?.focus()\n }}\n />\n )}\n <FormInput\n ref={inputRef}\n role='combobox'\n aria-controls={menuListId}\n aria-expanded={menuOpen}\n aria-labelledby={rootProps.label ? inputLabelId : undefined}\n type='text'\n autoComplete='off'\n autoCapitalize='off'\n autoCorrect='off'\n spellCheck='false'\n form={form}\n autoFocus={autoFocus}\n inputMode={searchable ? inputMode : 'none'}\n maxLength={maxLength}\n placeholder={placeholder}\n readOnly={readOnly || !searchable}\n required={inputRequired}\n disabled={rootProps.disabled}\n value={inputText}\n palette={{\n color: palette.color,\n colorDisabled: palette.colorDisabled,\n placeholderColor: palette.placeholderColor,\n placeholderColorDisabled: palette.placeholderColorDisabled,\n }}\n onClick={(evt) => {\n if (menuOpen && evt.currentTarget.selectionStart !== evt.currentTarget.selectionEnd) {\n evt.stopPropagation()\n }\n }}\n onChange={(evt) => {\n setInputText(evt.currentTarget.value)\n setMenuOpenRequest(true)\n }}\n onKeyDown={(evt) => {\n if (keyboardKeys.Enter.validate(evt.key)) {\n setInputText(getDropdownInputText(dropdownSelectedOption, multiple))\n setMenuOpenRequest(false)\n }\n\n if (keyboardKeys.Space.validate(evt.key) && (!menuOpen || evt.currentTarget.selectionStart === 0)) {\n evt.preventDefault()\n\n if (searchable && !multiple && inputSynced && !menuOpen) {\n setInputText('')\n setMenuRelevantOptions(getRelevantOptions(''))\n }\n\n setMenuOpenRequest((prev) => !prev)\n }\n\n if (keyboardKeys.Esc.validate(evt.key)) {\n setMenuOpenRequest(false)\n }\n\n if (keyboardKeys.Tab.validate(evt.key) && menuOpen) {\n evt.preventDefault()\n setMenuOpenRequest(false)\n }\n\n if (keyboardKeys.ArrowDown.validate(evt.key) && menuOpen && menuListRef.current) {\n evt.preventDefault()\n\n if (!multiple && selectedOptionRef.current) {\n const menuItems = [...menuListRef.current.children]\n\n const idx = menuItems.findIndex((item) => item.contains(selectedOptionRef.current as Node))\n\n const focusTarget = menuItems[idx + 1] ?? menuItems[0]\n\n if (focusTarget instanceof HTMLElement) {\n focusFirstFocusable(focusTarget)\n }\n } else {\n focusFirstFocusable(menuListRef.current)\n }\n }\n\n if (keyboardKeys.ArrowUp.validate(evt.key) && menuOpen && menuListRef.current) {\n evt.preventDefault()\n\n if (!multiple && selectedOptionRef.current) {\n const menuItems = [...menuListRef.current.children]\n\n const idx = menuItems.findIndex((item) => item.contains(selectedOptionRef.current as Node))\n\n const focusTarget = menuItems[idx - 1] ?? menuItems[menuItems.length - 1]\n\n if (focusTarget instanceof HTMLElement) {\n focusFirstFocusable(focusTarget)\n }\n } else {\n focusLastFocusable(menuListRef.current)\n }\n }\n }}\n />\n {dropdownSelectedOption.map((item) => (\n <input\n key={item.value}\n type='hidden'\n name={name}\n value={item.value}\n form={form}\n disabled={rootProps.disabled}\n />\n ))}\n </>\n }\n addon={\n <>\n {multiple && dropdownSelectedOption.length > 0 && (\n <Chip\n size='xs'\n active\n black\n marginLeft={12}\n disabled={rootProps.disabled}\n cursor={rootProps.disabled ? 'not-allowed' : undefined}\n text={dropdownSelectedOption.length}\n textProps={{\n appearance: 'caption',\n size: 'xs',\n }}\n palette={\n rootProps.disabled\n ? {\n color: 'content-disabled',\n colorHover: 'content-disabled',\n backgroundColor: 'bg-disabled-small',\n backgroundColorHover: 'bg-disabled-small',\n }\n : undefined\n }\n onPointerDown={(evt) => {\n evt.preventDefault()\n }}\n discardButtonProps={{\n square: true,\n contrast: !rootProps.disabled,\n onClick: (evt) => {\n evt.stopPropagation()\n\n if (!readOnly) {\n if (selectedOption === undefined) {\n setDropdownSelectedOption([])\n }\n\n if (onSelectOption) onSelectOption(multiple ? [] : null)\n\n inputRef.current?.focus()\n setMenuOpenRequest(true)\n }\n },\n }}\n />\n )}\n {!multiple && clearable && dropdownSelectedOption.length > 0 && (\n <IconButton\n icon='close'\n size='l'\n square\n marginLeft={12}\n disabled={rootProps.disabled}\n onClick={(evt) => {\n evt.stopPropagation()\n\n if (!readOnly) {\n if (inputSynced) {\n setInputText('')\n setMenuRelevantOptions(getRelevantOptions(''))\n }\n\n if (selectedOption === undefined) {\n setDropdownSelectedOption([])\n }\n\n if (onSelectOption) onSelectOption(multiple ? [] : null)\n\n inputRef.current?.focus()\n setMenuOpenRequest(true)\n }\n }}\n />\n )}\n </>\n }\n dropdown={\n <DropdownMenu\n {...menuProps}\n setRef={setMenuRef}\n open={menuOpen}\n popperReferenceId={formInputLabelId}\n secondary={!contrast}\n elevated={contrast}\n disableAutoFocus\n palette={{\n backgroundColor: palette.menuBackgroundColor,\n borderColor: palette.menuBorderColor,\n }}\n empty={menuRelevantOptions.length === 0}\n loading={loading}\n loadingMessage={loadingMessage}\n loadingIcon={loadingIcon}\n loadingIconProps={{\n ...sizeProps,\n ...iconBaseProps,\n ...loadingIconProps,\n }}\n emptyMessage={optionsEmptyMessage}\n emptyIcon={optionsEmptyIcon}\n emptyIconProps={{\n ...sizeProps,\n ...iconBaseProps,\n ...optionsEmptyIconProps,\n }}\n onKeyDown={(evt) => {\n if (keyboardKeys.Tab.validate(evt.key)) {\n evt.preventDefault()\n inputRef.current?.focus()\n setMenuOpenRequest(false)\n }\n\n if (keyboardKeys.Enter.validate(evt.key)) {\n inputRef.current?.focus()\n setInputText(getDropdownInputText(dropdownSelectedOption, multiple))\n setMenuOpenRequest(false)\n }\n\n if (keyboardKeys.Esc.validate(evt.key)) {\n inputRef.current?.focus()\n setMenuOpenRequest(false)\n }\n\n if (keyboardKeys.Backspace.validate(evt.key) && !readOnly && (multiple || (!multiple && clearable))) {\n if (selectedOption === undefined) {\n setDropdownSelectedOption([])\n }\n\n if (onSelectOption) onSelectOption(multiple ? [] : null)\n }\n }}\n >\n {multiple ? (\n <MenuList\n ref={menuListRef}\n id={menuListId}\n role='listbox'\n aria-labelledby={rootProps.label ? inputLabelId : undefined}\n aria-multiselectable\n >\n {inputText.length === 0 ? (\n <>\n {optionsMultiToggle && (\n <ListItem\n {...sizeProps}\n text={optionsMultiToggleCaption}\n disabled={rootProps.disabled}\n borderRadius={8}\n ellipsis={false}\n textProps={{ wordBreak: 'break-word' }}\n onClick={(evt) => {\n evt.stopPropagation()\n }}\n control={\n <InputCheckbox\n sizes={SIZES_CHECKBOX}\n form='none'\n name={name}\n checked={multiToggleChecked}\n indeterminate={multiToggleIndeterminate}\n error={(multiToggleChecked || multiToggleIndeterminate) && status === 'error'}\n success={(multiToggleChecked || multiToggleIndeterminate) && status === 'success'}\n onChange={() => {\n if (!readOnly) {\n const update = multiToggleChecked || multiToggleIndeterminate ? [] : [...options]\n\n if (selectedOption === undefined) {\n setDropdownSelectedOption(update)\n }\n\n if (onSelectOption) onSelectOption(update)\n }\n }}\n />\n }\n />\n )}\n {optionsMultiToggle && <MenuDivider />}\n {groupSelectedOptions &&\n menuOptionsGroups[0].map((option) => {\n const optionStatus = option.status ?? status\n const optionErrorStatus = optionStatus === 'error'\n const optionSuccessStatus = optionStatus === 'success'\n\n return (\n <ListItem\n {...sizeProps}\n key={option.value}\n active\n text={option.text}\n danger={optionErrorStatus}\n success={optionSuccessStatus}\n disabled={rootProps.disabled}\n borderRadius={8}\n ellipsis={false}\n textProps={{ wordBreak: 'break-word' }}\n onClick={(evt) => {\n evt.stopPropagation()\n inputRef.current?.focus()\n }}\n control={\n <InputCheckbox\n sizes={SIZES_CHECKBOX}\n form='none'\n role='option'\n aria-selected\n name={name}\n value={option.value}\n checked\n error={optionErrorStatus}\n success={optionSuccessStatus}\n onChange={(evt) => {\n if (!readOnly) {\n const update = dropdownSelectedOption.filter(\n (item) => item.value !== evt.currentTarget.value\n )\n\n if (selectedOption === undefined) {\n setDropdownSelectedOption(update)\n }\n\n if (onSelectOption) onSelectOption(update)\n }\n }}\n />\n }\n />\n )\n })}\n {groupSelectedOptions && menuOptionsGroups[0].length > 0 && menuOptionsGroups[1].length > 0 && (\n <MenuDivider />\n )}\n {groupSelectedOptions &&\n menuOptionsGroups[1].map((option) => (\n <ListItem\n {...sizeProps}\n key={option.value}\n text={option.text}\n disabled={rootProps.disabled}\n borderRadius={8}\n ellipsis={false}\n textProps={{ wordBreak: 'break-word' }}\n onClick={(evt) => {\n evt.stopPropagation()\n inputRef.current?.focus()\n }}\n control={\n <InputCheckbox\n sizes={SIZES_CHECKBOX}\n form='none'\n role='option'\n aria-selected={false}\n name={name}\n value={option.value}\n checked={false}\n onChange={() => {\n if (!readOnly) {\n const update = [...dropdownSelectedOption, option]\n\n if (selectedOption === undefined) {\n setDropdownSelectedOption(update)\n }\n\n if (onSelectOption) onSelectOption(update)\n }\n }}\n />\n }\n />\n ))}\n {!groupSelectedOptions &&\n options.map((option) => {\n const selected = dropdownSelectedOption.findIndex((item) => item.value === option.value) !== -1\n\n const optionStatus = option.status ?? status\n const optionErrorStatus = selected && optionStatus === 'error'\n const optionSuccessStatus = selected && optionStatus === 'success'\n\n return (\n <ListItem\n {...sizeProps}\n key={option.value}\n text={option.text}\n danger={optionErrorStatus}\n success={optionSuccessStatus}\n disabled={rootProps.disabled}\n active={selected}\n borderRadius={8}\n ellipsis={false}\n textProps={{ wordBreak: 'break-word' }}\n onClick={(evt) => {\n evt.stopPropagation()\n }}\n control={\n <InputCheckbox\n sizes={SIZES_CHECKBOX}\n form='none'\n role='option'\n aria-selected={selected}\n name={name}\n value={option.value}\n checked={selected}\n error={optionErrorStatus}\n success={optionSuccessStatus}\n onChange={(evt) => {\n if (!readOnly) {\n const update = selected\n ? dropdownSelectedOption.filter((item) => item.value !== evt.currentTarget.value)\n : [...dropdownSelectedOption, option]\n\n if (selectedOption === undefined) {\n setDropdownSelectedOption(update)\n }\n\n if (onSelectOption) onSelectOption(update)\n }\n }}\n />\n }\n />\n )\n })}\n </>\n ) : (\n <>\n {menuRelevantOptions.map((option) => {\n const selected = dropdownSelectedOption.findIndex((item) => item.value === option.value) !== -1\n\n const optionStatus = option.status ?? status\n const optionErrorStatus = selected && optionStatus === 'error'\n const optionSuccessStatus = selected && optionStatus === 'success'\n\n return (\n <ListItem\n {...sizeProps}\n key={option.value}\n text={option.text}\n danger={optionErrorStatus}\n success={optionSuccessStatus}\n disabled={rootProps.disabled}\n active={selected}\n borderRadius={8}\n ellipsis={false}\n textProps={{ wordBreak: 'break-word' }}\n onClick={(evt) => {\n evt.stopPropagation()\n }}\n control={\n <InputCheckbox\n sizes={SIZES_CHECKBOX}\n form='none'\n role='option'\n aria-selected={selected}\n name={name}\n value={option.value}\n checked={selected}\n error={optionErrorStatus}\n success={optionSuccessStatus}\n onChange={(evt) => {\n if (!readOnly) {\n const update = selected\n ? dropdownSelectedOption.filter((item) => item.value !== evt.currentTarget.value)\n : [...dropdownSelectedOption, option]\n\n if (selectedOption === undefined) {\n setDropdownSelectedOption(update)\n }\n\n if (onSelectOption) onSelectOption(update)\n }\n }}\n />\n }\n />\n )\n })}\n </>\n )}\n </MenuList>\n ) : (\n <MenuList\n ref={menuListRef}\n id={menuListId}\n role='listbox'\n aria-labelledby={rootProps.label ? inputLabelId : undefined}\n >\n {(searchable ? menuRelevantOptions : options).map((option) => {\n const selected = dropdownSelectedOption.findIndex((item) => item.value === option.value) !== -1\n\n return (\n <ListItem\n {...sizeProps}\n role='option'\n aria-selected={selected}\n ref={selected ? selectedOptionRef : undefined}\n key={option.value}\n text={option.text}\n active={selected}\n danger={selected && status === 'error'}\n success={selected && status === 'success'}\n disabled={rootProps.disabled}\n borderRadius={8}\n ellipsis={false}\n textProps={{ wordBreak: 'break-word' }}\n onClick={(evt) => {\n evt.stopPropagation()\n\n if (!readOnly) {\n const update = { ...option }\n\n if (selectedOption === undefined) {\n setInputText(getDropdownInputText(update))\n setDropdownSelectedOption(getDropdownSelectedOption(update))\n }\n\n if (onSelectOption) onSelectOption(update)\n\n inputRef.current?.focus()\n setMenuOpenRequest(false)\n }\n }}\n />\n )\n })}\n </MenuList>\n )}\n </DropdownMenu>\n }\n />\n )\n }),\n {\n sizes: SIZES,\n displayName: COMPONENT_NAME,\n }\n)\n\nexport { Dropdown, COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","Dropdown","withMergedProps","forwardRef","props","ref","size","name","labelPosition","searchable","primary","optionsMultiToggle","loading","iconProps","menuProps","loadingIconProps","optionsEmptyIconProps","autoFocus","disableAutoScrollToSelectedOption","closeMenuOnScroll","scrollMonitorTarget","contrast","selectedOption","defaultSelectedOption","icon","inputMode","loadingMessage","loadingIcon","maxLength","multiple","clearable","onCloseMenu","onOpenMenu","onSelectOption","options","groupSelectedOptions","optionsMultiToggleCaption","optionsEmptyMessage","optionsEmptyIcon","palette","placeholder","readOnly","required","status","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","form","rootProps","sizeProps","iconBaseProps","sizes","SIZES_ICON","color","disabled","formInputLabelId","useMemo","id","nanoid","inputLabelId","menuListId","getRelevantOptions","fuse","Fuse","threshold","ignoreLocation","keys","FuseSearchKeys","text","label","tags","pattern","length","search","map","result","item","dropdownSelectedOption","setDropdownSelectedOption","useState","getDropdownSelectedOption","undefined","inputText","setInputText","getDropdownInputText","focusWithin","setFocusWithin","menuRelevantOptions","setMenuRelevantOptions","menuOpenRequest","setMenuOpenRequest","menuOptionsGroups","groupDropdownOptions","menuOpen","inputSynced","inputRequired","inputActive","Boolean","multiToggleChecked","multiToggleIndeterminate","inputRef","useRef","menuRef","setMenuRef","menuListRef","selectedOptionRef","timeoutIdRef","inputTextPrevRef","menuOpenPrevRef","useScrollMonitor","target","onScrollStart","current","focus","useEffect","setTimeout","clearTimeout","useLayoutEffect","menuRect","getBoundingClientRect","selectedOptionRect","top","bottom","scrollTo","offsetTop","_jsx","FormInputLabel","labelId","active","onColored","error","success","Styled","up","labelColorDisabled","labelColor","backgroundColor","backgroundColorDisabled","backgroundColorHover","borderColor","borderColorDisabled","onClick","evt","Node","contains","onPointerDown","currentTarget","renderInPortal","preventDefault","onFocus","onBlur","relatedTarget","input","_jsxs","_Fragment","children","type","tabIndex","FormInput","role","autoComplete","autoCapitalize","autoCorrect","spellCheck","value","colorDisabled","placeholderColor","placeholderColorDisabled","selectionStart","selectionEnd","stopPropagation","onChange","onKeyDown","keyboardKeys","Enter","validate","key","Space","prev","Esc","Tab","ArrowDown","menuItems","idx","findIndex","focusTarget","HTMLElement","focusFirstFocusable","ArrowUp","focusLastFocusable","addon","Chip","black","marginLeft","cursor","textProps","appearance","colorHover","discardButtonProps","square","IconButton","dropdown","DropdownMenu","setRef","open","popperReferenceId","secondary","elevated","disableAutoFocus","menuBackgroundColor","menuBorderColor","empty","emptyMessage","emptyIcon","emptyIconProps","Backspace","MenuList","ListItem","borderRadius","ellipsis","wordBreak","control","InputCheckbox","SIZES_CHECKBOX","checked","indeterminate","update","MenuDivider","option","optionStatus","optionErrorStatus","optionSuccessStatus","_createElement","danger","filter","selected","SIZES","displayName"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- 'use strict';var React=require('react');var Floater=require('react-floater');var withMergedProps=require('../../hocs/withMergedProps.js');var DropdownMenuNoOptions=require('./DropdownMenuNoOptions.js');var constants=require('./constants.js');var require$$0=require('react/jsx-runtime');var MenuComponent=require('../MenuComponent/MenuComponent.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Floater__default=_interopDefault(Floater);const DropdownMenu=withMergedProps.withMergedProps((e=>{const{size:t="fluid",open:o,loading:n,loadingMessage:r,loadingIcon:s,loadingIconProps:p,emptyMessage:a,emptyIcon:l,emptyIconProps:i,empty:u,children:c,renderInPortal:d,popperReferenceId:m,expanseDirectionLeft:f,setRef:y,zIndex:M,...h}=e;const w={loading:n,loadingMessage:r,loadingIcon:s,loadingIconProps:p,emptyMessage:a,emptyIcon:l,emptyIconProps:i};const g=u||n;const[q,D]=React.useState(null);const[$,x]=React.useState({});const v=React.useRef(null);return React.useLayoutEffect((()=>{let e=null;return d?(e=document.createElement('div'),e.dataset.popperDropdownPortal='true',e.style.position='relative',document.body.appendChild(e),D(e)):D(null),()=>{e&&document.body.contains(e)&&e.childElementCount===0&&e.remove()}}),[d]),React.useLayoutEffect((()=>{x((e=>({...e,left:f?'auto':0,right:f?0:'auto'})))}),[f]),d?q?require$$0.jsx(Floater__default.default,{open:o,placement:"bottom",offset:8,hideArrow:!0,portalElement:q,target:`#${m}`,styles:{options:{zIndex:M},floater:{width:'100%',filter:'none',opacity:1,transitionDuration:'10ms'}},modifiers:{removeFloaterRoles:{name:'removeFloaterRoles',enabled:!0,phase:'beforeWrite',effect:({state:e})=>{if(e.elements.popper instanceof HTMLElement){const t=e.elements.popper.querySelector('[role="tooltip"]');t&&t.removeAttribute('role')}}},syncDimensions:{name:'syncDimensions',enabled:!0,phase:'beforeWrite',requires:['computeStyles'],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>{if(e.elements.popper instanceof HTMLElement&&e.elements.reference instanceof HTMLElement){e.elements.popper.style.display='flex',e.elements.popper.style.width=`${e.elements.reference.offsetWidth}px`;const t=e.elements.popper.querySelector('[data-popper-dropdown]');t&&(e.elements.popper.style.height=`${t.offsetHeight}px`)}}},syncPlacement:{name:'syncPlacement',enabled:!0,phase:'afterWrite',requires:['computeStyles'],fn:({state:e})=>{v.current!==null&&v.current===e.placement||x((t=>({...t,top:e.placement==='bottom'?0:'auto',bottom:e.placement==='top'?0:'auto'}))),v.current=e.placement}}},component:()=>require$$0.jsx(MenuComponent.MenuComponent,{...h,size:t,ref:y,"data-popper-dropdown":!0,style:{...$,position:'absolute'},children:g?require$$0.jsx(DropdownMenuNoOptions.DropdownMenuNoOptions,{...w}):c})}):null:o?require$$0.jsx(MenuComponent.MenuComponent,{...h,size:t,ref:y,style:{...$,position:'absolute',top:0,zIndex:M},children:g?require$$0.jsx(DropdownMenuNoOptions.DropdownMenuNoOptions,{...w}):c}):null}),{sizes:constants.SIZES_MENU,displayName:'DropdownMenu'});exports.DropdownMenu=DropdownMenu;
1
+ 'use strict';var React=require('react');var Floater=require('react-floater');var withMergedProps=require('../../hocs/withMergedProps.js');var DropdownMenuNoOptions=require('./DropdownMenuNoOptions.js');var constants=require('./constants.js');var jsxRuntime=require('react/jsx-runtime');var MenuComponent=require('../MenuComponent/MenuComponent.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Floater__default=_interopDefault(Floater);const DropdownMenu=withMergedProps.withMergedProps((e=>{const{size:t="fluid",open:o,loading:n,loadingMessage:r,loadingIcon:s,loadingIconProps:p,emptyMessage:a,emptyIcon:l,emptyIconProps:i,empty:u,children:c,renderInPortal:d,popperReferenceId:m,expanseDirectionLeft:f,setRef:y,zIndex:M,...h}=e;const w={loading:n,loadingMessage:r,loadingIcon:s,loadingIconProps:p,emptyMessage:a,emptyIcon:l,emptyIconProps:i};const x=u||n;const[g,D]=React.useState(null);const[R,j]=React.useState({});const b=React.useRef(null);return React.useLayoutEffect((()=>{let e=null;return d&&document.body?(e=document.createElement('div'),e.dataset.popperDropdownPortal='true',e.style.position='relative',document.body.appendChild(e),D(e)):D(null),()=>{e&&document.body&&document.body.contains(e)&&e.childElementCount===0&&e.remove()}}),[d]),React.useLayoutEffect((()=>{j((e=>({...e,left:f?'auto':0,right:f?0:'auto'})))}),[f]),d?g?jsxRuntime.jsx(Floater__default.default,{open:o,placement:"bottom",offset:8,hideArrow:!0,portalElement:g,target:`#${m}`,styles:{options:{zIndex:M},floater:{width:'100%',filter:'none',opacity:1,transitionDuration:'10ms'}},modifiers:{removeFloaterRoles:{name:'removeFloaterRoles',enabled:!0,phase:'beforeWrite',effect:({state:e})=>{if(e.elements.popper instanceof HTMLElement){const t=e.elements.popper.querySelector('[role="tooltip"]');t&&t.removeAttribute('role')}}},syncDimensions:{name:'syncDimensions',enabled:!0,phase:'beforeWrite',requires:['computeStyles'],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>{if(e.elements.popper instanceof HTMLElement&&e.elements.reference instanceof HTMLElement){e.elements.popper.style.display='flex',e.elements.popper.style.width=`${e.elements.reference.offsetWidth}px`;const t=e.elements.popper.querySelector('[data-popper-dropdown]');t&&(e.elements.popper.style.height=`${t.offsetHeight}px`)}}},syncPlacement:{name:'syncPlacement',enabled:!0,phase:'afterWrite',requires:['computeStyles'],fn:({state:e})=>{b.current!==null&&b.current===e.placement||j((t=>({...t,top:e.placement==='bottom'?0:'auto',bottom:e.placement==='top'?0:'auto'}))),b.current=e.placement}}},component:()=>jsxRuntime.jsx(MenuComponent.MenuComponent,{...h,size:t,ref:y,"data-popper-dropdown":!0,style:{...R,position:'absolute'},children:x?jsxRuntime.jsx(DropdownMenuNoOptions.DropdownMenuNoOptions,{...w}):c})}):null:o?jsxRuntime.jsx(MenuComponent.MenuComponent,{...h,size:t,ref:y,style:{...R,position:'absolute',top:0,zIndex:M},children:x?jsxRuntime.jsx(DropdownMenuNoOptions.DropdownMenuNoOptions,{...w}):c}):null}),{sizes:constants.SIZES_MENU,displayName:'DropdownMenu'});exports.DropdownMenu=DropdownMenu;
2
2
  //# sourceMappingURL=DropdownMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.js","sources":["../../../../src/components/Dropdown/DropdownMenu.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { useState, useRef, useLayoutEffect } from 'react'\nimport Floater from 'react-floater'\nimport type { CSSProperties } from 'react'\nimport type { PlacementOptions } from 'react-floater/lib/types'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { MenuComponent } from 'components/MenuComponent'\nimport type { Nullable } from 'shared/types'\nimport { DropdownMenuNoOptions } from './DropdownMenuNoOptions'\nimport { SIZES_MENU } from './constants'\nimport type { DropdownMenuProps } from './types'\n\nconst COMPONENT_NAME = 'DropdownMenu'\n\nconst DropdownMenu: React.ForwardRefExoticComponent<DropdownMenuProps> = withMergedProps<\n DropdownMenuProps,\n HTMLDivElement\n>(\n (props) => {\n const {\n size = 'fluid',\n open,\n loading,\n loadingMessage,\n loadingIcon,\n loadingIconProps,\n emptyMessage,\n emptyIcon,\n emptyIconProps,\n empty,\n children,\n renderInPortal,\n popperReferenceId,\n expanseDirectionLeft,\n setRef,\n zIndex,\n ...restProps\n } = props\n\n const noOptionsMenuProps = {\n loading,\n loadingMessage,\n loadingIcon,\n loadingIconProps,\n emptyMessage,\n emptyIcon,\n emptyIconProps,\n }\n\n const renderNoOptionsMenu = empty || loading\n\n const [portal, setPortal] = useState<Nullable<HTMLElement>>(null)\n const [offset, setOffset] = useState<Pick<CSSProperties, 'top' | 'right' | 'bottom' | 'left'>>({})\n\n const placement = useRef<Nullable<PlacementOptions>>(null)\n\n useLayoutEffect(() => {\n let portalElement: Nullable<HTMLElement> = null\n\n if (renderInPortal) {\n portalElement = document.createElement('div')\n\n portalElement.dataset.popperDropdownPortal = 'true'\n portalElement.style.position = 'relative'\n\n document.body.appendChild(portalElement)\n\n setPortal(portalElement)\n } else {\n setPortal(null)\n }\n\n return () => {\n if (portalElement && document.body.contains(portalElement) && portalElement.childElementCount === 0) {\n portalElement.remove()\n }\n }\n }, [renderInPortal])\n\n useLayoutEffect(() => {\n setOffset((prev) => ({\n ...prev,\n left: expanseDirectionLeft ? 'auto' : 0,\n right: expanseDirectionLeft ? 0 : 'auto',\n }))\n }, [expanseDirectionLeft])\n\n if (renderInPortal) {\n if (!portal) {\n return null\n }\n\n return (\n <Floater\n open={open}\n placement='bottom'\n offset={8}\n hideArrow\n portalElement={portal}\n target={`#${popperReferenceId}`}\n styles={{\n options: {\n zIndex,\n },\n floater: {\n width: '100%',\n filter: 'none',\n opacity: 1,\n transitionDuration: '10ms',\n },\n }}\n modifiers={{\n // @ts-ignore\n removeFloaterRoles: {\n name: 'removeFloaterRoles',\n enabled: true,\n phase: 'beforeWrite',\n // @ts-ignore\n effect: ({ state }) => {\n if (state.elements.popper instanceof HTMLElement) {\n const floaterElement = state.elements.popper.querySelector('[role=\"tooltip\"]')\n if (floaterElement) {\n floaterElement.removeAttribute('role')\n }\n }\n },\n },\n syncDimensions: {\n name: 'syncDimensions',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n // @ts-ignore\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`\n },\n // @ts-ignore\n effect: ({ state }) => {\n if (state.elements.popper instanceof HTMLElement && state.elements.reference instanceof HTMLElement) {\n state.elements.popper.style.display = 'flex'\n state.elements.popper.style.width = `${state.elements.reference.offsetWidth}px`\n\n const menuElement = state.elements.popper.querySelector('[data-popper-dropdown]')\n if (menuElement) {\n state.elements.popper.style.height = `${menuElement.offsetHeight}px`\n }\n }\n },\n },\n // @ts-ignore\n syncPlacement: {\n name: 'syncPlacement',\n enabled: true,\n phase: 'afterWrite',\n requires: ['computeStyles'],\n // @ts-ignore\n fn: ({ state }) => {\n if (placement.current === null || placement.current !== state.placement) {\n setOffset((prev) => ({\n ...prev,\n top: state.placement === 'bottom' ? 0 : 'auto',\n bottom: state.placement === 'top' ? 0 : 'auto',\n }))\n }\n\n placement.current = state.placement\n },\n },\n }}\n component={() => (\n <MenuComponent\n {...restProps}\n size={size}\n ref={setRef}\n data-popper-dropdown\n style={{\n ...offset,\n position: 'absolute',\n }}\n >\n {renderNoOptionsMenu ? <DropdownMenuNoOptions {...noOptionsMenuProps} /> : children}\n </MenuComponent>\n )}\n />\n )\n }\n\n if (!open) {\n return null\n }\n\n return (\n <MenuComponent\n {...restProps}\n size={size}\n ref={setRef}\n style={{\n ...offset,\n position: 'absolute',\n top: 0,\n zIndex,\n }}\n >\n {renderNoOptionsMenu ? <DropdownMenuNoOptions {...noOptionsMenuProps} /> : children}\n </MenuComponent>\n )\n },\n {\n sizes: SIZES_MENU,\n displayName: COMPONENT_NAME,\n }\n)\n\nexport { DropdownMenu }\n"],"names":["DropdownMenu","withMergedProps","props","size","open","loading","loadingMessage","loadingIcon","loadingIconProps","emptyMessage","emptyIcon","emptyIconProps","empty","children","renderInPortal","popperReferenceId","expanseDirectionLeft","setRef","zIndex","restProps","noOptionsMenuProps","renderNoOptionsMenu","portal","setPortal","useState","offset","setOffset","placement","useRef","useLayoutEffect","portalElement","document","createElement","dataset","popperDropdownPortal","style","position","body","appendChild","contains","childElementCount","remove","prev","left","right","_jsx","Floater","hideArrow","target","styles","options","floater","width","filter","opacity","transitionDuration","modifiers","removeFloaterRoles","name","enabled","phase","effect","state","elements","popper","HTMLElement","floaterElement","querySelector","removeAttribute","syncDimensions","requires","fn","rects","reference","display","offsetWidth","menuElement","height","offsetHeight","syncPlacement","current","top","bottom","component","jsx","MenuComponent","ref","DropdownMenuNoOptions","sizes","SIZES_MENU","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownMenu.js","sources":["../../../../src/components/Dropdown/DropdownMenu.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { useState, useRef, useLayoutEffect } from 'react'\nimport Floater from 'react-floater'\nimport type { CSSProperties } from 'react'\nimport type { Placement } from 'react-floater'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { MenuComponent } from 'components/MenuComponent'\nimport type { Nullable } from 'shared/types'\nimport { DropdownMenuNoOptions } from './DropdownMenuNoOptions'\nimport { SIZES_MENU } from './constants'\nimport type { DropdownMenuProps } from './types'\n\nconst COMPONENT_NAME = 'DropdownMenu'\n\nconst DropdownMenu: React.ForwardRefExoticComponent<DropdownMenuProps> = withMergedProps<\n DropdownMenuProps,\n HTMLDivElement\n>(\n (props) => {\n const {\n size = 'fluid',\n open,\n loading,\n loadingMessage,\n loadingIcon,\n loadingIconProps,\n emptyMessage,\n emptyIcon,\n emptyIconProps,\n empty,\n children,\n renderInPortal,\n popperReferenceId,\n expanseDirectionLeft,\n setRef,\n zIndex,\n ...restProps\n } = props\n\n const noOptionsMenuProps = {\n loading,\n loadingMessage,\n loadingIcon,\n loadingIconProps,\n emptyMessage,\n emptyIcon,\n emptyIconProps,\n }\n\n const renderNoOptionsMenu = empty || loading\n\n const [portal, setPortal] = useState<Nullable<HTMLElement>>(null)\n const [offset, setOffset] = useState<Pick<CSSProperties, 'top' | 'right' | 'bottom' | 'left'>>({})\n\n const placement = useRef<Nullable<Placement>>(null)\n\n useLayoutEffect(() => {\n let portalElement: Nullable<HTMLElement> = null\n\n if (renderInPortal && document.body) {\n portalElement = document.createElement('div')\n\n portalElement.dataset.popperDropdownPortal = 'true'\n portalElement.style.position = 'relative'\n\n document.body.appendChild(portalElement)\n\n setPortal(portalElement)\n } else {\n setPortal(null)\n }\n\n return () => {\n if (\n portalElement &&\n document.body &&\n document.body.contains(portalElement) &&\n portalElement.childElementCount === 0\n ) {\n portalElement.remove()\n }\n }\n }, [renderInPortal])\n\n useLayoutEffect(() => {\n setOffset((prev) => ({\n ...prev,\n left: expanseDirectionLeft ? 'auto' : 0,\n right: expanseDirectionLeft ? 0 : 'auto',\n }))\n }, [expanseDirectionLeft])\n\n if (renderInPortal) {\n if (!portal) {\n return null\n }\n\n return (\n <Floater\n open={open}\n placement='bottom'\n offset={8}\n hideArrow\n portalElement={portal}\n target={`#${popperReferenceId}`}\n styles={{\n options: {\n zIndex,\n },\n floater: {\n width: '100%',\n filter: 'none',\n opacity: 1,\n transitionDuration: '10ms',\n },\n }}\n modifiers={{\n // @ts-ignore\n removeFloaterRoles: {\n name: 'removeFloaterRoles',\n enabled: true,\n phase: 'beforeWrite',\n // @ts-ignore\n effect: ({ state }) => {\n if (state.elements.popper instanceof HTMLElement) {\n const floaterElement = state.elements.popper.querySelector('[role=\"tooltip\"]')\n if (floaterElement) {\n floaterElement.removeAttribute('role')\n }\n }\n },\n },\n syncDimensions: {\n name: 'syncDimensions',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n // @ts-ignore\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`\n },\n // @ts-ignore\n effect: ({ state }) => {\n if (state.elements.popper instanceof HTMLElement && state.elements.reference instanceof HTMLElement) {\n state.elements.popper.style.display = 'flex'\n state.elements.popper.style.width = `${state.elements.reference.offsetWidth}px`\n\n const menuElement = state.elements.popper.querySelector('[data-popper-dropdown]')\n if (menuElement) {\n state.elements.popper.style.height = `${menuElement.offsetHeight}px`\n }\n }\n },\n },\n // @ts-ignore\n syncPlacement: {\n name: 'syncPlacement',\n enabled: true,\n phase: 'afterWrite',\n requires: ['computeStyles'],\n // @ts-ignore\n fn: ({ state }) => {\n if (placement.current === null || placement.current !== state.placement) {\n setOffset((prev) => ({\n ...prev,\n top: state.placement === 'bottom' ? 0 : 'auto',\n bottom: state.placement === 'top' ? 0 : 'auto',\n }))\n }\n\n placement.current = state.placement\n },\n },\n }}\n component={() => (\n <MenuComponent\n {...restProps}\n size={size}\n ref={setRef}\n data-popper-dropdown\n style={{\n ...offset,\n position: 'absolute',\n }}\n >\n {renderNoOptionsMenu ? <DropdownMenuNoOptions {...noOptionsMenuProps} /> : children}\n </MenuComponent>\n )}\n />\n )\n }\n\n if (!open) {\n return null\n }\n\n return (\n <MenuComponent\n {...restProps}\n size={size}\n ref={setRef}\n style={{\n ...offset,\n position: 'absolute',\n top: 0,\n zIndex,\n }}\n >\n {renderNoOptionsMenu ? <DropdownMenuNoOptions {...noOptionsMenuProps} /> : children}\n </MenuComponent>\n )\n },\n {\n sizes: SIZES_MENU,\n displayName: COMPONENT_NAME,\n }\n)\n\nexport { DropdownMenu }\n"],"names":["DropdownMenu","withMergedProps","props","size","open","loading","loadingMessage","loadingIcon","loadingIconProps","emptyMessage","emptyIcon","emptyIconProps","empty","children","renderInPortal","popperReferenceId","expanseDirectionLeft","setRef","zIndex","restProps","noOptionsMenuProps","renderNoOptionsMenu","portal","setPortal","useState","offset","setOffset","placement","useRef","useLayoutEffect","portalElement","document","body","createElement","dataset","popperDropdownPortal","style","position","appendChild","contains","childElementCount","remove","prev","left","right","_jsx","Floater","hideArrow","target","styles","options","floater","width","filter","opacity","transitionDuration","modifiers","removeFloaterRoles","name","enabled","phase","effect","state","elements","popper","HTMLElement","floaterElement","querySelector","removeAttribute","syncDimensions","requires","fn","rects","reference","display","offsetWidth","menuElement","height","offsetHeight","syncPlacement","current","top","bottom","component","jsx","MenuComponent","ref","DropdownMenuNoOptions","sizes","SIZES_MENU","displayName"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{useState,useRef,useLayoutEffect}from'react';import Floater from'react-floater';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{DropdownMenuNoOptions}from'./DropdownMenuNoOptions.mjs';import{SIZES_MENU}from'./constants.mjs';import{jsx}from'react/jsx-runtime';import{MenuComponent}from'../MenuComponent/MenuComponent.mjs';const DropdownMenu=withMergedProps((e=>{const{size:t="fluid",open:o,loading:n,loadingMessage:r,loadingIcon:s,loadingIconProps:p,emptyMessage:l,emptyIcon:a,emptyIconProps:i,empty:m,children:c,renderInPortal:d,popperReferenceId:u,expanseDirectionLeft:f,setRef:y,zIndex:M,...h}=e;const g={loading:n,loadingMessage:r,loadingIcon:s,loadingIconProps:p,emptyMessage:l,emptyIcon:a,emptyIconProps:i};const w=m||n;const[x,I]=useState(null);const[b,E]=useState({});const D=useRef(null);return useLayoutEffect((()=>{let e=null;return d?(e=document.createElement('div'),e.dataset.popperDropdownPortal='true',e.style.position='relative',document.body.appendChild(e),I(e)):I(null),()=>{e&&document.body.contains(e)&&e.childElementCount===0&&e.remove()}}),[d]),useLayoutEffect((()=>{E((e=>({...e,left:f?'auto':0,right:f?0:'auto'})))}),[f]),d?x?jsx(Floater,{open:o,placement:"bottom",offset:8,hideArrow:!0,portalElement:x,target:`#${u}`,styles:{options:{zIndex:M},floater:{width:'100%',filter:'none',opacity:1,transitionDuration:'10ms'}},modifiers:{removeFloaterRoles:{name:'removeFloaterRoles',enabled:!0,phase:'beforeWrite',effect:({state:e})=>{if(e.elements.popper instanceof HTMLElement){const t=e.elements.popper.querySelector('[role="tooltip"]');t&&t.removeAttribute('role')}}},syncDimensions:{name:'syncDimensions',enabled:!0,phase:'beforeWrite',requires:['computeStyles'],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>{if(e.elements.popper instanceof HTMLElement&&e.elements.reference instanceof HTMLElement){e.elements.popper.style.display='flex',e.elements.popper.style.width=`${e.elements.reference.offsetWidth}px`;const t=e.elements.popper.querySelector('[data-popper-dropdown]');t&&(e.elements.popper.style.height=`${t.offsetHeight}px`)}}},syncPlacement:{name:'syncPlacement',enabled:!0,phase:'afterWrite',requires:['computeStyles'],fn:({state:e})=>{D.current!==null&&D.current===e.placement||E((t=>({...t,top:e.placement==='bottom'?0:'auto',bottom:e.placement==='top'?0:'auto'}))),D.current=e.placement}}},component:()=>jsx(MenuComponent,{...h,size:t,ref:y,"data-popper-dropdown":!0,style:{...b,position:'absolute'},children:w?jsx(DropdownMenuNoOptions,{...g}):c})}):null:o?jsx(MenuComponent,{...h,size:t,ref:y,style:{...b,position:'absolute',top:0,zIndex:M},children:w?jsx(DropdownMenuNoOptions,{...g}):c}):null}),{sizes:SIZES_MENU,displayName:'DropdownMenu'});export{DropdownMenu};
1
+ import{useState,useRef,useLayoutEffect}from'react';import Floater from'react-floater';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{DropdownMenuNoOptions}from'./DropdownMenuNoOptions.mjs';import{SIZES_MENU}from'./constants.mjs';import{jsx}from'react/jsx-runtime';import{MenuComponent}from'../MenuComponent/MenuComponent.mjs';const DropdownMenu=withMergedProps((e=>{const{size:t="fluid",open:o,loading:n,loadingMessage:r,loadingIcon:s,loadingIconProps:p,emptyMessage:l,emptyIcon:a,emptyIconProps:i,empty:m,children:c,renderInPortal:d,popperReferenceId:u,expanseDirectionLeft:f,setRef:y,zIndex:M,...h}=e;const g={loading:n,loadingMessage:r,loadingIcon:s,loadingIconProps:p,emptyMessage:l,emptyIcon:a,emptyIconProps:i};const w=m||n;const[x,b]=useState(null);const[I,E]=useState({});const D=useRef(null);return useLayoutEffect((()=>{let e=null;return d&&document.body?(e=document.createElement('div'),e.dataset.popperDropdownPortal='true',e.style.position='relative',document.body.appendChild(e),b(e)):b(null),()=>{e&&document.body&&document.body.contains(e)&&e.childElementCount===0&&e.remove()}}),[d]),useLayoutEffect((()=>{E((e=>({...e,left:f?'auto':0,right:f?0:'auto'})))}),[f]),d?x?jsx(Floater,{open:o,placement:"bottom",offset:8,hideArrow:!0,portalElement:x,target:`#${u}`,styles:{options:{zIndex:M},floater:{width:'100%',filter:'none',opacity:1,transitionDuration:'10ms'}},modifiers:{removeFloaterRoles:{name:'removeFloaterRoles',enabled:!0,phase:'beforeWrite',effect:({state:e})=>{if(e.elements.popper instanceof HTMLElement){const t=e.elements.popper.querySelector('[role="tooltip"]');t&&t.removeAttribute('role')}}},syncDimensions:{name:'syncDimensions',enabled:!0,phase:'beforeWrite',requires:['computeStyles'],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>{if(e.elements.popper instanceof HTMLElement&&e.elements.reference instanceof HTMLElement){e.elements.popper.style.display='flex',e.elements.popper.style.width=`${e.elements.reference.offsetWidth}px`;const t=e.elements.popper.querySelector('[data-popper-dropdown]');t&&(e.elements.popper.style.height=`${t.offsetHeight}px`)}}},syncPlacement:{name:'syncPlacement',enabled:!0,phase:'afterWrite',requires:['computeStyles'],fn:({state:e})=>{D.current!==null&&D.current===e.placement||E((t=>({...t,top:e.placement==='bottom'?0:'auto',bottom:e.placement==='top'?0:'auto'}))),D.current=e.placement}}},component:()=>jsx(MenuComponent,{...h,size:t,ref:y,"data-popper-dropdown":!0,style:{...I,position:'absolute'},children:w?jsx(DropdownMenuNoOptions,{...g}):c})}):null:o?jsx(MenuComponent,{...h,size:t,ref:y,style:{...I,position:'absolute',top:0,zIndex:M},children:w?jsx(DropdownMenuNoOptions,{...g}):c}):null}),{sizes:SIZES_MENU,displayName:'DropdownMenu'});export{DropdownMenu};
2
2
  //# sourceMappingURL=DropdownMenu.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.mjs","sources":["../../../../src/components/Dropdown/DropdownMenu.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { useState, useRef, useLayoutEffect } from 'react'\nimport Floater from 'react-floater'\nimport type { CSSProperties } from 'react'\nimport type { PlacementOptions } from 'react-floater/lib/types'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { MenuComponent } from 'components/MenuComponent'\nimport type { Nullable } from 'shared/types'\nimport { DropdownMenuNoOptions } from './DropdownMenuNoOptions'\nimport { SIZES_MENU } from './constants'\nimport type { DropdownMenuProps } from './types'\n\nconst COMPONENT_NAME = 'DropdownMenu'\n\nconst DropdownMenu: React.ForwardRefExoticComponent<DropdownMenuProps> = withMergedProps<\n DropdownMenuProps,\n HTMLDivElement\n>(\n (props) => {\n const {\n size = 'fluid',\n open,\n loading,\n loadingMessage,\n loadingIcon,\n loadingIconProps,\n emptyMessage,\n emptyIcon,\n emptyIconProps,\n empty,\n children,\n renderInPortal,\n popperReferenceId,\n expanseDirectionLeft,\n setRef,\n zIndex,\n ...restProps\n } = props\n\n const noOptionsMenuProps = {\n loading,\n loadingMessage,\n loadingIcon,\n loadingIconProps,\n emptyMessage,\n emptyIcon,\n emptyIconProps,\n }\n\n const renderNoOptionsMenu = empty || loading\n\n const [portal, setPortal] = useState<Nullable<HTMLElement>>(null)\n const [offset, setOffset] = useState<Pick<CSSProperties, 'top' | 'right' | 'bottom' | 'left'>>({})\n\n const placement = useRef<Nullable<PlacementOptions>>(null)\n\n useLayoutEffect(() => {\n let portalElement: Nullable<HTMLElement> = null\n\n if (renderInPortal) {\n portalElement = document.createElement('div')\n\n portalElement.dataset.popperDropdownPortal = 'true'\n portalElement.style.position = 'relative'\n\n document.body.appendChild(portalElement)\n\n setPortal(portalElement)\n } else {\n setPortal(null)\n }\n\n return () => {\n if (portalElement && document.body.contains(portalElement) && portalElement.childElementCount === 0) {\n portalElement.remove()\n }\n }\n }, [renderInPortal])\n\n useLayoutEffect(() => {\n setOffset((prev) => ({\n ...prev,\n left: expanseDirectionLeft ? 'auto' : 0,\n right: expanseDirectionLeft ? 0 : 'auto',\n }))\n }, [expanseDirectionLeft])\n\n if (renderInPortal) {\n if (!portal) {\n return null\n }\n\n return (\n <Floater\n open={open}\n placement='bottom'\n offset={8}\n hideArrow\n portalElement={portal}\n target={`#${popperReferenceId}`}\n styles={{\n options: {\n zIndex,\n },\n floater: {\n width: '100%',\n filter: 'none',\n opacity: 1,\n transitionDuration: '10ms',\n },\n }}\n modifiers={{\n // @ts-ignore\n removeFloaterRoles: {\n name: 'removeFloaterRoles',\n enabled: true,\n phase: 'beforeWrite',\n // @ts-ignore\n effect: ({ state }) => {\n if (state.elements.popper instanceof HTMLElement) {\n const floaterElement = state.elements.popper.querySelector('[role=\"tooltip\"]')\n if (floaterElement) {\n floaterElement.removeAttribute('role')\n }\n }\n },\n },\n syncDimensions: {\n name: 'syncDimensions',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n // @ts-ignore\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`\n },\n // @ts-ignore\n effect: ({ state }) => {\n if (state.elements.popper instanceof HTMLElement && state.elements.reference instanceof HTMLElement) {\n state.elements.popper.style.display = 'flex'\n state.elements.popper.style.width = `${state.elements.reference.offsetWidth}px`\n\n const menuElement = state.elements.popper.querySelector('[data-popper-dropdown]')\n if (menuElement) {\n state.elements.popper.style.height = `${menuElement.offsetHeight}px`\n }\n }\n },\n },\n // @ts-ignore\n syncPlacement: {\n name: 'syncPlacement',\n enabled: true,\n phase: 'afterWrite',\n requires: ['computeStyles'],\n // @ts-ignore\n fn: ({ state }) => {\n if (placement.current === null || placement.current !== state.placement) {\n setOffset((prev) => ({\n ...prev,\n top: state.placement === 'bottom' ? 0 : 'auto',\n bottom: state.placement === 'top' ? 0 : 'auto',\n }))\n }\n\n placement.current = state.placement\n },\n },\n }}\n component={() => (\n <MenuComponent\n {...restProps}\n size={size}\n ref={setRef}\n data-popper-dropdown\n style={{\n ...offset,\n position: 'absolute',\n }}\n >\n {renderNoOptionsMenu ? <DropdownMenuNoOptions {...noOptionsMenuProps} /> : children}\n </MenuComponent>\n )}\n />\n )\n }\n\n if (!open) {\n return null\n }\n\n return (\n <MenuComponent\n {...restProps}\n size={size}\n ref={setRef}\n style={{\n ...offset,\n position: 'absolute',\n top: 0,\n zIndex,\n }}\n >\n {renderNoOptionsMenu ? <DropdownMenuNoOptions {...noOptionsMenuProps} /> : children}\n </MenuComponent>\n )\n },\n {\n sizes: SIZES_MENU,\n displayName: COMPONENT_NAME,\n }\n)\n\nexport { DropdownMenu }\n"],"names":["DropdownMenu","withMergedProps","props","size","open","loading","loadingMessage","loadingIcon","loadingIconProps","emptyMessage","emptyIcon","emptyIconProps","empty","children","renderInPortal","popperReferenceId","expanseDirectionLeft","setRef","zIndex","restProps","noOptionsMenuProps","renderNoOptionsMenu","portal","setPortal","useState","offset","setOffset","placement","useRef","useLayoutEffect","portalElement","document","createElement","dataset","popperDropdownPortal","style","position","body","appendChild","contains","childElementCount","remove","prev","left","right","_jsx","Floater","hideArrow","target","styles","options","floater","width","filter","opacity","transitionDuration","modifiers","removeFloaterRoles","name","enabled","phase","effect","state","elements","popper","HTMLElement","floaterElement","querySelector","removeAttribute","syncDimensions","requires","fn","rects","reference","display","offsetWidth","menuElement","height","offsetHeight","syncPlacement","current","top","bottom","component","MenuComponent","ref","DropdownMenuNoOptions","sizes","SIZES_MENU","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownMenu.mjs","sources":["../../../../src/components/Dropdown/DropdownMenu.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { useState, useRef, useLayoutEffect } from 'react'\nimport Floater from 'react-floater'\nimport type { CSSProperties } from 'react'\nimport type { Placement } from 'react-floater'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { MenuComponent } from 'components/MenuComponent'\nimport type { Nullable } from 'shared/types'\nimport { DropdownMenuNoOptions } from './DropdownMenuNoOptions'\nimport { SIZES_MENU } from './constants'\nimport type { DropdownMenuProps } from './types'\n\nconst COMPONENT_NAME = 'DropdownMenu'\n\nconst DropdownMenu: React.ForwardRefExoticComponent<DropdownMenuProps> = withMergedProps<\n DropdownMenuProps,\n HTMLDivElement\n>(\n (props) => {\n const {\n size = 'fluid',\n open,\n loading,\n loadingMessage,\n loadingIcon,\n loadingIconProps,\n emptyMessage,\n emptyIcon,\n emptyIconProps,\n empty,\n children,\n renderInPortal,\n popperReferenceId,\n expanseDirectionLeft,\n setRef,\n zIndex,\n ...restProps\n } = props\n\n const noOptionsMenuProps = {\n loading,\n loadingMessage,\n loadingIcon,\n loadingIconProps,\n emptyMessage,\n emptyIcon,\n emptyIconProps,\n }\n\n const renderNoOptionsMenu = empty || loading\n\n const [portal, setPortal] = useState<Nullable<HTMLElement>>(null)\n const [offset, setOffset] = useState<Pick<CSSProperties, 'top' | 'right' | 'bottom' | 'left'>>({})\n\n const placement = useRef<Nullable<Placement>>(null)\n\n useLayoutEffect(() => {\n let portalElement: Nullable<HTMLElement> = null\n\n if (renderInPortal && document.body) {\n portalElement = document.createElement('div')\n\n portalElement.dataset.popperDropdownPortal = 'true'\n portalElement.style.position = 'relative'\n\n document.body.appendChild(portalElement)\n\n setPortal(portalElement)\n } else {\n setPortal(null)\n }\n\n return () => {\n if (\n portalElement &&\n document.body &&\n document.body.contains(portalElement) &&\n portalElement.childElementCount === 0\n ) {\n portalElement.remove()\n }\n }\n }, [renderInPortal])\n\n useLayoutEffect(() => {\n setOffset((prev) => ({\n ...prev,\n left: expanseDirectionLeft ? 'auto' : 0,\n right: expanseDirectionLeft ? 0 : 'auto',\n }))\n }, [expanseDirectionLeft])\n\n if (renderInPortal) {\n if (!portal) {\n return null\n }\n\n return (\n <Floater\n open={open}\n placement='bottom'\n offset={8}\n hideArrow\n portalElement={portal}\n target={`#${popperReferenceId}`}\n styles={{\n options: {\n zIndex,\n },\n floater: {\n width: '100%',\n filter: 'none',\n opacity: 1,\n transitionDuration: '10ms',\n },\n }}\n modifiers={{\n // @ts-ignore\n removeFloaterRoles: {\n name: 'removeFloaterRoles',\n enabled: true,\n phase: 'beforeWrite',\n // @ts-ignore\n effect: ({ state }) => {\n if (state.elements.popper instanceof HTMLElement) {\n const floaterElement = state.elements.popper.querySelector('[role=\"tooltip\"]')\n if (floaterElement) {\n floaterElement.removeAttribute('role')\n }\n }\n },\n },\n syncDimensions: {\n name: 'syncDimensions',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n // @ts-ignore\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`\n },\n // @ts-ignore\n effect: ({ state }) => {\n if (state.elements.popper instanceof HTMLElement && state.elements.reference instanceof HTMLElement) {\n state.elements.popper.style.display = 'flex'\n state.elements.popper.style.width = `${state.elements.reference.offsetWidth}px`\n\n const menuElement = state.elements.popper.querySelector('[data-popper-dropdown]')\n if (menuElement) {\n state.elements.popper.style.height = `${menuElement.offsetHeight}px`\n }\n }\n },\n },\n // @ts-ignore\n syncPlacement: {\n name: 'syncPlacement',\n enabled: true,\n phase: 'afterWrite',\n requires: ['computeStyles'],\n // @ts-ignore\n fn: ({ state }) => {\n if (placement.current === null || placement.current !== state.placement) {\n setOffset((prev) => ({\n ...prev,\n top: state.placement === 'bottom' ? 0 : 'auto',\n bottom: state.placement === 'top' ? 0 : 'auto',\n }))\n }\n\n placement.current = state.placement\n },\n },\n }}\n component={() => (\n <MenuComponent\n {...restProps}\n size={size}\n ref={setRef}\n data-popper-dropdown\n style={{\n ...offset,\n position: 'absolute',\n }}\n >\n {renderNoOptionsMenu ? <DropdownMenuNoOptions {...noOptionsMenuProps} /> : children}\n </MenuComponent>\n )}\n />\n )\n }\n\n if (!open) {\n return null\n }\n\n return (\n <MenuComponent\n {...restProps}\n size={size}\n ref={setRef}\n style={{\n ...offset,\n position: 'absolute',\n top: 0,\n zIndex,\n }}\n >\n {renderNoOptionsMenu ? <DropdownMenuNoOptions {...noOptionsMenuProps} /> : children}\n </MenuComponent>\n )\n },\n {\n sizes: SIZES_MENU,\n displayName: COMPONENT_NAME,\n }\n)\n\nexport { DropdownMenu }\n"],"names":["DropdownMenu","withMergedProps","props","size","open","loading","loadingMessage","loadingIcon","loadingIconProps","emptyMessage","emptyIcon","emptyIconProps","empty","children","renderInPortal","popperReferenceId","expanseDirectionLeft","setRef","zIndex","restProps","noOptionsMenuProps","renderNoOptionsMenu","portal","setPortal","useState","offset","setOffset","placement","useRef","useLayoutEffect","portalElement","document","body","createElement","dataset","popperDropdownPortal","style","position","appendChild","contains","childElementCount","remove","prev","left","right","_jsx","Floater","hideArrow","target","styles","options","floater","width","filter","opacity","transitionDuration","modifiers","removeFloaterRoles","name","enabled","phase","effect","state","elements","popper","HTMLElement","floaterElement","querySelector","removeAttribute","syncDimensions","requires","fn","rects","reference","display","offsetWidth","menuElement","height","offsetHeight","syncPlacement","current","top","bottom","component","MenuComponent","ref","DropdownMenuNoOptions","sizes","SIZES_MENU","displayName"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- 'use strict';var style=require('./style.js');var require$$0=require('react/jsx-runtime');var MenuContainer=require('../MenuContainer/MenuContainer.js');var Icon=require('../Icon/Icon.js');var Text=require('../Text/Text.js');exports.DropdownMenuNoOptions=e=>{const{loadingIcon:r=require$$0.jsx(style.LoadingIconAnimated,{}),emptyIcon:n="redo",loadingIconProps:i={},emptyIconProps:t={},loading:o,loadingMessage:a,emptyMessage:s}=e;return require$$0.jsxs(MenuContainer.MenuContainer,{children:[require$$0.jsx(style.IconContainer,{children:require$$0.jsx(Icon.Icon,o?{preset:"brand",name:typeof r=='string'?r:void 0,icon:typeof r!='string'?r:void 0,...i}:{preset:"brand",name:typeof n=='string'?n:void 0,icon:typeof n!='string'?n:void 0,...t})}),o&&a&&require$$0.jsx(Text.Text,{as:"p",appearance:"body",size:"inherit",color:"inherit",textAlign:"center",wordBreak:"break-word",marginRight:12,marginBottom:12,marginLeft:12,children:a}),!o&&s&&require$$0.jsx(Text.Text,{as:"p",appearance:"body",size:"inherit",color:"inherit",textAlign:"center",wordBreak:"break-word",marginRight:12,marginBottom:12,marginLeft:12,children:s})]})};
1
+ 'use strict';var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var MenuContainer=require('../MenuContainer/MenuContainer.js');var Icon=require('../Icon/Icon.js');var Text=require('../Text/Text.js');exports.DropdownMenuNoOptions=e=>{const{loadingIcon:n=jsxRuntime.jsx(style.LoadingIconAnimated,{}),emptyIcon:r="redo",loadingIconProps:t={},emptyIconProps:i={},loading:o,loadingMessage:s,emptyMessage:a}=e;return jsxRuntime.jsxs(MenuContainer.MenuContainer,{children:[jsxRuntime.jsx(style.IconContainer,{children:jsxRuntime.jsx(Icon.Icon,o?{preset:"brand",name:typeof n=='string'?n:void 0,icon:typeof n!='string'?n:void 0,...t}:{preset:"brand",name:typeof r=='string'?r:void 0,icon:typeof r!='string'?r:void 0,...i})}),o&&s&&jsxRuntime.jsx(Text.Text,{as:"p",appearance:"body",size:"inherit",color:"inherit",textAlign:"center",wordBreak:"break-word",marginRight:12,marginBottom:12,marginLeft:12,children:s}),!o&&a&&jsxRuntime.jsx(Text.Text,{as:"p",appearance:"body",size:"inherit",color:"inherit",textAlign:"center",wordBreak:"break-word",marginRight:12,marginBottom:12,marginLeft:12,children:a})]})};
2
2
  //# sourceMappingURL=DropdownMenuNoOptions.js.map
@@ -1,2 +1,2 @@
1
- 'use strict';var styled=require('styled-components');var index=require('../../external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/ChevronDown/index.js');var index$1=require('../../external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/LoaderFill/index.js');function _interopDefault(n){return n&&n.__esModule?n:{default:n}}var styled__default=_interopDefault(styled);const spinAnimation=styled.keyframes(["100%{transform:rotate(360deg);}"]);const IconContainer=styled__default.default.div.withConfig({displayName:"Dropdown__IconContainer",componentId:"ui__sc-519mcg-0"})(["box-sizing:border-box;display:flex;align-items:center;justify-content:center;margin:12px 0;"]);const ChevronIcon=styled__default.default(index.ChevronDown).withConfig({shouldForwardProp:n=>n!=='up'}).withConfig({displayName:"Dropdown__ChevronIcon",componentId:"ui__sc-519mcg-1"})(["",""],(n=>`\n transition-property: transform;\n transition-duration: 250ms;\n transform-origin: center;\n transform: rotate(${n.up?180:0}deg);\n `));const LoadingIconAnimated=styled__default.default(index$1.LoaderFill).withConfig({displayName:"Dropdown__LoadingIconAnimated",componentId:"ui__sc-519mcg-2"})(["transform-origin:center;animation:"," 1600ms infinite linear;"],spinAnimation);const InputMimic=styled__default.default.input.withConfig({displayName:"Dropdown__InputMimic",componentId:"ui__sc-519mcg-3"})(["box-sizing:border-box;position:absolute;top:0;left:0;appearance:none;border:none;padding:0;margin:0;background-color:transparent;width:100%;height:100%;opacity:0;&:focus{outline:none;}"]);exports.ChevronIcon=ChevronIcon,exports.IconContainer=IconContainer,exports.InputMimic=InputMimic,exports.LoadingIconAnimated=LoadingIconAnimated;
1
+ 'use strict';var styled=require('styled-components');var iconPack=require('@foxford/icon-pack');function _interopDefault(n){return n&&n.__esModule?n:{default:n}}var styled__default=_interopDefault(styled);const spinAnimation=styled.keyframes(["100%{transform:rotate(360deg);}"]);const IconContainer=styled__default.default.div.withConfig({displayName:"Dropdown__IconContainer",componentId:"ui__sc-519mcg-0"})(["box-sizing:border-box;display:flex;align-items:center;justify-content:center;margin:12px 0;"]);const ChevronIcon=styled__default.default(iconPack.ChevronDown).withConfig({shouldForwardProp:n=>n!=='up'}).withConfig({displayName:"Dropdown__ChevronIcon",componentId:"ui__sc-519mcg-1"})(["",""],(n=>`\n transition-property: transform;\n transition-duration: 250ms;\n transform-origin: center;\n transform: rotate(${n.up?180:0}deg);\n `));const LoadingIconAnimated=styled__default.default(iconPack.LoaderFill).withConfig({displayName:"Dropdown__LoadingIconAnimated",componentId:"ui__sc-519mcg-2"})(["transform-origin:center;animation:"," 1600ms infinite linear;"],spinAnimation);const InputMimic=styled__default.default.input.withConfig({displayName:"Dropdown__InputMimic",componentId:"ui__sc-519mcg-3"})(["box-sizing:border-box;position:absolute;top:0;left:0;appearance:none;border:none;padding:0;margin:0;background-color:transparent;width:100%;height:100%;opacity:0;&:focus{outline:none;}"]);exports.ChevronIcon=ChevronIcon,exports.IconContainer=IconContainer,exports.InputMimic=InputMimic,exports.LoadingIconAnimated=LoadingIconAnimated;
2
2
  //# sourceMappingURL=style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sources":["../../../../src/components/Dropdown/style.ts"],"sourcesContent":["import styled, { keyframes } from 'styled-components'\nimport { LoaderFill, ChevronDown } from '@foxford/icon-pack'\nimport type { StyledChevronIconProps } from './types'\n\nconst spinAnimation = keyframes`\n 100% {\n transform: rotate(360deg);\n }\n`\n\nexport const IconContainer = styled.div`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 12px 0;\n`\n\nexport const ChevronIcon = styled(ChevronDown).withConfig<StyledChevronIconProps>({\n shouldForwardProp: (propKey) => propKey !== 'up',\n})`\n ${(props) => `\n transition-property: transform;\n transition-duration: 250ms;\n transform-origin: center;\n transform: rotate(${props.up ? 180 : 0}deg);\n `}\n`\n\nexport const LoadingIconAnimated = styled(LoaderFill)`\n transform-origin: center;\n animation: ${spinAnimation} 1600ms infinite linear;\n`\n\nexport const InputMimic = styled.input`\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n appearance: none;\n border: none;\n padding: 0;\n margin: 0;\n background-color: transparent;\n width: 100%;\n height: 100%;\n opacity: 0;\n &:focus {\n outline: none;\n }\n`\n"],"names":["spinAnimation","keyframes","IconContainer","styled","div","withConfig","displayName","componentId","ChevronIcon","default","ChevronDown","shouldForwardProp","propKey","props","up","LoadingIconAnimated","LoaderFill","InputMimic","input"],"mappings":"yfAIA,MAAMA,cAAgBC,OAASA,UAI9B,CAAA,0CAEYC,cAAgBC,gBAAAA,QAAOC,IAAGC,WAAA,CAAAC,YAAA,0BAAAC,YAAA,mBAAVJ,CAM5B,CAAA,gGAEM,MAAMK,YAAcL,gBAAMM,QAACC,mBAAaL,WAAmC,CAChFM,kBAAoBC,GAAYA,IAAY,OAC5CP,WAAA,CAAAC,YAAA,wBAAAC,YAAA,mBAFyBJ,CAEzB,CAAA,GAAA,KACGU,GAAU,gIAISA,EAAMC,GAAK,IAAM,eAIlC,MAAMC,oBAAsBZ,gBAAMM,QAACO,oBAAWX,WAAA,CAAAC,YAAA,gCAAAC,YAAA,mBAAlBJ,CAAkB,CAAA,qCAAA,4BAEtCH,qBAGFiB,WAAad,gBAAAA,QAAOe,MAAKb,WAAA,CAAAC,YAAA,uBAAAC,YAAA,mBAAZJ,CAgBzB,CAAA"}
1
+ {"version":3,"file":"style.js","sources":["../../../../src/components/Dropdown/style.ts"],"sourcesContent":["import styled, { keyframes } from 'styled-components'\nimport { LoaderFill, ChevronDown } from '@foxford/icon-pack'\nimport type { StyledChevronIconProps } from './types'\n\nconst spinAnimation = keyframes`\n 100% {\n transform: rotate(360deg);\n }\n`\n\nexport const IconContainer = styled.div`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 12px 0;\n`\n\nexport const ChevronIcon = styled(ChevronDown).withConfig<StyledChevronIconProps>({\n shouldForwardProp: (propKey) => propKey !== 'up',\n})`\n ${(props) => `\n transition-property: transform;\n transition-duration: 250ms;\n transform-origin: center;\n transform: rotate(${props.up ? 180 : 0}deg);\n `}\n`\n\nexport const LoadingIconAnimated = styled(LoaderFill)`\n transform-origin: center;\n animation: ${spinAnimation} 1600ms infinite linear;\n`\n\nexport const InputMimic = styled.input`\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n appearance: none;\n border: none;\n padding: 0;\n margin: 0;\n background-color: transparent;\n width: 100%;\n height: 100%;\n opacity: 0;\n &:focus {\n outline: none;\n }\n`\n"],"names":["spinAnimation","keyframes","IconContainer","styled","div","withConfig","displayName","componentId","ChevronIcon","default","ChevronDown","shouldForwardProp","propKey","props","up","LoadingIconAnimated","LoaderFill","InputMimic","input"],"mappings":"6MAIA,MAAMA,cAAgBC,OAASA,UAI9B,CAAA,0CAEYC,cAAgBC,gBAAAA,QAAOC,IAAGC,WAAA,CAAAC,YAAA,0BAAAC,YAAA,mBAAVJ,CAM5B,CAAA,gGAEM,MAAMK,YAAcL,gBAAMM,QAACC,sBAAaL,WAAmC,CAChFM,kBAAoBC,GAAYA,IAAY,OAC5CP,WAAA,CAAAC,YAAA,wBAAAC,YAAA,mBAFyBJ,CAEzB,CAAA,GAAA,KACGU,GAAU,gIAISA,EAAMC,GAAK,IAAM,eAIlC,MAAMC,oBAAsBZ,gBAAMM,QAACO,qBAAWX,WAAA,CAAAC,YAAA,gCAAAC,YAAA,mBAAlBJ,CAAkB,CAAA,qCAAA,4BAEtCH,qBAGFiB,WAAad,gBAAAA,QAAOe,MAAKb,WAAA,CAAAC,YAAA,uBAAAC,YAAA,mBAAZJ,CAgBzB,CAAA"}
@@ -1,2 +1,2 @@
1
- import styled,{keyframes}from'styled-components';import{ChevronDown as ChevronDown_2}from'../../external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/ChevronDown/index.mjs';import{LoaderFill as LoaderFill_2}from'../../external/.pnpm/@foxford_icon-pack@0.11.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@foxford/icon-pack/icons/LoaderFill/index.mjs';const spinAnimation=keyframes(["100%{transform:rotate(360deg);}"]);const IconContainer=styled.div.withConfig({displayName:"Dropdown__IconContainer",componentId:"ui__sc-519mcg-0"})(["box-sizing:border-box;display:flex;align-items:center;justify-content:center;margin:12px 0;"]);const ChevronIcon=styled(ChevronDown_2).withConfig({shouldForwardProp:n=>n!=='up'}).withConfig({displayName:"Dropdown__ChevronIcon",componentId:"ui__sc-519mcg-1"})(["",""],(n=>`\n transition-property: transform;\n transition-duration: 250ms;\n transform-origin: center;\n transform: rotate(${n.up?180:0}deg);\n `));const LoadingIconAnimated=styled(LoaderFill_2).withConfig({displayName:"Dropdown__LoadingIconAnimated",componentId:"ui__sc-519mcg-2"})(["transform-origin:center;animation:"," 1600ms infinite linear;"],spinAnimation);const InputMimic=styled.input.withConfig({displayName:"Dropdown__InputMimic",componentId:"ui__sc-519mcg-3"})(["box-sizing:border-box;position:absolute;top:0;left:0;appearance:none;border:none;padding:0;margin:0;background-color:transparent;width:100%;height:100%;opacity:0;&:focus{outline:none;}"]);export{ChevronIcon,IconContainer,InputMimic,LoadingIconAnimated};
1
+ import styled,{keyframes}from'styled-components';import{ChevronDown,LoaderFill}from'@foxford/icon-pack';const spinAnimation=keyframes(["100%{transform:rotate(360deg);}"]);const IconContainer=styled.div.withConfig({displayName:"Dropdown__IconContainer",componentId:"ui__sc-519mcg-0"})(["box-sizing:border-box;display:flex;align-items:center;justify-content:center;margin:12px 0;"]);const ChevronIcon=styled(ChevronDown).withConfig({shouldForwardProp:n=>n!=='up'}).withConfig({displayName:"Dropdown__ChevronIcon",componentId:"ui__sc-519mcg-1"})(["",""],(n=>`\n transition-property: transform;\n transition-duration: 250ms;\n transform-origin: center;\n transform: rotate(${n.up?180:0}deg);\n `));const LoadingIconAnimated=styled(LoaderFill).withConfig({displayName:"Dropdown__LoadingIconAnimated",componentId:"ui__sc-519mcg-2"})(["transform-origin:center;animation:"," 1600ms infinite linear;"],spinAnimation);const InputMimic=styled.input.withConfig({displayName:"Dropdown__InputMimic",componentId:"ui__sc-519mcg-3"})(["box-sizing:border-box;position:absolute;top:0;left:0;appearance:none;border:none;padding:0;margin:0;background-color:transparent;width:100%;height:100%;opacity:0;&:focus{outline:none;}"]);export{ChevronIcon,IconContainer,InputMimic,LoadingIconAnimated};
2
2
  //# sourceMappingURL=style.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.mjs","sources":["../../../../src/components/Dropdown/style.ts"],"sourcesContent":["import styled, { keyframes } from 'styled-components'\nimport { LoaderFill, ChevronDown } from '@foxford/icon-pack'\nimport type { StyledChevronIconProps } from './types'\n\nconst spinAnimation = keyframes`\n 100% {\n transform: rotate(360deg);\n }\n`\n\nexport const IconContainer = styled.div`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 12px 0;\n`\n\nexport const ChevronIcon = styled(ChevronDown).withConfig<StyledChevronIconProps>({\n shouldForwardProp: (propKey) => propKey !== 'up',\n})`\n ${(props) => `\n transition-property: transform;\n transition-duration: 250ms;\n transform-origin: center;\n transform: rotate(${props.up ? 180 : 0}deg);\n `}\n`\n\nexport const LoadingIconAnimated = styled(LoaderFill)`\n transform-origin: center;\n animation: ${spinAnimation} 1600ms infinite linear;\n`\n\nexport const InputMimic = styled.input`\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n appearance: none;\n border: none;\n padding: 0;\n margin: 0;\n background-color: transparent;\n width: 100%;\n height: 100%;\n opacity: 0;\n &:focus {\n outline: none;\n }\n`\n"],"names":["spinAnimation","keyframes","IconContainer","styled","div","withConfig","displayName","componentId","ChevronIcon","ChevronDown","shouldForwardProp","propKey","props","up","LoadingIconAnimated","LoaderFill","InputMimic","input"],"mappings":"gbAIA,MAAMA,cAAgBC,UAIrB,CAAA,0CAEYC,cAAgBC,OAAOC,IAAGC,WAAA,CAAAC,YAAA,0BAAAC,YAAA,mBAAVJ,CAM5B,CAAA,gGAEM,MAAMK,YAAcL,OAAOM,eAAaJ,WAAmC,CAChFK,kBAAoBC,GAAYA,IAAY,OAC5CN,WAAA,CAAAC,YAAA,wBAAAC,YAAA,mBAFyBJ,CAEzB,CAAA,GAAA,KACGS,GAAU,gIAISA,EAAMC,GAAK,IAAM,eAIlC,MAAMC,oBAAsBX,OAAOY,cAAWV,WAAA,CAAAC,YAAA,gCAAAC,YAAA,mBAAlBJ,CAAkB,CAAA,qCAAA,4BAEtCH,qBAGFgB,WAAab,OAAOc,MAAKZ,WAAA,CAAAC,YAAA,uBAAAC,YAAA,mBAAZJ,CAgBzB,CAAA"}
1
+ {"version":3,"file":"style.mjs","sources":["../../../../src/components/Dropdown/style.ts"],"sourcesContent":["import styled, { keyframes } from 'styled-components'\nimport { LoaderFill, ChevronDown } from '@foxford/icon-pack'\nimport type { StyledChevronIconProps } from './types'\n\nconst spinAnimation = keyframes`\n 100% {\n transform: rotate(360deg);\n }\n`\n\nexport const IconContainer = styled.div`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 12px 0;\n`\n\nexport const ChevronIcon = styled(ChevronDown).withConfig<StyledChevronIconProps>({\n shouldForwardProp: (propKey) => propKey !== 'up',\n})`\n ${(props) => `\n transition-property: transform;\n transition-duration: 250ms;\n transform-origin: center;\n transform: rotate(${props.up ? 180 : 0}deg);\n `}\n`\n\nexport const LoadingIconAnimated = styled(LoaderFill)`\n transform-origin: center;\n animation: ${spinAnimation} 1600ms infinite linear;\n`\n\nexport const InputMimic = styled.input`\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n appearance: none;\n border: none;\n padding: 0;\n margin: 0;\n background-color: transparent;\n width: 100%;\n height: 100%;\n opacity: 0;\n &:focus {\n outline: none;\n }\n`\n"],"names":["spinAnimation","keyframes","IconContainer","styled","div","withConfig","displayName","componentId","ChevronIcon","ChevronDown","shouldForwardProp","propKey","props","up","LoadingIconAnimated","LoaderFill","InputMimic","input"],"mappings":"wGAIA,MAAMA,cAAgBC,UAIrB,CAAA,0CAEYC,cAAgBC,OAAOC,IAAGC,WAAA,CAAAC,YAAA,0BAAAC,YAAA,mBAAVJ,CAM5B,CAAA,gGAEM,MAAMK,YAAcL,OAAOM,aAAaJ,WAAmC,CAChFK,kBAAoBC,GAAYA,IAAY,OAC5CN,WAAA,CAAAC,YAAA,wBAAAC,YAAA,mBAFyBJ,CAEzB,CAAA,GAAA,KACGS,GAAU,gIAISA,EAAMC,GAAK,IAAM,eAIlC,MAAMC,oBAAsBX,OAAOY,YAAWV,WAAA,CAAAC,YAAA,gCAAAC,YAAA,mBAAlBJ,CAAkB,CAAA,qCAAA,4BAEtCH,qBAGFgB,WAAab,OAAOc,MAAKZ,WAAA,CAAAC,YAAA,uBAAAC,YAAA,mBAAZJ,CAgBzB,CAAA"}
@@ -1,2 +1,2 @@
1
- 'use strict';var React=require('react');var ResizeObserver=require('../../external/.pnpm/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.js');var useMergedPalette=require('../../hooks/useMergedPalette.js');var style=require('./style.js');var require$$0=require('react/jsx-runtime');const resizeHandlerSymbol=Symbol('resize-handler');const resizeObserver=new ResizeObserver.default((e=>{e.forEach((e=>{typeof e.target[resizeHandlerSymbol]=='function'&&e.target[resizeHandlerSymbol](e.target)}))}));exports.FormInput=React.forwardRef(((e,r)=>{const{mask:t="",...s}=e;const a=React.useRef(null);React.useImperativeHandle(r,(()=>a.current),[]);const n=useMergedPalette.useMergedPalette(s);const[l,u]=React.useState(!1);const o=React.useCallback((e=>{u(e.scrollWidth>e.clientWidth)}),[]);return React.useLayoutEffect((()=>(a.current&&(a.current[resizeHandlerSymbol]=o,resizeObserver.observe(a.current)),()=>{a.current&&resizeObserver.unobserve(a.current)})),[o]),require$$0.jsx(style.Root,{"data-input-control":!0,fading:l,children:require$$0.jsx(style.Input,{...s,mask:t,palette:n,onBlur:e=>{s.onBlur&&s.onBlur(e),o(e.currentTarget)},inputRef:e=>{a.current=e}})})}));
1
+ 'use strict';var React=require('react');var ResizeObserver=require('resize-observer-polyfill');var useMergedPalette=require('../../hooks/useMergedPalette.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ResizeObserver__default=_interopDefault(ResizeObserver);const resizeHandlerSymbol=Symbol('resize-handler');const resizeObserver=new ResizeObserver__default.default((e=>{e.forEach((e=>{typeof e.target[resizeHandlerSymbol]=='function'&&e.target[resizeHandlerSymbol](e.target)}))}));exports.FormInput=React.forwardRef(((e,r)=>{const{mask:t="",...s}=e;const a=React.useRef(null);React.useImperativeHandle(r,(()=>a.current),[]);const u=useMergedPalette.useMergedPalette(s);const[n,l]=React.useState(!1);const o=React.useCallback((e=>{l(e.scrollWidth>e.clientWidth)}),[]);return React.useLayoutEffect((()=>(a.current&&(a.current[resizeHandlerSymbol]=o,resizeObserver.observe(a.current)),()=>{a.current&&resizeObserver.unobserve(a.current)})),[o]),jsxRuntime.jsx(style.Root,{"data-input-control":!0,fading:n,children:jsxRuntime.jsx(style.Input,{...s,mask:t,palette:u,onBlur:e=>{s.onBlur&&s.onBlur(e),o(e.currentTarget)},inputRef:e=>{a.current=e}})})}));
2
2
  //# sourceMappingURL=FormInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormInput.js","sources":["../../../../src/components/FormInput/FormInput.tsx"],"sourcesContent":["import { forwardRef, useRef, useImperativeHandle, useLayoutEffect, useState, useCallback } from 'react'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport { useMergedPalette } from 'hooks/useMergedPalette'\nimport * as Styled from './style'\nimport type { FormInputProps } from './types'\n\nconst resizeHandlerSymbol = Symbol('resize-handler')\n\nconst resizeObserver = new ResizeObserver((entries) => {\n entries.forEach((entry) => {\n if (typeof entry.target[resizeHandlerSymbol] === 'function') {\n entry.target[resizeHandlerSymbol](entry.target)\n }\n })\n})\n\nconst FormInput: React.ForwardRefExoticComponent<FormInputProps> = forwardRef((props, forwardRef) => {\n const { mask = '', ...inputProps } = props\n\n const inputRef = useRef<HTMLInputElement | null>(null)\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(forwardRef, () => inputRef.current, [])\n\n const palette = useMergedPalette(inputProps)\n\n const [overflow, setOverflow] = useState<boolean>(false)\n\n const handleDetectOverflow = useCallback((e: HTMLInputElement) => {\n setOverflow(e.scrollWidth > e.clientWidth)\n }, [])\n\n useLayoutEffect(() => {\n if (inputRef.current) {\n inputRef.current[resizeHandlerSymbol] = handleDetectOverflow\n resizeObserver.observe(inputRef.current)\n }\n return () => {\n if (inputRef.current) {\n resizeObserver.unobserve(inputRef.current)\n }\n }\n }, [handleDetectOverflow])\n\n return (\n <Styled.Root data-input-control fading={overflow}>\n <Styled.Input\n {...inputProps}\n mask={mask}\n palette={palette}\n onBlur={(evt) => {\n if (inputProps.onBlur) inputProps.onBlur(evt)\n\n handleDetectOverflow(evt.currentTarget)\n }}\n inputRef={(input) => {\n inputRef.current = input\n }}\n />\n </Styled.Root>\n )\n})\n\nexport { FormInput }\n"],"names":["resizeHandlerSymbol","Symbol","resizeObserver","ResizeObserver","default","entries","forEach","entry","target","forwardRef","props","mask","inputProps","inputRef","useRef","useImperativeHandle","current","palette","useMergedPalette","overflow","setOverflow","useState","handleDetectOverflow","useCallback","e","scrollWidth","clientWidth","useLayoutEffect","observe","unobserve","_jsx","Styled","fading","children","jsx","onBlur","evt","currentTarget","input"],"mappings":"mUAMA,MAAMA,oBAAsBC,OAAO,kBAEnC,MAAMC,eAAiB,IAAIC,eAAcC,SAAEC,IACzCA,EAAQC,SAASC,WACJA,EAAMC,OAAOR,sBAAyB,YAC/CO,EAAMC,OAAOR,qBAAqBO,EAAMC,OAC1C,GACA,sBAG+DC,MAAUA,YAAC,CAACC,EAAOD,KACpF,MAAME,KAAEA,EAAO,MAAOC,GAAeF,EAErC,MAAMG,EAAWC,aAAgC,MACjDC,MAAAA,oBAAsEN,GAAY,IAAMI,EAASG,SAAS,IAE1G,MAAMC,EAAUC,kCAAiBN,GAEjC,MAAOO,EAAUC,GAAeC,MAAQA,UAAU,GAElD,MAAMC,EAAuBC,MAAWA,aAAEC,IACxCJ,EAAYI,EAAEC,YAAcD,EAAEE,YAAY,GACzC,IAcH,OAZAC,MAAAA,iBAAgB,KACVd,EAASG,UACXH,EAASG,QAAQhB,qBAAuBsB,EACxCpB,eAAe0B,QAAQf,EAASG,UAE3B,KACDH,EAASG,SACXd,eAAe2B,UAAUhB,EAASG,QACpC,IAED,CAACM,IAGFQ,WAAAA,IAACC,MAAAA,KAAW,CAAC,sBAAkB,EAACC,OAAQb,EAASc,SAC/CH,WAAAI,IAACH,YAAY,IACPnB,EACJD,KAAMA,EACNM,QAASA,EACTkB,OAASC,IACHxB,EAAWuB,QAAQvB,EAAWuB,OAAOC,GAEzCd,EAAqBc,EAAIC,cAAc,EAEzCxB,SAAWyB,IACTzB,EAASG,QAAUsB,CAAK,KAGhB"}
1
+ {"version":3,"file":"FormInput.js","sources":["../../../../src/components/FormInput/FormInput.tsx"],"sourcesContent":["import { forwardRef, useRef, useImperativeHandle, useLayoutEffect, useState, useCallback } from 'react'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport { useMergedPalette } from 'hooks/useMergedPalette'\nimport * as Styled from './style'\nimport type { FormInputProps } from './types'\n\nconst resizeHandlerSymbol = Symbol('resize-handler')\n\nconst resizeObserver = new ResizeObserver((entries) => {\n entries.forEach((entry) => {\n if (typeof entry.target[resizeHandlerSymbol] === 'function') {\n entry.target[resizeHandlerSymbol](entry.target)\n }\n })\n})\n\nconst FormInput: React.ForwardRefExoticComponent<FormInputProps> = forwardRef((props, forwardRef) => {\n const { mask = '', ...inputProps } = props\n\n const inputRef = useRef<HTMLInputElement | null>(null)\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(forwardRef, () => inputRef.current, [])\n\n const palette = useMergedPalette(inputProps)\n\n const [overflow, setOverflow] = useState<boolean>(false)\n\n const handleDetectOverflow = useCallback((e: HTMLInputElement) => {\n setOverflow(e.scrollWidth > e.clientWidth)\n }, [])\n\n useLayoutEffect(() => {\n if (inputRef.current) {\n inputRef.current[resizeHandlerSymbol] = handleDetectOverflow\n resizeObserver.observe(inputRef.current)\n }\n return () => {\n if (inputRef.current) {\n resizeObserver.unobserve(inputRef.current)\n }\n }\n }, [handleDetectOverflow])\n\n return (\n <Styled.Root data-input-control fading={overflow}>\n <Styled.Input\n {...inputProps}\n mask={mask}\n palette={palette}\n onBlur={(evt) => {\n if (inputProps.onBlur) inputProps.onBlur(evt)\n\n handleDetectOverflow(evt.currentTarget)\n }}\n inputRef={(input) => {\n inputRef.current = input\n }}\n />\n </Styled.Root>\n )\n})\n\nexport { FormInput }\n"],"names":["resizeHandlerSymbol","Symbol","resizeObserver","ResizeObserver","default","entries","forEach","entry","target","forwardRef","props","mask","inputProps","inputRef","useRef","useImperativeHandle","current","palette","useMergedPalette","overflow","setOverflow","useState","handleDetectOverflow","useCallback","e","scrollWidth","clientWidth","useLayoutEffect","observe","unobserve","_jsx","Styled","fading","children","jsx","onBlur","evt","currentTarget","input"],"mappings":"wWAMA,MAAMA,oBAAsBC,OAAO,kBAEnC,MAAMC,eAAiB,IAAIC,wBAAcC,SAAEC,IACzCA,EAAQC,SAASC,WACJA,EAAMC,OAAOR,sBAAyB,YAC/CO,EAAMC,OAAOR,qBAAqBO,EAAMC,OAC1C,GACA,sBAG+DC,MAAUA,YAAC,CAACC,EAAOD,KACpF,MAAME,KAAEA,EAAO,MAAOC,GAAeF,EAErC,MAAMG,EAAWC,aAAgC,MACjDC,MAAAA,oBAAsEN,GAAY,IAAMI,EAASG,SAAS,IAE1G,MAAMC,EAAUC,kCAAiBN,GAEjC,MAAOO,EAAUC,GAAeC,MAAQA,UAAU,GAElD,MAAMC,EAAuBC,MAAWA,aAAEC,IACxCJ,EAAYI,EAAEC,YAAcD,EAAEE,YAAY,GACzC,IAcH,OAZAC,MAAAA,iBAAgB,KACVd,EAASG,UACXH,EAASG,QAAQhB,qBAAuBsB,EACxCpB,eAAe0B,QAAQf,EAASG,UAE3B,KACDH,EAASG,SACXd,eAAe2B,UAAUhB,EAASG,QACpC,IAED,CAACM,IAGFQ,WAAAA,IAACC,MAAAA,KAAW,CAAC,sBAAkB,EAACC,OAAQb,EAASc,SAC/CH,WAAAI,IAACH,YAAY,IACPnB,EACJD,KAAMA,EACNM,QAASA,EACTkB,OAASC,IACHxB,EAAWuB,QAAQvB,EAAWuB,OAAOC,GAEzCd,EAAqBc,EAAIC,cAAc,EAEzCxB,SAAWyB,IACTzB,EAASG,QAAUsB,CAAK,KAGhB"}
@@ -1,2 +1,2 @@
1
- import{forwardRef,useRef,useImperativeHandle,useState,useCallback,useLayoutEffect}from'react';import ResizeObserver from'../../external/.pnpm/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.mjs';import{useMergedPalette}from'../../hooks/useMergedPalette.mjs';import{Root,Input}from'./style.mjs';import{jsx}from'react/jsx-runtime';const resizeHandlerSymbol=Symbol('resize-handler');const resizeObserver=new ResizeObserver((e=>{e.forEach((e=>{typeof e.target[resizeHandlerSymbol]=='function'&&e.target[resizeHandlerSymbol](e.target)}))}));const FormInput=forwardRef(((e,r)=>{const{mask:t="",...s}=e;const o=useRef(null);useImperativeHandle(r,(()=>o.current),[]);const n=useMergedPalette(s);const[l,u]=useState(!1);const a=useCallback((e=>{u(e.scrollWidth>e.clientWidth)}),[]);return useLayoutEffect((()=>(o.current&&(o.current[resizeHandlerSymbol]=a,resizeObserver.observe(o.current)),()=>{o.current&&resizeObserver.unobserve(o.current)})),[a]),jsx(Root,{"data-input-control":!0,fading:l,children:jsx(Input,{...s,mask:t,palette:n,onBlur:e=>{s.onBlur&&s.onBlur(e),a(e.currentTarget)},inputRef:e=>{o.current=e}})})}));export{FormInput};
1
+ import{forwardRef,useRef,useImperativeHandle,useState,useCallback,useLayoutEffect}from'react';import ResizeObserver from'resize-observer-polyfill';import{useMergedPalette}from'../../hooks/useMergedPalette.mjs';import{Root,Input}from'./style.mjs';import{jsx}from'react/jsx-runtime';const resizeHandlerSymbol=Symbol('resize-handler');const resizeObserver=new ResizeObserver((e=>{e.forEach((e=>{typeof e.target[resizeHandlerSymbol]=='function'&&e.target[resizeHandlerSymbol](e.target)}))}));const FormInput=forwardRef(((e,r)=>{const{mask:t="",...s}=e;const o=useRef(null);useImperativeHandle(r,(()=>o.current),[]);const n=useMergedPalette(s);const[u,a]=useState(!1);const l=useCallback((e=>{a(e.scrollWidth>e.clientWidth)}),[]);return useLayoutEffect((()=>(o.current&&(o.current[resizeHandlerSymbol]=l,resizeObserver.observe(o.current)),()=>{o.current&&resizeObserver.unobserve(o.current)})),[l]),jsx(Root,{"data-input-control":!0,fading:u,children:jsx(Input,{...s,mask:t,palette:n,onBlur:e=>{s.onBlur&&s.onBlur(e),l(e.currentTarget)},inputRef:e=>{o.current=e}})})}));export{FormInput};
2
2
  //# sourceMappingURL=FormInput.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormInput.mjs","sources":["../../../../src/components/FormInput/FormInput.tsx"],"sourcesContent":["import { forwardRef, useRef, useImperativeHandle, useLayoutEffect, useState, useCallback } from 'react'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport { useMergedPalette } from 'hooks/useMergedPalette'\nimport * as Styled from './style'\nimport type { FormInputProps } from './types'\n\nconst resizeHandlerSymbol = Symbol('resize-handler')\n\nconst resizeObserver = new ResizeObserver((entries) => {\n entries.forEach((entry) => {\n if (typeof entry.target[resizeHandlerSymbol] === 'function') {\n entry.target[resizeHandlerSymbol](entry.target)\n }\n })\n})\n\nconst FormInput: React.ForwardRefExoticComponent<FormInputProps> = forwardRef((props, forwardRef) => {\n const { mask = '', ...inputProps } = props\n\n const inputRef = useRef<HTMLInputElement | null>(null)\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(forwardRef, () => inputRef.current, [])\n\n const palette = useMergedPalette(inputProps)\n\n const [overflow, setOverflow] = useState<boolean>(false)\n\n const handleDetectOverflow = useCallback((e: HTMLInputElement) => {\n setOverflow(e.scrollWidth > e.clientWidth)\n }, [])\n\n useLayoutEffect(() => {\n if (inputRef.current) {\n inputRef.current[resizeHandlerSymbol] = handleDetectOverflow\n resizeObserver.observe(inputRef.current)\n }\n return () => {\n if (inputRef.current) {\n resizeObserver.unobserve(inputRef.current)\n }\n }\n }, [handleDetectOverflow])\n\n return (\n <Styled.Root data-input-control fading={overflow}>\n <Styled.Input\n {...inputProps}\n mask={mask}\n palette={palette}\n onBlur={(evt) => {\n if (inputProps.onBlur) inputProps.onBlur(evt)\n\n handleDetectOverflow(evt.currentTarget)\n }}\n inputRef={(input) => {\n inputRef.current = input\n }}\n />\n </Styled.Root>\n )\n})\n\nexport { FormInput }\n"],"names":["resizeHandlerSymbol","Symbol","resizeObserver","ResizeObserver","entries","forEach","entry","target","FormInput","forwardRef","props","mask","inputProps","inputRef","useRef","useImperativeHandle","current","palette","useMergedPalette","overflow","setOverflow","useState","handleDetectOverflow","useCallback","e","scrollWidth","clientWidth","useLayoutEffect","observe","unobserve","_jsx","Styled","fading","children","onBlur","evt","currentTarget","input"],"mappings":"kXAMA,MAAMA,oBAAsBC,OAAO,kBAEnC,MAAMC,eAAiB,IAAIC,gBAAgBC,IACzCA,EAAQC,SAASC,WACJA,EAAMC,OAAOP,sBAAyB,YAC/CM,EAAMC,OAAOP,qBAAqBM,EAAMC,OAC1C,GACA,IAGEC,MAAAA,UAA6DC,YAAW,CAACC,EAAOD,KACpF,MAAME,KAAEA,EAAO,MAAOC,GAAeF,EAErC,MAAMG,EAAWC,OAAgC,MACjDC,oBAAsEN,GAAY,IAAMI,EAASG,SAAS,IAE1G,MAAMC,EAAUC,iBAAiBN,GAEjC,MAAOO,EAAUC,GAAeC,UAAkB,GAElD,MAAMC,EAAuBC,aAAaC,IACxCJ,EAAYI,EAAEC,YAAcD,EAAEE,YAAY,GACzC,IAcH,OAZAC,iBAAgB,KACVd,EAASG,UACXH,EAASG,QAAQhB,qBAAuBsB,EACxCpB,eAAe0B,QAAQf,EAASG,UAE3B,KACDH,EAASG,SACXd,eAAe2B,UAAUhB,EAASG,QACpC,IAED,CAACM,IAGFQ,IAACC,KAAW,CAAC,sBAAkB,EAACC,OAAQb,EAASc,SAC/CH,IAACC,MAAY,IACPnB,EACJD,KAAMA,EACNM,QAASA,EACTiB,OAASC,IACHvB,EAAWsB,QAAQtB,EAAWsB,OAAOC,GAEzCb,EAAqBa,EAAIC,cAAc,EAEzCvB,SAAWwB,IACTxB,EAASG,QAAUqB,CAAK,KAGhB"}
1
+ {"version":3,"file":"FormInput.mjs","sources":["../../../../src/components/FormInput/FormInput.tsx"],"sourcesContent":["import { forwardRef, useRef, useImperativeHandle, useLayoutEffect, useState, useCallback } from 'react'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport { useMergedPalette } from 'hooks/useMergedPalette'\nimport * as Styled from './style'\nimport type { FormInputProps } from './types'\n\nconst resizeHandlerSymbol = Symbol('resize-handler')\n\nconst resizeObserver = new ResizeObserver((entries) => {\n entries.forEach((entry) => {\n if (typeof entry.target[resizeHandlerSymbol] === 'function') {\n entry.target[resizeHandlerSymbol](entry.target)\n }\n })\n})\n\nconst FormInput: React.ForwardRefExoticComponent<FormInputProps> = forwardRef((props, forwardRef) => {\n const { mask = '', ...inputProps } = props\n\n const inputRef = useRef<HTMLInputElement | null>(null)\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(forwardRef, () => inputRef.current, [])\n\n const palette = useMergedPalette(inputProps)\n\n const [overflow, setOverflow] = useState<boolean>(false)\n\n const handleDetectOverflow = useCallback((e: HTMLInputElement) => {\n setOverflow(e.scrollWidth > e.clientWidth)\n }, [])\n\n useLayoutEffect(() => {\n if (inputRef.current) {\n inputRef.current[resizeHandlerSymbol] = handleDetectOverflow\n resizeObserver.observe(inputRef.current)\n }\n return () => {\n if (inputRef.current) {\n resizeObserver.unobserve(inputRef.current)\n }\n }\n }, [handleDetectOverflow])\n\n return (\n <Styled.Root data-input-control fading={overflow}>\n <Styled.Input\n {...inputProps}\n mask={mask}\n palette={palette}\n onBlur={(evt) => {\n if (inputProps.onBlur) inputProps.onBlur(evt)\n\n handleDetectOverflow(evt.currentTarget)\n }}\n inputRef={(input) => {\n inputRef.current = input\n }}\n />\n </Styled.Root>\n )\n})\n\nexport { FormInput }\n"],"names":["resizeHandlerSymbol","Symbol","resizeObserver","ResizeObserver","entries","forEach","entry","target","FormInput","forwardRef","props","mask","inputProps","inputRef","useRef","useImperativeHandle","current","palette","useMergedPalette","overflow","setOverflow","useState","handleDetectOverflow","useCallback","e","scrollWidth","clientWidth","useLayoutEffect","observe","unobserve","_jsx","Styled","fading","children","onBlur","evt","currentTarget","input"],"mappings":"yRAMA,MAAMA,oBAAsBC,OAAO,kBAEnC,MAAMC,eAAiB,IAAIC,gBAAgBC,IACzCA,EAAQC,SAASC,WACJA,EAAMC,OAAOP,sBAAyB,YAC/CM,EAAMC,OAAOP,qBAAqBM,EAAMC,OAC1C,GACA,IAGEC,MAAAA,UAA6DC,YAAW,CAACC,EAAOD,KACpF,MAAME,KAAEA,EAAO,MAAOC,GAAeF,EAErC,MAAMG,EAAWC,OAAgC,MACjDC,oBAAsEN,GAAY,IAAMI,EAASG,SAAS,IAE1G,MAAMC,EAAUC,iBAAiBN,GAEjC,MAAOO,EAAUC,GAAeC,UAAkB,GAElD,MAAMC,EAAuBC,aAAaC,IACxCJ,EAAYI,EAAEC,YAAcD,EAAEE,YAAY,GACzC,IAcH,OAZAC,iBAAgB,KACVd,EAASG,UACXH,EAASG,QAAQhB,qBAAuBsB,EACxCpB,eAAe0B,QAAQf,EAASG,UAE3B,KACDH,EAASG,SACXd,eAAe2B,UAAUhB,EAASG,QACpC,IAED,CAACM,IAGFQ,IAACC,KAAW,CAAC,sBAAkB,EAACC,OAAQb,EAASc,SAC/CH,IAACC,MAAY,IACPnB,EACJD,KAAMA,EACNM,QAASA,EACTiB,OAASC,IACHvB,EAAWsB,QAAQtB,EAAWsB,OAAOC,GAEzCb,EAAqBa,EAAIC,cAAc,EAEzCvB,SAAWwB,IACTxB,EAASG,QAAUqB,CAAK,KAGhB"}
@@ -1,2 +1,2 @@
1
- 'use strict';var React=require('react');var withMergedProps=require('../../hocs/withMergedProps.js');var constants=require('./constants.js');var style=require('./style.js');var require$$0=require('react/jsx-runtime');var Icon=require('../Icon/Icon.js');var Text=require('../Text/Text.js');const FormInputLabel=withMergedProps.withMergedProps(React.forwardRef(((e,r)=>{const{size:i="m",labelPosition:t="dynamic",inputPosition:n="center",iconProps:o={},icon:s,input:a,label:c,labelId:l,text:d,controls:p,addon:u,dropdown:g,active:h,...m}=e;const[v,x]=Array.isArray(s)?s:[s];return require$$0.jsxs(style.Root,{...m,size:i,ref:r,children:[v&&require$$0.jsx(Icon.Icon,{preset:"brand",name:typeof v=='string'?v:void 0,icon:typeof v!='string'?v:void 0,marginRight:12,...o}),require$$0.jsxs(style.InputContainer,{position:n,labelPosition:c?t:void 0,labelActive:h,children:[a,c&&require$$0.jsx(style.Label,{id:l,children:c})]}),d&&require$$0.jsx(Text.Text,{size:"inherit",color:"inherit",whiteSpace:"nowrap",marginLeft:12,marginRight:u||x||p?void 0:8,children:d}),u,x&&require$$0.jsx(Icon.Icon,{preset:"brand",name:typeof x=='string'?x:void 0,icon:typeof x!='string'?x:void 0,marginLeft:12,marginRight:p?void 0:4,...o}),p,g&&require$$0.jsx(style.Dropdown,{children:g})]})})),{sizes:constants.SIZES,displayName:"FormInputLabel"});exports.COMPONENT_NAME="FormInputLabel",exports.FormInputLabel=FormInputLabel;
1
+ 'use strict';var React=require('react');var withMergedProps=require('../../hocs/withMergedProps.js');var constants=require('./constants.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var Icon=require('../Icon/Icon.js');var Text=require('../Text/Text.js');const FormInputLabel=withMergedProps.withMergedProps(React.forwardRef(((e,t)=>{const{size:r="m",labelPosition:i="dynamic",inputPosition:n="center",iconProps:s={},icon:o,input:a,label:c,labelId:l,text:d,controls:p,addon:u,dropdown:m,active:x,...j}=e;const[g,h]=Array.isArray(o)?o:[o];return jsxRuntime.jsxs(style.Root,{...j,size:r,ref:t,children:[g&&jsxRuntime.jsx(Icon.Icon,{preset:"brand",name:typeof g=='string'?g:void 0,icon:typeof g!='string'?g:void 0,marginRight:12,...s}),jsxRuntime.jsxs(style.InputContainer,{position:n,labelPosition:c?i:void 0,labelActive:x,children:[a,c&&jsxRuntime.jsx(style.Label,{id:l,children:c})]}),d&&jsxRuntime.jsx(Text.Text,{size:"inherit",color:"inherit",whiteSpace:"nowrap",marginLeft:12,marginRight:u||h||p?void 0:8,children:d}),u,h&&jsxRuntime.jsx(Icon.Icon,{preset:"brand",name:typeof h=='string'?h:void 0,icon:typeof h!='string'?h:void 0,marginLeft:12,marginRight:p?void 0:4,...s}),p,m&&jsxRuntime.jsx(style.Dropdown,{children:m})]})})),{sizes:constants.SIZES,displayName:"FormInputLabel"});exports.COMPONENT_NAME="FormInputLabel",exports.FormInputLabel=FormInputLabel;
2
2
  //# sourceMappingURL=FormInputLabel.js.map