@ebay/ui-core-react 1.0.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 (524) hide show
  1. package/README.md +186 -0
  2. package/common/component-utils/forwardRef.d.ts +3 -0
  3. package/common/component-utils/forwardRef.d.ts.map +1 -0
  4. package/common/component-utils/forwardRef.js +45 -0
  5. package/common/component-utils/index.d.ts +3 -0
  6. package/common/component-utils/index.d.ts.map +1 -0
  7. package/common/component-utils/index.js +14 -0
  8. package/common/component-utils/usePrevious.d.ts +2 -0
  9. package/common/component-utils/usePrevious.d.ts.map +1 -0
  10. package/common/component-utils/usePrevious.js +12 -0
  11. package/common/component-utils/utils.d.ts +6 -0
  12. package/common/component-utils/utils.d.ts.map +1 -0
  13. package/common/component-utils/utils.js +37 -0
  14. package/common/debounce.d.ts +2 -0
  15. package/common/debounce.d.ts.map +1 -0
  16. package/common/debounce.js +26 -0
  17. package/common/event-utils/index.d.ts +15 -0
  18. package/common/event-utils/index.d.ts.map +1 -0
  19. package/common/event-utils/index.js +118 -0
  20. package/common/event-utils/types.d.ts +6 -0
  21. package/common/event-utils/types.d.ts.map +1 -0
  22. package/common/event-utils/types.js +2 -0
  23. package/common/event-utils/use-key-press.d.ts +3 -0
  24. package/common/event-utils/use-key-press.d.ts.map +1 -0
  25. package/common/event-utils/use-key-press.js +35 -0
  26. package/common/event-utils/use-roving-index.d.ts +4 -0
  27. package/common/event-utils/use-roving-index.d.ts.map +1 -0
  28. package/common/event-utils/use-roving-index.js +44 -0
  29. package/common/notice-utils/notice-content.d.ts +9 -0
  30. package/common/notice-utils/notice-content.d.ts.map +1 -0
  31. package/common/notice-utils/notice-content.js +13 -0
  32. package/common/notice-utils/notice-footer.d.ts +8 -0
  33. package/common/notice-utils/notice-footer.d.ts.map +1 -0
  34. package/common/notice-utils/notice-footer.js +34 -0
  35. package/common/notice-utils/notice-title.d.ts +9 -0
  36. package/common/notice-utils/notice-title.d.ts.map +1 -0
  37. package/common/notice-utils/notice-title.js +35 -0
  38. package/common/random-id.d.ts +2 -0
  39. package/common/random-id.d.ts.map +1 -0
  40. package/common/random-id.js +4 -0
  41. package/common/tooltip-utils/constants-legacy.d.ts +10 -0
  42. package/common/tooltip-utils/constants-legacy.d.ts.map +1 -0
  43. package/common/tooltip-utils/constants-legacy.js +16 -0
  44. package/common/tooltip-utils/constants.d.ts +6 -0
  45. package/common/tooltip-utils/constants.d.ts.map +1 -0
  46. package/common/tooltip-utils/constants.js +86 -0
  47. package/common/tooltip-utils/index.d.ts +8 -0
  48. package/common/tooltip-utils/index.d.ts.map +1 -0
  49. package/common/tooltip-utils/index.js +16 -0
  50. package/common/tooltip-utils/tooltip-close-button.d.ts +8 -0
  51. package/common/tooltip-utils/tooltip-close-button.d.ts.map +1 -0
  52. package/common/tooltip-utils/tooltip-close-button.js +8 -0
  53. package/common/tooltip-utils/tooltip-content.d.ts +15 -0
  54. package/common/tooltip-utils/tooltip-content.d.ts.map +1 -0
  55. package/common/tooltip-utils/tooltip-content.js +33 -0
  56. package/common/tooltip-utils/tooltip-host.d.ts +8 -0
  57. package/common/tooltip-utils/tooltip-host.d.ts.map +1 -0
  58. package/common/tooltip-utils/tooltip-host.js +35 -0
  59. package/common/tooltip-utils/tooltip.d.ts +10 -0
  60. package/common/tooltip-utils/tooltip.d.ts.map +1 -0
  61. package/common/tooltip-utils/tooltip.js +74 -0
  62. package/common/tooltip-utils/types.d.ts +3 -0
  63. package/common/tooltip-utils/types.d.ts.map +1 -0
  64. package/common/tooltip-utils/types.js +2 -0
  65. package/common/tooltip-utils/use-tooltip.d.ts +13 -0
  66. package/common/tooltip-utils/use-tooltip.d.ts.map +1 -0
  67. package/common/tooltip-utils/use-tooltip.js +25 -0
  68. package/ebay-alert-dialog/README.md +32 -0
  69. package/ebay-alert-dialog/alert-dialog.d.ts +11 -0
  70. package/ebay-alert-dialog/alert-dialog.d.ts.map +1 -0
  71. package/ebay-alert-dialog/alert-dialog.js +62 -0
  72. package/ebay-alert-dialog/index.d.ts +2 -0
  73. package/ebay-alert-dialog/index.d.ts.map +1 -0
  74. package/ebay-alert-dialog/index.js +4 -0
  75. package/ebay-badge/README.md +36 -0
  76. package/ebay-badge/badge.d.ts +9 -0
  77. package/ebay-badge/badge.d.ts.map +1 -0
  78. package/ebay-badge/badge.js +36 -0
  79. package/ebay-badge/index.d.ts +2 -0
  80. package/ebay-badge/index.d.ts.map +1 -0
  81. package/ebay-badge/index.js +4 -0
  82. package/ebay-breadcrumbs/README.md +48 -0
  83. package/ebay-breadcrumbs/breadcrumb-item.d.ts +14 -0
  84. package/ebay-breadcrumbs/breadcrumb-item.d.ts.map +1 -0
  85. package/ebay-breadcrumbs/breadcrumb-item.js +38 -0
  86. package/ebay-breadcrumbs/breadcrumbs.d.ts +17 -0
  87. package/ebay-breadcrumbs/breadcrumbs.d.ts.map +1 -0
  88. package/ebay-breadcrumbs/breadcrumbs.js +71 -0
  89. package/ebay-breadcrumbs/index.d.ts +3 -0
  90. package/ebay-breadcrumbs/index.d.ts.map +1 -0
  91. package/ebay-breadcrumbs/index.js +6 -0
  92. package/ebay-button/README.md +57 -0
  93. package/ebay-button/button-cell.d.ts +8 -0
  94. package/ebay-button/button-cell.d.ts.map +1 -0
  95. package/ebay-button/button-cell.js +40 -0
  96. package/ebay-button/button-loading.d.ts +4 -0
  97. package/ebay-button/button-loading.d.ts.map +1 -0
  98. package/ebay-button/button-loading.js +11 -0
  99. package/ebay-button/button.d.ts +19 -0
  100. package/ebay-button/button.d.ts.map +1 -0
  101. package/ebay-button/button.js +83 -0
  102. package/ebay-button/index.d.ts +4 -0
  103. package/ebay-button/index.d.ts.map +1 -0
  104. package/ebay-button/index.js +6 -0
  105. package/ebay-button/types.d.ts +4 -0
  106. package/ebay-button/types.d.ts.map +1 -0
  107. package/ebay-button/types.js +2 -0
  108. package/ebay-checkbox/README.md +46 -0
  109. package/ebay-checkbox/checkbox.d.ts +10 -0
  110. package/ebay-checkbox/checkbox.d.ts.map +1 -0
  111. package/ebay-checkbox/checkbox.js +79 -0
  112. package/ebay-checkbox/index.d.ts +2 -0
  113. package/ebay-checkbox/index.d.ts.map +1 -0
  114. package/ebay-checkbox/index.js +4 -0
  115. package/ebay-confirm-dialog/README.md +34 -0
  116. package/ebay-confirm-dialog/confirm-dialog.d.ts +13 -0
  117. package/ebay-confirm-dialog/confirm-dialog.d.ts.map +1 -0
  118. package/ebay-confirm-dialog/confirm-dialog.js +63 -0
  119. package/ebay-confirm-dialog/index.d.ts +2 -0
  120. package/ebay-confirm-dialog/index.d.ts.map +1 -0
  121. package/ebay-confirm-dialog/index.js +4 -0
  122. package/ebay-cta-button/README.md +34 -0
  123. package/ebay-cta-button/cta-button.d.ts +12 -0
  124. package/ebay-cta-button/cta-button.d.ts.map +1 -0
  125. package/ebay-cta-button/cta-button.js +41 -0
  126. package/ebay-cta-button/index.d.ts +2 -0
  127. package/ebay-cta-button/index.d.ts.map +1 -0
  128. package/ebay-cta-button/index.js +4 -0
  129. package/ebay-dialog/README.md +4 -0
  130. package/ebay-dialog-base/README.md +36 -0
  131. package/ebay-dialog-base/components/animation.d.ts +14 -0
  132. package/ebay-dialog-base/components/animation.d.ts.map +1 -0
  133. package/ebay-dialog-base/components/animation.js +99 -0
  134. package/ebay-dialog-base/components/dialog-close-button.d.ts +4 -0
  135. package/ebay-dialog-base/components/dialog-close-button.d.ts.map +1 -0
  136. package/ebay-dialog-base/components/dialog-close-button.js +11 -0
  137. package/ebay-dialog-base/components/dialog-footer.d.ts +7 -0
  138. package/ebay-dialog-base/components/dialog-footer.d.ts.map +1 -0
  139. package/ebay-dialog-base/components/dialog-footer.js +11 -0
  140. package/ebay-dialog-base/components/dialog-header.d.ts +5 -0
  141. package/ebay-dialog-base/components/dialog-header.d.ts.map +1 -0
  142. package/ebay-dialog-base/components/dialog-header.js +33 -0
  143. package/ebay-dialog-base/components/dialogBase.d.ts +31 -0
  144. package/ebay-dialog-base/components/dialogBase.d.ts.map +1 -0
  145. package/ebay-dialog-base/components/dialogBase.js +149 -0
  146. package/ebay-dialog-base/dialog-base-with-state.d.ts +5 -0
  147. package/ebay-dialog-base/dialog-base-with-state.d.ts.map +1 -0
  148. package/ebay-dialog-base/dialog-base-with-state.js +68 -0
  149. package/ebay-dialog-base/index.d.ts +6 -0
  150. package/ebay-dialog-base/index.d.ts.map +1 -0
  151. package/ebay-dialog-base/index.js +10 -0
  152. package/ebay-drawer-dialog/README.md +60 -0
  153. package/ebay-drawer-dialog/components/drawer.d.ts +18 -0
  154. package/ebay-drawer-dialog/components/drawer.d.ts.map +1 -0
  155. package/ebay-drawer-dialog/components/drawer.js +120 -0
  156. package/ebay-drawer-dialog/index.d.ts +2 -0
  157. package/ebay-drawer-dialog/index.d.ts.map +1 -0
  158. package/ebay-drawer-dialog/index.js +4 -0
  159. package/ebay-eek/README.md +34 -0
  160. package/ebay-eek/eek-rating.d.ts +11 -0
  161. package/ebay-eek/eek-rating.d.ts.map +1 -0
  162. package/ebay-eek/eek-rating.js +25 -0
  163. package/ebay-eek/eek-util.d.ts +4 -0
  164. package/ebay-eek/eek-util.d.ts.map +1 -0
  165. package/ebay-eek/eek-util.js +33 -0
  166. package/ebay-eek/index.d.ts +2 -0
  167. package/ebay-eek/index.d.ts.map +1 -0
  168. package/ebay-eek/index.js +4 -0
  169. package/ebay-expand-button/README.md +36 -0
  170. package/ebay-expand-button/expand-button.d.ts +13 -0
  171. package/ebay-expand-button/expand-button.d.ts.map +1 -0
  172. package/ebay-expand-button/expand-button.js +73 -0
  173. package/ebay-expand-button/index.d.ts +2 -0
  174. package/ebay-expand-button/index.d.ts.map +1 -0
  175. package/ebay-expand-button/index.js +4 -0
  176. package/ebay-field/README.md +53 -0
  177. package/ebay-field/description.d.ts +9 -0
  178. package/ebay-field/description.d.ts.map +1 -0
  179. package/ebay-field/description.js +38 -0
  180. package/ebay-field/enums.d.ts +20 -0
  181. package/ebay-field/enums.d.ts.map +1 -0
  182. package/ebay-field/enums.js +27 -0
  183. package/ebay-field/field.d.ts +10 -0
  184. package/ebay-field/field.d.ts.map +1 -0
  185. package/ebay-field/field.js +13 -0
  186. package/ebay-field/index.d.ts +6 -0
  187. package/ebay-field/index.d.ts.map +1 -0
  188. package/ebay-field/index.js +12 -0
  189. package/ebay-field/label.d.ts +11 -0
  190. package/ebay-field/label.d.ts.map +1 -0
  191. package/ebay-field/label.js +40 -0
  192. package/ebay-field/types.d.ts +5 -0
  193. package/ebay-field/types.d.ts.map +1 -0
  194. package/ebay-field/types.js +2 -0
  195. package/ebay-floating-label/README.md +51 -0
  196. package/ebay-floating-label/floating-label.d.ts +10 -0
  197. package/ebay-floating-label/floating-label.d.ts.map +1 -0
  198. package/ebay-floating-label/floating-label.js +40 -0
  199. package/ebay-floating-label/hooks.d.ts +26 -0
  200. package/ebay-floating-label/hooks.d.ts.map +1 -0
  201. package/ebay-floating-label/hooks.js +135 -0
  202. package/ebay-floating-label/index.d.ts +3 -0
  203. package/ebay-floating-label/index.d.ts.map +1 -0
  204. package/ebay-floating-label/index.js +4 -0
  205. package/ebay-fullscreen-dialog/README.md +33 -0
  206. package/ebay-fullscreen-dialog/fullscreen-dialog.d.ts +11 -0
  207. package/ebay-fullscreen-dialog/fullscreen-dialog.d.ts.map +1 -0
  208. package/ebay-fullscreen-dialog/fullscreen-dialog.js +36 -0
  209. package/ebay-fullscreen-dialog/index.d.ts +2 -0
  210. package/ebay-fullscreen-dialog/index.d.ts.map +1 -0
  211. package/ebay-fullscreen-dialog/index.js +4 -0
  212. package/ebay-icon/README.md +21 -0
  213. package/ebay-icon/icon.d.ts +14 -0
  214. package/ebay-icon/icon.d.ts.map +1 -0
  215. package/ebay-icon/icon.js +87 -0
  216. package/ebay-icon/index.d.ts +3 -0
  217. package/ebay-icon/index.d.ts.map +1 -0
  218. package/ebay-icon/index.js +4 -0
  219. package/ebay-icon/types.d.ts +2 -0
  220. package/ebay-icon/types.d.ts.map +1 -0
  221. package/ebay-icon/types.js +3 -0
  222. package/ebay-icon-button/README.md +36 -0
  223. package/ebay-icon-button/icon-button.d.ts +15 -0
  224. package/ebay-icon-button/icon-button.d.ts.map +1 -0
  225. package/ebay-icon-button/icon-button.js +45 -0
  226. package/ebay-icon-button/index.d.ts +2 -0
  227. package/ebay-icon-button/index.d.ts.map +1 -0
  228. package/ebay-icon-button/index.js +4 -0
  229. package/ebay-infotip/README.md +82 -0
  230. package/ebay-infotip/ebay-infotip-content.d.ts +8 -0
  231. package/ebay-infotip/ebay-infotip-content.d.ts.map +1 -0
  232. package/ebay-infotip/ebay-infotip-content.js +15 -0
  233. package/ebay-infotip/ebay-infotip-heading.d.ts +5 -0
  234. package/ebay-infotip/ebay-infotip-heading.d.ts.map +1 -0
  235. package/ebay-infotip/ebay-infotip-heading.js +34 -0
  236. package/ebay-infotip/ebay-infotip-host.d.ts +14 -0
  237. package/ebay-infotip/ebay-infotip-host.d.ts.map +1 -0
  238. package/ebay-infotip/ebay-infotip-host.js +39 -0
  239. package/ebay-infotip/ebay-infotip.d.ts +21 -0
  240. package/ebay-infotip/ebay-infotip.d.ts.map +1 -0
  241. package/ebay-infotip/ebay-infotip.js +84 -0
  242. package/ebay-infotip/enums.d.ts +8 -0
  243. package/ebay-infotip/enums.d.ts.map +1 -0
  244. package/ebay-infotip/enums.js +10 -0
  245. package/ebay-infotip/index.d.ts +7 -0
  246. package/ebay-infotip/index.d.ts.map +1 -0
  247. package/ebay-infotip/index.js +12 -0
  248. package/ebay-infotip/types.d.ts +2 -0
  249. package/ebay-infotip/types.d.ts.map +1 -0
  250. package/ebay-infotip/types.js +2 -0
  251. package/ebay-inline-notice/README.md +44 -0
  252. package/ebay-inline-notice/index.d.ts +4 -0
  253. package/ebay-inline-notice/index.d.ts.map +1 -0
  254. package/ebay-inline-notice/index.js +6 -0
  255. package/ebay-inline-notice/inline-notice.d.ts +13 -0
  256. package/ebay-inline-notice/inline-notice.d.ts.map +1 -0
  257. package/ebay-inline-notice/inline-notice.js +62 -0
  258. package/ebay-inline-notice/types.d.ts +2 -0
  259. package/ebay-inline-notice/types.d.ts.map +1 -0
  260. package/ebay-inline-notice/types.js +2 -0
  261. package/ebay-legacy-floating-label/README.md +47 -0
  262. package/ebay-legacy-floating-label/index.d.ts +2 -0
  263. package/ebay-legacy-floating-label/index.d.ts.map +1 -0
  264. package/ebay-legacy-floating-label/index.js +4 -0
  265. package/ebay-legacy-floating-label/legacy-floating-label.d.ts +8 -0
  266. package/ebay-legacy-floating-label/legacy-floating-label.d.ts.map +1 -0
  267. package/ebay-legacy-floating-label/legacy-floating-label.js +91 -0
  268. package/ebay-lightbox-dialog/README.md +34 -0
  269. package/ebay-lightbox-dialog/index.d.ts +2 -0
  270. package/ebay-lightbox-dialog/index.d.ts.map +1 -0
  271. package/ebay-lightbox-dialog/index.js +4 -0
  272. package/ebay-lightbox-dialog/lightbox-dialog.d.ts +12 -0
  273. package/ebay-lightbox-dialog/lightbox-dialog.d.ts.map +1 -0
  274. package/ebay-lightbox-dialog/lightbox-dialog.js +39 -0
  275. package/ebay-listbox-button/README.md +38 -0
  276. package/ebay-listbox-button/index.d.ts +3 -0
  277. package/ebay-listbox-button/index.d.ts.map +1 -0
  278. package/ebay-listbox-button/index.js +6 -0
  279. package/ebay-listbox-button/listbox-button-option.d.ts +10 -0
  280. package/ebay-listbox-button/listbox-button-option.d.ts.map +1 -0
  281. package/ebay-listbox-button/listbox-button-option.js +38 -0
  282. package/ebay-listbox-button/listbox-button.d.ts +12 -0
  283. package/ebay-listbox-button/listbox-button.d.ts.map +1 -0
  284. package/ebay-listbox-button/listbox-button.js +235 -0
  285. package/ebay-menu/README.md +54 -0
  286. package/ebay-menu/index.d.ts +5 -0
  287. package/ebay-menu/index.d.ts.map +1 -0
  288. package/ebay-menu/index.js +8 -0
  289. package/ebay-menu/menu-item-separator.d.ts +5 -0
  290. package/ebay-menu/menu-item-separator.d.ts.map +1 -0
  291. package/ebay-menu/menu-item-separator.js +34 -0
  292. package/ebay-menu/menu-item.d.ts +12 -0
  293. package/ebay-menu/menu-item.d.ts.map +1 -0
  294. package/ebay-menu/menu-item.js +65 -0
  295. package/ebay-menu/menu.d.ts +15 -0
  296. package/ebay-menu/menu.d.ts.map +1 -0
  297. package/ebay-menu/menu.js +127 -0
  298. package/ebay-menu/types.d.ts +3 -0
  299. package/ebay-menu/types.d.ts.map +1 -0
  300. package/ebay-menu/types.js +2 -0
  301. package/ebay-notice-base/components/ebay-notice-content/index.d.ts +2 -0
  302. package/ebay-notice-base/components/ebay-notice-content/index.d.ts.map +1 -0
  303. package/ebay-notice-base/components/ebay-notice-content/index.js +4 -0
  304. package/ebay-notice-base/components/ebay-notice-content/notice-content.d.ts +8 -0
  305. package/ebay-notice-base/components/ebay-notice-content/notice-content.d.ts.map +1 -0
  306. package/ebay-notice-base/components/ebay-notice-content/notice-content.js +4 -0
  307. package/ebay-notice-base/components/ebay-notice-title/index.d.ts +2 -0
  308. package/ebay-notice-base/components/ebay-notice-title/index.d.ts.map +1 -0
  309. package/ebay-notice-base/components/ebay-notice-title/index.js +4 -0
  310. package/ebay-notice-base/components/ebay-notice-title/notice-title.d.ts +4 -0
  311. package/ebay-notice-base/components/ebay-notice-title/notice-title.d.ts.map +1 -0
  312. package/ebay-notice-base/components/ebay-notice-title/notice-title.js +11 -0
  313. package/ebay-notice-base/index.d.ts +3 -0
  314. package/ebay-notice-base/index.d.ts.map +1 -0
  315. package/ebay-notice-base/index.js +6 -0
  316. package/ebay-notice-content/README.md +6 -0
  317. package/ebay-notice-content/index.d.ts +2 -0
  318. package/ebay-notice-content/index.d.ts.map +1 -0
  319. package/ebay-notice-content/index.js +4 -0
  320. package/ebay-page-notice/README.md +48 -0
  321. package/ebay-page-notice/index.d.ts +5 -0
  322. package/ebay-page-notice/index.d.ts.map +1 -0
  323. package/ebay-page-notice/index.js +10 -0
  324. package/ebay-page-notice/page-notice-footer.d.ts +8 -0
  325. package/ebay-page-notice/page-notice-footer.d.ts.map +1 -0
  326. package/ebay-page-notice/page-notice-footer.js +12 -0
  327. package/ebay-page-notice/page-notice-title.d.ts +8 -0
  328. package/ebay-page-notice/page-notice-title.d.ts.map +1 -0
  329. package/ebay-page-notice/page-notice-title.js +34 -0
  330. package/ebay-page-notice/page-notice.d.ts +8 -0
  331. package/ebay-page-notice/page-notice.d.ts.map +1 -0
  332. package/ebay-page-notice/page-notice.js +45 -0
  333. package/ebay-pagination/README.md +72 -0
  334. package/ebay-pagination/const.d.ts +3 -0
  335. package/ebay-pagination/const.d.ts.map +1 -0
  336. package/ebay-pagination/const.js +5 -0
  337. package/ebay-pagination/helpers.d.ts +11 -0
  338. package/ebay-pagination/helpers.d.ts.map +1 -0
  339. package/ebay-pagination/helpers.js +67 -0
  340. package/ebay-pagination/index.d.ts +4 -0
  341. package/ebay-pagination/index.d.ts.map +1 -0
  342. package/ebay-pagination/index.js +6 -0
  343. package/ebay-pagination/pagination-item.d.ts +23 -0
  344. package/ebay-pagination/pagination-item.d.ts.map +1 -0
  345. package/ebay-pagination/pagination-item.js +62 -0
  346. package/ebay-pagination/pagination.d.ts +17 -0
  347. package/ebay-pagination/pagination.d.ts.map +1 -0
  348. package/ebay-pagination/pagination.js +119 -0
  349. package/ebay-pagination/types.d.ts +3 -0
  350. package/ebay-pagination/types.d.ts.map +1 -0
  351. package/ebay-pagination/types.js +2 -0
  352. package/ebay-panel-dialog/README.md +34 -0
  353. package/ebay-panel-dialog/index.d.ts +2 -0
  354. package/ebay-panel-dialog/index.d.ts.map +1 -0
  355. package/ebay-panel-dialog/index.js +4 -0
  356. package/ebay-panel-dialog/panel-dialog.d.ts +13 -0
  357. package/ebay-panel-dialog/panel-dialog.d.ts.map +1 -0
  358. package/ebay-panel-dialog/panel-dialog.js +39 -0
  359. package/ebay-progress-bar/README.md +34 -0
  360. package/ebay-progress-bar/index.d.ts +2 -0
  361. package/ebay-progress-bar/index.d.ts.map +1 -0
  362. package/ebay-progress-bar/index.js +4 -0
  363. package/ebay-progress-bar/progress-bar.d.ts +7 -0
  364. package/ebay-progress-bar/progress-bar.d.ts.map +1 -0
  365. package/ebay-progress-bar/progress-bar.js +34 -0
  366. package/ebay-progress-spinner/README.md +33 -0
  367. package/ebay-progress-spinner/index.d.ts +2 -0
  368. package/ebay-progress-spinner/index.d.ts.map +1 -0
  369. package/ebay-progress-spinner/index.js +4 -0
  370. package/ebay-progress-spinner/progress-spinner.d.ts +10 -0
  371. package/ebay-progress-spinner/progress-spinner.d.ts.map +1 -0
  372. package/ebay-progress-spinner/progress-spinner.js +40 -0
  373. package/ebay-progress-stepper/README.md +84 -0
  374. package/ebay-progress-stepper/ebay-progress-step.d.ts +13 -0
  375. package/ebay-progress-stepper/ebay-progress-step.d.ts.map +1 -0
  376. package/ebay-progress-stepper/ebay-progress-step.js +82 -0
  377. package/ebay-progress-stepper/ebay-progress-stepper.d.ts +11 -0
  378. package/ebay-progress-stepper/ebay-progress-stepper.d.ts.map +1 -0
  379. package/ebay-progress-stepper/ebay-progress-stepper.js +77 -0
  380. package/ebay-progress-stepper/ebay-progress-title.d.ts +8 -0
  381. package/ebay-progress-stepper/ebay-progress-title.d.ts.map +1 -0
  382. package/ebay-progress-stepper/ebay-progress-title.js +8 -0
  383. package/ebay-progress-stepper/index.d.ts +5 -0
  384. package/ebay-progress-stepper/index.d.ts.map +1 -0
  385. package/ebay-progress-stepper/index.js +8 -0
  386. package/ebay-progress-stepper/types.d.ts +4 -0
  387. package/ebay-progress-stepper/types.d.ts.map +1 -0
  388. package/ebay-progress-stepper/types.js +2 -0
  389. package/ebay-radio/README.md +52 -0
  390. package/ebay-radio/index.d.ts +2 -0
  391. package/ebay-radio/index.d.ts.map +1 -0
  392. package/ebay-radio/index.js +4 -0
  393. package/ebay-radio/radio.d.ts +10 -0
  394. package/ebay-radio/radio.d.ts.map +1 -0
  395. package/ebay-radio/radio.js +76 -0
  396. package/ebay-section-notice/README.md +47 -0
  397. package/ebay-section-notice/index.d.ts +5 -0
  398. package/ebay-section-notice/index.d.ts.map +1 -0
  399. package/ebay-section-notice/index.js +10 -0
  400. package/ebay-section-notice/section-notice-footer.d.ts +8 -0
  401. package/ebay-section-notice/section-notice-footer.d.ts.map +1 -0
  402. package/ebay-section-notice/section-notice-footer.js +12 -0
  403. package/ebay-section-notice/section-notice-title.d.ts +8 -0
  404. package/ebay-section-notice/section-notice-title.d.ts.map +1 -0
  405. package/ebay-section-notice/section-notice-title.js +34 -0
  406. package/ebay-section-notice/section-notice.d.ts +10 -0
  407. package/ebay-section-notice/section-notice.d.ts.map +1 -0
  408. package/ebay-section-notice/section-notice.js +50 -0
  409. package/ebay-section-title/README.md +70 -0
  410. package/ebay-section-title/cta.d.ts +10 -0
  411. package/ebay-section-title/cta.d.ts.map +1 -0
  412. package/ebay-section-title/cta.js +41 -0
  413. package/ebay-section-title/index.d.ts +6 -0
  414. package/ebay-section-title/index.d.ts.map +1 -0
  415. package/ebay-section-title/index.js +12 -0
  416. package/ebay-section-title/info.d.ts +5 -0
  417. package/ebay-section-title/info.d.ts.map +1 -0
  418. package/ebay-section-title/info.js +34 -0
  419. package/ebay-section-title/overflow.d.ts +5 -0
  420. package/ebay-section-title/overflow.d.ts.map +1 -0
  421. package/ebay-section-title/overflow.js +34 -0
  422. package/ebay-section-title/section-title.d.ts +9 -0
  423. package/ebay-section-title/section-title.d.ts.map +1 -0
  424. package/ebay-section-title/section-title.js +49 -0
  425. package/ebay-section-title/subtitle.d.ts +5 -0
  426. package/ebay-section-title/subtitle.d.ts.map +1 -0
  427. package/ebay-section-title/subtitle.js +34 -0
  428. package/ebay-section-title/title.d.ts +5 -0
  429. package/ebay-section-title/title.d.ts.map +1 -0
  430. package/ebay-section-title/title.js +34 -0
  431. package/ebay-select/README.md +62 -0
  432. package/ebay-select/ebay-select-option.d.ts +7 -0
  433. package/ebay-select/ebay-select-option.d.ts.map +1 -0
  434. package/ebay-select/ebay-select-option.js +33 -0
  435. package/ebay-select/ebay-select.d.ts +13 -0
  436. package/ebay-select/ebay-select.d.ts.map +1 -0
  437. package/ebay-select/ebay-select.js +137 -0
  438. package/ebay-select/index.d.ts +3 -0
  439. package/ebay-select/index.d.ts.map +1 -0
  440. package/ebay-select/index.js +6 -0
  441. package/ebay-signal/README.md +35 -0
  442. package/ebay-signal/index.d.ts +2 -0
  443. package/ebay-signal/index.d.ts.map +1 -0
  444. package/ebay-signal/index.js +4 -0
  445. package/ebay-signal/signal.d.ts +8 -0
  446. package/ebay-signal/signal.d.ts.map +1 -0
  447. package/ebay-signal/signal.js +35 -0
  448. package/ebay-svg/README.md +19 -0
  449. package/ebay-svg/index.d.ts +2 -0
  450. package/ebay-svg/index.d.ts.map +1 -0
  451. package/ebay-svg/index.js +4 -0
  452. package/ebay-svg/svg.d.ts +4 -0
  453. package/ebay-svg/svg.d.ts.map +1 -0
  454. package/ebay-svg/svg.js +545 -0
  455. package/ebay-switch/README.md +33 -0
  456. package/ebay-switch/ebay-switch.d.ts +7 -0
  457. package/ebay-switch/ebay-switch.d.ts.map +1 -0
  458. package/ebay-switch/ebay-switch.js +64 -0
  459. package/ebay-switch/index.d.ts +2 -0
  460. package/ebay-switch/index.d.ts.map +1 -0
  461. package/ebay-switch/index.js +4 -0
  462. package/ebay-tab/README.md +1 -0
  463. package/ebay-tab/enums.d.ts +14 -0
  464. package/ebay-tab/enums.d.ts.map +1 -0
  465. package/ebay-tab/enums.js +17 -0
  466. package/ebay-tab/index.d.ts +6 -0
  467. package/ebay-tab/index.d.ts.map +1 -0
  468. package/ebay-tab/index.js +12 -0
  469. package/ebay-tabs/README.md +59 -0
  470. package/ebay-tabs/index.d.ts +5 -0
  471. package/ebay-tabs/index.d.ts.map +1 -0
  472. package/ebay-tabs/index.js +8 -0
  473. package/ebay-tabs/tab-panel.d.ts +9 -0
  474. package/ebay-tabs/tab-panel.d.ts.map +1 -0
  475. package/ebay-tabs/tab-panel.js +35 -0
  476. package/ebay-tabs/tab.d.ts +12 -0
  477. package/ebay-tabs/tab.d.ts.map +1 -0
  478. package/ebay-tabs/tab.js +36 -0
  479. package/ebay-tabs/tabs.d.ts +28 -0
  480. package/ebay-tabs/tabs.d.ts.map +1 -0
  481. package/ebay-tabs/tabs.js +137 -0
  482. package/ebay-tabs/types.d.ts +3 -0
  483. package/ebay-tabs/types.d.ts.map +1 -0
  484. package/ebay-tabs/types.js +2 -0
  485. package/ebay-textbox/README.md +72 -0
  486. package/ebay-textbox/index.d.ts +5 -0
  487. package/ebay-textbox/index.d.ts.map +1 -0
  488. package/ebay-textbox/index.js +8 -0
  489. package/ebay-textbox/postfix-icon.d.ts +5 -0
  490. package/ebay-textbox/postfix-icon.d.ts.map +1 -0
  491. package/ebay-textbox/postfix-icon.js +15 -0
  492. package/ebay-textbox/prefix-icon.d.ts +5 -0
  493. package/ebay-textbox/prefix-icon.d.ts.map +1 -0
  494. package/ebay-textbox/prefix-icon.js +12 -0
  495. package/ebay-textbox/textbox.d.ts +20 -0
  496. package/ebay-textbox/textbox.d.ts.map +1 -0
  497. package/ebay-textbox/textbox.js +106 -0
  498. package/ebay-textbox/types.d.ts +9 -0
  499. package/ebay-textbox/types.d.ts.map +1 -0
  500. package/ebay-textbox/types.js +2 -0
  501. package/ebay-toast-dialog/README.md +24 -0
  502. package/ebay-toast-dialog/components/toast.d.ts +8 -0
  503. package/ebay-toast-dialog/components/toast.d.ts.map +1 -0
  504. package/ebay-toast-dialog/components/toast.js +36 -0
  505. package/ebay-toast-dialog/index.d.ts +2 -0
  506. package/ebay-toast-dialog/index.d.ts.map +1 -0
  507. package/ebay-toast-dialog/index.js +4 -0
  508. package/ebay-tooltip/README.md +55 -0
  509. package/ebay-tooltip/ebay-tooltip-content.d.ts +8 -0
  510. package/ebay-tooltip/ebay-tooltip-content.d.ts.map +1 -0
  511. package/ebay-tooltip/ebay-tooltip-content.js +8 -0
  512. package/ebay-tooltip/ebay-tooltip-host.d.ts +8 -0
  513. package/ebay-tooltip/ebay-tooltip-host.d.ts.map +1 -0
  514. package/ebay-tooltip/ebay-tooltip-host.js +8 -0
  515. package/ebay-tooltip/ebay-tooltip.d.ts +12 -0
  516. package/ebay-tooltip/ebay-tooltip.d.ts.map +1 -0
  517. package/ebay-tooltip/ebay-tooltip.js +92 -0
  518. package/ebay-tooltip/index.d.ts +6 -0
  519. package/ebay-tooltip/index.d.ts.map +1 -0
  520. package/ebay-tooltip/index.js +13 -0
  521. package/index.d.ts +38 -0
  522. package/index.d.ts.map +1 -0
  523. package/index.js +114 -0
  524. package/package.json +106 -0
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __rest = (this && this.__rest) || function (s, e) {
33
+ var t = {};
34
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
35
+ t[p] = s[p];
36
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
37
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
38
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
39
+ t[p[i]] = s[p[i]];
40
+ }
41
+ return t;
42
+ };
43
+ var __importDefault = (this && this.__importDefault) || function (mod) {
44
+ return (mod && mod.__esModule) ? mod : { "default": mod };
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ var react_1 = __importStar(require("react"));
48
+ var classnames_1 = __importDefault(require("classnames"));
49
+ var ebay_icon_1 = require("../ebay-icon");
50
+ var component_utils_1 = require("../common/component-utils");
51
+ var listbox_button_option_1 = __importDefault(require("./listbox-button-option"));
52
+ var ListboxButton = function (_a) {
53
+ var children = _a.children, name = _a.name, _b = _a.onSelect, onSelect = _b === void 0 ? function () { } : _b, value = _a.value, borderless = _a.borderless, fluid = _a.fluid, className = _a.className, maxHeight = _a.maxHeight, prefixId = _a.prefixId, floatingLabel = _a.floatingLabel, rest = __rest(_a, ["children", "name", "onSelect", "value", "borderless", "fluid", "className", "maxHeight", "prefixId", "floatingLabel"]);
54
+ var optionsContainerRef = react_1.useRef(null);
55
+ var optionsParentContainerRef = react_1.useRef();
56
+ var optionsByIndexRef = react_1.useRef(new Map());
57
+ var buttonRef = react_1.useRef();
58
+ var listBoxButtonOptions = component_utils_1.filterByType(children, listbox_button_option_1.default);
59
+ if (!listBoxButtonOptions.length) {
60
+ throw new Error("EbayListboxButton: Please use a\n EbayListboxButtonOption that defines the options of the listbox");
61
+ }
62
+ var getInitialSelectedOption = function () {
63
+ var selectedIndex = listBoxButtonOptions.findIndex(function (_a) {
64
+ var props = _a.props;
65
+ return props.value === value;
66
+ });
67
+ var index = selectedIndex > -1 ? selectedIndex : 0;
68
+ return {
69
+ option: listBoxButtonOptions[index],
70
+ index: index
71
+ };
72
+ };
73
+ // Get the default Selected value and set it in the state
74
+ var _c = getInitialSelectedOption(), selectedOptionFromValue = _c.option, initialSelectedOptionIndex = _c.index;
75
+ // Update the selected option to the state
76
+ var _d = react_1.useState(selectedOptionFromValue), selectedOption = _d[0], setSelectedOption = _d[1];
77
+ var _e = react_1.useState(initialSelectedOptionIndex), selectedIndex = _e[0], setSelectedIndex = _e[1];
78
+ // Update the expanded status to the state
79
+ var _f = react_1.useState(false), expanded = _f[0], setExpanded = _f[1];
80
+ // Additional flag to avoid multiple re-render when users tries to open and close
81
+ var _g = react_1.useState(false), optionsOpened = _g[0], setOptionsOpened = _g[1];
82
+ react_1.useEffect(function () {
83
+ setSelectedOption(selectedOptionFromValue);
84
+ }, [value]);
85
+ var childrenArray = react_1.Children.toArray(children);
86
+ var getSelectedValueByIndex = function (index) { return childrenArray[index].props.value; };
87
+ var getSelectedOption = function (currentIndex) { return optionsByIndexRef.current.get(currentIndex); };
88
+ var setActiveDescendant = function (index) {
89
+ var optionsContainerEle = optionsContainerRef.current;
90
+ optionsContainerEle.setAttribute("aria-activedescendant", getSelectedOption(index).id);
91
+ };
92
+ var onOptionsSelect = function (e, optionValue, index) {
93
+ // OnSelect set the selectedValue to the state and expanded to false to close the list box
94
+ setSelectedOption(childrenArray[index]);
95
+ setSelectedIndex(index);
96
+ setExpanded(false);
97
+ setActiveDescendant(index);
98
+ buttonRef.current.focus();
99
+ onSelect(e, optionValue, index);
100
+ };
101
+ var reset = function () {
102
+ setExpanded(false);
103
+ setSelectedOption(childrenArray[initialSelectedOptionIndex]);
104
+ };
105
+ var makeOptionActive = function (index) {
106
+ var optionEle = optionsContainerRef.current.children[index];
107
+ optionEle.setAttribute("aria-selected", 'true');
108
+ optionEle.classList.add("listbox-button__option--active");
109
+ };
110
+ var makeOptionInActive = function (index) {
111
+ var optionEle = optionsContainerRef.current.children[index];
112
+ optionEle.setAttribute("aria-selected", 'false');
113
+ optionEle.classList.remove("listbox-button__option--active");
114
+ };
115
+ // Followed the implementation from W3
116
+ // https://www.w3.org/TR/wai-aria-practices/examples/listbox/listbox-collapsible.html
117
+ var scrollOptions = function (index) {
118
+ var listboxOptionsContainerNode = optionsParentContainerRef.current;
119
+ var currentTarget = getSelectedOption(index);
120
+ if (listboxOptionsContainerNode.scrollHeight > listboxOptionsContainerNode.clientHeight) {
121
+ var scrollBottom = listboxOptionsContainerNode.clientHeight + listboxOptionsContainerNode.scrollTop;
122
+ var elementBottom = currentTarget.offsetTop + currentTarget.offsetHeight;
123
+ if (elementBottom > scrollBottom) {
124
+ listboxOptionsContainerNode.scrollTop = elementBottom - listboxOptionsContainerNode.clientHeight;
125
+ }
126
+ else if (currentTarget.offsetTop < listboxOptionsContainerNode.scrollTop) {
127
+ listboxOptionsContainerNode.scrollTop = currentTarget.offsetTop;
128
+ }
129
+ }
130
+ };
131
+ var makeSelections = function (updatedIndex) {
132
+ makeOptionActive(updatedIndex);
133
+ makeOptionInActive(selectedIndex);
134
+ scrollOptions(updatedIndex);
135
+ setActiveDescendant(updatedIndex);
136
+ setSelectedIndex(updatedIndex);
137
+ setSelectedOption(childrenArray[updatedIndex]);
138
+ };
139
+ var focusOptionsContainer = function (focusOptions) {
140
+ return setTimeout(function () { var _a; return (_a = optionsContainerRef === null || optionsContainerRef === void 0 ? void 0 : optionsContainerRef.current) === null || _a === void 0 ? void 0 : _a.focus(focusOptions); }, 0);
141
+ };
142
+ var onButtonClick = function () {
143
+ setExpanded(!expanded);
144
+ setOptionsOpened(true);
145
+ focusOptionsContainer({ preventScroll: true });
146
+ };
147
+ var onButtonKeyup = function (e) {
148
+ switch (e.key) {
149
+ case 'Escape':
150
+ setExpanded(false);
151
+ break;
152
+ case 'Enter':
153
+ focusOptionsContainer();
154
+ break;
155
+ default:
156
+ break;
157
+ }
158
+ };
159
+ var onOptionContainerKeydown = function (e) {
160
+ switch (e.key) {
161
+ case ' ':
162
+ case 'PageUp':
163
+ case 'PageDown':
164
+ case 'Home':
165
+ case 'End':
166
+ e.preventDefault();
167
+ break;
168
+ case 'Down':
169
+ case 'ArrowDown':
170
+ e.preventDefault();
171
+ if (selectedIndex !== listBoxButtonOptions.length - 1) {
172
+ makeSelections(selectedIndex < listBoxButtonOptions.length - 1 ? selectedIndex + 1 : 0);
173
+ }
174
+ break;
175
+ case 'Up':
176
+ case 'ArrowUp':
177
+ e.preventDefault();
178
+ if (selectedIndex !== 0) {
179
+ makeSelections(selectedIndex > 0 ? selectedIndex - 1 : listBoxButtonOptions.length - 1);
180
+ }
181
+ break;
182
+ case 'Enter':
183
+ setExpanded(false);
184
+ setTimeout(function () { return setSelectedOption(childrenArray[selectedIndex]); });
185
+ setTimeout(function () { return buttonRef.current.focus(); }, 0);
186
+ onSelect(e, getSelectedValueByIndex(selectedIndex), selectedIndex);
187
+ break;
188
+ case 'Esc':
189
+ case 'Escape':
190
+ reset();
191
+ break;
192
+ default:
193
+ break;
194
+ }
195
+ };
196
+ // We want to minic the select box behavior so we take the onSelect that passed
197
+ // at the parent level and use it for the OnClick on the list box since its a fake dropdown
198
+ var updatelistBoxButtonOptions = listBoxButtonOptions
199
+ .map(function (child, index) { return react_1.cloneElement(child, {
200
+ index: index,
201
+ key: index,
202
+ selected: child.props.value === selectedOption.props.value,
203
+ onClick: function (e, optionValue) { return onOptionsSelect(e, optionValue, index); },
204
+ innerRef: function (optionNode) { return !optionNode
205
+ ? optionsByIndexRef.current.delete(index)
206
+ : optionsByIndexRef.current.set(index, optionNode); }
207
+ }); });
208
+ var wrapperClassName = classnames_1.default('listbox-button', className, { 'listbox-button--fluid': fluid });
209
+ var buttonClassName = classnames_1.default('expand-btn', {
210
+ 'expand-btn--borderless': borderless,
211
+ 'expand-btn--floating-label': floatingLabel
212
+ });
213
+ var expandBtnTextId = prefixId && 'expand-btn-text';
214
+ return (react_1.default.createElement("span", { className: wrapperClassName },
215
+ react_1.default.createElement("button", __assign({}, rest, { type: "button", className: buttonClassName, "aria-expanded": expanded, "aria-haspopup": "listbox", "aria-labelledby": prefixId && prefixId + " " + expandBtnTextId, onClick: onButtonClick,
216
+ // https://stackoverflow.com/questions/17769005/onclick-and-onblur-ordering-issue
217
+ onMouseDown: function (e) { return e.preventDefault(); }, onKeyUp: onButtonKeyup, ref: buttonRef }),
218
+ react_1.default.createElement("span", { className: "expand-btn__cell" },
219
+ floatingLabel ? (react_1.default.createElement("span", { className: "expand-btn__floating-label" }, floatingLabel)) : null,
220
+ react_1.default.createElement("span", { className: "expand-btn__text", id: expandBtnTextId }, selectedOption.props.children),
221
+ react_1.default.createElement(ebay_icon_1.EbayIcon, { name: "dropdown" }))),
222
+ (expanded || optionsOpened) &&
223
+ react_1.default.createElement("div", { className: "listbox-button__listbox", ref: optionsParentContainerRef, style: { maxHeight: maxHeight } },
224
+ react_1.default.createElement("div", { className: "listbox-button__options", role: "listbox", tabIndex: 0, ref: optionsContainerRef, onKeyDown: function (e) { return onOptionContainerKeydown(e); },
225
+ // adding onMouseDown preventDefault b/c on IE the onClick event is not being fired on each
226
+ // option https://stackoverflow.com/questions/17769005/onclick-and-onblur-ordering-issue
227
+ onMouseDown: function (e) { return e.preventDefault(); }, onBlur: function () {
228
+ setExpanded(false);
229
+ setTimeout(function () { return buttonRef.current.focus(); }, 0);
230
+ } }, updatelistBoxButtonOptions)),
231
+ react_1.default.createElement("select", { hidden: true, className: "listbox-button__native", name: name, value: selectedOption.props.value }, updatelistBoxButtonOptions.map(function (option, i) {
232
+ return react_1.default.createElement("option", { value: option.props.value, key: i });
233
+ }))));
234
+ };
235
+ exports.default = ListboxButton;
@@ -0,0 +1,54 @@
1
+ # ebay-menu
2
+
3
+ ## Demo
4
+ [Storybook](https://opensource.ebay.com/ebayui-core-react/main/?path=/story/ebay-menu--default)
5
+
6
+ ## Install
7
+ ```
8
+ yarn add @ebay/ui-core-react
9
+ ```
10
+
11
+ ## Usage
12
+ ```jsx harmony
13
+ import { EbayMenu, EbayMenuItem as Item } from '@ebay/ui-core-react/ebay-menu';
14
+ import '@ebay/skin/menu';
15
+
16
+ <EbayMenu>
17
+ <Item>item 1</Item>
18
+ <Item>item 2</Item>
19
+ <Item>item 3</Item>
20
+ </EbayMenu>
21
+ ```
22
+
23
+ ## EbayMenu Props
24
+
25
+ Name | Type | Required | Description
26
+ --- | --- | --- | ---
27
+ `type` | String | No | Can be `radio`/`checkbox`
28
+ `checked` | Number | No | when used with `radio` type will check the item with the corresponding index
29
+ `onKeydown` | Function | No | arguments: (index: number, checked: boolean)
30
+ `onChange` | Function | No | arguments: (index: number, checked: boolean) for type `radio`/`checkbox`
31
+ `onSelect` | Function | No | arguments: (index: number, checked: boolean), not for use with type `radio`/`checkbox`
32
+
33
+ ## EbayMenuItem Props
34
+
35
+ Name | Type | Required | Description
36
+ --- | --- | --- | ---
37
+ `value` | String | No | for type `radio`, `checkbox`: the value to use with callbacks for `checked[]`
38
+ `checked` | Boolean | No | for type `radio`, `checkbox`: whether or not the item is checked
39
+ `disabled` | Boolean | No | makes the menu item disabled
40
+ `badgeNumber` | Number | No | used as the number to be placed in the badge
41
+
42
+ ## EbayMenuSeparator
43
+ Example:
44
+
45
+ ```jsx
46
+ import { EbayMenu, EbayMenuItem as Item, EbayMenuSeparator as Separator } from '@ebay/ui-core-react/ebay-menu';
47
+
48
+ <EbayMenu>
49
+ <Item>item 1</Item>
50
+ <Item>item 2</Item>
51
+ <Separator />
52
+ <Item>item 3</Item>
53
+ </EbayMenu>
54
+ ```
@@ -0,0 +1,5 @@
1
+ export { default as EbayMenu } from './menu';
2
+ export { default as EbayMenuItem } from './menu-item';
3
+ export { default as EbayMenuSeparator } from './menu-item-separator';
4
+ export { EbayMenuType, EbayMenuPriority } from './types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var menu_1 = require("./menu");
4
+ Object.defineProperty(exports, "EbayMenu", { enumerable: true, get: function () { return menu_1.default; } });
5
+ var menu_item_1 = require("./menu-item");
6
+ Object.defineProperty(exports, "EbayMenuItem", { enumerable: true, get: function () { return menu_item_1.default; } });
7
+ var menu_item_separator_1 = require("./menu-item-separator");
8
+ Object.defineProperty(exports, "EbayMenuSeparator", { enumerable: true, get: function () { return menu_item_separator_1.default; } });
@@ -0,0 +1,5 @@
1
+ import { ComponentProps, FC } from 'react';
2
+ declare type Props = ComponentProps<'hr'>;
3
+ declare const EbayMenuItemSeparator: FC<Props>;
4
+ export default EbayMenuItemSeparator;
5
+ //# sourceMappingURL=menu-item-separator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item-separator.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/menu-item-separator.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAGjD,aAAK,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;AAEjC,QAAA,MAAM,qBAAqB,EAAE,EAAE,CAAC,KAAK,CASpC,CAAA;AAED,eAAe,qBAAqB,CAAA"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ var react_1 = __importDefault(require("react"));
29
+ var classnames_1 = __importDefault(require("classnames"));
30
+ var EbayMenuItemSeparator = function (_a) {
31
+ var className = _a.className, rest = __rest(_a, ["className"]);
32
+ return (react_1.default.createElement("hr", __assign({}, rest, { className: classnames_1.default(className, 'menu__separator'), role: "separator" })));
33
+ };
34
+ exports.default = EbayMenuItemSeparator;
@@ -0,0 +1,12 @@
1
+ import { ComponentProps, FC } from 'react';
2
+ export declare type MenuItemProps = Omit<ComponentProps<'div'>, 'onKeyDown'> & {
3
+ focused?: boolean;
4
+ tabIndex?: number;
5
+ checked?: boolean;
6
+ value?: string;
7
+ disabled?: boolean;
8
+ badgeNumber?: number;
9
+ };
10
+ declare const EbayMenuItem: FC<MenuItemProps>;
11
+ export default EbayMenuItem;
12
+ //# sourceMappingURL=menu-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/menu-item.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,cAAc,EAAE,EAAE,EAAqB,MAAM,OAAO,CAAA;AAKpE,oBAAY,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,GAAG;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAA;AAED,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC,aAAa,CAoCnC,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __rest = (this && this.__rest) || function (s, e) {
33
+ var t = {};
34
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
35
+ t[p] = s[p];
36
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
37
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
38
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
39
+ t[p[i]] = s[p[i]];
40
+ }
41
+ return t;
42
+ };
43
+ var __importDefault = (this && this.__importDefault) || function (mod) {
44
+ return (mod && mod.__esModule) ? mod : { "default": mod };
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ var react_1 = __importStar(require("react"));
48
+ var classnames_1 = __importDefault(require("classnames"));
49
+ var ebay_badge_1 = require("../ebay-badge");
50
+ var ebay_icon_1 = require("../ebay-icon");
51
+ var EbayMenuItem = function (_a) {
52
+ var className = _a.className, checked = _a.checked, _b = _a.focused, focused = _b === void 0 ? false : _b, tabIndex = _a.tabIndex, disabled = _a.disabled, badgeNumber = _a.badgeNumber, children = _a.children, rest = __rest(_a, ["className", "checked", "focused", "tabIndex", "disabled", "badgeNumber", "children"]);
53
+ var ref = react_1.useRef(null);
54
+ react_1.useEffect(function () {
55
+ if (ref.current && focused) {
56
+ ref.current.focus();
57
+ }
58
+ }, [ref, focused]);
59
+ return (react_1.default.createElement("div", __assign({}, rest, { ref: ref, className: classnames_1.default(className, 'menu__item'), role: "menuitem", "aria-checked": checked, "aria-disabled": disabled, "aria-hidden": badgeNumber !== undefined, tabIndex: focused ? 0 : tabIndex }),
60
+ react_1.default.createElement("span", null,
61
+ children,
62
+ badgeNumber !== undefined && react_1.default.createElement(ebay_badge_1.EbayBadge, { type: "menu", number: badgeNumber })),
63
+ react_1.default.createElement(ebay_icon_1.EbayIcon, { name: "tickSmall" })));
64
+ };
65
+ exports.default = EbayMenuItem;
@@ -0,0 +1,15 @@
1
+ import { ComponentProps, FC } from 'react';
2
+ import { EbayMenuType, EbayMenuPriority } from './index';
3
+ declare type SpanProps = Omit<ComponentProps<'span'>, 'onKeyDown' | 'onChange'>;
4
+ declare type Callback = (i: number, checked: boolean) => void;
5
+ declare type Props = SpanProps & {
6
+ type?: EbayMenuType;
7
+ priority?: EbayMenuPriority;
8
+ checked?: number;
9
+ onKeyDown?: Callback;
10
+ onSelect?: Callback;
11
+ onChange?: Callback;
12
+ };
13
+ declare const EbayMenu: FC<Props>;
14
+ export default EbayMenu;
15
+ //# sourceMappingURL=menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/menu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEV,cAAc,EAAE,EAAE,EACrB,MAAM,OAAO,CAAA;AAMd,OAAO,EAAgB,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEtE,aAAK,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,CAAA;AACvE,aAAK,QAAQ,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;AACrD,aAAK,KAAK,GAAG,SAAS,GAAG;IACrB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACvB,CAAA;AAID,QAAA,MAAM,QAAQ,EAAE,EAAE,CAAC,KAAK,CAmGvB,CAAA;AAED,eAAe,QAAQ,CAAA"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __rest = (this && this.__rest) || function (s, e) {
33
+ var t = {};
34
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
35
+ t[p] = s[p];
36
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
37
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
38
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
39
+ t[p[i]] = s[p[i]];
40
+ }
41
+ return t;
42
+ };
43
+ var __importDefault = (this && this.__importDefault) || function (mod) {
44
+ return (mod && mod.__esModule) ? mod : { "default": mod };
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ var react_1 = __importStar(require("react"));
48
+ var classnames_1 = __importDefault(require("classnames"));
49
+ var use_roving_index_1 = __importDefault(require("../common/event-utils/use-roving-index"));
50
+ var usePrevious_1 = require("../common/component-utils/usePrevious");
51
+ var event_utils_1 = require("../common/event-utils");
52
+ var index_1 = require("./index");
53
+ var changedIndex = function (arr1, arr2) { return arr1.findIndex(function (x, i) { return arr2[i] !== x; }); };
54
+ var EbayMenu = function (_a) {
55
+ var type = _a.type, _b = _a.priority, priority = _b === void 0 ? 'secondary' : _b, checked = _a.checked, className = _a.className, _c = _a.onKeyDown, onKeyDown = _c === void 0 ? function () { } : _c, _d = _a.onChange, onChange = _d === void 0 ? function () { } : _d, _e = _a.onSelect, onSelect = _e === void 0 ? function () { } : _e, children = _a.children, rest = __rest(_a, ["type", "priority", "checked", "className", "onKeyDown", "onChange", "onSelect", "children"]);
56
+ var childrenArray = react_1.Children.toArray(children);
57
+ var _f = use_roving_index_1.default(children, index_1.EbayMenuItem), focusedIndex = _f[0], setFocusedIndex = _f[1];
58
+ var _g = react_1.useState(childrenArray.map(function () { return false; })), checkedIndexes = _g[0], setCheckedIndexes = _g[1];
59
+ var updateIndex = function (index, value, resetOthers) {
60
+ if (resetOthers === void 0) { resetOthers = false; }
61
+ setCheckedIndexes(function (prevCheckedIndexes) {
62
+ return prevCheckedIndexes.map(function (indexChecked, i) {
63
+ var defaultValue = resetOthers ? false : indexChecked;
64
+ return index === i ? value : defaultValue;
65
+ });
66
+ });
67
+ };
68
+ var selectIndex = function (index) {
69
+ switch (type) {
70
+ case 'radio':
71
+ return updateIndex(index, true, true);
72
+ case 'checkbox':
73
+ return updateIndex(index, !checkedIndexes[index]);
74
+ default:
75
+ return;
76
+ }
77
+ };
78
+ react_1.useEffect(function () {
79
+ if (type === 'radio') {
80
+ if (checked !== undefined) {
81
+ selectIndex(checked);
82
+ }
83
+ var checkedIndex = childrenArray.findIndex(function (child) { return child.props.checked; });
84
+ if (checkedIndex > -1) {
85
+ selectIndex(checkedIndex);
86
+ }
87
+ }
88
+ else if (type === 'checkbox') {
89
+ setCheckedIndexes(childrenArray.map(function (child) { return child.props.checked; }));
90
+ }
91
+ }, []);
92
+ var prevCheckedIndexes = usePrevious_1.usePrevious(checkedIndexes);
93
+ react_1.useEffect(function () {
94
+ if (type === 'radio') {
95
+ var checkedIndex = checkedIndexes.findIndex(Boolean);
96
+ if (checkedIndex > -1) {
97
+ onChange(checkedIndex, true);
98
+ onSelect(checkedIndex, true);
99
+ }
100
+ }
101
+ else if (type === 'checkbox') {
102
+ if (prevCheckedIndexes) {
103
+ var index = changedIndex(prevCheckedIndexes, checkedIndexes);
104
+ onChange(index, checkedIndexes[index]);
105
+ onSelect(index, checkedIndexes[index]);
106
+ }
107
+ }
108
+ }, [checkedIndexes]);
109
+ return (react_1.default.createElement("span", __assign({}, rest, { className: classnames_1.default(className, 'menu') }),
110
+ react_1.default.createElement("div", { className: "menu__items", role: "menu" }, childrenArray.map(function (child, i) {
111
+ var _a = child.props, _b = _a.onClick, onClick = _b === void 0 ? function () { } : _b, _c = _a.onFocus, onFocus = _c === void 0 ? function () { } : _c, itemRest = __rest(_a, ["onClick", "onFocus"]);
112
+ return react_1.cloneElement(child, __assign(__assign({}, itemRest), { focused: i === focusedIndex, tabIndex: focusedIndex === undefined ? 0 : -1, checked: checkedIndexes[i], onFocus: function (e) {
113
+ setFocusedIndex(i);
114
+ onFocus(e);
115
+ }, onClick: function (e) {
116
+ setFocusedIndex(i);
117
+ selectIndex(i);
118
+ onClick(e);
119
+ }, onKeyDown: function (e) {
120
+ event_utils_1.handleActionKeydown(e, function () {
121
+ selectIndex(i);
122
+ });
123
+ onKeyDown(i, checkedIndexes[i]);
124
+ } }));
125
+ }))));
126
+ };
127
+ exports.default = EbayMenu;
@@ -0,0 +1,3 @@
1
+ export declare type EbayMenuType = 'radio' | 'checkbox';
2
+ export declare type EbayMenuPriority = 'primary' | 'secondary' | 'none';
3
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/types.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY,GAAG,OAAO,GAAG,UAAU,CAAA;AAC/C,oBAAY,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export { default as EbayNoticeContent } from './notice-content';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ebay-notice-base/components/ebay-notice-content/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var notice_content_1 = require("./notice-content");
4
+ Object.defineProperty(exports, "EbayNoticeContent", { enumerable: true, get: function () { return notice_content_1.default; } });
@@ -0,0 +1,8 @@
1
+ /**
2
+ * This Component is used only for finding it as a child of EbayInlineNotice, EbaySectionNotice, or EbayPageNotice
3
+ * and pass the properties to NoticeContent
4
+ */
5
+ import { FC } from 'react';
6
+ declare const EbayNoticeContent: FC;
7
+ export default EbayNoticeContent;
8
+ //# sourceMappingURL=notice-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notice-content.d.ts","sourceRoot":"","sources":["../../../../src/ebay-notice-base/components/ebay-notice-content/notice-content.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAE1B,QAAA,MAAM,iBAAiB,EAAE,EAAe,CAAA;AAExC,eAAe,iBAAiB,CAAA"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var EbayNoticeContent = function () { return null; };
4
+ exports.default = EbayNoticeContent;
@@ -0,0 +1,2 @@
1
+ export { default as EbayNoticeTitle } from './notice-title';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ebay-notice-base/components/ebay-notice-title/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var notice_title_1 = require("./notice-title");
4
+ Object.defineProperty(exports, "EbayNoticeTitle", { enumerable: true, get: function () { return notice_title_1.default; } });