@propellerads/button-drop-down 2.1.0 → 2.4.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 (340) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/dist/button-drop-down.cjs.development.js +18 -38
  3. package/dist/button-drop-down.cjs.development.js.map +1 -1
  4. package/dist/button-drop-down.cjs.production.min.js +1 -1
  5. package/dist/button-drop-down.cjs.production.min.js.map +1 -1
  6. package/dist/button-drop-down.esm.js +16 -38
  7. package/dist/button-drop-down.esm.js.map +1 -1
  8. package/dist/index.d.ts +19 -0
  9. package/dist/style.d.ts +4 -0
  10. package/package.json +7 -6
  11. package/dist/AdFormat/index.d.ts +0 -27
  12. package/dist/AdFormat/style.d.ts +0 -22
  13. package/dist/Alert/src/index.d.ts +0 -4
  14. package/dist/Alert/src/style.d.ts +0 -8
  15. package/dist/Alert/src/types.d.ts +0 -14
  16. package/dist/ArrowButton/index.d.ts +0 -20
  17. package/dist/ArrowButton/style.d.ts +0 -1
  18. package/dist/Badge/src/index.d.ts +0 -4
  19. package/dist/Badge/src/style.d.ts +0 -8
  20. package/dist/Badge/src/types.d.ts +0 -19
  21. package/dist/Button/src/index.d.ts +0 -4
  22. package/dist/Button/src/style.d.ts +0 -13
  23. package/dist/Button/src/types.d.ts +0 -48
  24. package/dist/ButtonDropDown/src/index.d.ts +0 -26
  25. package/dist/ButtonDropDown/src/style.d.ts +0 -3
  26. package/dist/Card/rollup.config.d.ts +0 -15
  27. package/dist/Card/src/index.d.ts +0 -36
  28. package/dist/Card/src/style.d.ts +0 -5
  29. package/dist/CheckboxCardGroup/rollup.config.d.ts +0 -15
  30. package/dist/CheckboxCardGroup/src/index.d.ts +0 -23
  31. package/dist/CheckboxCardGroup/src/styles.d.ts +0 -9
  32. package/dist/CodeViewer/index.d.ts +0 -25
  33. package/dist/CodeViewer/style.d.ts +0 -3
  34. package/dist/Collapser/rollup.config.d.ts +0 -15
  35. package/dist/Collapser/src/index.d.ts +0 -28
  36. package/dist/Collapser/src/style.d.ts +0 -4
  37. package/dist/ColorPicker/index.d.ts +0 -38
  38. package/dist/CookieMessage/src/index.d.ts +0 -3
  39. package/dist/CookieMessage/src/style.d.ts +0 -9
  40. package/dist/CookieMessage/src/types.d.ts +0 -13
  41. package/dist/Countdown/index.d.ts +0 -29
  42. package/dist/Currency/rollup.config.d.ts +0 -15
  43. package/dist/Currency/src/index.d.ts +0 -43
  44. package/dist/Currency/src/style.d.ts +0 -2
  45. package/dist/DatePicker/DatePickerControls/index.d.ts +0 -49
  46. package/dist/DatePicker/DatePickerControls/style.d.ts +0 -4
  47. package/dist/DatePicker/DatePickerInput/index.d.ts +0 -21
  48. package/dist/DatePicker/DatePickerInput/styles.d.ts +0 -1
  49. package/dist/DatePicker/DatePickerPresets/index.d.ts +0 -25
  50. package/dist/DatePicker/DatePickerPresets/style.d.ts +0 -2
  51. package/dist/DatePicker/defaultProps.d.ts +0 -9
  52. package/dist/DatePicker/helpers.d.ts +0 -15
  53. package/dist/DatePicker/index.d.ts +0 -88
  54. package/dist/DatePicker/style.d.ts +0 -14
  55. package/dist/EditableField/rollup.config.d.ts +0 -15
  56. package/dist/EditableField/src/index.d.ts +0 -56
  57. package/dist/EditableField/src/style.d.ts +0 -7
  58. package/dist/EmptyState/src/index.d.ts +0 -3
  59. package/dist/EmptyState/src/style.d.ts +0 -5
  60. package/dist/EmptyState/src/types.d.ts +0 -9
  61. package/dist/ErrorLabel/rollup.config.d.ts +0 -15
  62. package/dist/ErrorLabel/src/ErrorsList/ErrorItem/index.d.ts +0 -20
  63. package/dist/ErrorLabel/src/ErrorsList/ErrorItem/style.d.ts +0 -1
  64. package/dist/ErrorLabel/src/ErrorsList/index.d.ts +0 -30
  65. package/dist/ErrorLabel/src/ErrorsList/style.d.ts +0 -2
  66. package/dist/ErrorLabel/src/constants.d.ts +0 -9
  67. package/dist/ErrorLabel/src/index.d.ts +0 -27
  68. package/dist/ErrorLabel/src/style.d.ts +0 -2
  69. package/dist/FormattedNumber/index.d.ts +0 -16
  70. package/dist/Header/HeaderBalance/index.d.ts +0 -20
  71. package/dist/Header/HeaderBalance/style.d.ts +0 -6
  72. package/dist/Header/HeaderDivider/index.d.ts +0 -2
  73. package/dist/Header/HeaderDivider/style.d.ts +0 -1
  74. package/dist/Header/HeaderDropdown/index.d.ts +0 -16
  75. package/dist/Header/HeaderDropdown/style.d.ts +0 -1
  76. package/dist/Header/HeaderDropdownList/index.d.ts +0 -14
  77. package/dist/Header/HeaderDropdownList/style.d.ts +0 -1
  78. package/dist/Header/HeaderItem/index.d.ts +0 -38
  79. package/dist/Header/HeaderItem/style.d.ts +0 -4
  80. package/dist/Header/HeaderTime/index.d.ts +0 -14
  81. package/dist/Header/HeaderTime/style.d.ts +0 -1
  82. package/dist/Header/__test__/header.balance.test.d.ts +0 -1
  83. package/dist/Header/__test__/header.item.test.d.ts +0 -1
  84. package/dist/Header/__test__/header.test.d.ts +0 -1
  85. package/dist/Header/__test__/header.time.test.d.ts +0 -1
  86. package/dist/Header/index.d.ts +0 -102
  87. package/dist/Header/rollup.config.d.ts +0 -15
  88. package/dist/Header/style.d.ts +0 -3
  89. package/dist/Header/themes/contex.d.ts +0 -56
  90. package/dist/Header/themes/variables.d.ts +0 -56
  91. package/dist/Hint/rollup.config.d.ts +0 -15
  92. package/dist/Hint/src/index.d.ts +0 -20
  93. package/dist/Hint/src/style.d.ts +0 -4
  94. package/dist/Icon/src/createSvg.d.ts +0 -7
  95. package/dist/Icon/src/icons/Add.d.ts +0 -2
  96. package/dist/Icon/src/icons/AddCircle.d.ts +0 -2
  97. package/dist/Icon/src/icons/AddFiled.d.ts +0 -2
  98. package/dist/Icon/src/icons/AmericanExpress.d.ts +0 -2
  99. package/dist/Icon/src/icons/Archive.d.ts +0 -2
  100. package/dist/Icon/src/icons/ArrowDown.d.ts +0 -2
  101. package/dist/Icon/src/icons/ArrowDownFull.d.ts +0 -2
  102. package/dist/Icon/src/icons/ArrowLeft.d.ts +0 -2
  103. package/dist/Icon/src/icons/ArrowPageFirst.d.ts +0 -2
  104. package/dist/Icon/src/icons/ArrowPageLast.d.ts +0 -2
  105. package/dist/Icon/src/icons/ArrowRight.d.ts +0 -2
  106. package/dist/Icon/src/icons/ArrowRightFull.d.ts +0 -2
  107. package/dist/Icon/src/icons/ArrowUp.d.ts +0 -2
  108. package/dist/Icon/src/icons/ArrowUpFull.d.ts +0 -2
  109. package/dist/Icon/src/icons/Assistance.d.ts +0 -2
  110. package/dist/Icon/src/icons/Bank.d.ts +0 -2
  111. package/dist/Icon/src/icons/Bell.d.ts +0 -2
  112. package/dist/Icon/src/icons/Block.d.ts +0 -2
  113. package/dist/Icon/src/icons/BorderAll.d.ts +0 -2
  114. package/dist/Icon/src/icons/Build.d.ts +0 -2
  115. package/dist/Icon/src/icons/Burger.d.ts +0 -2
  116. package/dist/Icon/src/icons/Card.d.ts +0 -2
  117. package/dist/Icon/src/icons/Case.d.ts +0 -2
  118. package/dist/Icon/src/icons/Check.d.ts +0 -2
  119. package/dist/Icon/src/icons/CheckCircle.d.ts +0 -2
  120. package/dist/Icon/src/icons/Chrome.d.ts +0 -2
  121. package/dist/Icon/src/icons/ChromeColored.d.ts +0 -2
  122. package/dist/Icon/src/icons/Close.d.ts +0 -2
  123. package/dist/Icon/src/icons/Code.d.ts +0 -2
  124. package/dist/Icon/src/icons/Columns.d.ts +0 -2
  125. package/dist/Icon/src/icons/Comment.d.ts +0 -2
  126. package/dist/Icon/src/icons/Copy.d.ts +0 -2
  127. package/dist/Icon/src/icons/Crop.d.ts +0 -2
  128. package/dist/Icon/src/icons/Crown.d.ts +0 -2
  129. package/dist/Icon/src/icons/Cup.d.ts +0 -2
  130. package/dist/Icon/src/icons/Date.d.ts +0 -2
  131. package/dist/Icon/src/icons/Delete.d.ts +0 -2
  132. package/dist/Icon/src/icons/Desktop.d.ts +0 -2
  133. package/dist/Icon/src/icons/Download.d.ts +0 -2
  134. package/dist/Icon/src/icons/Ebanx.d.ts +0 -2
  135. package/dist/Icon/src/icons/Edit.d.ts +0 -2
  136. package/dist/Icon/src/icons/Epayments.d.ts +0 -2
  137. package/dist/Icon/src/icons/Error.d.ts +0 -2
  138. package/dist/Icon/src/icons/Eye.d.ts +0 -2
  139. package/dist/Icon/src/icons/Facebook.d.ts +0 -2
  140. package/dist/Icon/src/icons/File.d.ts +0 -2
  141. package/dist/Icon/src/icons/Filter.d.ts +0 -2
  142. package/dist/Icon/src/icons/FilterList.d.ts +0 -2
  143. package/dist/Icon/src/icons/Fire.d.ts +0 -2
  144. package/dist/Icon/src/icons/FlightUp.d.ts +0 -2
  145. package/dist/Icon/src/icons/Forth.d.ts +0 -2
  146. package/dist/Icon/src/icons/Funnel.d.ts +0 -2
  147. package/dist/Icon/src/icons/Gamepad.d.ts +0 -2
  148. package/dist/Icon/src/icons/Geo.d.ts +0 -2
  149. package/dist/Icon/src/icons/GiftBox.d.ts +0 -2
  150. package/dist/Icon/src/icons/HourGlass.d.ts +0 -2
  151. package/dist/Icon/src/icons/Infinity.d.ts +0 -2
  152. package/dist/Icon/src/icons/InfoOutline.d.ts +0 -2
  153. package/dist/Icon/src/icons/Insert.d.ts +0 -2
  154. package/dist/Icon/src/icons/Instagram.d.ts +0 -2
  155. package/dist/Icon/src/icons/Lamp.d.ts +0 -2
  156. package/dist/Icon/src/icons/Language.d.ts +0 -2
  157. package/dist/Icon/src/icons/LineChart.d.ts +0 -2
  158. package/dist/Icon/src/icons/Link.d.ts +0 -2
  159. package/dist/Icon/src/icons/Linkedin.d.ts +0 -2
  160. package/dist/Icon/src/icons/Lock.d.ts +0 -2
  161. package/dist/Icon/src/icons/LockOpen.d.ts +0 -2
  162. package/dist/Icon/src/icons/LogOut.d.ts +0 -2
  163. package/dist/Icon/src/icons/LpViews.d.ts +0 -2
  164. package/dist/Icon/src/icons/Mail.d.ts +0 -2
  165. package/dist/Icon/src/icons/Money.d.ts +0 -2
  166. package/dist/Icon/src/icons/MoreHorizontal.d.ts +0 -2
  167. package/dist/Icon/src/icons/MoreVertical.d.ts +0 -2
  168. package/dist/Icon/src/icons/NoMoney.d.ts +0 -2
  169. package/dist/Icon/src/icons/Offer.d.ts +0 -2
  170. package/dist/Icon/src/icons/OfferFilled.d.ts +0 -2
  171. package/dist/Icon/src/icons/OpenInNew.d.ts +0 -2
  172. package/dist/Icon/src/icons/Pause.d.ts +0 -2
  173. package/dist/Icon/src/icons/Paypal.d.ts +0 -2
  174. package/dist/Icon/src/icons/Pdf.d.ts +0 -2
  175. package/dist/Icon/src/icons/People.d.ts +0 -2
  176. package/dist/Icon/src/icons/Phone.d.ts +0 -2
  177. package/dist/Icon/src/icons/Pie.d.ts +0 -2
  178. package/dist/Icon/src/icons/PieOutline.d.ts +0 -2
  179. package/dist/Icon/src/icons/Play.d.ts +0 -2
  180. package/dist/Icon/src/icons/Pop.d.ts +0 -2
  181. package/dist/Icon/src/icons/Postback.d.ts +0 -2
  182. package/dist/Icon/src/icons/Present.d.ts +0 -2
  183. package/dist/Icon/src/icons/Propeller.d.ts +0 -2
  184. package/dist/Icon/src/icons/Push.d.ts +0 -2
  185. package/dist/Icon/src/icons/Qiwi.d.ts +0 -2
  186. package/dist/Icon/src/icons/Question.d.ts +0 -2
  187. package/dist/Icon/src/icons/Receipt.d.ts +0 -2
  188. package/dist/Icon/src/icons/Refresh.d.ts +0 -2
  189. package/dist/Icon/src/icons/Search.d.ts +0 -2
  190. package/dist/Icon/src/icons/Segment.d.ts +0 -2
  191. package/dist/Icon/src/icons/Sent.d.ts +0 -2
  192. package/dist/Icon/src/icons/Settings.d.ts +0 -2
  193. package/dist/Icon/src/icons/Shield.d.ts +0 -2
  194. package/dist/Icon/src/icons/Site.d.ts +0 -2
  195. package/dist/Icon/src/icons/Skril.d.ts +0 -2
  196. package/dist/Icon/src/icons/Skype.d.ts +0 -2
  197. package/dist/Icon/src/icons/Smile.d.ts +0 -2
  198. package/dist/Icon/src/icons/SnowFlake.d.ts +0 -2
  199. package/dist/Icon/src/icons/SpeedFast.d.ts +0 -2
  200. package/dist/Icon/src/icons/Star.d.ts +0 -2
  201. package/dist/Icon/src/icons/Stat.d.ts +0 -2
  202. package/dist/Icon/src/icons/Stop.d.ts +0 -2
  203. package/dist/Icon/src/icons/Support.d.ts +0 -2
  204. package/dist/Icon/src/icons/Tablet.d.ts +0 -2
  205. package/dist/Icon/src/icons/Target.d.ts +0 -2
  206. package/dist/Icon/src/icons/Telegram.d.ts +0 -2
  207. package/dist/Icon/src/icons/Tell.d.ts +0 -2
  208. package/dist/Icon/src/icons/ThumbUp.d.ts +0 -2
  209. package/dist/Icon/src/icons/Time.d.ts +0 -2
  210. package/dist/Icon/src/icons/Touch.d.ts +0 -2
  211. package/dist/Icon/src/icons/Twitter.d.ts +0 -2
  212. package/dist/Icon/src/icons/Upload.d.ts +0 -2
  213. package/dist/Icon/src/icons/User.d.ts +0 -2
  214. package/dist/Icon/src/icons/UserAdd.d.ts +0 -2
  215. package/dist/Icon/src/icons/Users.d.ts +0 -2
  216. package/dist/Icon/src/icons/Vk.d.ts +0 -2
  217. package/dist/Icon/src/icons/Wallet.d.ts +0 -2
  218. package/dist/Icon/src/icons/Warning.d.ts +0 -2
  219. package/dist/Icon/src/icons/Webmoney.d.ts +0 -2
  220. package/dist/Icon/src/icons/WordPress.d.ts +0 -2
  221. package/dist/Icon/src/icons/YandexMoney.d.ts +0 -2
  222. package/dist/Icon/src/index.d.ts +0 -128
  223. package/dist/Icon/src/style.d.ts +0 -8
  224. package/dist/Icon/src/types.d.ts +0 -264
  225. package/dist/ImageUploader/rollup.config.d.ts +0 -15
  226. package/dist/ImageUploader/src/index.d.ts +0 -30
  227. package/dist/ImageUploader/src/styles.d.ts +0 -8
  228. package/dist/InputCheckbox/src/index.d.ts +0 -3
  229. package/dist/InputCheckbox/src/style.d.ts +0 -13
  230. package/dist/InputCheckbox/src/types.d.ts +0 -13
  231. package/dist/InputNumber/src/allowJavaScriptModules.d.ts +0 -1
  232. package/dist/InputNumber/src/index.d.ts +0 -3
  233. package/dist/InputNumber/src/style.d.ts +0 -8
  234. package/dist/InputNumber/src/types.d.ts +0 -27
  235. package/dist/InputPassword/src/allowJavaScriptModules.d.ts +0 -1
  236. package/dist/InputPassword/src/index.d.ts +0 -3
  237. package/dist/InputPassword/src/style.d.ts +0 -9
  238. package/dist/InputPassword/src/types.d.ts +0 -22
  239. package/dist/InputText/rollup.config.d.ts +0 -15
  240. package/dist/InputText/src/index.d.ts +0 -68
  241. package/dist/InputText/src/style.d.ts +0 -4
  242. package/dist/KYCForm/src/KYCDocumentParts/index.d.ts +0 -6
  243. package/dist/KYCForm/src/KYCDocumentParts/style.d.ts +0 -10
  244. package/dist/KYCForm/src/KYCDocumentParts/types.d.ts +0 -30
  245. package/dist/KYCForm/src/KYCErrorLabel/index.d.ts +0 -3
  246. package/dist/KYCForm/src/KYCErrorLabel/style.d.ts +0 -4
  247. package/dist/KYCForm/src/KYCErrorLabel/types.d.ts +0 -7
  248. package/dist/KYCForm/src/KYCFormItem/index.d.ts +0 -3
  249. package/dist/KYCForm/src/KYCFormItem/style.d.ts +0 -4
  250. package/dist/KYCForm/src/KYCFormItem/types.d.ts +0 -13
  251. package/dist/KYCForm/src/KYCStatusScreen/index.d.ts +0 -9
  252. package/dist/KYCForm/src/KYCStatusScreen/style.d.ts +0 -6
  253. package/dist/KYCForm/src/KYCStatusScreen/types.d.ts +0 -21
  254. package/dist/KYCForm/src/allowJavaScriptModules.d.ts +0 -1
  255. package/dist/KYCForm/src/constants.d.ts +0 -15
  256. package/dist/KYCForm/src/document.types.d.ts +0 -29
  257. package/dist/KYCForm/src/index.d.ts +0 -10
  258. package/dist/KYCForm/src/labels.types.d.ts +0 -35
  259. package/dist/KYCForm/src/style.d.ts +0 -5
  260. package/dist/KYCForm/src/types.d.ts +0 -17
  261. package/dist/KYCForm/src/utils.d.ts +0 -9
  262. package/dist/Label/rollup.config.d.ts +0 -15
  263. package/dist/Label/src/index.d.ts +0 -16
  264. package/dist/Label/src/style.d.ts +0 -2
  265. package/dist/MoneyDashboard/index.d.ts +0 -22
  266. package/dist/MoneyDashboard/style.d.ts +0 -4
  267. package/dist/MultiSelect/rollup.config.d.ts +0 -15
  268. package/dist/MultiSelect/src/index.d.ts +0 -51
  269. package/dist/MultiSelect/src/style.d.ts +0 -18
  270. package/dist/PageHeader/rollup.config.d.ts +0 -15
  271. package/dist/PageHeader/src/index.d.ts +0 -16
  272. package/dist/PageHeader/src/style.d.ts +0 -3
  273. package/dist/Pagination/index.d.ts +0 -25
  274. package/dist/PasswordValidator/src/index.d.ts +0 -9
  275. package/dist/PasswordValidator/src/style.d.ts +0 -7
  276. package/dist/PasswordValidator/src/types.d.ts +0 -21
  277. package/dist/Popup/src/index.d.ts +0 -5
  278. package/dist/Popup/src/styles.d.ts +0 -19
  279. package/dist/Popup/src/types.d.ts +0 -21
  280. package/dist/RadioCardGroup/rollup.config.d.ts +0 -15
  281. package/dist/RadioCardGroup/src/index.d.ts +0 -33
  282. package/dist/RadioCardGroup/src/style.d.ts +0 -7
  283. package/dist/RadioCardGroup/src/themes/index.d.ts +0 -21
  284. package/dist/RadioGroup/src/RadioOption/index.d.ts +0 -39
  285. package/dist/RadioGroup/src/RadioOption/style.d.ts +0 -16
  286. package/dist/RadioGroup/src/allowJavaScriptModules.d.ts +0 -1
  287. package/dist/RadioGroup/src/index.d.ts +0 -4
  288. package/dist/RadioGroup/src/style.d.ts +0 -4
  289. package/dist/RadioGroup/src/types.d.ts +0 -28
  290. package/dist/Select/src/allowJavaScriptModules.d.ts +0 -1
  291. package/dist/Select/src/index.d.ts +0 -3
  292. package/dist/Select/src/style.d.ts +0 -19
  293. package/dist/SingleDatePicker/__test__/SingleDatePicker.test.d.ts +0 -1
  294. package/dist/SingleDatePicker/src/DatePickerControls/index.d.ts +0 -3
  295. package/dist/SingleDatePicker/src/DatePickerControls/style.d.ts +0 -3
  296. package/dist/SingleDatePicker/src/allowJavaScriptModules.d.ts +0 -1
  297. package/dist/SingleDatePicker/src/helpers.d.ts +0 -5
  298. package/dist/SingleDatePicker/src/index.d.ts +0 -4
  299. package/dist/SingleDatePicker/src/styles.d.ts +0 -4
  300. package/dist/SingleDatePicker/src/types.d.ts +0 -19
  301. package/dist/Slider/index.d.ts +0 -28
  302. package/dist/Slider/styles.d.ts +0 -37
  303. package/dist/SmartHint/rollup.config.d.ts +0 -15
  304. package/dist/SmartHint/src/index.d.ts +0 -32
  305. package/dist/SmartHint/src/style.d.ts +0 -12
  306. package/dist/SmartTooltip/rollup.config.d.ts +0 -15
  307. package/dist/SmartTooltip/src/index.d.ts +0 -4
  308. package/dist/SmartTooltip/src/style.d.ts +0 -8
  309. package/dist/Spinner/src/index.d.ts +0 -4
  310. package/dist/Spinner/src/style.d.ts +0 -12
  311. package/dist/Spinner/src/types.d.ts +0 -21
  312. package/dist/StyleVariables/index.d.ts +0 -30
  313. package/dist/StyleVariables/types.d.ts +0 -30
  314. package/dist/SuccessLabel/src/index.d.ts +0 -3
  315. package/dist/SuccessLabel/src/style.d.ts +0 -7
  316. package/dist/SuccessLabel/src/types.d.ts +0 -8
  317. package/dist/SuchModuleSoPackage/index.d.ts +0 -1
  318. package/dist/Switch/rollup.config.d.ts +0 -15
  319. package/dist/Switch/src/index.d.ts +0 -30
  320. package/dist/Switch/src/style.d.ts +0 -2
  321. package/dist/Table/__test__/table.test.d.ts +0 -1
  322. package/dist/Table/src/index.d.ts +0 -12
  323. package/dist/Table/src/style.d.ts +0 -3
  324. package/dist/Table/src/types.d.ts +0 -8
  325. package/dist/Table/src/useLoadingState.d.ts +0 -4
  326. package/dist/Tabs/index.d.ts +0 -33
  327. package/dist/Tabs/style.d.ts +0 -6
  328. package/dist/TagsInput/src/allowJavaScriptModules.d.ts +0 -0
  329. package/dist/TagsInput/src/index.d.ts +0 -5
  330. package/dist/TagsInput/src/style.d.ts +0 -44
  331. package/dist/TextMaxLength/rollup.config.d.ts +0 -15
  332. package/dist/TextMaxLength/src/index.d.ts +0 -13
  333. package/dist/TextMaxLength/src/style.d.ts +0 -2
  334. package/dist/Textarea/src/allowJavaScriptModules.d.ts +0 -1
  335. package/dist/Textarea/src/index.d.ts +0 -3
  336. package/dist/Textarea/src/style.d.ts +0 -8
  337. package/dist/Title/src/index.d.ts +0 -3
  338. package/dist/Title/src/style.d.ts +0 -5
  339. package/dist/Title/src/types.d.ts +0 -13
  340. package/dist/Tooltip/index.d.ts +0 -24
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ### `2.4.0`
2
+
3
+ * migrated to TypeScript
4
+
5
+ ### `2.3.0`
6
+
7
+ * updated peerDependencies
8
+
9
+ #### `2.2.0`
10
+
11
+ * added props mouse enter and leave
12
+
1
13
  #### `2.1.0`
2
14
 
3
15
  * edit package json main and module data
@@ -19,4 +31,4 @@ Fix items height
19
31
 
20
32
  #### `1.0.0`
21
33
 
22
- Add '@propellerads/button-drop-down' component
34
+ Add '@propellerads/button-drop-down' component
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
6
 
5
7
  var React = require('react');
6
8
  var React__default = _interopDefault(React);
7
- var PropTypes = _interopDefault(require('prop-types'));
8
9
  var Button = require('@propellerads/button');
9
10
  var Button__default = _interopDefault(Button);
10
11
  var styled = _interopDefault(require('styled-components'));
@@ -29,35 +30,28 @@ var BUTTON_DROPDOWN_TYPE = Button.BUTTON_TYPE;
29
30
  var ButtonDropDownList = function ButtonDropDownList(props) {
30
31
  var option = props.option,
31
32
  _onClick = props.onClick;
32
- return /*#__PURE__*/React__default.createElement(Button__default, {
33
+ return React__default.createElement(Button__default, {
33
34
  elementId: option.id,
34
35
  type: Button.BUTTON_TYPE.PLAIN,
35
36
  onClick: function onClick() {
36
37
  return _onClick(option);
37
38
  }
38
- }, /*#__PURE__*/React__default.createElement(ButtonDropDownListItemContainer, null, option.title));
39
- };
40
-
41
- var ButtonDropDownListProps = /*#__PURE__*/PropTypes.shape({
42
- id: /*#__PURE__*/PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
43
- title: PropTypes.string.isRequired
44
- }).isRequired;
45
- ButtonDropDownList.propTypes = {
46
- option: ButtonDropDownListProps,
47
- onClick: PropTypes.func.isRequired
48
- };
49
- ButtonDropDownList.defaultProps = {
50
- option: {}
39
+ }, React__default.createElement(ButtonDropDownListItemContainer, null, option.title));
51
40
  };
52
41
 
53
42
  var ButtonDropDown = function ButtonDropDown(props) {
54
- var type = props.type,
43
+ var _props$type = props.type,
44
+ type = _props$type === void 0 ? Button.BUTTON_TYPE.ADVANCED : _props$type,
55
45
  isLoading = props.isLoading,
56
46
  isDisabled = props.isDisabled,
57
47
  elementId = props.elementId,
58
48
  options = props.options,
59
49
  title = props.title,
60
- onClick = props.onClick;
50
+ onClick = props.onClick,
51
+ _props$onMouseEnter = props.onMouseEnter,
52
+ onMouseEnter = _props$onMouseEnter === void 0 ? undefined : _props$onMouseEnter,
53
+ _props$onMouseLeave = props.onMouseLeave,
54
+ onMouseLeave = _props$onMouseLeave === void 0 ? undefined : _props$onMouseLeave;
61
55
  var containerRef = React.useRef(null);
62
56
 
63
57
  var _useState = React.useState(false),
@@ -86,18 +80,20 @@ var ButtonDropDown = function ButtonDropDown(props) {
86
80
  onClick(value);
87
81
  };
88
82
 
89
- return /*#__PURE__*/React__default.createElement(ButtonDropDownContainer, {
83
+ return React__default.createElement(ButtonDropDownContainer, {
90
84
  ref: containerRef
91
- }, /*#__PURE__*/React__default.createElement(Button__default, {
85
+ }, React__default.createElement(Button__default, {
92
86
  type: type,
93
87
  isLoading: isLoading,
94
88
  isDisabled: isDisabled,
95
89
  elementId: elementId,
96
90
  onClick: function onClick() {
97
91
  return setExpanded(!isExpanded);
98
- }
99
- }, title), isExpanded && options.length > 0 && /*#__PURE__*/React__default.createElement(ButtonDropDownListContainer, null, options.map(function (option) {
100
- return /*#__PURE__*/React__default.createElement(ButtonDropDownList, {
92
+ },
93
+ onMouseEnter: onMouseEnter,
94
+ onMouseLeave: onMouseLeave
95
+ }, title), isExpanded && options.length > 0 && React__default.createElement(ButtonDropDownListContainer, null, options.map(function (option) {
96
+ return React__default.createElement(ButtonDropDownList, {
101
97
  option: option,
102
98
  key: option.id,
103
99
  onClick: onItemClick
@@ -105,22 +101,6 @@ var ButtonDropDown = function ButtonDropDown(props) {
105
101
  })));
106
102
  };
107
103
 
108
- ButtonDropDown.propTypes = {
109
- type: /*#__PURE__*/PropTypes.oneOf( /*#__PURE__*/Object.values(BUTTON_DROPDOWN_TYPE)),
110
- options: /*#__PURE__*/PropTypes.arrayOf(ButtonDropDownListProps),
111
- elementId: PropTypes.string.isRequired,
112
- isLoading: PropTypes.bool,
113
- isDisabled: PropTypes.bool,
114
- title: PropTypes.string.isRequired,
115
- onClick: PropTypes.func.isRequired
116
- };
117
- ButtonDropDown.defaultProps = {
118
- type: BUTTON_DROPDOWN_TYPE.ADVANCED,
119
- isLoading: false,
120
- isDisabled: false,
121
- options: []
122
- };
123
-
124
104
  exports.BUTTON_DROPDOWN_TYPE = BUTTON_DROPDOWN_TYPE;
125
105
  exports.default = ButtonDropDown;
126
106
  //# sourceMappingURL=button-drop-down.cjs.development.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-drop-down.cjs.development.js","sources":["../src/style.jsx","../src/index.jsx"],"sourcesContent":["import styled from 'styled-components';\nimport {\n gray80,\n gray95,\n white,\n spacing,\n fontNormal,\n borderRadius,\n} from '@propellerads/stylevariables';\n\nconst ButtonDropDownContainer = styled.div`\n position: relative;\n width: fit-content;\n`;\n\nconst ButtonDropDownListContainer = styled.div`\n position: absolute;\n display: flex;\n flex-direction: column;\n min-width: 100%;\n width: fit-content;\n border: 1px solid ${gray80};\n border-radius: ${borderRadius}px;\n background-color: ${white};\n padding: ${spacing * 2}px 0;\n margin-top: 2px;\n font-size: ${fontNormal}px;\n z-index: 1;\n`;\n\nconst ButtonDropDownListItemContainer = styled.div`\n width: 100%;\n text-align: left;\n min-height: 32px;\n padding: ${spacing * 2}px ${spacing * 3}px;\n\n &:hover {\n background-color: ${gray95};\n }\n`;\n\nexport {\n ButtonDropDownContainer,\n ButtonDropDownListContainer,\n ButtonDropDownListItemContainer,\n};\n","import React, {useState, useEffect, useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport Button, {BUTTON_TYPE} from '@propellerads/button';\n\nimport {\n ButtonDropDownContainer,\n ButtonDropDownListContainer,\n ButtonDropDownListItemContainer,\n} from './style.jsx';\n\nexport const BUTTON_DROPDOWN_TYPE = BUTTON_TYPE;\n\nconst ButtonDropDownList = (props) => {\n const {\n option,\n onClick,\n } = props;\n\n return (\n <Button\n elementId={option.id}\n type={BUTTON_TYPE.PLAIN}\n onClick={() => onClick(option)}\n >\n <ButtonDropDownListItemContainer>\n {option.title}\n </ButtonDropDownListItemContainer>\n </Button>\n );\n};\n\nconst ButtonDropDownListProps = PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n title: PropTypes.string.isRequired,\n}).isRequired;\n\nButtonDropDownList.propTypes = {\n option: ButtonDropDownListProps,\n onClick: PropTypes.func.isRequired,\n};\n\nButtonDropDownList.defaultProps = {\n option: {},\n};\n\nconst ButtonDropDown = (props) => {\n const {\n type,\n isLoading,\n isDisabled,\n elementId,\n options,\n title,\n onClick,\n } = props;\n\n const containerRef = useRef(null);\n\n const [isExpanded, setExpanded] = useState(false);\n\n useEffect(() => {\n const handleClickOutside = (event) => {\n const {current} = containerRef;\n\n if (current && !current.contains(event.target)) {\n setExpanded(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('touchstart', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('touchstart', handleClickOutside);\n };\n }, [containerRef]);\n\n const onItemClick = (value) => {\n setExpanded(false);\n onClick(value);\n };\n\n return (\n <ButtonDropDownContainer\n ref={containerRef}\n >\n <Button\n type={type}\n isLoading={isLoading}\n isDisabled={isDisabled}\n elementId={elementId}\n onClick={() => setExpanded(!isExpanded)}\n >\n {title}\n </Button>\n\n {isExpanded && options.length > 0 && (\n <ButtonDropDownListContainer>\n {options.map((option) => (\n <ButtonDropDownList\n option={option}\n key={option.id}\n onClick={onItemClick}\n />\n ))}\n </ButtonDropDownListContainer>\n )}\n </ButtonDropDownContainer>\n );\n};\n\nButtonDropDown.propTypes = {\n type: PropTypes.oneOf(Object.values(BUTTON_DROPDOWN_TYPE)),\n options: PropTypes.arrayOf(ButtonDropDownListProps),\n elementId: PropTypes.string.isRequired,\n isLoading: PropTypes.bool,\n isDisabled: PropTypes.bool,\n title: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n};\n\nButtonDropDown.defaultProps = {\n type: BUTTON_DROPDOWN_TYPE.ADVANCED,\n isLoading: false,\n isDisabled: false,\n options: [],\n};\n\nexport default ButtonDropDown;\n"],"names":["ButtonDropDownContainer","styled","div","ButtonDropDownListContainer","gray80","borderRadius","white","spacing","fontNormal","ButtonDropDownListItemContainer","gray95","BUTTON_DROPDOWN_TYPE","BUTTON_TYPE","ButtonDropDownList","props","option","onClick","React","Button","id","PLAIN","title","ButtonDropDownListProps","PropTypes","shape","oneOfType","number","string","isRequired","propTypes","func","defaultProps","ButtonDropDown","type","isLoading","isDisabled","elementId","options","containerRef","useRef","useState","isExpanded","setExpanded","useEffect","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","onItemClick","value","length","map","oneOf","Object","values","arrayOf","bool","ADVANCED"],"mappings":"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"}
1
+ {"version":3,"file":"button-drop-down.cjs.development.js","sources":["../src/style.tsx","../src/index.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport {\n gray80,\n gray95,\n white,\n spacing,\n fontNormal,\n borderRadius,\n} from '@propellerads/stylevariables';\n\nconst ButtonDropDownContainer = styled.div`\n position: relative;\n width: fit-content;\n`;\n\nconst ButtonDropDownListContainer = styled.div`\n position: absolute;\n display: flex;\n flex-direction: column;\n min-width: 100%;\n width: fit-content;\n border: 1px solid ${gray80};\n border-radius: ${borderRadius}px;\n background-color: ${white};\n padding: ${spacing * 2}px 0;\n margin-top: 2px;\n font-size: ${fontNormal}px;\n z-index: 1;\n`;\n\nconst ButtonDropDownListItemContainer = styled.div`\n width: 100%;\n text-align: left;\n min-height: 32px;\n padding: ${spacing * 2}px ${spacing * 3}px;\n\n &:hover {\n background-color: ${gray95};\n }\n`;\n\nexport {\n ButtonDropDownContainer,\n ButtonDropDownListContainer,\n ButtonDropDownListItemContainer,\n};\n","import React, {useState, useEffect, useRef} from 'react';\nimport Button, {BUTTON_TYPE} from '@propellerads/button';\n\nimport {\n ButtonDropDownContainer,\n ButtonDropDownListContainer,\n ButtonDropDownListItemContainer,\n} from './style';\n\nexport const BUTTON_DROPDOWN_TYPE = BUTTON_TYPE;\n\ntype DROPDOWN_OPTION_TYPE = {\n id: string,\n title: string,\n};\n\nconst ButtonDropDownList = (props: {option: DROPDOWN_OPTION_TYPE, onClick: (value: DROPDOWN_OPTION_TYPE) => void}) => {\n const {\n option,\n onClick,\n } = props;\n\n return (\n <Button\n elementId={option.id}\n type={BUTTON_TYPE.PLAIN}\n onClick={() => onClick(option)}\n >\n <ButtonDropDownListItemContainer>\n {option.title}\n </ButtonDropDownListItemContainer>\n </Button>\n );\n};\n\ninterface IProps {\n type: typeof BUTTON_TYPE,\n options: DROPDOWN_OPTION_TYPE[],\n elementId: string,\n isLoading: boolean,\n isDisabled: boolean,\n title: string,\n onClick: (value: DROPDOWN_OPTION_TYPE) => void,\n onMouseEnter: () => void | undefined,\n onMouseLeave: () => void | undefined,\n}\n\nconst ButtonDropDown = (props: IProps) => {\n const {\n type = BUTTON_TYPE.ADVANCED,\n isLoading,\n isDisabled,\n elementId,\n options,\n title,\n onClick,\n onMouseEnter = undefined,\n onMouseLeave = undefined,\n } = props;\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const [isExpanded, setExpanded] = useState(false);\n\n useEffect(() => {\n const handleClickOutside = (event: any) => {\n const {current} = containerRef;\n\n if (current && !current.contains(event.target)) {\n setExpanded(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('touchstart', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('touchstart', handleClickOutside);\n };\n }, [containerRef]);\n\n const onItemClick = (value: DROPDOWN_OPTION_TYPE) => {\n setExpanded(false);\n onClick(value);\n };\n\n return (\n <ButtonDropDownContainer\n ref={containerRef}\n >\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <Button\n type={type}\n isLoading={isLoading}\n isDisabled={isDisabled}\n elementId={elementId}\n onClick={() => setExpanded(!isExpanded)}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {title}\n </Button>\n\n {isExpanded && options.length > 0 && (\n <ButtonDropDownListContainer>\n {options.map((option) => (\n <ButtonDropDownList\n option={option}\n key={option.id}\n onClick={onItemClick}\n />\n ))}\n </ButtonDropDownListContainer>\n )}\n </ButtonDropDownContainer>\n );\n};\n\nexport default ButtonDropDown;\n"],"names":["ButtonDropDownContainer","styled","div","ButtonDropDownListContainer","gray80","borderRadius","white","spacing","fontNormal","ButtonDropDownListItemContainer","gray95","BUTTON_DROPDOWN_TYPE","BUTTON_TYPE","ButtonDropDownList","props","option","onClick","React","Button","elementId","id","type","PLAIN","title","ButtonDropDown","ADVANCED","isLoading","isDisabled","options","onMouseEnter","undefined","onMouseLeave","containerRef","useRef","useState","isExpanded","setExpanded","useEffect","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","onItemClick","value","ref","length","map","key"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var n,t,i,r=require("react"),o=e(r),s=e(require("prop-types")),u=require("@propellerads/button"),a=e(u),d=e(require("styled-components")),l=require("@propellerads/stylevariables");function c(e,n){return n||(n=e.slice(0)),e.raw=n,e}var p=d.div(n||(n=c(["\n position: relative;\n width: fit-content;\n"]))),f=d.div(t||(t=c(["\n position: absolute;\n display: flex;\n flex-direction: column;\n min-width: 100%;\n width: fit-content;\n border: 1px solid ",";\n border-radius: ","px;\n background-color: ",";\n padding: ","px 0;\n margin-top: 2px;\n font-size: ","px;\n z-index: 1;\n"])),l.gray80,l.borderRadius,l.white,2*l.spacing,l.fontNormal),m=d.div(i||(i=c(["\n width: 100%;\n text-align: left;\n min-height: 32px;\n padding: ","px ","px;\n\n &:hover {\n background-color: ",";\n }\n"])),2*l.spacing,3*l.spacing,l.gray95),g=u.BUTTON_TYPE,v=function(e){var n=e.option,t=e.onClick;return o.createElement(a,{elementId:n.id,type:u.BUTTON_TYPE.PLAIN,onClick:function(){return t(n)}},o.createElement(m,null,n.title))},b=s.shape({id:s.oneOfType([s.number,s.string]).isRequired,title:s.string.isRequired}).isRequired;v.propTypes={option:b,onClick:s.func.isRequired},v.defaultProps={option:{}};var y=function(e){var n=e.type,t=e.isLoading,i=e.isDisabled,s=e.elementId,u=e.options,d=e.title,l=e.onClick,c=r.useRef(null),m=r.useState(!1),g=m[0],b=m[1];r.useEffect((function(){var e=function(e){var n=c.current;n&&!n.contains(e.target)&&b(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),function(){document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[c]);var y=function(e){b(!1),l(e)};return o.createElement(p,{ref:c},o.createElement(a,{type:n,isLoading:t,isDisabled:i,elementId:s,onClick:function(){return b(!g)}},d),g&&u.length>0&&o.createElement(f,null,u.map((function(e){return o.createElement(v,{option:e,key:e.id,onClick:y})}))))};y.propTypes={type:s.oneOf(Object.values(g)),options:s.arrayOf(b),elementId:s.string.isRequired,isLoading:s.bool,isDisabled:s.bool,title:s.string.isRequired,onClick:s.func.isRequired},y.defaultProps={type:g.ADVANCED,isLoading:!1,isDisabled:!1,options:[]},exports.BUTTON_DROPDOWN_TYPE=g,exports.default=y;
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n,t,o,i=require("react"),r=e(i),u=require("@propellerads/button"),a=e(u),d=e(require("styled-components")),l=require("@propellerads/stylevariables");function c(e,n){return n||(n=e.slice(0)),e.raw=n,e}var s=d.div(n||(n=c(["\n position: relative;\n width: fit-content;\n"]))),p=d.div(t||(t=c(["\n position: absolute;\n display: flex;\n flex-direction: column;\n min-width: 100%;\n width: fit-content;\n border: 1px solid ",";\n border-radius: ","px;\n background-color: ",";\n padding: ","px 0;\n margin-top: 2px;\n font-size: ","px;\n z-index: 1;\n"])),l.gray80,l.borderRadius,l.white,2*l.spacing,l.fontNormal),f=d.div(o||(o=c(["\n width: 100%;\n text-align: left;\n min-height: 32px;\n padding: ","px ","px;\n\n &:hover {\n background-color: ",";\n }\n"])),2*l.spacing,3*l.spacing,l.gray95),v=function(e){var n=e.option,t=e.onClick;return r.createElement(a,{elementId:n.id,type:u.BUTTON_TYPE.PLAIN,onClick:function(){return t(n)}},r.createElement(f,null,n.title))};exports.BUTTON_DROPDOWN_TYPE=u.BUTTON_TYPE,exports.default=function(e){var n=e.type,t=void 0===n?u.BUTTON_TYPE.ADVANCED:n,o=e.isLoading,d=e.isDisabled,l=e.elementId,c=e.options,f=e.title,m=e.onClick,E=e.onMouseEnter,g=void 0===E?void 0:E,x=e.onMouseLeave,b=void 0===x?void 0:x,T=i.useRef(null),h=i.useState(!1),y=h[0],L=h[1];i.useEffect((function(){var e=function(e){var n=T.current;n&&!n.contains(e.target)&&L(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),function(){document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[T]);var k=function(e){L(!1),m(e)};return r.createElement(s,{ref:T},r.createElement(a,{type:t,isLoading:o,isDisabled:d,elementId:l,onClick:function(){return L(!y)},onMouseEnter:g,onMouseLeave:b},f),y&&c.length>0&&r.createElement(p,null,c.map((function(e){return r.createElement(v,{option:e,key:e.id,onClick:k})}))))};
2
2
  //# sourceMappingURL=button-drop-down.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-drop-down.cjs.production.min.js","sources":["../src/style.jsx","../src/index.jsx"],"sourcesContent":["import styled from 'styled-components';\nimport {\n gray80,\n gray95,\n white,\n spacing,\n fontNormal,\n borderRadius,\n} from '@propellerads/stylevariables';\n\nconst ButtonDropDownContainer = styled.div`\n position: relative;\n width: fit-content;\n`;\n\nconst ButtonDropDownListContainer = styled.div`\n position: absolute;\n display: flex;\n flex-direction: column;\n min-width: 100%;\n width: fit-content;\n border: 1px solid ${gray80};\n border-radius: ${borderRadius}px;\n background-color: ${white};\n padding: ${spacing * 2}px 0;\n margin-top: 2px;\n font-size: ${fontNormal}px;\n z-index: 1;\n`;\n\nconst ButtonDropDownListItemContainer = styled.div`\n width: 100%;\n text-align: left;\n min-height: 32px;\n padding: ${spacing * 2}px ${spacing * 3}px;\n\n &:hover {\n background-color: ${gray95};\n }\n`;\n\nexport {\n ButtonDropDownContainer,\n ButtonDropDownListContainer,\n ButtonDropDownListItemContainer,\n};\n","import React, {useState, useEffect, useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport Button, {BUTTON_TYPE} from '@propellerads/button';\n\nimport {\n ButtonDropDownContainer,\n ButtonDropDownListContainer,\n ButtonDropDownListItemContainer,\n} from './style.jsx';\n\nexport const BUTTON_DROPDOWN_TYPE = BUTTON_TYPE;\n\nconst ButtonDropDownList = (props) => {\n const {\n option,\n onClick,\n } = props;\n\n return (\n <Button\n elementId={option.id}\n type={BUTTON_TYPE.PLAIN}\n onClick={() => onClick(option)}\n >\n <ButtonDropDownListItemContainer>\n {option.title}\n </ButtonDropDownListItemContainer>\n </Button>\n );\n};\n\nconst ButtonDropDownListProps = PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n title: PropTypes.string.isRequired,\n}).isRequired;\n\nButtonDropDownList.propTypes = {\n option: ButtonDropDownListProps,\n onClick: PropTypes.func.isRequired,\n};\n\nButtonDropDownList.defaultProps = {\n option: {},\n};\n\nconst ButtonDropDown = (props) => {\n const {\n type,\n isLoading,\n isDisabled,\n elementId,\n options,\n title,\n onClick,\n } = props;\n\n const containerRef = useRef(null);\n\n const [isExpanded, setExpanded] = useState(false);\n\n useEffect(() => {\n const handleClickOutside = (event) => {\n const {current} = containerRef;\n\n if (current && !current.contains(event.target)) {\n setExpanded(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('touchstart', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('touchstart', handleClickOutside);\n };\n }, [containerRef]);\n\n const onItemClick = (value) => {\n setExpanded(false);\n onClick(value);\n };\n\n return (\n <ButtonDropDownContainer\n ref={containerRef}\n >\n <Button\n type={type}\n isLoading={isLoading}\n isDisabled={isDisabled}\n elementId={elementId}\n onClick={() => setExpanded(!isExpanded)}\n >\n {title}\n </Button>\n\n {isExpanded && options.length > 0 && (\n <ButtonDropDownListContainer>\n {options.map((option) => (\n <ButtonDropDownList\n option={option}\n key={option.id}\n onClick={onItemClick}\n />\n ))}\n </ButtonDropDownListContainer>\n )}\n </ButtonDropDownContainer>\n );\n};\n\nButtonDropDown.propTypes = {\n type: PropTypes.oneOf(Object.values(BUTTON_DROPDOWN_TYPE)),\n options: PropTypes.arrayOf(ButtonDropDownListProps),\n elementId: PropTypes.string.isRequired,\n isLoading: PropTypes.bool,\n isDisabled: PropTypes.bool,\n title: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n};\n\nButtonDropDown.defaultProps = {\n type: BUTTON_DROPDOWN_TYPE.ADVANCED,\n isLoading: false,\n isDisabled: false,\n options: [],\n};\n\nexport default ButtonDropDown;\n"],"names":["ButtonDropDownContainer","styled","div","ButtonDropDownListContainer","gray80","borderRadius","white","spacing","fontNormal","ButtonDropDownListItemContainer","gray95","BUTTON_DROPDOWN_TYPE","BUTTON_TYPE","ButtonDropDownList","props","option","onClick","React","Button","elementId","id","type","PLAIN","title","ButtonDropDownListProps","PropTypes","shape","oneOfType","number","string","isRequired","propTypes","func","defaultProps","ButtonDropDown","isLoading","isDisabled","options","containerRef","useRef","useState","isExpanded","setExpanded","useEffect","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","onItemClick","value","ref","length","map","key","oneOf","Object","values","arrayOf","bool","ADVANCED"],"mappings":"0TAUA,IAAMA,EAA0BC,EAAOC,oEAKjCC,EAA8BF,EAAOC,8RAMrBE,SACHC,eACGC,QACC,EAAVC,UAEEC,cAITC,EAAkCR,EAAOC,wJAIxB,EAAVK,UAA2B,EAAVA,UAGNG,UC3BXC,EAAuBC,cAE9BC,EAAqB,SAACC,OAExBC,EAEED,EAFFC,OACAC,EACEF,EADFE,eAIAC,gBAACC,GACCC,UAAWJ,EAAOK,GAClBC,KAAMT,cAAYU,MAClBN,QAAS,kBAAMA,EAAQD,KAEvBE,gBAACR,OACEM,EAAOQ,SAMVC,EAA0BC,EAAUC,MAAM,CAC9CN,GAAIK,EAAUE,UAAU,CAACF,EAAUG,OAAQH,EAAUI,SAASC,WAC9DP,MAAOE,EAAUI,OAAOC,aACvBA,WAEHjB,EAAmBkB,UAAY,CAC7BhB,OAAQS,EACRR,QAASS,EAAUO,KAAKF,YAG1BjB,EAAmBoB,aAAe,CAChClB,OAAQ,IAGV,IAAMmB,EAAiB,SAACpB,OAEpBO,EAOEP,EAPFO,KACAc,EAMErB,EANFqB,UACAC,EAKEtB,EALFsB,WACAjB,EAIEL,EAJFK,UACAkB,EAGEvB,EAHFuB,QACAd,EAEET,EAFFS,MACAP,EACEF,EADFE,QAGIsB,EAAeC,SAAO,QAEMC,YAAS,GAApCC,OAAYC,OAEnBC,aAAU,eACFC,EAAqB,SAACC,OACnBC,EAAWR,EAAXQ,QAEHA,IAAYA,EAAQC,SAASF,EAAMG,SACrCN,GAAY,WAIhBO,SAASC,iBAAiB,YAAaN,GACvCK,SAASC,iBAAiB,aAAcN,GACjC,WACLK,SAASE,oBAAoB,YAAaP,GAC1CK,SAASE,oBAAoB,aAAcP,MAE5C,CAACN,QAEEc,EAAc,SAACC,GACnBX,GAAY,GACZ1B,EAAQqC,WAIRpC,gBAACjB,GACCsD,IAAKhB,GAELrB,gBAACC,GACCG,KAAMA,EACNc,UAAWA,EACXC,WAAYA,EACZjB,UAAWA,EACXH,QAAS,kBAAM0B,GAAaD,KAE3BlB,GAGFkB,GAAcJ,EAAQkB,OAAS,GAC9BtC,gBAACd,OACEkC,EAAQmB,KAAI,SAACzC,UACZE,gBAACJ,GACCE,OAAQA,EACR0C,IAAK1C,EAAOK,GACZJ,QAASoC,UASvBlB,EAAeH,UAAY,CACzBV,KAAMI,EAAUiC,MAAMC,OAAOC,OAAOjD,IACpC0B,QAASZ,EAAUoC,QAAQrC,GAC3BL,UAAWM,EAAUI,OAAOC,WAC5BK,UAAWV,EAAUqC,KACrB1B,WAAYX,EAAUqC,KACtBvC,MAAOE,EAAUI,OAAOC,WACxBd,QAASS,EAAUO,KAAKF,YAG1BI,EAAeD,aAAe,CAC5BZ,KAAMV,EAAqBoD,SAC3B5B,WAAW,EACXC,YAAY,EACZC,QAAS"}
1
+ {"version":3,"file":"button-drop-down.cjs.production.min.js","sources":["../src/style.tsx","../src/index.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport {\n gray80,\n gray95,\n white,\n spacing,\n fontNormal,\n borderRadius,\n} from '@propellerads/stylevariables';\n\nconst ButtonDropDownContainer = styled.div`\n position: relative;\n width: fit-content;\n`;\n\nconst ButtonDropDownListContainer = styled.div`\n position: absolute;\n display: flex;\n flex-direction: column;\n min-width: 100%;\n width: fit-content;\n border: 1px solid ${gray80};\n border-radius: ${borderRadius}px;\n background-color: ${white};\n padding: ${spacing * 2}px 0;\n margin-top: 2px;\n font-size: ${fontNormal}px;\n z-index: 1;\n`;\n\nconst ButtonDropDownListItemContainer = styled.div`\n width: 100%;\n text-align: left;\n min-height: 32px;\n padding: ${spacing * 2}px ${spacing * 3}px;\n\n &:hover {\n background-color: ${gray95};\n }\n`;\n\nexport {\n ButtonDropDownContainer,\n ButtonDropDownListContainer,\n ButtonDropDownListItemContainer,\n};\n","import React, {useState, useEffect, useRef} from 'react';\nimport Button, {BUTTON_TYPE} from '@propellerads/button';\n\nimport {\n ButtonDropDownContainer,\n ButtonDropDownListContainer,\n ButtonDropDownListItemContainer,\n} from './style';\n\nexport const BUTTON_DROPDOWN_TYPE = BUTTON_TYPE;\n\ntype DROPDOWN_OPTION_TYPE = {\n id: string,\n title: string,\n};\n\nconst ButtonDropDownList = (props: {option: DROPDOWN_OPTION_TYPE, onClick: (value: DROPDOWN_OPTION_TYPE) => void}) => {\n const {\n option,\n onClick,\n } = props;\n\n return (\n <Button\n elementId={option.id}\n type={BUTTON_TYPE.PLAIN}\n onClick={() => onClick(option)}\n >\n <ButtonDropDownListItemContainer>\n {option.title}\n </ButtonDropDownListItemContainer>\n </Button>\n );\n};\n\ninterface IProps {\n type: typeof BUTTON_TYPE,\n options: DROPDOWN_OPTION_TYPE[],\n elementId: string,\n isLoading: boolean,\n isDisabled: boolean,\n title: string,\n onClick: (value: DROPDOWN_OPTION_TYPE) => void,\n onMouseEnter: () => void | undefined,\n onMouseLeave: () => void | undefined,\n}\n\nconst ButtonDropDown = (props: IProps) => {\n const {\n type = BUTTON_TYPE.ADVANCED,\n isLoading,\n isDisabled,\n elementId,\n options,\n title,\n onClick,\n onMouseEnter = undefined,\n onMouseLeave = undefined,\n } = props;\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const [isExpanded, setExpanded] = useState(false);\n\n useEffect(() => {\n const handleClickOutside = (event: any) => {\n const {current} = containerRef;\n\n if (current && !current.contains(event.target)) {\n setExpanded(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('touchstart', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('touchstart', handleClickOutside);\n };\n }, [containerRef]);\n\n const onItemClick = (value: DROPDOWN_OPTION_TYPE) => {\n setExpanded(false);\n onClick(value);\n };\n\n return (\n <ButtonDropDownContainer\n ref={containerRef}\n >\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <Button\n type={type}\n isLoading={isLoading}\n isDisabled={isDisabled}\n elementId={elementId}\n onClick={() => setExpanded(!isExpanded)}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {title}\n </Button>\n\n {isExpanded && options.length > 0 && (\n <ButtonDropDownListContainer>\n {options.map((option) => (\n <ButtonDropDownList\n option={option}\n key={option.id}\n onClick={onItemClick}\n />\n ))}\n </ButtonDropDownListContainer>\n )}\n </ButtonDropDownContainer>\n );\n};\n\nexport default ButtonDropDown;\n"],"names":["ButtonDropDownContainer","styled","div","ButtonDropDownListContainer","gray80","borderRadius","white","spacing","fontNormal","ButtonDropDownListItemContainer","gray95","ButtonDropDownList","props","option","onClick","React","Button","elementId","id","type","BUTTON_TYPE","PLAIN","title","ADVANCED","isLoading","isDisabled","options","onMouseEnter","undefined","onMouseLeave","containerRef","useRef","useState","isExpanded","setExpanded","useEffect","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","onItemClick","value","ref","length","map","key"],"mappings":"sVAUA,IAAMA,EAA0BC,EAAOC,oEAKjCC,EAA8BF,EAAOC,8RAMrBE,SACHC,eACGC,QACC,EAAVC,UAEEC,cAITC,EAAkCR,EAAOC,wJAIxB,EAAVK,UAA2B,EAAVA,UAGNG,UCrBlBC,EAAqB,SAACC,OAExBC,EAEED,EAFFC,OACAC,EACEF,EADFE,eAIAC,gBAACC,GACCC,UAAWJ,EAAOK,GAClBC,KAAMC,cAAYC,MAClBP,QAAS,kBAAMA,EAAQD,KAEvBE,gBAACN,OACEI,EAAOS,sCApBoBF,8BAsCb,SAACR,SAWlBA,EATFO,KAAAA,aAAOC,cAAYG,WACnBC,EAQEZ,EARFY,UACAC,EAOEb,EAPFa,WACAR,EAMEL,EANFK,UACAS,EAKEd,EALFc,QACAJ,EAIEV,EAJFU,MACAR,EAGEF,EAHFE,UAGEF,EAFFe,aAAAA,kBAAeC,MAEbhB,EADFiB,aAAAA,kBAAeD,IAGXE,EAAeC,SAAuB,QAEVC,YAAS,GAApCC,OAAYC,OAEnBC,aAAU,eACFC,EAAqB,SAACC,OACnBC,EAAWR,EAAXQ,QAEHA,IAAYA,EAAQC,SAASF,EAAMG,SACrCN,GAAY,WAIhBO,SAASC,iBAAiB,YAAaN,GACvCK,SAASC,iBAAiB,aAAcN,GACjC,WACLK,SAASE,oBAAoB,YAAaP,GAC1CK,SAASE,oBAAoB,aAAcP,MAE5C,CAACN,QAEEc,EAAc,SAACC,GACnBX,GAAY,GACZpB,EAAQ+B,WAIR9B,gBAACf,GACC8C,IAAKhB,GAILf,gBAACC,GACCG,KAAMA,EACNK,UAAWA,EACXC,WAAYA,EACZR,UAAWA,EACXH,QAAS,kBAAMoB,GAAaD,IAC5BN,aAAcA,EACdE,aAAcA,GAEbP,GAGFW,GAAcP,EAAQqB,OAAS,GAC9BhC,gBAACZ,OACEuB,EAAQsB,KAAI,SAACnC,UACZE,gBAACJ,GACCE,OAAQA,EACRoC,IAAKpC,EAAOK,GACZJ,QAAS8B"}
@@ -1,5 +1,4 @@
1
1
  import React, { useRef, useState, useEffect } from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import Button, { BUTTON_TYPE } from '@propellerads/button';
4
3
  import styled from 'styled-components';
5
4
  import { gray80, borderRadius, white, spacing, fontNormal, gray95 } from '@propellerads/stylevariables';
@@ -23,35 +22,28 @@ var BUTTON_DROPDOWN_TYPE = BUTTON_TYPE;
23
22
  var ButtonDropDownList = function ButtonDropDownList(props) {
24
23
  var option = props.option,
25
24
  _onClick = props.onClick;
26
- return /*#__PURE__*/React.createElement(Button, {
25
+ return React.createElement(Button, {
27
26
  elementId: option.id,
28
27
  type: BUTTON_TYPE.PLAIN,
29
28
  onClick: function onClick() {
30
29
  return _onClick(option);
31
30
  }
32
- }, /*#__PURE__*/React.createElement(ButtonDropDownListItemContainer, null, option.title));
33
- };
34
-
35
- var ButtonDropDownListProps = /*#__PURE__*/PropTypes.shape({
36
- id: /*#__PURE__*/PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
37
- title: PropTypes.string.isRequired
38
- }).isRequired;
39
- ButtonDropDownList.propTypes = {
40
- option: ButtonDropDownListProps,
41
- onClick: PropTypes.func.isRequired
42
- };
43
- ButtonDropDownList.defaultProps = {
44
- option: {}
31
+ }, React.createElement(ButtonDropDownListItemContainer, null, option.title));
45
32
  };
46
33
 
47
34
  var ButtonDropDown = function ButtonDropDown(props) {
48
- var type = props.type,
35
+ var _props$type = props.type,
36
+ type = _props$type === void 0 ? BUTTON_TYPE.ADVANCED : _props$type,
49
37
  isLoading = props.isLoading,
50
38
  isDisabled = props.isDisabled,
51
39
  elementId = props.elementId,
52
40
  options = props.options,
53
41
  title = props.title,
54
- onClick = props.onClick;
42
+ onClick = props.onClick,
43
+ _props$onMouseEnter = props.onMouseEnter,
44
+ onMouseEnter = _props$onMouseEnter === void 0 ? undefined : _props$onMouseEnter,
45
+ _props$onMouseLeave = props.onMouseLeave,
46
+ onMouseLeave = _props$onMouseLeave === void 0 ? undefined : _props$onMouseLeave;
55
47
  var containerRef = useRef(null);
56
48
 
57
49
  var _useState = useState(false),
@@ -80,18 +72,20 @@ var ButtonDropDown = function ButtonDropDown(props) {
80
72
  onClick(value);
81
73
  };
82
74
 
83
- return /*#__PURE__*/React.createElement(ButtonDropDownContainer, {
75
+ return React.createElement(ButtonDropDownContainer, {
84
76
  ref: containerRef
85
- }, /*#__PURE__*/React.createElement(Button, {
77
+ }, React.createElement(Button, {
86
78
  type: type,
87
79
  isLoading: isLoading,
88
80
  isDisabled: isDisabled,
89
81
  elementId: elementId,
90
82
  onClick: function onClick() {
91
83
  return setExpanded(!isExpanded);
92
- }
93
- }, title), isExpanded && options.length > 0 && /*#__PURE__*/React.createElement(ButtonDropDownListContainer, null, options.map(function (option) {
94
- return /*#__PURE__*/React.createElement(ButtonDropDownList, {
84
+ },
85
+ onMouseEnter: onMouseEnter,
86
+ onMouseLeave: onMouseLeave
87
+ }, title), isExpanded && options.length > 0 && React.createElement(ButtonDropDownListContainer, null, options.map(function (option) {
88
+ return React.createElement(ButtonDropDownList, {
95
89
  option: option,
96
90
  key: option.id,
97
91
  onClick: onItemClick
@@ -99,22 +93,6 @@ var ButtonDropDown = function ButtonDropDown(props) {
99
93
  })));
100
94
  };
101
95
 
102
- ButtonDropDown.propTypes = {
103
- type: /*#__PURE__*/PropTypes.oneOf( /*#__PURE__*/Object.values(BUTTON_DROPDOWN_TYPE)),
104
- options: /*#__PURE__*/PropTypes.arrayOf(ButtonDropDownListProps),
105
- elementId: PropTypes.string.isRequired,
106
- isLoading: PropTypes.bool,
107
- isDisabled: PropTypes.bool,
108
- title: PropTypes.string.isRequired,
109
- onClick: PropTypes.func.isRequired
110
- };
111
- ButtonDropDown.defaultProps = {
112
- type: BUTTON_DROPDOWN_TYPE.ADVANCED,
113
- isLoading: false,
114
- isDisabled: false,
115
- options: []
116
- };
117
-
118
96
  export default ButtonDropDown;
119
97
  export { BUTTON_DROPDOWN_TYPE };
120
98
  //# sourceMappingURL=button-drop-down.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-drop-down.esm.js","sources":["../src/style.jsx","../src/index.jsx"],"sourcesContent":["import styled from 'styled-components';\nimport {\n gray80,\n gray95,\n white,\n spacing,\n fontNormal,\n borderRadius,\n} from '@propellerads/stylevariables';\n\nconst ButtonDropDownContainer = styled.div`\n position: relative;\n width: fit-content;\n`;\n\nconst ButtonDropDownListContainer = styled.div`\n position: absolute;\n display: flex;\n flex-direction: column;\n min-width: 100%;\n width: fit-content;\n border: 1px solid ${gray80};\n border-radius: ${borderRadius}px;\n background-color: ${white};\n padding: ${spacing * 2}px 0;\n margin-top: 2px;\n font-size: ${fontNormal}px;\n z-index: 1;\n`;\n\nconst ButtonDropDownListItemContainer = styled.div`\n width: 100%;\n text-align: left;\n min-height: 32px;\n padding: ${spacing * 2}px ${spacing * 3}px;\n\n &:hover {\n background-color: ${gray95};\n }\n`;\n\nexport {\n ButtonDropDownContainer,\n ButtonDropDownListContainer,\n ButtonDropDownListItemContainer,\n};\n","import React, {useState, useEffect, useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport Button, {BUTTON_TYPE} from '@propellerads/button';\n\nimport {\n ButtonDropDownContainer,\n ButtonDropDownListContainer,\n ButtonDropDownListItemContainer,\n} from './style.jsx';\n\nexport const BUTTON_DROPDOWN_TYPE = BUTTON_TYPE;\n\nconst ButtonDropDownList = (props) => {\n const {\n option,\n onClick,\n } = props;\n\n return (\n <Button\n elementId={option.id}\n type={BUTTON_TYPE.PLAIN}\n onClick={() => onClick(option)}\n >\n <ButtonDropDownListItemContainer>\n {option.title}\n </ButtonDropDownListItemContainer>\n </Button>\n );\n};\n\nconst ButtonDropDownListProps = PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n title: PropTypes.string.isRequired,\n}).isRequired;\n\nButtonDropDownList.propTypes = {\n option: ButtonDropDownListProps,\n onClick: PropTypes.func.isRequired,\n};\n\nButtonDropDownList.defaultProps = {\n option: {},\n};\n\nconst ButtonDropDown = (props) => {\n const {\n type,\n isLoading,\n isDisabled,\n elementId,\n options,\n title,\n onClick,\n } = props;\n\n const containerRef = useRef(null);\n\n const [isExpanded, setExpanded] = useState(false);\n\n useEffect(() => {\n const handleClickOutside = (event) => {\n const {current} = containerRef;\n\n if (current && !current.contains(event.target)) {\n setExpanded(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('touchstart', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('touchstart', handleClickOutside);\n };\n }, [containerRef]);\n\n const onItemClick = (value) => {\n setExpanded(false);\n onClick(value);\n };\n\n return (\n <ButtonDropDownContainer\n ref={containerRef}\n >\n <Button\n type={type}\n isLoading={isLoading}\n isDisabled={isDisabled}\n elementId={elementId}\n onClick={() => setExpanded(!isExpanded)}\n >\n {title}\n </Button>\n\n {isExpanded && options.length > 0 && (\n <ButtonDropDownListContainer>\n {options.map((option) => (\n <ButtonDropDownList\n option={option}\n key={option.id}\n onClick={onItemClick}\n />\n ))}\n </ButtonDropDownListContainer>\n )}\n </ButtonDropDownContainer>\n );\n};\n\nButtonDropDown.propTypes = {\n type: PropTypes.oneOf(Object.values(BUTTON_DROPDOWN_TYPE)),\n options: PropTypes.arrayOf(ButtonDropDownListProps),\n elementId: PropTypes.string.isRequired,\n isLoading: PropTypes.bool,\n isDisabled: PropTypes.bool,\n title: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n};\n\nButtonDropDown.defaultProps = {\n type: BUTTON_DROPDOWN_TYPE.ADVANCED,\n isLoading: false,\n isDisabled: false,\n options: [],\n};\n\nexport default ButtonDropDown;\n"],"names":["ButtonDropDownContainer","styled","div","ButtonDropDownListContainer","gray80","borderRadius","white","spacing","fontNormal","ButtonDropDownListItemContainer","gray95","BUTTON_DROPDOWN_TYPE","BUTTON_TYPE","ButtonDropDownList","props","option","onClick","id","PLAIN","title","ButtonDropDownListProps","PropTypes","shape","oneOfType","number","string","isRequired","propTypes","func","defaultProps","ButtonDropDown","type","isLoading","isDisabled","elementId","options","containerRef","useRef","useState","isExpanded","setExpanded","useEffect","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","onItemClick","value","length","map","oneOf","Object","values","arrayOf","bool","ADVANCED"],"mappings":"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"}
1
+ {"version":3,"file":"button-drop-down.esm.js","sources":["../src/style.tsx","../src/index.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport {\n gray80,\n gray95,\n white,\n spacing,\n fontNormal,\n borderRadius,\n} from '@propellerads/stylevariables';\n\nconst ButtonDropDownContainer = styled.div`\n position: relative;\n width: fit-content;\n`;\n\nconst ButtonDropDownListContainer = styled.div`\n position: absolute;\n display: flex;\n flex-direction: column;\n min-width: 100%;\n width: fit-content;\n border: 1px solid ${gray80};\n border-radius: ${borderRadius}px;\n background-color: ${white};\n padding: ${spacing * 2}px 0;\n margin-top: 2px;\n font-size: ${fontNormal}px;\n z-index: 1;\n`;\n\nconst ButtonDropDownListItemContainer = styled.div`\n width: 100%;\n text-align: left;\n min-height: 32px;\n padding: ${spacing * 2}px ${spacing * 3}px;\n\n &:hover {\n background-color: ${gray95};\n }\n`;\n\nexport {\n ButtonDropDownContainer,\n ButtonDropDownListContainer,\n ButtonDropDownListItemContainer,\n};\n","import React, {useState, useEffect, useRef} from 'react';\nimport Button, {BUTTON_TYPE} from '@propellerads/button';\n\nimport {\n ButtonDropDownContainer,\n ButtonDropDownListContainer,\n ButtonDropDownListItemContainer,\n} from './style';\n\nexport const BUTTON_DROPDOWN_TYPE = BUTTON_TYPE;\n\ntype DROPDOWN_OPTION_TYPE = {\n id: string,\n title: string,\n};\n\nconst ButtonDropDownList = (props: {option: DROPDOWN_OPTION_TYPE, onClick: (value: DROPDOWN_OPTION_TYPE) => void}) => {\n const {\n option,\n onClick,\n } = props;\n\n return (\n <Button\n elementId={option.id}\n type={BUTTON_TYPE.PLAIN}\n onClick={() => onClick(option)}\n >\n <ButtonDropDownListItemContainer>\n {option.title}\n </ButtonDropDownListItemContainer>\n </Button>\n );\n};\n\ninterface IProps {\n type: typeof BUTTON_TYPE,\n options: DROPDOWN_OPTION_TYPE[],\n elementId: string,\n isLoading: boolean,\n isDisabled: boolean,\n title: string,\n onClick: (value: DROPDOWN_OPTION_TYPE) => void,\n onMouseEnter: () => void | undefined,\n onMouseLeave: () => void | undefined,\n}\n\nconst ButtonDropDown = (props: IProps) => {\n const {\n type = BUTTON_TYPE.ADVANCED,\n isLoading,\n isDisabled,\n elementId,\n options,\n title,\n onClick,\n onMouseEnter = undefined,\n onMouseLeave = undefined,\n } = props;\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const [isExpanded, setExpanded] = useState(false);\n\n useEffect(() => {\n const handleClickOutside = (event: any) => {\n const {current} = containerRef;\n\n if (current && !current.contains(event.target)) {\n setExpanded(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('touchstart', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('touchstart', handleClickOutside);\n };\n }, [containerRef]);\n\n const onItemClick = (value: DROPDOWN_OPTION_TYPE) => {\n setExpanded(false);\n onClick(value);\n };\n\n return (\n <ButtonDropDownContainer\n ref={containerRef}\n >\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <Button\n type={type}\n isLoading={isLoading}\n isDisabled={isDisabled}\n elementId={elementId}\n onClick={() => setExpanded(!isExpanded)}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {title}\n </Button>\n\n {isExpanded && options.length > 0 && (\n <ButtonDropDownListContainer>\n {options.map((option) => (\n <ButtonDropDownList\n option={option}\n key={option.id}\n onClick={onItemClick}\n />\n ))}\n </ButtonDropDownListContainer>\n )}\n </ButtonDropDownContainer>\n );\n};\n\nexport default ButtonDropDown;\n"],"names":["ButtonDropDownContainer","styled","div","ButtonDropDownListContainer","gray80","borderRadius","white","spacing","fontNormal","ButtonDropDownListItemContainer","gray95","BUTTON_DROPDOWN_TYPE","BUTTON_TYPE","ButtonDropDownList","props","option","onClick","React","Button","elementId","id","type","PLAIN","title","ButtonDropDown","ADVANCED","isLoading","isDisabled","options","onMouseEnter","undefined","onMouseLeave","containerRef","useRef","useState","isExpanded","setExpanded","useEffect","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","onItemClick","value","ref","length","map","key"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { BUTTON_TYPE } from '@propellerads/button';
2
+ export declare const BUTTON_DROPDOWN_TYPE: typeof BUTTON_TYPE;
3
+ declare type DROPDOWN_OPTION_TYPE = {
4
+ id: string;
5
+ title: string;
6
+ };
7
+ interface IProps {
8
+ type: typeof BUTTON_TYPE;
9
+ options: DROPDOWN_OPTION_TYPE[];
10
+ elementId: string;
11
+ isLoading: boolean;
12
+ isDisabled: boolean;
13
+ title: string;
14
+ onClick: (value: DROPDOWN_OPTION_TYPE) => void;
15
+ onMouseEnter: () => void | undefined;
16
+ onMouseLeave: () => void | undefined;
17
+ }
18
+ declare const ButtonDropDown: (props: IProps) => JSX.Element;
19
+ export default ButtonDropDown;
@@ -0,0 +1,4 @@
1
+ declare const ButtonDropDownContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ declare const ButtonDropDownListContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ declare const ButtonDropDownListItemContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
4
+ export { ButtonDropDownContainer, ButtonDropDownListContainer, ButtonDropDownListItemContainer, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@propellerads/button-drop-down",
3
- "version": "2.1.0",
3
+ "version": "2.4.0",
4
4
  "description": "ButtonDropDown component",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/button-drop-down.esm.js",
@@ -23,10 +23,7 @@
23
23
  "dependencies": {
24
24
  "@propellerads/button": "^5.2.1",
25
25
  "@propellerads/stylevariables": "^1.3.1",
26
- "add": "^2.0.6",
27
- "prop-types": "^15.7.2",
28
- "react": "^17.0.2",
29
- "styled-components": "^5.3.0"
26
+ "add": "^2.0.6"
30
27
  },
31
28
  "devDependencies": {
32
29
  "@babel/core": "^7.10.3",
@@ -37,5 +34,9 @@
37
34
  "tslib": "^2.3.1",
38
35
  "typescript": "^4.4.2"
39
36
  },
40
- "gitHead": "f6e70f7118c524db447a2eb4cde6fa909b5cf547"
37
+ "peerDependencies": {
38
+ "react": "^17.0.2",
39
+ "styled-components": "5.1.1"
40
+ },
41
+ "gitHead": "82824622b4ac991d78567c473a46b5044cd72035"
41
42
  }
@@ -1,27 +0,0 @@
1
- export namespace componentProps {
2
- export const ads: string[];
3
- }
4
- export default AdFormat;
5
- declare function AdFormat({ name, classNames, isPreview, }: {
6
- name: any;
7
- classNames: any;
8
- isPreview: any;
9
- }): JSX.Element | null;
10
- declare namespace AdFormat {
11
- export namespace propTypes {
12
- export const name: PropTypes.Validator<string>;
13
- export const classNames: PropTypes.Requireable<string>;
14
- export const isPreview: PropTypes.Requireable<boolean>;
15
- }
16
- export namespace defaultProps {
17
- const classNames_1: string;
18
- export { classNames_1 as classNames };
19
- const isPreview_1: boolean;
20
- export { isPreview_1 as isPreview };
21
- }
22
- }
23
- import { FORMATS } from "./style";
24
- import { SVGS } from "./style";
25
- import { PREVIEWS } from "./style";
26
- import PropTypes from "prop-types";
27
- export { FORMATS, SVGS, PREVIEWS };
@@ -1,22 +0,0 @@
1
- export const StyledAdFormat: any;
2
- export const StyledPreview: any;
3
- export const PREVIEWS: {
4
- [x: string]: any;
5
- };
6
- export namespace FORMATS {
7
- export const INTERSTITIAL: string;
8
- export const NATIVE: string;
9
- export const ONCLICK: string;
10
- export const NATIVEADS: string;
11
- export const LINK: string;
12
- export const DIRECT_LINK: string;
13
- export const PUSH_LINK: string;
14
- export const WEBSITE: string;
15
- export const LANDING_PAGE: string;
16
- export const IN_PAGE_PUSH: string;
17
- export const NATIVE_WIDGET: string;
18
- export const MULTITAG: string;
19
- }
20
- export const SVGS: {
21
- [x: string]: any;
22
- };
@@ -1,4 +0,0 @@
1
- import { ALERT_TYPES, AlertProps } from './types';
2
- declare const Alert: ({ type, children, icon }: AlertProps) => JSX.Element;
3
- export default Alert;
4
- export { ALERT_TYPES };
@@ -1,8 +0,0 @@
1
- import { ALERT_TYPES } from './types';
2
- interface StyledAlertProps {
3
- type: ALERT_TYPES;
4
- }
5
- declare const StyledAlert: import("styled-components").StyledComponent<"div", any, StyledAlertProps, never>;
6
- declare const StyledIcon: import("styled-components").StyledComponent<"div", any, {}, never>;
7
- declare const StyledMessage: import("styled-components").StyledComponent<"div", any, {}, never>;
8
- export { StyledAlert, StyledIcon, StyledMessage, ALERT_TYPES, };
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- export declare enum ALERT_TYPES {
3
- WARNING = "warning",
4
- SUCCESS = "success",
5
- DANGER = "danger",
6
- INFO = "info"
7
- }
8
- export interface AlertProps {
9
- type?: ALERT_TYPES;
10
- icon?: React.ComponentElement<any, any> | undefined;
11
- children: React.ReactChildren | string | React.ComponentElement<any, any>;
12
- }
13
- export default class Alert extends React.Component<AlertProps> {
14
- }
@@ -1,20 +0,0 @@
1
- export namespace ARROW_TYPE {
2
- export const FIRST: string;
3
- export const PREVIOUS: string;
4
- export const NEXT: string;
5
- export const LAST: string;
6
- }
7
- export default ArrowButton;
8
- declare function ArrowButton(props: any): JSX.Element;
9
- declare namespace ArrowButton {
10
- export const propTypes: {
11
- type: PropTypes.Validator<string>;
12
- isDisabled: PropTypes.Requireable<boolean>;
13
- elementId: PropTypes.Validator<string>;
14
- onClick: PropTypes.Validator<(...args: any[]) => any>;
15
- };
16
- export namespace defaultProps {
17
- export const isDisabled: boolean;
18
- }
19
- }
20
- import PropTypes from "prop-types";
@@ -1 +0,0 @@
1
- export const StyledArrowButton: any;
@@ -1,4 +0,0 @@
1
- import { BADGE_TYPE, BadgeProps, CustomStyle } from './types';
2
- declare const Badge: ({ label, type, customStyle, icon, }: BadgeProps) => JSX.Element;
3
- export default Badge;
4
- export { BADGE_TYPE, CustomStyle };
@@ -1,8 +0,0 @@
1
- import { BADGE_TYPE, CustomStyle } from './types';
2
- interface StyledBadgeContainerProps {
3
- type: BADGE_TYPE;
4
- customStyle: CustomStyle;
5
- }
6
- declare const StyledBadgeContainer: import("styled-components").StyledComponent<"div", any, StyledBadgeContainerProps, never>;
7
- declare const StyledBadgeIcon: import("styled-components").StyledComponent<"span", any, {}, never>;
8
- export { StyledBadgeContainer, StyledBadgeIcon };
@@ -1,19 +0,0 @@
1
- import React from 'react';
2
- export declare enum BADGE_TYPE {
3
- INFO = "info",
4
- WARNING = "warning",
5
- DANGER = "danger",
6
- SUCCESS = "success"
7
- }
8
- export interface CustomStyle {
9
- color?: string;
10
- background?: string;
11
- }
12
- export interface BadgeProps {
13
- label?: React.ReactChildren | string | React.ComponentElement<any, any>;
14
- type?: BADGE_TYPE;
15
- customStyle?: CustomStyle;
16
- icon?: React.ComponentElement<any, any>;
17
- }
18
- export default class Badge extends React.Component<BadgeProps> {
19
- }
@@ -1,4 +0,0 @@
1
- import { ButtonProps, BUTTON_TYPE, BUTTON_SIZE, BUTTON_HTML_TYPE } from './types';
2
- declare const Button: ({ isLoading, htmlType, type, size, onClick, isFullWidth, elementId, isAsync, isDisabled, children, gtmAction, gtmLabel, onMouseEnter, onMouseLeave, }: ButtonProps) => JSX.Element;
3
- export default Button;
4
- export { BUTTON_TYPE, BUTTON_SIZE, BUTTON_HTML_TYPE };
@@ -1,13 +0,0 @@
1
- import { BUTTON_TYPE, BUTTON_SIZE, THEME } from './types';
2
- interface StyledButtonProps {
3
- isDisabled: boolean;
4
- isLoading: boolean;
5
- styledType: BUTTON_TYPE;
6
- isFullWidth: boolean;
7
- size: BUTTON_SIZE;
8
- theme: THEME;
9
- }
10
- declare const StyledButton: import("styled-components").StyledComponent<"button", any, {
11
- disabled: boolean;
12
- } & StyledButtonProps, "disabled">;
13
- export { StyledButton };