@zohodesk/components 1.0.0-temp-667 → 1.0.0-temp-70

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 (454) hide show
  1. package/README.md +8 -1
  2. package/es/Accordion/Accordion.js +4 -20
  3. package/es/Accordion/AccordionItem.js +4 -19
  4. package/es/Accordion/props/defaultProps.js +8 -0
  5. package/es/Accordion/props/propTypes.js +30 -0
  6. package/es/Animation/Animation.js +4 -25
  7. package/es/Animation/props/defaultProps.js +7 -0
  8. package/es/Animation/props/propTypes.js +12 -0
  9. package/es/AppContainer/AppContainer.js +5 -24
  10. package/es/AppContainer/props/defaultProps.js +8 -0
  11. package/es/AppContainer/props/propTypes.js +15 -0
  12. package/es/Avatar/Avatar.js +5 -45
  13. package/es/Avatar/props/defaultProps.js +13 -0
  14. package/es/Avatar/props/propTypes.js +22 -0
  15. package/es/AvatarTeam/AvatarTeam.js +5 -37
  16. package/es/AvatarTeam/props/defaultProps.js +13 -0
  17. package/es/AvatarTeam/props/propTypes.js +23 -0
  18. package/es/Button/Button.js +4 -47
  19. package/es/Button/props/defaultProps.js +15 -0
  20. package/es/Button/props/propTypes.js +22 -0
  21. package/es/Buttongroup/Buttongroup.js +4 -11
  22. package/es/Buttongroup/props/defaultProps.js +4 -0
  23. package/es/Buttongroup/props/propTypes.js +7 -0
  24. package/es/Card/Card.js +12 -60
  25. package/es/Card/props/defaultProps.js +15 -0
  26. package/es/Card/props/propTypes.js +43 -0
  27. package/es/CheckBox/CheckBox.js +5 -60
  28. package/es/CheckBox/props/defaultProps.js +18 -0
  29. package/es/CheckBox/props/propTypes.js +41 -0
  30. package/es/DateTime/CalendarView.js +6 -26
  31. package/es/DateTime/DateTime.js +4 -62
  32. package/es/DateTime/DateWidget.js +4 -83
  33. package/es/DateTime/YearView.js +4 -12
  34. package/es/DateTime/props/defaultProps.js +50 -0
  35. package/es/DateTime/props/propTypes.js +130 -0
  36. package/es/DropBox/DropBox.js +5 -72
  37. package/es/DropBox/props/defaultProps.js +20 -0
  38. package/es/DropBox/props/propTypes.js +47 -0
  39. package/es/DropDown/DropDown.js +7 -34
  40. package/es/DropDown/DropDownHeading.js +4 -19
  41. package/es/DropDown/DropDownItem.js +4 -18
  42. package/es/DropDown/DropDownSearch.js +4 -24
  43. package/es/DropDown/DropDownSeparator.js +2 -4
  44. package/es/DropDown/props/defaultProps.js +18 -0
  45. package/es/DropDown/props/propTypes.js +77 -0
  46. package/es/Label/Label.js +4 -24
  47. package/es/Label/props/defaultProps.js +10 -0
  48. package/es/Label/props/propTypes.js +14 -0
  49. package/es/Layout/Box.js +15 -30
  50. package/es/Layout/Container.js +15 -27
  51. package/es/Layout/Layout.module.css +13 -1
  52. package/es/Layout/docs/Layout__four_Column.docs.js +16 -22
  53. package/es/Layout/props/defaultProps.js +12 -0
  54. package/es/Layout/props/propTypes.js +42 -0
  55. package/es/ListItem/ListContainer.js +5 -42
  56. package/es/ListItem/ListItem.js +5 -51
  57. package/es/ListItem/ListItemWithAvatar.js +5 -57
  58. package/es/ListItem/ListItemWithCheckBox.js +5 -41
  59. package/es/ListItem/ListItemWithIcon.js +5 -48
  60. package/es/ListItem/ListItemWithRadio.js +5 -42
  61. package/es/ListItem/props/defaultProps.js +85 -0
  62. package/es/ListItem/props/propTypes.js +185 -0
  63. package/es/Modal/Modal.js +5 -10
  64. package/es/Modal/props/defaultProps.js +3 -0
  65. package/es/Modal/props/propTypes.js +6 -0
  66. package/es/MultiSelect/AdvancedGroupMultiSelect.js +5 -91
  67. package/es/MultiSelect/AdvancedMultiSelect.js +5 -114
  68. package/es/MultiSelect/EmptyState.js +4 -29
  69. package/es/MultiSelect/MultiSelect.js +4 -113
  70. package/es/MultiSelect/MultiSelectHeader.js +4 -12
  71. package/es/MultiSelect/MultiSelectWithAvatar.js +4 -99
  72. package/es/MultiSelect/SelectedOptions.js +5 -20
  73. package/es/MultiSelect/Suggestions.js +6 -35
  74. package/es/MultiSelect/props/defaultProps.js +140 -0
  75. package/es/MultiSelect/props/propTypes.js +360 -0
  76. package/es/PopOver/PopOver.js +7 -78
  77. package/es/PopOver/props/defaultProps.js +7 -0
  78. package/es/PopOver/props/propTypes.js +53 -0
  79. package/es/Popup/Popup.js +1 -1
  80. package/es/Radio/Radio.js +4 -46
  81. package/es/Radio/props/defaultProps.js +14 -0
  82. package/es/Radio/props/propTypes.js +32 -0
  83. package/es/Responsive/CustomResponsive.js +8 -19
  84. package/es/Responsive/Responsive.js +8 -22
  85. package/es/Responsive/props/defaultProps.js +13 -0
  86. package/es/Responsive/props/propTypes.js +25 -0
  87. package/es/ResponsiveDropBox/ResponsiveDropBox.js +5 -12
  88. package/es/ResponsiveDropBox/props/defaultProps.js +4 -0
  89. package/es/ResponsiveDropBox/props/propTypes.js +7 -0
  90. package/es/Ribbon/Ribbon.js +4 -25
  91. package/es/Ribbon/props/defaultProps.js +8 -0
  92. package/es/Ribbon/props/propTypes.js +10 -0
  93. package/es/RippleEffect/RippleEffect.js +4 -20
  94. package/es/RippleEffect/props/defaultProps.js +9 -0
  95. package/es/RippleEffect/props/propTypes.js +11 -0
  96. package/es/Select/GroupSelect.js +4 -109
  97. package/es/Select/Select.js +12 -150
  98. package/es/Select/SelectWithAvatar.js +4 -80
  99. package/es/Select/SelectWithIcon.js +4 -69
  100. package/es/Select/docs/Select__default.docs.js +1 -1
  101. package/es/Select/props/defaultProps.js +110 -0
  102. package/es/Select/props/propTypes.js +266 -0
  103. package/es/Stencils/Stencils.js +4 -17
  104. package/es/Stencils/props/defaultProps.js +6 -0
  105. package/es/Stencils/props/propTypes.js +7 -0
  106. package/es/Switch/Switch.js +5 -38
  107. package/es/Switch/props/defaultProps.js +10 -0
  108. package/es/Switch/props/propTypes.js +27 -0
  109. package/es/Tab/Tab.js +5 -32
  110. package/es/Tab/TabContent.js +4 -10
  111. package/es/Tab/TabContentWrapper.js +4 -12
  112. package/es/Tab/TabWrapper.js +5 -26
  113. package/es/Tab/Tabs.js +7 -69
  114. package/es/Tab/props/defaultProps.js +39 -0
  115. package/es/Tab/props/propTypes.js +102 -0
  116. package/es/Tag/Tag.js +4 -47
  117. package/es/Tag/props/defaultProps.js +13 -0
  118. package/es/Tag/props/propTypes.js +34 -0
  119. package/es/TextBox/TextBox.js +5 -73
  120. package/es/TextBox/props/defaultProps.js +19 -0
  121. package/es/TextBox/props/propTypes.js +53 -0
  122. package/es/TextBoxIcon/TextBoxIcon.js +5 -71
  123. package/es/TextBoxIcon/props/defaultProps.js +21 -0
  124. package/es/TextBoxIcon/props/propTypes.js +49 -0
  125. package/es/Textarea/Textarea.js +5 -48
  126. package/es/Textarea/props/defaultProps.js +16 -0
  127. package/es/Textarea/props/propTypes.js +31 -0
  128. package/es/Tooltip/Tooltip.js +4 -12
  129. package/es/Tooltip/props/defaultProps.js +4 -0
  130. package/es/Tooltip/props/propTypes.js +8 -0
  131. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +4 -23
  132. package/es/VelocityAnimation/VelocityAnimation/props/defaultProps.js +7 -0
  133. package/es/VelocityAnimation/VelocityAnimation/props/propTypes.js +12 -0
  134. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +5 -38
  135. package/es/VelocityAnimation/VelocityAnimationGroup/props/defaultProps.js +15 -0
  136. package/es/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +19 -0
  137. package/es/common/common.module.css +26 -3
  138. package/es/deprecated/PortalLayer/PortalLayer.js +4 -16
  139. package/es/deprecated/PortalLayer/props/defaultProps.js +5 -0
  140. package/es/deprecated/PortalLayer/props/propTypes.js +11 -0
  141. package/es/index.js +9 -4
  142. package/es/semantic/Button/Button.js +4 -38
  143. package/es/semantic/Button/props/defaultProps.js +12 -0
  144. package/es/semantic/Button/props/propTypes.js +26 -0
  145. package/es/ucl/Grid/Grid.js +45 -0
  146. package/es/ucl/Grid/componentNames.js +6 -0
  147. package/es/ucl/Grid/css/Grid.module.css +217 -0
  148. package/es/ucl/Grid/css/cssJSLogic.js +46 -0
  149. package/es/ucl/Grid/docs/Grid__Area_Based_Detail_Layout.docs.js +41 -0
  150. package/es/ucl/Grid/docs/Grid__Area_Based_List_Layout.docs.js +49 -0
  151. package/es/ucl/Grid/docs/Grid__Auto_Flow_Row.docs.js +32 -0
  152. package/es/ucl/Grid/docs/Grid__Basic_Detail_Layout.docs.js +41 -0
  153. package/es/ucl/Grid/docs/Grid__Box_Alignment.docs.js +37 -0
  154. package/es/ucl/Grid/docs/Grid__Line_Based_Detail_Layout.docs.js +41 -0
  155. package/es/ucl/Grid/docs/Grid__Line_Based_List_Layout.docs.js +45 -0
  156. package/es/ucl/Grid/docs/Grid__default.docs.js +61 -0
  157. package/es/ucl/Grid/docs/css/gridDocsAreaBasedDetailLayout.module.css +38 -0
  158. package/es/ucl/Grid/docs/css/gridDocsAreaBasedListLayout.module.css +63 -0
  159. package/es/ucl/Grid/docs/css/gridDocsAutoFlowRow.module.css +23 -0
  160. package/es/ucl/Grid/docs/css/gridDocsBasicDetailLayout.module.css +21 -0
  161. package/es/ucl/Grid/docs/css/gridDocsBoxAlignment.module.css +16 -0
  162. package/es/ucl/Grid/docs/css/gridDocsDefault.module.css +15 -0
  163. package/es/ucl/Grid/docs/css/gridDocsLineBasedDetailLayout.module.css +38 -0
  164. package/es/ucl/Grid/docs/css/gridDocsLineBasedListLayout.module.css +47 -0
  165. package/es/ucl/Grid/docs/css/gridDocsStyle.module.css +30 -0
  166. package/es/ucl/Grid/index.js +5 -0
  167. package/es/ucl/Grid/props/ariaPropTypes.js +6 -0
  168. package/es/ucl/Grid/props/defaultProps.js +8 -0
  169. package/es/ucl/Grid/props/propConstants.js +66 -0
  170. package/es/ucl/Grid/props/propTypes.js +27 -0
  171. package/lib/Accordion/Accordion.js +7 -22
  172. package/lib/Accordion/AccordionItem.js +7 -21
  173. package/lib/Accordion/docs/Accordion__Demo.docs.js +2 -2
  174. package/lib/Accordion/props/defaultProps.js +16 -0
  175. package/lib/Accordion/props/propTypes.js +42 -0
  176. package/lib/Animation/Animation.js +7 -27
  177. package/lib/Animation/docs/Animation__default.docs.js +2 -2
  178. package/lib/Animation/docs/Animation__fadeIn.docs.js +2 -2
  179. package/lib/Animation/docs/Animation__scaleIn.docs.js +2 -2
  180. package/lib/Animation/docs/Animation__skewIn.docs.js +2 -2
  181. package/lib/Animation/docs/Animation__slideDown.docs.js +2 -2
  182. package/lib/Animation/docs/Animation__slideLeft.docs.js +2 -2
  183. package/lib/Animation/docs/Animation__zoomIn.docs.js +2 -2
  184. package/lib/Animation/props/defaultProps.js +14 -0
  185. package/lib/Animation/props/propTypes.js +23 -0
  186. package/lib/AppContainer/AppContainer.js +8 -26
  187. package/lib/AppContainer/docs/AppContainer__default.docs.js +2 -2
  188. package/lib/AppContainer/props/defaultProps.js +15 -0
  189. package/lib/AppContainer/props/propTypes.js +26 -0
  190. package/lib/Avatar/Avatar.js +8 -47
  191. package/lib/Avatar/docs/Avatar__custom.docs.js +2 -2
  192. package/lib/Avatar/docs/Avatar__default.docs.js +2 -2
  193. package/lib/Avatar/docs/Avatar__palette.docs.js +2 -2
  194. package/lib/Avatar/docs/Avatar__text.docs.js +2 -2
  195. package/lib/Avatar/props/defaultProps.js +20 -0
  196. package/lib/Avatar/props/propTypes.js +33 -0
  197. package/lib/AvatarTeam/AvatarTeam.js +8 -39
  198. package/lib/AvatarTeam/docs/AvatarTeam__custom.docs.js +2 -2
  199. package/lib/AvatarTeam/docs/AvatarTeam__default.docs.js +2 -2
  200. package/lib/AvatarTeam/docs/AvatarTeam__palette.docs.js +2 -2
  201. package/lib/AvatarTeam/docs/AvatarTeam__size.docs.js +2 -2
  202. package/lib/AvatarTeam/props/defaultProps.js +20 -0
  203. package/lib/AvatarTeam/props/propTypes.js +34 -0
  204. package/lib/Button/Button.js +7 -50
  205. package/lib/Button/docs/Button__custom.docs.js +2 -2
  206. package/lib/Button/docs/Button__default.docs.js +2 -2
  207. package/lib/Button/props/defaultProps.js +24 -0
  208. package/lib/Button/props/propTypes.js +33 -0
  209. package/lib/Buttongroup/Buttongroup.js +7 -13
  210. package/lib/Buttongroup/docs/Buttongroup__custom.docs.js +2 -2
  211. package/lib/Buttongroup/docs/Buttongroup__footer.docs.js +2 -2
  212. package/lib/Buttongroup/docs/Buttongroup__header.docs.js +2 -2
  213. package/lib/Buttongroup/props/defaultProps.js +11 -0
  214. package/lib/Buttongroup/props/propTypes.js +18 -0
  215. package/lib/Card/Card.js +15 -62
  216. package/lib/Card/docs/Card__Custom.docs.js +2 -2
  217. package/lib/Card/docs/Card__Default.docs.js +2 -2
  218. package/lib/Card/docs/Card__Scroll.docs.js +2 -2
  219. package/lib/Card/props/defaultProps.js +23 -0
  220. package/lib/Card/props/propTypes.js +57 -0
  221. package/lib/CheckBox/CheckBox.js +8 -62
  222. package/lib/CheckBox/docs/CheckBox__custom.docs.js +2 -2
  223. package/lib/CheckBox/docs/CheckBox__default.docs.js +2 -2
  224. package/lib/CheckBox/props/defaultProps.js +25 -0
  225. package/lib/CheckBox/props/propTypes.js +52 -0
  226. package/lib/DateTime/CalendarView.js +9 -28
  227. package/lib/DateTime/DateTime.js +7 -64
  228. package/lib/DateTime/DateTimePopupFooter.js +2 -2
  229. package/lib/DateTime/DateTimePopupHeader.js +2 -2
  230. package/lib/DateTime/DateWidget.js +7 -85
  231. package/lib/DateTime/DaysRow.js +2 -2
  232. package/lib/DateTime/Time.js +2 -2
  233. package/lib/DateTime/YearView.js +7 -14
  234. package/lib/DateTime/docs/DateTime__default.docs.js +2 -2
  235. package/lib/DateTime/docs/DateWidget__default.docs.js +2 -2
  236. package/lib/DateTime/props/defaultProps.js +61 -0
  237. package/lib/DateTime/props/propTypes.js +145 -0
  238. package/lib/DropBox/DropBox.js +8 -74
  239. package/lib/DropBox/docs/DropBox__custom.docs.js +2 -2
  240. package/lib/DropBox/docs/DropBox__customOrder.docs.js +2 -2
  241. package/lib/DropBox/docs/DropBox__fixedPosition.docs.js +2 -2
  242. package/lib/DropBox/docs/DropBox__position.docs.js +2 -2
  243. package/lib/DropBox/docs/DropBox__size.docs.js +2 -2
  244. package/lib/DropBox/props/defaultProps.js +27 -0
  245. package/lib/DropBox/props/propTypes.js +58 -0
  246. package/lib/DropDown/DropDown.js +10 -36
  247. package/lib/DropDown/DropDownHeading.js +7 -21
  248. package/lib/DropDown/DropDownItem.js +7 -20
  249. package/lib/DropDown/DropDownSearch.js +7 -25
  250. package/lib/DropDown/DropDownSeparator.js +4 -6
  251. package/lib/DropDown/docs/DropDownHeading__custom.docs.js +2 -2
  252. package/lib/DropDown/docs/DropDownHeading__default.docs.js +2 -2
  253. package/lib/DropDown/props/defaultProps.js +28 -0
  254. package/lib/DropDown/props/propTypes.js +94 -0
  255. package/lib/Label/Label.js +7 -26
  256. package/lib/Label/docs/Label__clipped.docs.js +2 -2
  257. package/lib/Label/docs/Label__custom.docs.js +2 -2
  258. package/lib/Label/docs/Label__palette.docs.js +2 -2
  259. package/lib/Label/docs/Label__size.docs.js +2 -2
  260. package/lib/Label/docs/Label__type.docs.js +2 -2
  261. package/lib/Label/props/defaultProps.js +17 -0
  262. package/lib/Label/props/propTypes.js +25 -0
  263. package/lib/Layout/Box.js +18 -32
  264. package/lib/Layout/Container.js +18 -29
  265. package/lib/Layout/Layout.module.css +13 -1
  266. package/lib/Layout/docs/Layout__Hidden.docs.js +2 -2
  267. package/lib/Layout/docs/Layout__default.docs.js +2 -2
  268. package/lib/Layout/docs/Layout__four_Column.docs.js +18 -24
  269. package/lib/Layout/docs/Layout__three_Column.docs.js +2 -2
  270. package/lib/Layout/docs/Layout__two_Column.docs.js +2 -2
  271. package/lib/Layout/props/defaultProps.js +20 -0
  272. package/lib/Layout/props/propTypes.js +54 -0
  273. package/lib/LightNightMode/docs/AlternativeColors.docs.js +2 -2
  274. package/lib/ListItem/ListContainer.js +7 -43
  275. package/lib/ListItem/ListItem.js +9 -54
  276. package/lib/ListItem/ListItemWithAvatar.js +9 -40
  277. package/lib/ListItem/ListItemWithCheckBox.js +9 -44
  278. package/lib/ListItem/ListItemWithIcon.js +9 -51
  279. package/lib/ListItem/ListItemWithRadio.js +9 -45
  280. package/lib/ListItem/docs/ListItemWithAvatar__custom.docs.js +2 -2
  281. package/lib/ListItem/docs/ListItemWithAvatar__default.docs.js +2 -2
  282. package/lib/ListItem/docs/ListItemWithCheckBox__custom.docs.js +2 -2
  283. package/lib/ListItem/docs/ListItemWithCheckBox__default.docs.js +2 -2
  284. package/lib/ListItem/docs/ListItemWithIcon__custom.docs.js +2 -2
  285. package/lib/ListItem/docs/ListItemWithIcon__default.docs.js +2 -2
  286. package/lib/ListItem/docs/ListItemWithRadio__custom.docs.js +2 -2
  287. package/lib/ListItem/docs/ListItemWithRadio__default.docs.js +2 -2
  288. package/lib/ListItem/docs/ListItem__custom.docs.js +2 -2
  289. package/lib/ListItem/docs/ListItem__default.docs.js +2 -2
  290. package/lib/ListItem/props/defaultProps.js +97 -0
  291. package/lib/ListItem/props/propTypes.js +181 -0
  292. package/lib/Modal/Modal.js +8 -12
  293. package/lib/Modal/__docs__/Modal__default.docs.js +2 -2
  294. package/lib/Modal/props/defaultProps.js +10 -0
  295. package/lib/Modal/props/propTypes.js +17 -0
  296. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +8 -94
  297. package/lib/MultiSelect/AdvancedMultiSelect.js +8 -116
  298. package/lib/MultiSelect/EmptyState.js +7 -31
  299. package/lib/MultiSelect/MultiSelect.js +7 -115
  300. package/lib/MultiSelect/MultiSelectHeader.js +7 -14
  301. package/lib/MultiSelect/MultiSelectWithAvatar.js +7 -101
  302. package/lib/MultiSelect/SelectedOptions.js +8 -22
  303. package/lib/MultiSelect/Suggestions.js +9 -37
  304. package/lib/MultiSelect/docs/AdvancedGroupMultiSelect__default.docs.js +2 -2
  305. package/lib/MultiSelect/docs/AdvancedMultiSelect__default.docs.js +2 -2
  306. package/lib/MultiSelect/docs/MultiSelectWithAvatar__default.docs.js +2 -2
  307. package/lib/MultiSelect/docs/MultiSelect__default.docs.js +2 -2
  308. package/lib/MultiSelect/props/defaultProps.js +156 -0
  309. package/lib/MultiSelect/props/propTypes.js +378 -0
  310. package/lib/PopOver/PopOver.js +10 -80
  311. package/lib/PopOver/docs/PopOver__default.docs.js +2 -2
  312. package/lib/PopOver/props/defaultProps.js +15 -0
  313. package/lib/PopOver/props/propTypes.js +66 -0
  314. package/lib/Popup/Popup.js +3 -3
  315. package/lib/Popup/__tests__/Popup.spec.js +2 -2
  316. package/lib/Provider/docs/Provider_Id__Class.docs.js +2 -2
  317. package/lib/Provider/docs/Provider_Zindex__Class.docs.js +2 -2
  318. package/lib/Provider.js +2 -2
  319. package/lib/Radio/Radio.js +7 -48
  320. package/lib/Radio/docs/Radio__custom.docs.js +2 -2
  321. package/lib/Radio/docs/Radio__default.docs.js +2 -2
  322. package/lib/Radio/props/defaultProps.js +21 -0
  323. package/lib/Radio/props/propTypes.js +43 -0
  324. package/lib/Responsive/CustomResponsive.js +11 -21
  325. package/lib/Responsive/ResizeComponent.js +2 -2
  326. package/lib/Responsive/Responsive.js +19 -26
  327. package/lib/Responsive/docs/Responsive__Custom.docs.js +2 -2
  328. package/lib/Responsive/docs/Responsive__default.docs.js +2 -2
  329. package/lib/Responsive/props/defaultProps.js +23 -0
  330. package/lib/Responsive/props/propTypes.js +39 -0
  331. package/lib/Responsive/sizeObservers.js +3 -3
  332. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +8 -14
  333. package/lib/ResponsiveDropBox/props/defaultProps.js +11 -0
  334. package/lib/ResponsiveDropBox/props/propTypes.js +18 -0
  335. package/lib/Ribbon/Ribbon.js +7 -27
  336. package/lib/Ribbon/docs/Ribbon__custom.docs.js +2 -2
  337. package/lib/Ribbon/docs/Ribbon__default.docs.js +2 -2
  338. package/lib/Ribbon/props/defaultProps.js +15 -0
  339. package/lib/Ribbon/props/propTypes.js +21 -0
  340. package/lib/RippleEffect/RippleEffect.js +5 -20
  341. package/lib/RippleEffect/docs/RippleEffect__default.docs.js +2 -2
  342. package/lib/RippleEffect/props/defaultProps.js +16 -0
  343. package/lib/RippleEffect/props/propTypes.js +22 -0
  344. package/lib/Select/GroupSelect.js +7 -111
  345. package/lib/Select/Select.js +15 -153
  346. package/lib/Select/SelectWithAvatar.js +7 -82
  347. package/lib/Select/SelectWithIcon.js +7 -62
  348. package/lib/Select/docs/GroupSelect__default.docs.js +2 -2
  349. package/lib/Select/docs/SelectWithAvatar__default.docs.js +2 -2
  350. package/lib/Select/docs/SelectWithIcon__default.docs.js +2 -2
  351. package/lib/Select/docs/Select__default.docs.js +3 -3
  352. package/lib/Select/props/defaultProps.js +113 -0
  353. package/lib/Select/props/propTypes.js +280 -0
  354. package/lib/Stencils/Stencils.js +7 -19
  355. package/lib/Stencils/docs/Stencils__custom.docs.js +2 -2
  356. package/lib/Stencils/docs/Stencils__default.docs.js +2 -2
  357. package/lib/Stencils/props/defaultProps.js +13 -0
  358. package/lib/Stencils/props/propTypes.js +18 -0
  359. package/lib/Switch/Switch.js +8 -40
  360. package/lib/Switch/docs/Switch__custom.docs.js +2 -2
  361. package/lib/Switch/docs/Switch__default.docs.js +2 -2
  362. package/lib/Switch/props/defaultProps.js +17 -0
  363. package/lib/Switch/props/propTypes.js +38 -0
  364. package/lib/Tab/Tab.js +6 -32
  365. package/lib/Tab/TabContent.js +5 -10
  366. package/lib/Tab/TabContentWrapper.js +5 -12
  367. package/lib/Tab/TabWrapper.js +6 -28
  368. package/lib/Tab/Tabs.js +16 -73
  369. package/lib/Tab/docs/Tab__default.docs.js +2 -2
  370. package/lib/Tab/props/defaultProps.js +50 -0
  371. package/lib/Tab/props/propTypes.js +117 -0
  372. package/lib/Tag/Tag.js +7 -49
  373. package/lib/Tag/docs/Tag__custom.docs.js +2 -2
  374. package/lib/Tag/docs/Tag__default.docs.js +2 -2
  375. package/lib/Tag/props/defaultProps.js +20 -0
  376. package/lib/Tag/props/propTypes.js +45 -0
  377. package/lib/TextBox/TextBox.js +8 -73
  378. package/lib/TextBox/docs/TextBox__custom.docs.js +2 -2
  379. package/lib/TextBox/docs/TextBox__default.docs.js +2 -2
  380. package/lib/TextBox/docs/TextBox__size.docs.js +2 -2
  381. package/lib/TextBox/docs/TextBox__variant.docs.js +2 -2
  382. package/lib/TextBox/props/defaultProps.js +26 -0
  383. package/lib/TextBox/props/propTypes.js +62 -0
  384. package/lib/TextBoxIcon/TextBoxIcon.js +8 -73
  385. package/lib/TextBoxIcon/docs/TextBoxIcon__custom.docs.js +2 -2
  386. package/lib/TextBoxIcon/docs/TextBoxIcon__default.docs.js +2 -2
  387. package/lib/TextBoxIcon/props/defaultProps.js +28 -0
  388. package/lib/TextBoxIcon/props/propTypes.js +60 -0
  389. package/lib/Textarea/Textarea.js +8 -50
  390. package/lib/Textarea/docs/Textarea__animated.docs.js +2 -2
  391. package/lib/Textarea/docs/Textarea__custom.docs.js +2 -2
  392. package/lib/Textarea/docs/Textarea__default.docs.js +2 -2
  393. package/lib/Textarea/docs/Textarea__disabled.docs.js +2 -2
  394. package/lib/Textarea/props/defaultProps.js +23 -0
  395. package/lib/Textarea/props/propTypes.js +42 -0
  396. package/lib/Tooltip/Tooltip.js +7 -14
  397. package/lib/Tooltip/__tests__/Tooltip.spec.js +2 -2
  398. package/lib/Tooltip/docs/Tooltip__default.docs.js +2 -2
  399. package/lib/Tooltip/props/defaultProps.js +11 -0
  400. package/lib/Tooltip/props/propTypes.js +19 -0
  401. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +7 -25
  402. package/lib/VelocityAnimation/VelocityAnimation/docs/VelocityAnimation__demo.docs.js +2 -2
  403. package/lib/VelocityAnimation/VelocityAnimation/props/defaultProps.js +14 -0
  404. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +23 -0
  405. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +15 -41
  406. package/lib/VelocityAnimation/VelocityAnimationGroup/docs/VelocityAnimationGroup__demo.docs.js +2 -2
  407. package/lib/VelocityAnimation/VelocityAnimationGroup/props/defaultProps.js +22 -0
  408. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +30 -0
  409. package/lib/common/common.module.css +26 -3
  410. package/lib/deprecated/PortalLayer/PortalLayer.js +7 -18
  411. package/lib/deprecated/PortalLayer/docs/PortalLayer__default.docs.js +2 -2
  412. package/lib/deprecated/PortalLayer/props/defaultProps.js +12 -0
  413. package/lib/deprecated/PortalLayer/props/propTypes.js +22 -0
  414. package/lib/index.js +70 -20
  415. package/lib/semantic/Button/Button.js +7 -40
  416. package/lib/semantic/Button/docs/Button__default.docs.js +2 -2
  417. package/lib/semantic/Button/props/defaultProps.js +19 -0
  418. package/lib/semantic/Button/props/propTypes.js +37 -0
  419. package/lib/ucl/Grid/Grid.js +70 -0
  420. package/lib/ucl/Grid/componentNames.js +13 -0
  421. package/lib/ucl/Grid/css/Grid.module.css +217 -0
  422. package/lib/ucl/Grid/css/cssJSLogic.js +44 -0
  423. package/lib/{beta/FocusRing/docs/FocusRing__default.docs.js → ucl/Grid/docs/Grid__Area_Based_Detail_Layout.docs.js} +44 -52
  424. package/lib/ucl/Grid/docs/Grid__Area_Based_List_Layout.docs.js +101 -0
  425. package/lib/ucl/Grid/docs/Grid__Auto_Flow_Row.docs.js +86 -0
  426. package/lib/ucl/Grid/docs/Grid__Basic_Detail_Layout.docs.js +93 -0
  427. package/lib/ucl/Grid/docs/Grid__Box_Alignment.docs.js +91 -0
  428. package/lib/ucl/Grid/docs/Grid__Line_Based_Detail_Layout.docs.js +93 -0
  429. package/lib/ucl/Grid/docs/Grid__Line_Based_List_Layout.docs.js +97 -0
  430. package/lib/ucl/Grid/docs/Grid__default.docs.js +113 -0
  431. package/lib/ucl/Grid/docs/css/gridDocsAreaBasedDetailLayout.module.css +38 -0
  432. package/lib/ucl/Grid/docs/css/gridDocsAreaBasedListLayout.module.css +63 -0
  433. package/lib/ucl/Grid/docs/css/gridDocsAutoFlowRow.module.css +23 -0
  434. package/lib/ucl/Grid/docs/css/gridDocsBasicDetailLayout.module.css +21 -0
  435. package/lib/ucl/Grid/docs/css/gridDocsBoxAlignment.module.css +16 -0
  436. package/lib/ucl/Grid/docs/css/gridDocsDefault.module.css +15 -0
  437. package/lib/ucl/Grid/docs/css/gridDocsLineBasedDetailLayout.module.css +38 -0
  438. package/lib/ucl/Grid/docs/css/gridDocsLineBasedListLayout.module.css +47 -0
  439. package/lib/ucl/Grid/docs/css/gridDocsStyle.module.css +30 -0
  440. package/lib/ucl/Grid/index.js +31 -0
  441. package/lib/ucl/Grid/props/ariaPropTypes.js +23 -0
  442. package/lib/ucl/Grid/props/defaultProps.js +19 -0
  443. package/lib/ucl/Grid/props/propConstants.js +73 -0
  444. package/lib/ucl/Grid/props/propTypes.js +46 -0
  445. package/package.json +8 -4
  446. package/es/a11y/FocusScope/FocusScope.js +0 -370
  447. package/es/a11y/FocusScope/docs/FocusScope__default.docs.js +0 -139
  448. package/es/beta/FocusRing/FocusRing.js +0 -281
  449. package/es/beta/FocusRing/FocusRing.module.css +0 -152
  450. package/es/beta/FocusRing/docs/FocusRing__default.docs.js +0 -48
  451. package/lib/a11y/FocusScope/FocusScope.js +0 -443
  452. package/lib/a11y/FocusScope/docs/FocusScope__default.docs.js +0 -191
  453. package/lib/beta/FocusRing/FocusRing.js +0 -338
  454. package/lib/beta/FocusRing/FocusRing.module.css +0 -152
@@ -1,370 +0,0 @@
1
- import React, { useContext, useEffect, useRef } from 'react';
2
- let scopes = new Set();
3
- let activeScope = null;
4
- const FocusContext = /*#__PURE__*/React.createContext(null); // interface FocusManager {
5
- // /** Moves focus to the next focusable or tabbable element in the focus scope. */
6
- // focusNext(opts?: FocusManagerOptions): HTMLElement,
7
- // /** Moves focus to the previous focusable or tabbable element in the focus scope. */
8
- // focusPrevious(opts?: FocusManagerOptions): HTMLElement
9
- // }
10
-
11
- export const useLayoutEffect = window !== 'undefined' ? React.useLayoutEffect : () => {};
12
- export default function FocusScope(props) {
13
- let {
14
- children,
15
- contain = true,
16
- restoreFocus = true,
17
- autoFocus = true
18
- } = props;
19
- let startRef = useRef();
20
- let endRef = useRef();
21
- let scopeRef = useRef([]);
22
- useLayoutEffect(() => {
23
- // Find all rendered nodes between the sentinels and add them to the scope.
24
- let node = startRef.current.nextSibling;
25
- let nodes = [];
26
-
27
- while (node && node !== endRef.current) {
28
- nodes.push(node);
29
- node = node.nextSibling;
30
- }
31
-
32
- scopeRef.current = nodes;
33
- scopes.add(scopeRef);
34
- return () => {
35
- scopes.delete(scopeRef);
36
- };
37
- }, [children]);
38
- useFocusContainment(scopeRef, contain);
39
- useRestoreFocus(scopeRef, restoreFocus, contain);
40
- useAutoFocus(scopeRef, autoFocus);
41
- let focusManager = createFocusManager(scopeRef);
42
- return /*#__PURE__*/React.createElement(FocusContext.Provider, {
43
- value: focusManager
44
- }, /*#__PURE__*/React.createElement("span", {
45
- hidden: true,
46
- ref: startRef
47
- }), children, /*#__PURE__*/React.createElement("span", {
48
- hidden: true,
49
- ref: endRef
50
- }));
51
- }
52
- export function useFocusManager() {
53
- return useContext(FocusContext);
54
- }
55
-
56
- function createFocusManager(scopeRef) {
57
- return {
58
- focusNext(opts) {
59
- let node = opts.from || document.activeElement;
60
- let focusable = getFocusableElementsInScope(scopeRef.current, opts);
61
- let nextNode = focusable.find(n => !!(node.compareDocumentPosition(n) & (Node.DOCUMENT_POSITION_FOLLOWING | Node.DOCUMENT_POSITION_CONTAINED_BY)));
62
-
63
- if (!nextNode && opts.wrap) {
64
- nextNode = focusable[0];
65
- }
66
-
67
- if (nextNode) {
68
- nextNode.focus();
69
- }
70
-
71
- return nextNode;
72
- },
73
-
74
- focusPrevious(opts) {
75
- let node = opts.from || document.activeElement;
76
- let focusable = getFocusableElementsInScope(scopeRef.current, opts).reverse();
77
- let previousNode = focusable.find(n => !!(node.compareDocumentPosition(n) & (Node.DOCUMENT_POSITION_PRECEDING | Node.DOCUMENT_POSITION_CONTAINED_BY)));
78
-
79
- if (!previousNode && opts.wrap) {
80
- previousNode = focusable[0];
81
- }
82
-
83
- if (previousNode) {
84
- previousNode.focus();
85
- }
86
-
87
- return previousNode;
88
- }
89
-
90
- };
91
- }
92
-
93
- const focusableElements = ['input:not([disabled]):not([type=hidden])', 'select:not([disabled])', 'textarea:not([disabled])', 'button:not([disabled])', 'a[href]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])', 'details>summary:first-of-type', 'details', 'area[href]', 'summary', 'iframe', 'object', 'embed'];
94
- const FOCUSABLE_ELEMENT_SELECTOR = focusableElements.join(',') + ',[tabindex]';
95
- focusableElements.push('[tabindex]:not([tabindex="-1"])');
96
- const TABBABLE_ELEMENT_SELECTOR = focusableElements.join(':not([tabindex="-1"]),');
97
-
98
- function useAutoFocus(scopeRef, autoFocus) {
99
- useEffect(() => {
100
- if (autoFocus) {
101
- activeScope = scopeRef;
102
-
103
- if (!isElementInScope(document.activeElement, activeScope.current)) {
104
- focusFirstInScope(scopeRef.current);
105
- }
106
- }
107
- }, [scopeRef, autoFocus]);
108
- }
109
-
110
- function getFocusableElementsInScope(scope, opts) {
111
- let res = [],
112
- response = [];
113
- let selector = opts.tabbable ? TABBABLE_ELEMENT_SELECTOR : FOCUSABLE_ELEMENT_SELECTOR;
114
-
115
- for (let node of scope) {
116
- if (node.matches(selector)) {
117
- res.push(node);
118
- }
119
-
120
- response.push(...Array.from(node.querySelectorAll(selector)));
121
- res = response.filter(element => {
122
- return !(window.getComputedStyle(element).display === 'none');
123
- });
124
- }
125
-
126
- ;
127
- return res;
128
- }
129
-
130
- function useFocusContainment(scopeRef, contain) {
131
- let focusedNode = useRef();
132
- let raf = useRef(null);
133
- useEffect(() => {
134
- let scope = scopeRef.current;
135
-
136
- if (!contain) {
137
- return;
138
- } // Handle the Tab key to contain focus within the scope
139
-
140
-
141
- let onKeyDown = e => {
142
- if (e.key !== 'Tab' || e.altKey || e.ctrlKey || e.metaKey) {
143
- return;
144
- }
145
-
146
- let elements = getFocusableElementsInScope(scope, {
147
- tabbable: true
148
- });
149
- let focusedElement = document.activeElement;
150
-
151
- if (!isElementInScope(focusedElement, scope)) {
152
- return;
153
- }
154
-
155
- let position = elements.indexOf(focusedElement);
156
- let lastPosition = elements.length - 1;
157
- let nextElement = null;
158
-
159
- if (e.shiftKey) {
160
- if (position <= 0) {
161
- nextElement = elements[lastPosition];
162
- } else {
163
- nextElement = elements[position - 1];
164
- }
165
- } else {
166
- if (position === lastPosition) {
167
- nextElement = elements[0];
168
- } else {
169
- nextElement = elements[position + 1];
170
- }
171
- }
172
-
173
- e.preventDefault();
174
-
175
- if (nextElement) {
176
- focusElement(nextElement, true);
177
- }
178
- };
179
-
180
- let onFocus = e => {
181
- // If a focus event occurs outside the active scope (e.g. user tabs from browser location bar),
182
- // restore focus to the previously focused node or the first tabbable element in the active scope.
183
- let isInAnyScope = isElementInAnyScope(e.target, scopes);
184
-
185
- if (!isInAnyScope) {
186
- if (focusedNode.current) {
187
- focusedNode.current.focus();
188
- } else if (activeScope) {
189
- focusFirstInScope(activeScope.current);
190
- }
191
- } else {
192
- activeScope = scopeRef;
193
- focusedNode.current = e.target;
194
- }
195
- };
196
-
197
- let onBlur = e => {
198
- // Firefox doesn't shift focus back to the Dialog properly without this
199
- raf.current = requestAnimationFrame(() => {
200
- // Use document.activeElement instead of e.relatedTarget so we can tell if user clicked into iframe
201
- let isInAnyScope = isElementInAnyScope(document.activeElement, scopes);
202
-
203
- if (!isInAnyScope) {
204
- activeScope = scopeRef;
205
- focusedNode.current = e.target;
206
- focusedNode.current.focus();
207
- }
208
- });
209
- };
210
-
211
- document.addEventListener('keydown', onKeyDown, false);
212
- document.addEventListener('focusin', onFocus, false);
213
- scope.forEach(element => element.addEventListener('focusin', onFocus, false));
214
- scope.forEach(element => element.addEventListener('focusout', onBlur, false));
215
- return () => {
216
- document.removeEventListener('keydown', onKeyDown, false);
217
- document.removeEventListener('focusin', onFocus, false);
218
- scope.forEach(element => element.removeEventListener('focusin', onFocus, false));
219
- scope.forEach(element => element.removeEventListener('focusout', onBlur, false));
220
- };
221
- }, [scopeRef, contain]); // eslint-disable-next-line arrow-body-style
222
-
223
- useEffect(() => {
224
- return () => cancelAnimationFrame(raf.current);
225
- }, [raf]);
226
- }
227
-
228
- function isElementInAnyScope(element) {
229
- let scopes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
230
-
231
- for (let scope of scopes.values()) {
232
- if (isElementInScope(element, scope.current)) {
233
- return true;
234
- }
235
- }
236
-
237
- return false;
238
- }
239
-
240
- function isElementInScope(element) {
241
- let scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
242
- return scope.some(node => node.contains(element));
243
- }
244
-
245
- function focusElement() {
246
- let element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
247
-
248
- if (element != null) {
249
- element.focus();
250
- }
251
- }
252
-
253
- function findElement(elements) {
254
- let ele = [];
255
-
256
- for (let element = 0; element < elements.length; element++) {
257
- let elem = elements[element];
258
-
259
- if (elem.getAttribute('data-auto-focus')) {
260
- ele.push(elem);
261
- }
262
- }
263
-
264
- return ele.length ? ele[0] : null;
265
- }
266
-
267
- function focusFirstInScope() {
268
- let scope = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
269
- let elements = getFocusableElementsInScope(scope, {
270
- tabbable: true
271
- });
272
- let element = findElement(elements);
273
- focusElement(element ? element : elements[0]);
274
- }
275
-
276
- function useRestoreFocus(scopeRef, restoreFocus, contain) {
277
- // useLayoutEffect instead of useEffect so the active element is saved synchronously instead of asynchronously.
278
- useLayoutEffect(() => {
279
- let scope = scopeRef.current;
280
- let nodeToRestore = document.activeElement; // Handle the Tab key so that tabbing out of the scope goes to the next element
281
- // after the node that had focus when the scope mounted. This is important when
282
- // using portals for overlays, so that focus goes to the expected element when
283
- // tabbing out of the overlay.
284
-
285
- let onKeyDown = e => {
286
- if (e.key !== 'Tab' || e.altKey || e.ctrlKey || e.metaKey) {
287
- return;
288
- }
289
-
290
- let focusedElement = document.activeElement;
291
-
292
- if (!isElementInScope(focusedElement, scope)) {
293
- return;
294
- } // Create a DOM tree walker that matches all tabbable elements
295
-
296
-
297
- let walker = getFocusableTreeWalker(document.body, {
298
- tabbable: true
299
- }); // Find the next tabbable element after the currently focused element
300
-
301
- walker.currentNode = focusedElement;
302
- let nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode(); // If there is no next element, or it is outside the current scope, move focus to the
303
- // next element after the node to restore to instead.
304
-
305
- if ((!nextElement || !isElementInScope(nextElement, scope)) && nodeToRestore) {
306
- walker.currentNode = nodeToRestore; // Skip over elements within the scope, in case the scope immediately follows the node to restore.
307
-
308
- do {
309
- nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode();
310
- } while (isElementInScope(nextElement, scope));
311
-
312
- e.preventDefault();
313
- e.stopPropagation();
314
-
315
- if (nextElement) {
316
- nextElement.focus();
317
- } else {
318
- // If there is no next element, blur the focused element to move focus to the body.
319
- focusedElement.blur();
320
- }
321
- }
322
- };
323
-
324
- if (!contain) {
325
- document.addEventListener('keydown', onKeyDown, true);
326
- }
327
-
328
- return () => {
329
- if (!contain) {
330
- document.removeEventListener('keydown', onKeyDown, true);
331
- }
332
-
333
- if (restoreFocus && nodeToRestore && isElementInScope(document.activeElement, scope)) {
334
- requestAnimationFrame(() => {
335
- if (document.body.contains(nodeToRestore)) {
336
- focusElement(nodeToRestore);
337
- }
338
- });
339
- }
340
- };
341
- }, [scopeRef, restoreFocus, contain]);
342
- }
343
-
344
- export function getFocusableTreeWalker(root, opts) {
345
- let selector = opts && opts.tabbable ? TABBABLE_ELEMENT_SELECTOR : FOCUSABLE_ELEMENT_SELECTOR;
346
- let walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {
347
- acceptNode(node) {
348
- // Skip nodes inside the starting node.
349
- if (opts && opts.from && opts.from.contains(node)) {
350
- return NodeFilter.FILTER_REJECT;
351
- }
352
-
353
- if (node.matches(selector)) {
354
- return NodeFilter.FILTER_ACCEPT;
355
- }
356
-
357
- return NodeFilter.FILTER_SKIP;
358
- }
359
-
360
- }, false);
361
-
362
- if (opts && opts.from) {
363
- walker.currentNode = opts.from;
364
- }
365
-
366
- return walker;
367
- }
368
- FocusScope.docs = {
369
- componentGroup: 'Atom'
370
- };
@@ -1,139 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import FocusScope, { useFocusManager } from '../FocusScope';
4
- import style from '../../../beta/FocusRing/FocusRing.module.css';
5
- export default class FocusScope__default extends React.Component {
6
- constructor(props) {
7
- super(props);
8
- this.state = {
9
- isOpen: false,
10
- isSub: false
11
- };
12
- this.handleSubmit = this.handleSubmit.bind(this);
13
- }
14
-
15
- handleSubmit(e, issub) {
16
- this.setState({
17
- isSub: issub,
18
- isOpen: e
19
- });
20
- }
21
-
22
- render() {
23
- const {
24
- isOpen,
25
- isSub
26
- } = this.state;
27
- console.log(this.state);
28
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("button", {
29
- className: style.primary,
30
- type: "button",
31
- onClick: this.handleSubmit.bind(this, true, false)
32
- }, "Focusscope"), isOpen ? /*#__PURE__*/React.createElement("div", {
33
- className: style.freezeLayer
34
- }, /*#__PURE__*/React.createElement(FocusScope, {
35
- contain: true,
36
- autoFocus: true,
37
- restoreFocus: true
38
- }, /*#__PURE__*/React.createElement(FormContainer, {
39
- onSubmit: this.handleSubmit.bind(this, true, true),
40
- onCancel: this.handleSubmit.bind(this, false, false)
41
- }), isSub ? /*#__PURE__*/React.createElement(FocusScope, {
42
- contain: true,
43
- restoreFocus: true,
44
- autoFocus: true
45
- }, /*#__PURE__*/React.createElement("span", {
46
- className: `${style.container} ${isSub && style.box1} ${isSub && style.manage}`
47
- }, /*#__PURE__*/React.createElement(ToolbarButton, null, "Cut"), /*#__PURE__*/React.createElement(ToolbarButton, null, "Copy"), /*#__PURE__*/React.createElement(ToolbarButton, null, "Paste"), /*#__PURE__*/React.createElement(ToolbarButton, {
48
- onClick: this.handleSubmit.bind(this, true, false)
49
- }, "Close"))) : null)) : null);
50
- }
51
-
52
- }
53
-
54
- function ToolbarButton(props) {
55
- const focusManager = useFocusManager();
56
-
57
- const onKeyDown = e => {
58
- switch (e.key) {
59
- case 'ArrowRight':
60
- focusManager.focusNext({
61
- wrap: true
62
- });
63
- break;
64
-
65
- case 'ArrowLeft':
66
- focusManager.focusPrevious({
67
- wrap: true
68
- });
69
- break;
70
-
71
- default:
72
- }
73
- };
74
-
75
- const {
76
- onClick,
77
- children
78
- } = props;
79
- return /*#__PURE__*/React.createElement("button", {
80
- className: style.primary,
81
- type: "button",
82
- onClick: onClick,
83
- onKeyDown: onKeyDown
84
- }, children);
85
- }
86
-
87
- ToolbarButton.propTypes = {
88
- children: PropTypes.string.isRequired,
89
- onClick: PropTypes.func
90
- };
91
-
92
- function FormContainer(props) {
93
- const {
94
- onSubmit,
95
- onCancel
96
- } = props;
97
- const options = ['apple', 'MSoffice'];
98
- return /*#__PURE__*/React.createElement("div", {
99
- className: `${style.container} ${style.box1}`
100
- }, /*#__PURE__*/React.createElement("button", {
101
- className: style.secondary,
102
- type: "button",
103
- onClick: onCancel
104
- }, "close"), /*#__PURE__*/React.createElement("form", {
105
- className: style.formContainer
106
- }, /*#__PURE__*/React.createElement("h3", null, "name"), /*#__PURE__*/React.createElement("input", {
107
- type: "text",
108
- value: "Input A",
109
- className: `${style.input} ${style.inpFocus}`,
110
- name: "name"
111
- }), /*#__PURE__*/React.createElement("h3", null, "contact"), /*#__PURE__*/React.createElement("input", {
112
- type: "text",
113
- value: "Input A",
114
- className: `${style.input} ${style.inpFocus}`,
115
- name: "contact"
116
- }), /*#__PURE__*/React.createElement("h3", null, "select"), /*#__PURE__*/React.createElement("select", {
117
- options: options,
118
- name: "select",
119
- className: `${style.input} ${style.inpFocus}`
120
- }, options.map((item, i) => /*#__PURE__*/React.createElement("option", {
121
- key: `item-${i}`
122
- }, item)))), /*#__PURE__*/React.createElement("button", {
123
- className: style.primary,
124
- type: "submit",
125
- onClick: onSubmit
126
- }, "Submit"), /*#__PURE__*/React.createElement("button", {
127
- className: style.secondary,
128
- type: "button",
129
- onClick: onCancel
130
- }, "Cancel"));
131
- }
132
-
133
- FormContainer.propTypes = {
134
- onCancel: PropTypes.func,
135
- onSubmit: PropTypes.func
136
- };
137
- FocusScope__default.docs = {
138
- componentGroup: 'Atom'
139
- };