@zohodesk/components 1.0.0-alpha-245 → 1.0.0-alpha-248

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 (337) hide show
  1. package/README.md +1071 -1061
  2. package/docs/external/active-line.js +72 -72
  3. package/docs/external/autorefresh.js +47 -47
  4. package/docs/external/codemirror.js +9681 -9681
  5. package/docs/external/css/hopscotch.css +576 -576
  6. package/docs/external/css/styleGuide.css +1100 -1100
  7. package/docs/external/css.js +466 -466
  8. package/docs/external/designTokens.js +1 -1
  9. package/docs/external/foldcode.js +151 -151
  10. package/docs/external/format.js +129 -129
  11. package/docs/external/htmlmixed.js +84 -84
  12. package/docs/external/index.html +127 -127
  13. package/docs/external/javascript.js +422 -422
  14. package/docs/external/jsx.js +147 -147
  15. package/docs/external/matchbrackets.js +145 -145
  16. package/docs/external/xml.js +322 -322
  17. package/docs/package.json +41 -41
  18. package/docs/src/index.js +1311 -1311
  19. package/es/AppContainer/AppContainer.module.css +18 -18
  20. package/es/Avatar/Avatar.js +9 -9
  21. package/es/Avatar/Avatar.module.css +117 -117
  22. package/es/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
  23. package/es/AvatarTeam/AvatarTeam.js +7 -7
  24. package/es/AvatarTeam/AvatarTeam.module.css +161 -161
  25. package/es/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
  26. package/es/AvatarTeam/docs/AvatarTeam__custom.docs.js +0 -0
  27. package/es/AvatarTeam/docs/AvatarTeam__default.docs.js +0 -0
  28. package/es/AvatarTeam/docs/AvatarTeam__palette.docs.js +0 -0
  29. package/es/AvatarTeam/docs/AvatarTeam__size.docs.js +0 -0
  30. package/es/Button/Button.js +4 -4
  31. package/es/Button/Button.module.css +521 -521
  32. package/es/Button/__tests__/__snapshots__/Button.spec.js.snap +191 -191
  33. package/es/Button/docs/Button__custom.docs.js +0 -0
  34. package/es/Button/docs/Button__default.docs.js +0 -0
  35. package/es/Buttongroup/Buttongroup.js +1 -1
  36. package/es/Buttongroup/Buttongroup.module.css +89 -89
  37. package/es/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
  38. package/es/Card/Card.js +12 -7
  39. package/es/Card/Card.module.css +20 -20
  40. package/es/Card/docs/Card__Custom.docs.js +0 -0
  41. package/es/Card/docs/Card__Default.docs.js +0 -0
  42. package/es/Card/docs/Card__Scroll.docs.js +0 -0
  43. package/es/CheckBox/CheckBox.js +0 -0
  44. package/es/CheckBox/CheckBox.module.css +157 -153
  45. package/es/CheckBox/docs/CheckBox__custom.docs.js +0 -0
  46. package/es/CheckBox/docs/CheckBox__default.docs.js +0 -0
  47. package/es/DateTime/CalendarView.js +0 -0
  48. package/es/DateTime/DateTime.js +0 -0
  49. package/es/DateTime/DateTime.module.css +187 -187
  50. package/es/DateTime/DateWidget.js +0 -0
  51. package/es/DateTime/DateWidget.module.css +38 -38
  52. package/es/DateTime/YearView.js +0 -0
  53. package/es/DateTime/YearView.module.css +81 -81
  54. package/es/DateTime/common.js +0 -0
  55. package/es/DateTime/docs/DateTime__default.docs.js +0 -0
  56. package/es/DateTime/docs/DateWidget__default.docs.js +0 -0
  57. package/es/DateTime/index.js +0 -0
  58. package/es/DateTime/objectUtils.js +0 -0
  59. package/es/DateTime/typeChecker.js +0 -0
  60. package/es/DateTime/validator.js +0 -0
  61. package/es/DropBox/DropBox.js +0 -0
  62. package/es/DropBox/DropBox.module.css +406 -406
  63. package/es/DropBox/DropBoxPositionMapping.json +144 -144
  64. package/es/DropDown/DropDown.js +0 -0
  65. package/es/DropDown/DropDown.module.css +5 -5
  66. package/es/DropDown/DropDownHeading.js +0 -0
  67. package/es/DropDown/DropDownHeading.module.css +53 -53
  68. package/es/DropDown/DropDownItem.js +0 -0
  69. package/es/DropDown/DropDownItem.module.css +94 -94
  70. package/es/DropDown/DropDownSearch.js +0 -0
  71. package/es/DropDown/DropDownSearch.module.css +14 -14
  72. package/es/DropDown/DropDownSeparator.js +0 -0
  73. package/es/DropDown/DropDownSeparator.module.css +7 -7
  74. package/es/Label/Label.js +2 -2
  75. package/es/Label/Label.module.css +52 -52
  76. package/es/Label/LabelColors.module.css +20 -20
  77. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -101
  78. package/es/Label/docs/Label__clipped.docs.js +0 -0
  79. package/es/Label/docs/Label__custom.docs.js +0 -0
  80. package/es/Label/docs/Label__palette.docs.js +0 -0
  81. package/es/Label/docs/Label__size.docs.js +0 -0
  82. package/es/Label/docs/Label__type.docs.js +0 -0
  83. package/es/Layout/Box.js +15 -30
  84. package/es/Layout/Container.js +15 -27
  85. package/es/Layout/Layout.module.css +336 -324
  86. package/es/Layout/docs/Layout__default.docs.js +0 -0
  87. package/es/Layout/docs/Layout__four_Column.docs.js +16 -22
  88. package/es/Layout/props/defaultProps.js +12 -0
  89. package/es/Layout/props/propTypes.js +42 -0
  90. package/es/Layout/utils.js +0 -0
  91. package/es/LightNightMode/Colors.json +496 -496
  92. package/es/ListItem/ListItem.js +0 -0
  93. package/es/ListItem/ListItem.module.css +209 -205
  94. package/es/MultiSelect/AdvancedGroupMultiSelect.js +6 -6
  95. package/es/MultiSelect/MultiSelect.js +5 -5
  96. package/es/MultiSelect/MultiSelect.module.css +205 -205
  97. package/es/MultiSelect/MultiSelectWithAvatar.js +0 -0
  98. package/es/MultiSelect/SelectedOptions.module.css +15 -15
  99. package/es/MultiSelect/__tests__/MultiSelect.spec.js +0 -0
  100. package/es/PopOver/PopOver.module.css +8 -8
  101. package/es/Popup/Popup.js +0 -0
  102. package/es/Popup/PositionMapping.json +73 -73
  103. package/es/Radio/Radio.js +0 -0
  104. package/es/Radio/Radio.module.css +112 -110
  105. package/es/Radio/docs/Radio__custom.docs.js +0 -0
  106. package/es/Radio/docs/Radio__default.docs.js +0 -0
  107. package/es/Responsive/CustomResponsive.js +0 -0
  108. package/es/Responsive/docs/Responsive__Custom.docs.js +0 -0
  109. package/es/Responsive/docs/style.module.css +55 -55
  110. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -6
  111. package/es/Ribbon/Ribbon.js +0 -0
  112. package/es/Ribbon/Ribbon.module.css +376 -376
  113. package/es/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
  114. package/es/Ribbon/docs/Ribbon__custom.docs.js +0 -0
  115. package/es/Ribbon/docs/Ribbon__default.docs.js +0 -0
  116. package/es/RippleEffect/RippleEffect.module.css +92 -70
  117. package/es/Select/GroupSelect.js +0 -0
  118. package/es/Select/Select.js +0 -0
  119. package/es/Select/Select.module.css +106 -106
  120. package/es/Select/SelectWithAvatar.js +0 -0
  121. package/es/Select/SelectWithIcon.js +0 -0
  122. package/es/Select/__tests__/Select.spec.js +0 -0
  123. package/es/Select/docs/SelectWithIcon__default.docs.js +0 -0
  124. package/es/Select/docs/Select__default.docs.js +0 -0
  125. package/es/Stencils/Stencils.js +0 -0
  126. package/es/Stencils/Stencils.module.css +96 -96
  127. package/es/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -49
  128. package/es/Switch/Switch.js +0 -0
  129. package/es/Switch/Switch.module.css +110 -109
  130. package/es/Switch/docs/Switch__custom.docs.js +0 -0
  131. package/es/Switch/docs/Switch__default.docs.js +0 -0
  132. package/es/Tab/Tab.module.css +101 -101
  133. package/es/Tab/TabContent.module.css +4 -4
  134. package/es/Tab/Tabs.js +17 -17
  135. package/es/Tab/Tabs.module.css +141 -141
  136. package/es/Tab/docs/tabdocs.module.css +29 -29
  137. package/es/Tag/Tag.js +8 -8
  138. package/es/Tag/Tag.module.css +254 -254
  139. package/es/Tag/docs/Tag__custom.docs.js +0 -0
  140. package/es/Tag/docs/Tag__default.docs.js +0 -0
  141. package/es/TextBox/TextBox.js +0 -0
  142. package/es/TextBox/TextBox.module.css +157 -157
  143. package/es/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
  144. package/es/TextBox/docs/TextBox__custom.docs.js +0 -0
  145. package/es/TextBox/docs/TextBox__default.docs.js +0 -0
  146. package/es/TextBox/docs/TextBox__variant.docs.js +0 -0
  147. package/es/TextBoxIcon/TextBoxIcon.js +0 -0
  148. package/es/TextBoxIcon/TextBoxIcon.module.css +78 -78
  149. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
  150. package/es/TextBoxIcon/docs/TextBoxIcon__custom.docs.js +0 -0
  151. package/es/TextBoxIcon/docs/TextBoxIcon__default.docs.js +0 -0
  152. package/es/Textarea/Textarea.js +0 -0
  153. package/es/Textarea/Textarea.module.css +139 -139
  154. package/es/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -97
  155. package/es/Textarea/docs/Textarea__custom.docs.js +0 -0
  156. package/es/Textarea/docs/Textarea__default.docs.js +0 -0
  157. package/es/Textarea/docs/Textarea__disabled.docs.js +0 -0
  158. package/es/Tooltip/Tooltip.module.css +109 -109
  159. package/es/common/animation.module.css +624 -624
  160. package/es/common/avatarsizes.module.css +44 -44
  161. package/es/common/basic.module.css +33 -33
  162. package/es/common/basicReset.module.css +40 -40
  163. package/es/common/common.module.css +525 -502
  164. package/es/common/customscroll.module.css +89 -89
  165. package/es/common/docStyle.module.css +766 -766
  166. package/es/common/reset.module.css +12 -12
  167. package/es/common/transition.module.css +146 -146
  168. package/es/deprecated/AdvancedMultiSelect.module.css +126 -126
  169. package/es/index.js +0 -4
  170. package/es/semantic/Button/semanticButton.module.css +9 -9
  171. package/es/utils/Common.js +0 -0
  172. package/es/utils/dropDownUtils.js +0 -0
  173. package/lib/AppContainer/AppContainer.module.css +18 -18
  174. package/lib/Avatar/Avatar.js +9 -9
  175. package/lib/Avatar/Avatar.module.css +117 -117
  176. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
  177. package/lib/AvatarTeam/AvatarTeam.js +7 -7
  178. package/lib/AvatarTeam/AvatarTeam.module.css +161 -161
  179. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
  180. package/lib/AvatarTeam/docs/AvatarTeam__custom.docs.js +0 -0
  181. package/lib/AvatarTeam/docs/AvatarTeam__default.docs.js +0 -0
  182. package/lib/AvatarTeam/docs/AvatarTeam__palette.docs.js +0 -0
  183. package/lib/AvatarTeam/docs/AvatarTeam__size.docs.js +0 -0
  184. package/lib/Button/Button.js +4 -4
  185. package/lib/Button/Button.module.css +521 -521
  186. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +191 -191
  187. package/lib/Button/docs/Button__custom.docs.js +0 -0
  188. package/lib/Button/docs/Button__default.docs.js +0 -0
  189. package/lib/Buttongroup/Buttongroup.js +1 -1
  190. package/lib/Buttongroup/Buttongroup.module.css +89 -89
  191. package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
  192. package/lib/Card/Card.js +12 -7
  193. package/lib/Card/Card.module.css +20 -20
  194. package/lib/Card/docs/Card__Custom.docs.js +0 -0
  195. package/lib/Card/docs/Card__Default.docs.js +0 -0
  196. package/lib/Card/docs/Card__Scroll.docs.js +0 -0
  197. package/lib/CheckBox/CheckBox.js +0 -0
  198. package/lib/CheckBox/CheckBox.module.css +157 -153
  199. package/lib/CheckBox/docs/CheckBox__custom.docs.js +0 -0
  200. package/lib/CheckBox/docs/CheckBox__default.docs.js +0 -0
  201. package/lib/DateTime/CalendarView.js +0 -0
  202. package/lib/DateTime/DateTime.js +0 -0
  203. package/lib/DateTime/DateTime.module.css +187 -187
  204. package/lib/DateTime/DateWidget.js +0 -0
  205. package/lib/DateTime/DateWidget.module.css +38 -38
  206. package/lib/DateTime/YearView.js +0 -0
  207. package/lib/DateTime/YearView.module.css +81 -81
  208. package/lib/DateTime/common.js +0 -0
  209. package/lib/DateTime/docs/DateTime__default.docs.js +0 -0
  210. package/lib/DateTime/docs/DateWidget__default.docs.js +0 -0
  211. package/lib/DateTime/index.js +0 -0
  212. package/lib/DateTime/objectUtils.js +0 -0
  213. package/lib/DateTime/typeChecker.js +0 -0
  214. package/lib/DateTime/validator.js +0 -0
  215. package/lib/DropBox/DropBox.js +0 -0
  216. package/lib/DropBox/DropBox.module.css +406 -406
  217. package/lib/DropBox/DropBoxPositionMapping.json +144 -144
  218. package/lib/DropDown/DropDown.js +0 -0
  219. package/lib/DropDown/DropDown.module.css +5 -5
  220. package/lib/DropDown/DropDownHeading.js +0 -0
  221. package/lib/DropDown/DropDownHeading.module.css +53 -53
  222. package/lib/DropDown/DropDownItem.js +0 -0
  223. package/lib/DropDown/DropDownItem.module.css +94 -94
  224. package/lib/DropDown/DropDownSearch.js +0 -0
  225. package/lib/DropDown/DropDownSearch.module.css +14 -14
  226. package/lib/DropDown/DropDownSeparator.js +0 -0
  227. package/lib/DropDown/DropDownSeparator.module.css +7 -7
  228. package/lib/Label/Label.js +0 -0
  229. package/lib/Label/Label.module.css +52 -52
  230. package/lib/Label/LabelColors.module.css +20 -20
  231. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -101
  232. package/lib/Label/docs/Label__clipped.docs.js +0 -0
  233. package/lib/Label/docs/Label__custom.docs.js +0 -0
  234. package/lib/Label/docs/Label__palette.docs.js +0 -0
  235. package/lib/Label/docs/Label__size.docs.js +0 -0
  236. package/lib/Label/docs/Label__type.docs.js +0 -0
  237. package/lib/Layout/Box.js +18 -32
  238. package/lib/Layout/Container.js +18 -29
  239. package/lib/Layout/Layout.module.css +336 -324
  240. package/lib/Layout/docs/Layout__default.docs.js +0 -0
  241. package/lib/Layout/docs/Layout__four_Column.docs.js +16 -22
  242. package/lib/Layout/props/defaultProps.js +20 -0
  243. package/lib/Layout/props/propTypes.js +54 -0
  244. package/lib/Layout/utils.js +0 -0
  245. package/lib/LightNightMode/Colors.json +496 -496
  246. package/lib/ListItem/ListItem.js +0 -0
  247. package/lib/ListItem/ListItem.module.css +209 -205
  248. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +6 -6
  249. package/lib/MultiSelect/MultiSelect.js +5 -5
  250. package/lib/MultiSelect/MultiSelect.module.css +205 -205
  251. package/lib/MultiSelect/MultiSelectWithAvatar.js +0 -0
  252. package/lib/MultiSelect/SelectedOptions.module.css +15 -15
  253. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +0 -0
  254. package/lib/PopOver/PopOver.module.css +8 -8
  255. package/lib/Popup/Popup.js +0 -0
  256. package/lib/Popup/PositionMapping.json +73 -73
  257. package/lib/Radio/Radio.js +0 -0
  258. package/lib/Radio/Radio.module.css +112 -110
  259. package/lib/Radio/docs/Radio__custom.docs.js +0 -0
  260. package/lib/Radio/docs/Radio__default.docs.js +0 -0
  261. package/lib/Responsive/CustomResponsive.js +0 -0
  262. package/lib/Responsive/docs/Responsive__Custom.docs.js +0 -0
  263. package/lib/Responsive/docs/style.module.css +55 -55
  264. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -6
  265. package/lib/Ribbon/Ribbon.js +0 -0
  266. package/lib/Ribbon/Ribbon.module.css +376 -376
  267. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
  268. package/lib/Ribbon/docs/Ribbon__custom.docs.js +0 -0
  269. package/lib/Ribbon/docs/Ribbon__default.docs.js +0 -0
  270. package/lib/RippleEffect/RippleEffect.module.css +92 -70
  271. package/lib/Select/GroupSelect.js +0 -0
  272. package/lib/Select/Select.js +0 -0
  273. package/lib/Select/Select.module.css +106 -106
  274. package/lib/Select/SelectWithAvatar.js +0 -0
  275. package/lib/Select/SelectWithIcon.js +0 -0
  276. package/lib/Select/__tests__/Select.spec.js +0 -0
  277. package/lib/Select/docs/SelectWithIcon__default.docs.js +0 -0
  278. package/lib/Select/docs/Select__default.docs.js +0 -0
  279. package/lib/Stencils/Stencils.js +0 -0
  280. package/lib/Stencils/Stencils.module.css +96 -96
  281. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -49
  282. package/lib/Switch/Switch.js +0 -0
  283. package/lib/Switch/Switch.module.css +110 -109
  284. package/lib/Switch/docs/Switch__custom.docs.js +0 -0
  285. package/lib/Switch/docs/Switch__default.docs.js +0 -0
  286. package/lib/Tab/Tab.module.css +101 -101
  287. package/lib/Tab/TabContent.module.css +4 -4
  288. package/lib/Tab/Tabs.js +11 -11
  289. package/lib/Tab/Tabs.module.css +141 -141
  290. package/lib/Tab/docs/tabdocs.module.css +29 -29
  291. package/lib/Tag/Tag.js +8 -8
  292. package/lib/Tag/Tag.module.css +254 -254
  293. package/lib/Tag/docs/Tag__custom.docs.js +0 -0
  294. package/lib/Tag/docs/Tag__default.docs.js +0 -0
  295. package/lib/TextBox/TextBox.js +0 -0
  296. package/lib/TextBox/TextBox.module.css +157 -157
  297. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
  298. package/lib/TextBox/docs/TextBox__custom.docs.js +0 -0
  299. package/lib/TextBox/docs/TextBox__default.docs.js +0 -0
  300. package/lib/TextBox/docs/TextBox__variant.docs.js +0 -0
  301. package/lib/TextBoxIcon/TextBoxIcon.js +0 -0
  302. package/lib/TextBoxIcon/TextBoxIcon.module.css +78 -78
  303. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
  304. package/lib/TextBoxIcon/docs/TextBoxIcon__custom.docs.js +0 -0
  305. package/lib/TextBoxIcon/docs/TextBoxIcon__default.docs.js +0 -0
  306. package/lib/Textarea/Textarea.js +0 -0
  307. package/lib/Textarea/Textarea.module.css +139 -139
  308. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -97
  309. package/lib/Textarea/docs/Textarea__custom.docs.js +0 -0
  310. package/lib/Textarea/docs/Textarea__default.docs.js +0 -0
  311. package/lib/Textarea/docs/Textarea__disabled.docs.js +0 -0
  312. package/lib/Tooltip/Tooltip.module.css +109 -109
  313. package/lib/common/animation.module.css +624 -624
  314. package/lib/common/avatarsizes.module.css +44 -44
  315. package/lib/common/basic.module.css +33 -33
  316. package/lib/common/basicReset.module.css +40 -40
  317. package/lib/common/common.module.css +525 -502
  318. package/lib/common/customscroll.module.css +89 -89
  319. package/lib/common/docStyle.module.css +766 -766
  320. package/lib/common/reset.module.css +12 -12
  321. package/lib/common/transition.module.css +146 -146
  322. package/lib/deprecated/AdvancedMultiSelect.module.css +126 -126
  323. package/lib/index.js +0 -36
  324. package/lib/semantic/Button/semanticButton.module.css +9 -9
  325. package/lib/utils/Common.js +0 -0
  326. package/lib/utils/dropDownUtils.js +0 -0
  327. package/package.json +76 -75
  328. package/es/a11y/FocusScope/FocusScope.js +0 -370
  329. package/es/a11y/FocusScope/docs/FocusScope__default.docs.js +0 -139
  330. package/es/beta/FocusRing/FocusRing.js +0 -281
  331. package/es/beta/FocusRing/FocusRing.module.css +0 -152
  332. package/es/beta/FocusRing/docs/FocusRing__default.docs.js +0 -48
  333. package/lib/a11y/FocusScope/FocusScope.js +0 -443
  334. package/lib/a11y/FocusScope/docs/FocusScope__default.docs.js +0 -191
  335. package/lib/beta/FocusRing/FocusRing.js +0 -338
  336. package/lib/beta/FocusRing/FocusRing.module.css +0 -152
  337. package/lib/beta/FocusRing/docs/FocusRing__default.docs.js +0 -101
package/package.json CHANGED
@@ -1,75 +1,76 @@
1
- {
2
- "name": "@zohodesk/components",
3
- "version": "1.0.0-alpha-245",
4
- "main": "lib/index.js",
5
- "module": "es/index.js",
6
- "jsnext:main": "es/index.js",
7
- "private": false,
8
- "umdVar": "Component",
9
- "scripts": {
10
- "build:docs": "react-cli build:docs",
11
- "lint": "react-cli lint",
12
- "lintAll": "react-cli lint ./src",
13
- "lintAllFix": "npm run lintAll --eslint:fix=true",
14
- "clean": "react-cli clean build unittest coverage es lib assets && mkdir assets",
15
- "dubCheck": "node dubFinder node_modules/@zohodesk/icons/lib node_modules/@zohodesk/variables/lib",
16
- "init": "npm run clean && cd ../assets && npm run componentsassets && cd ../components && npm run build:variables",
17
- "build:variables": "node ./preprocess/index",
18
- "rtl": "react-cli rtl ./src ./lib && react-cli rtl ./src ./es",
19
- "start": "react-cli start",
20
- "docs": "npm run dubCheck && react-cli docs",
21
- "build": " react-cli build:component:cmjs",
22
- "buildlocal": " react-cli build:component:cmjs && npm run rtl",
23
- "build:dev": "npm run build:variables && npm run build && npm run build:es --module:mode=dev -- -w",
24
- "build:es": "react-cli build:library:es",
25
- "rtl:watch": "react-cli rtl ./src ./es -w",
26
- "build:css:umd": "npm run clean && npm run init && react-cli build:css:umd",
27
- "coverage": "react-cli coverage",
28
- "prepare": "react-cli clean assets && npm run init && npm run build && npm run build:es && npm run rtl",
29
- "postpublish": "react-cli postpublish",
30
- "report": "react-cli publish:report",
31
- "test": "react-cli test",
32
- "sstest": "npm run init && react-cli sstest",
33
- "build:external": "npm run clean && npm run init && npm run docsjs:build && npm run build:externalDocCopy && react-cli build:component:umd && npm run externalDocHTMLChange",
34
- "download": "rm package-lock.json && rm -rf node_modules/ && npm install",
35
- "expublish": "npm publish --tag experimental-version"
36
- },
37
- "devDependencies": {
38
- "@zohodesk/docstool": "1.0.0-alpha-2",
39
- "@zohodesk/variables": "1.0.0-beta.29",
40
- "@zohodesk/icons": "1.0.0-beta.105",
41
- "@zohodesk/virtualizer": "1.0.3",
42
- "velocity-react": "1.4.3",
43
- "react-sortable-hoc": "^0.8.3",
44
- "@zohodesk/svg": "1.0.0-beta.47"
45
- },
46
- "dependencies": {
47
- "hoist-non-react-statics": "3.0.1",
48
- "react-transition-group": "2.5.0",
49
- "reselect": "4.0.0",
50
- "selectn": "1.1.2"
51
- },
52
- "peerDependencies": {
53
- "@zohodesk/icons": "1.0.0-beta.105",
54
- "@zohodesk/variables": "1.0.0-beta.29",
55
- "@zohodesk/svg": "1.0.0-beta.47",
56
- "@zohodesk/virtualizer": "1.0.3",
57
- "velocity-react": "1.4.3",
58
- "react-sortable-hoc": "^0.8.3"
59
- },
60
- "react-cli": {
61
- "preprocess": {
62
- "runner": "./preprocess/index.js"
63
- },
64
- "docs": {
65
- "disableES5Transpile": true,
66
- "componentFolder": "./src",
67
- "cssUniqueness": "false",
68
- "rtlExclude": [
69
- "@zohodesk/icons",
70
- "@zohodesk/variables"
71
- ],
72
- "hasRTL": true
73
- }
74
- }
75
- }
1
+ {
2
+ "name": "@zohodesk/components",
3
+ "version": "1.0.0-alpha-248",
4
+ "main": "lib/index.js",
5
+ "module": "es/index.js",
6
+ "jsnext:main": "es/index.js",
7
+ "private": false,
8
+ "umdVar": "Component",
9
+ "scripts": {
10
+ "build:docs": "react-cli build:docs",
11
+ "lint": "react-cli lint",
12
+ "lintAll": "react-cli lint ./src",
13
+ "lintAllFix": "npm run lintAll --eslint:fix=true",
14
+ "clean": "react-cli clean build unittest coverage es lib assets && mkdir assets",
15
+ "dubCheck": "node dubFinder node_modules/@zohodesk/icons/lib node_modules/@zohodesk/variables/lib",
16
+ "init": "npm run clean && cd ../assets && npm run componentsassets && cd ../components && npm run build:variables",
17
+ "build:variables": "node ./preprocess/index",
18
+ "rtl": "react-cli rtl ./src ./lib && react-cli rtl ./src ./es",
19
+ "common_package_build":"cd ../common && npm run build && cd ../components",
20
+ "start": "react-cli start",
21
+ "docs": "npm run common_package_build && npm run dubCheck && react-cli docs",
22
+ "build": " react-cli build:component:cmjs",
23
+ "buildlocal": " react-cli build:component:cmjs && npm run rtl",
24
+ "build:dev": "npm run build:variables && npm run build && npm run build:es --module:mode=dev -- -w",
25
+ "build:es": "react-cli build:library:es",
26
+ "rtl:watch": "react-cli rtl ./src ./es -w",
27
+ "build:css:umd": "npm run clean && npm run init && react-cli build:css:umd",
28
+ "coverage": "react-cli coverage",
29
+ "prepare": "react-cli clean assets && npm run init && npm run build && npm run build:es && npm run rtl",
30
+ "postpublish": "react-cli postpublish",
31
+ "report": "react-cli publish:report",
32
+ "test": "react-cli test",
33
+ "sstest": "npm run init && react-cli sstest",
34
+ "build:external": "npm run clean && npm run init && npm run docsjs:build && npm run build:externalDocCopy && react-cli build:component:umd && npm run externalDocHTMLChange",
35
+ "download": "rm package-lock.json && rm -rf node_modules/ && npm install",
36
+ "expublish": "npm publish --tag experimental-version"
37
+ },
38
+ "devDependencies": {
39
+ "@zohodesk/docstool": "1.0.0-alpha-2",
40
+ "@zohodesk/variables": "1.0.0-beta.29",
41
+ "@zohodesk/icons": "1.0.0-beta.109",
42
+ "@zohodesk/virtualizer": "1.0.3",
43
+ "velocity-react": "1.4.3",
44
+ "react-sortable-hoc": "^0.8.3",
45
+ "@zohodesk/svg": "1.0.0-beta.48"
46
+ },
47
+ "dependencies": {
48
+ "hoist-non-react-statics": "3.0.1",
49
+ "react-transition-group": "2.5.0",
50
+ "reselect": "4.0.0",
51
+ "selectn": "1.1.2"
52
+ },
53
+ "peerDependencies": {
54
+ "@zohodesk/icons": "1.0.0-beta.109",
55
+ "@zohodesk/variables": "1.0.0-beta.29",
56
+ "@zohodesk/svg": "1.0.0-beta.49",
57
+ "@zohodesk/virtualizer": "1.0.3",
58
+ "velocity-react": "1.4.3",
59
+ "react-sortable-hoc": "^0.8.3"
60
+ },
61
+ "react-cli": {
62
+ "preprocess": {
63
+ "runner": "./preprocess/index.js"
64
+ },
65
+ "docs": {
66
+ "disableES5Transpile": true,
67
+ "componentFolder": "./src",
68
+ "cssUniqueness": "false",
69
+ "rtlExclude": [
70
+ "@zohodesk/icons",
71
+ "@zohodesk/variables"
72
+ ],
73
+ "hasRTL": true
74
+ }
75
+ }
76
+ }
@@ -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
- };