@zohodesk/components 1.0.0-temp-79 → 1.0.0-temp-80

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 (731) hide show
  1. package/README.md +1084 -1079
  2. package/assets/Appearance/dark/mode/contrast/darkContrast.module.css +343 -0
  3. package/assets/Appearance/dark/themes/blue/contrast/blueDarkCTAThemeContrast.module.css +34 -0
  4. package/assets/Appearance/dark/themes/green/contrast/greenDarkCTAThemeContrast.module.css +34 -0
  5. package/assets/Appearance/dark/themes/orange/contrast/orangeDarkCTAThemeContrast.module.css +34 -0
  6. package/assets/Appearance/dark/themes/red/contrast/redDarkCTAThemeContrast.module.css +34 -0
  7. package/assets/Appearance/dark/themes/yellow/contrast/yellowDarkCTAThemeContrast.module.css +34 -0
  8. package/assets/Appearance/default/mode/contrast/defaultContrast.module.css +343 -0
  9. package/assets/Appearance/default/themes/blue/contrast/blueDefaultCTAThemeContrast.module.css +34 -0
  10. package/assets/Appearance/default/themes/green/contrast/greenDefaultCTAThemeContrast.module.css +34 -0
  11. package/assets/Appearance/default/themes/orange/contrast/orangeDefaultCTAThemeContrast.module.css +34 -0
  12. package/assets/Appearance/default/themes/red/contrast/redDefaultCTAThemeContrast.module.css +34 -0
  13. package/assets/Appearance/default/themes/yellow/contrast/yellowDefaultCTAThemeContrast.module.css +34 -0
  14. package/assets/Appearance/pureDark/mode/contrast/pureDarkContrast.module.css +343 -0
  15. package/assets/Appearance/pureDark/themes/blue/contrast/bluePureDarkCTAThemeContrast.module.css +34 -0
  16. package/assets/Appearance/pureDark/themes/green/contrast/greenPureDarkCTAThemeContrast.module.css +34 -0
  17. package/assets/Appearance/pureDark/themes/orange/contrast/orangePureDarkCTAThemeContrast.module.css +34 -0
  18. package/assets/Appearance/pureDark/themes/red/contrast/redPureDarkCTAThemeContrast.module.css +34 -0
  19. package/assets/Appearance/pureDark/themes/yellow/contrast/yellowPureDarkCTAThemeContrast.module.css +34 -0
  20. package/docs/external/active-line.js +72 -72
  21. package/docs/external/autorefresh.js +47 -47
  22. package/docs/external/codemirror.js +9681 -9681
  23. package/docs/external/css/hopscotch.css +576 -576
  24. package/docs/external/css/styleGuide.css +1100 -1100
  25. package/docs/external/css.js +466 -466
  26. package/docs/external/designTokens.js +1 -1
  27. package/docs/external/foldcode.js +151 -151
  28. package/docs/external/format.js +129 -129
  29. package/docs/external/htmlmixed.js +84 -84
  30. package/docs/external/index.html +127 -127
  31. package/docs/external/javascript.js +422 -422
  32. package/docs/external/jsx.js +147 -147
  33. package/docs/external/matchbrackets.js +145 -145
  34. package/docs/external/xml.js +322 -322
  35. package/docs/package.json +41 -41
  36. package/docs/src/index.js +1311 -1311
  37. package/es/Accordion/Accordion.js +0 -7
  38. package/es/Accordion/AccordionItem.js +0 -4
  39. package/es/Accordion/docs/Accordion__Demo.docs.js +0 -2
  40. package/es/Animation/Animation.js +0 -3
  41. package/es/Animation/docs/Animation__default.docs.js +0 -2
  42. package/es/Animation/docs/Animation__fadeIn.docs.js +0 -2
  43. package/es/Animation/docs/Animation__scaleIn.docs.js +0 -2
  44. package/es/Animation/docs/Animation__skewIn.docs.js +0 -2
  45. package/es/Animation/docs/Animation__slideDown.docs.js +0 -2
  46. package/es/Animation/docs/Animation__slideLeft.docs.js +0 -2
  47. package/es/Animation/docs/Animation__zoomIn.docs.js +0 -2
  48. package/es/AppContainer/AppContainer.js +3 -14
  49. package/es/AppContainer/AppContainer.module.css +18 -18
  50. package/es/AppContainer/docs/AppContainer__default.docs.js +0 -2
  51. package/es/Avatar/Avatar.js +45 -51
  52. package/es/Avatar/Avatar.module.css +135 -115
  53. package/es/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
  54. package/es/Avatar/docs/Avatar__custom.docs.js +1 -3
  55. package/es/Avatar/docs/Avatar__default.docs.js +1 -3
  56. package/es/Avatar/docs/Avatar__palette.docs.js +1 -3
  57. package/es/Avatar/docs/Avatar__text.docs.js +1 -3
  58. package/es/Avatar/props/defaultProps.js +2 -1
  59. package/es/Avatar/props/propTypes.js +2 -1
  60. package/es/AvatarTeam/AvatarTeam.js +8 -11
  61. package/es/AvatarTeam/AvatarTeam.module.css +161 -147
  62. package/es/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
  63. package/es/AvatarTeam/docs/AvatarTeam__custom.docs.js +0 -2
  64. package/es/AvatarTeam/docs/AvatarTeam__default.docs.js +0 -2
  65. package/es/AvatarTeam/docs/AvatarTeam__palette.docs.js +0 -2
  66. package/es/AvatarTeam/docs/AvatarTeam__size.docs.js +0 -2
  67. package/es/Button/Button.js +4 -8
  68. package/es/Button/Button.module.css +521 -448
  69. package/es/Button/__tests__/__snapshots__/Button.spec.js.snap +191 -191
  70. package/es/Button/docs/Button__custom.docs.js +11 -13
  71. package/es/Button/docs/Button__default.docs.js +11 -13
  72. package/es/Buttongroup/Buttongroup.js +1 -4
  73. package/es/Buttongroup/Buttongroup.module.css +89 -60
  74. package/es/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
  75. package/es/Buttongroup/docs/Buttongroup__custom.docs.js +0 -2
  76. package/es/Buttongroup/docs/Buttongroup__footer.docs.js +0 -2
  77. package/es/Buttongroup/docs/Buttongroup__header.docs.js +0 -2
  78. package/es/Card/Card.js +11 -26
  79. package/es/Card/Card.module.css +20 -20
  80. package/es/Card/docs/Card__Custom.docs.js +0 -2
  81. package/es/Card/docs/Card__Default.docs.js +0 -2
  82. package/es/Card/docs/Card__Scroll.docs.js +0 -3
  83. package/es/CheckBox/CheckBox.js +1 -6
  84. package/es/CheckBox/CheckBox.module.css +157 -151
  85. package/es/CheckBox/docs/CheckBox__custom.docs.js +12 -16
  86. package/es/CheckBox/docs/CheckBox__default.docs.js +12 -16
  87. package/es/DateTime/CalendarView.js +4 -23
  88. package/es/DateTime/DateTime.js +6 -74
  89. package/es/DateTime/DateTime.module.css +187 -160
  90. package/es/DateTime/DateTimePopupFooter.js +2 -4
  91. package/es/DateTime/DateTimePopupHeader.js +2 -8
  92. package/es/DateTime/DateWidget.js +34 -101
  93. package/es/DateTime/DateWidget.module.css +38 -34
  94. package/es/DateTime/DaysRow.js +2 -4
  95. package/es/DateTime/Time.js +2 -10
  96. package/es/DateTime/YearView.js +4 -28
  97. package/es/DateTime/YearView.module.css +81 -71
  98. package/es/DateTime/__tests__/CalendarView.spec.js +0 -1
  99. package/es/DateTime/__tests__/DateTime.spec.js +0 -1
  100. package/es/DateTime/__tests__/DateWidget.spec.js +3 -2
  101. package/es/DateTime/common.js +0 -3
  102. package/es/DateTime/constants.js +0 -1
  103. package/es/DateTime/dateFormatUtils/dateFormat.js +30 -63
  104. package/es/DateTime/dateFormatUtils/dayChange.js +4 -13
  105. package/es/DateTime/dateFormatUtils/index.js +2 -28
  106. package/es/DateTime/dateFormatUtils/monthChange.js +0 -8
  107. package/es/DateTime/dateFormatUtils/timeChange.js +6 -22
  108. package/es/DateTime/dateFormatUtils/yearChange.js +2 -11
  109. package/es/DateTime/docs/DateTime__default.docs.js +6 -9
  110. package/es/DateTime/docs/DateWidget__default.docs.js +0 -5
  111. package/es/DateTime/index.js +0 -0
  112. package/es/DateTime/objectUtils.js +20 -14
  113. package/es/DateTime/typeChecker.js +0 -3
  114. package/es/DateTime/validator.js +6 -58
  115. package/es/DropBox/DropBox.js +6 -29
  116. package/es/DropBox/DropBox.module.css +406 -370
  117. package/es/DropBox/DropBoxPositionMapping.json +144 -144
  118. package/es/DropBox/docs/DropBox__custom.docs.js +25 -27
  119. package/es/DropBox/docs/DropBox__customOrder.docs.js +0 -7
  120. package/es/DropBox/docs/DropBox__fixedPosition.docs.js +0 -7
  121. package/es/DropBox/docs/DropBox__position.docs.js +35 -37
  122. package/es/DropBox/docs/DropBox__size.docs.js +28 -30
  123. package/es/DropDown/DropDown.js +1 -9
  124. package/es/DropDown/DropDown.module.css +5 -5
  125. package/es/DropDown/DropDownHeading.js +2 -4
  126. package/es/DropDown/DropDownHeading.module.css +53 -49
  127. package/es/DropDown/DropDownItem.js +0 -6
  128. package/es/DropDown/DropDownItem.module.css +94 -68
  129. package/es/DropDown/DropDownSearch.js +0 -4
  130. package/es/DropDown/DropDownSearch.module.css +14 -14
  131. package/es/DropDown/DropDownSeparator.js +0 -1
  132. package/es/DropDown/DropDownSeparator.module.css +7 -7
  133. package/es/DropDown/__tests__/DropDown.spec.js +2 -1
  134. package/es/DropDown/docs/DropDownHeading__custom.docs.js +0 -2
  135. package/es/DropDown/docs/DropDownHeading__default.docs.js +0 -2
  136. package/es/Heading/Heading.js +2 -13
  137. package/es/Heading/Heading.module.css +5 -5
  138. package/es/Heading/docs/Heading__default.docs.js +3 -6
  139. package/es/Heading/props/propTypes.js +1 -4
  140. package/es/Label/Label.js +2 -4
  141. package/es/Label/Label.module.css +52 -52
  142. package/es/Label/LabelColors.module.css +20 -20
  143. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -101
  144. package/es/Label/docs/Label__clipped.docs.js +0 -2
  145. package/es/Label/docs/Label__custom.docs.js +0 -2
  146. package/es/Label/docs/Label__palette.docs.js +0 -2
  147. package/es/Label/docs/Label__size.docs.js +0 -2
  148. package/es/Label/docs/Label__type.docs.js +0 -2
  149. package/es/Layout/Box.js +0 -13
  150. package/es/Layout/Container.js +1 -12
  151. package/es/Layout/Layout.module.css +335 -335
  152. package/es/Layout/docs/Layout__Hidden.docs.js +0 -1
  153. package/es/Layout/docs/Layout__default.docs.js +0 -1
  154. package/es/Layout/docs/Layout__four_Column.docs.js +0 -1
  155. package/es/Layout/docs/Layout__three_Column.docs.js +0 -1
  156. package/es/Layout/docs/Layout__two_Column.docs.js +0 -1
  157. package/es/Layout/utils.js +0 -0
  158. package/es/LightNightMode/Colors.json +496 -496
  159. package/es/LightNightMode/docs/AlternativeColors.docs.js +0 -2
  160. package/es/ListItem/ListContainer.js +1 -9
  161. package/es/ListItem/ListItem.js +1 -10
  162. package/es/ListItem/ListItem.module.css +209 -177
  163. package/es/ListItem/ListItemWithAvatar.js +2 -10
  164. package/es/ListItem/ListItemWithCheckBox.js +1 -8
  165. package/es/ListItem/ListItemWithIcon.js +1 -9
  166. package/es/ListItem/ListItemWithRadio.js +1 -8
  167. package/es/ListItem/docs/ListItemWithAvatar__custom.docs.js +0 -2
  168. package/es/ListItem/docs/ListItemWithAvatar__default.docs.js +0 -2
  169. package/es/ListItem/docs/ListItemWithCheckBox__custom.docs.js +0 -2
  170. package/es/ListItem/docs/ListItemWithCheckBox__default.docs.js +0 -2
  171. package/es/ListItem/docs/ListItemWithIcon__custom.docs.js +0 -2
  172. package/es/ListItem/docs/ListItemWithIcon__default.docs.js +0 -2
  173. package/es/ListItem/docs/ListItemWithRadio__custom.docs.js +0 -2
  174. package/es/ListItem/docs/ListItemWithRadio__default.docs.js +0 -2
  175. package/es/ListItem/docs/ListItem__custom.docs.js +0 -2
  176. package/es/ListItem/docs/ListItem__default.docs.js +0 -2
  177. package/es/Modal/Modal.js +9 -29
  178. package/es/Modal/__docs__/Modal__default.docs.js +1 -5
  179. package/es/MultiSelect/AdvancedGroupMultiSelect.js +16 -95
  180. package/es/MultiSelect/AdvancedMultiSelect.js +11 -37
  181. package/es/MultiSelect/EmptyState.js +0 -2
  182. package/es/MultiSelect/MultiSelect.js +36 -105
  183. package/es/MultiSelect/MultiSelect.module.css +205 -188
  184. package/es/MultiSelect/MultiSelectHeader.js +0 -3
  185. package/es/MultiSelect/MultiSelectWithAvatar.js +5 -14
  186. package/es/MultiSelect/SelectedOptions.js +4 -7
  187. package/es/MultiSelect/SelectedOptions.module.css +15 -9
  188. package/es/MultiSelect/Suggestions.js +4 -8
  189. package/es/MultiSelect/__tests__/MultiSelect.spec.js +6 -4
  190. package/es/MultiSelect/docs/AdvancedGroupMultiSelect__default.docs.js +0 -7
  191. package/es/MultiSelect/docs/AdvancedMultiSelect__default.docs.js +1 -7
  192. package/es/MultiSelect/docs/MultiSelectWithAvatar__default.docs.js +1 -5
  193. package/es/MultiSelect/docs/MultiSelect__default.docs.js +1 -6
  194. package/es/MultiSelect/props/propTypes.js +0 -2
  195. package/es/PopOver/PopOver.js +0 -18
  196. package/es/PopOver/PopOver.module.css +8 -8
  197. package/es/PopOver/__tests__/PopOver.spec.js +1 -2
  198. package/es/PopOver/docs/PopOver__default.docs.js +0 -2
  199. package/es/Popup/Popup.js +25 -78
  200. package/es/Popup/PositionMapping.json +73 -73
  201. package/es/Popup/__tests__/Popup.spec.js +5 -17
  202. package/es/Popup/viewPort.js +4 -16
  203. package/es/Provider/IdProvider.js +2 -9
  204. package/es/Provider/LibraryContext.js +4 -6
  205. package/es/Provider/NumberGenerator/NumberGenerator.js +7 -21
  206. package/es/Provider/ZindexProvider.js +2 -9
  207. package/es/Provider/docs/Provider_Id__Class.docs.js +3 -4
  208. package/es/Provider/docs/Provider_Id__Function.docs.js +0 -1
  209. package/es/Provider/docs/Provider_Zindex__Class.docs.js +3 -4
  210. package/es/Provider/docs/Provider_Zindex__Function.docs.js +0 -1
  211. package/es/Provider.js +36 -11
  212. package/es/Radio/Radio.js +0 -4
  213. package/es/Radio/Radio.module.css +112 -106
  214. package/es/Radio/docs/Radio__custom.docs.js +12 -16
  215. package/es/Radio/docs/Radio__default.docs.js +12 -16
  216. package/es/Responsive/CustomResponsive.js +18 -28
  217. package/es/Responsive/RefWrapper.js +7 -6
  218. package/es/Responsive/ResizeComponent.js +25 -35
  219. package/es/Responsive/ResizeObserver.js +6 -26
  220. package/es/Responsive/Responsive.js +20 -35
  221. package/es/Responsive/docs/Responsive__Custom.docs.js +22 -14
  222. package/es/Responsive/docs/Responsive__default.docs.js +1 -3
  223. package/es/Responsive/docs/style.module.css +55 -46
  224. package/es/Responsive/sizeObservers.js +7 -28
  225. package/es/Responsive/utils/index.js +5 -7
  226. package/es/Responsive/utils/shallowCompare.js +2 -7
  227. package/es/Responsive/windowResizeObserver.js +0 -7
  228. package/es/ResponsiveDropBox/ResponsiveDropBox.js +1 -5
  229. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -6
  230. package/es/Ribbon/Ribbon.js +0 -3
  231. package/es/Ribbon/Ribbon.module.css +376 -311
  232. package/es/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
  233. package/es/Ribbon/docs/Ribbon__custom.docs.js +13 -14
  234. package/es/Ribbon/docs/Ribbon__default.docs.js +13 -14
  235. package/es/RippleEffect/RippleEffect.js +0 -1
  236. package/es/RippleEffect/RippleEffect.module.css +92 -110
  237. package/es/RippleEffect/docs/RippleEffect__default.docs.js +12 -14
  238. package/es/Select/GroupSelect.js +13 -60
  239. package/es/Select/Select.js +35 -85
  240. package/es/Select/Select.module.css +106 -96
  241. package/es/Select/SelectWithAvatar.js +3 -20
  242. package/es/Select/SelectWithIcon.js +2 -41
  243. package/es/Select/__tests__/Select.spec.js +8 -6
  244. package/es/Select/docs/GroupSelect__default.docs.js +1 -6
  245. package/es/Select/docs/SelectWithAvatar__default.docs.js +0 -4
  246. package/es/Select/docs/SelectWithIcon__default.docs.js +0 -4
  247. package/es/Select/docs/Select__default.docs.js +0 -5
  248. package/es/Select/props/propTypes.js +0 -1
  249. package/es/Stencils/Stencils.js +0 -3
  250. package/es/Stencils/Stencils.module.css +96 -78
  251. package/es/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -49
  252. package/es/Stencils/docs/Stencils__custom.docs.js +0 -2
  253. package/es/Stencils/docs/Stencils__default.docs.js +0 -2
  254. package/es/Switch/Switch.js +1 -6
  255. package/es/Switch/Switch.module.css +110 -111
  256. package/es/Switch/docs/Switch__custom.docs.js +12 -14
  257. package/es/Switch/docs/Switch__default.docs.js +12 -14
  258. package/es/Tab/Tab.js +2 -5
  259. package/es/Tab/Tab.module.css +101 -92
  260. package/es/Tab/TabContent.js +0 -1
  261. package/es/Tab/TabContent.module.css +4 -4
  262. package/es/Tab/TabContentWrapper.js +0 -2
  263. package/es/Tab/TabWrapper.js +3 -6
  264. package/es/Tab/Tabs.js +25 -72
  265. package/es/Tab/Tabs.module.css +141 -107
  266. package/es/Tab/__tests__/Tab.spec.js +2 -1
  267. package/es/Tab/__tests__/TabWrapper.spec.js +0 -1
  268. package/es/Tab/docs/Tab__default.docs.js +0 -5
  269. package/es/Tab/docs/tabdocs.module.css +29 -29
  270. package/es/Tag/Tag.js +9 -14
  271. package/es/Tag/Tag.module.css +254 -232
  272. package/es/Tag/docs/Tag__custom.docs.js +11 -13
  273. package/es/Tag/docs/Tag__default.docs.js +11 -13
  274. package/es/TextBox/TextBox.js +1 -16
  275. package/es/TextBox/TextBox.module.css +157 -161
  276. package/es/TextBox/__tests__/TextBox.spec.js +4 -1
  277. package/es/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
  278. package/es/TextBox/docs/TextBox__custom.docs.js +0 -2
  279. package/es/TextBox/docs/TextBox__default.docs.js +0 -2
  280. package/es/TextBox/docs/TextBox__size.docs.js +0 -2
  281. package/es/TextBox/docs/TextBox__variant.docs.js +0 -2
  282. package/es/TextBoxIcon/TextBoxIcon.js +1 -8
  283. package/es/TextBoxIcon/TextBoxIcon.module.css +78 -71
  284. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +7 -2
  285. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
  286. package/es/TextBoxIcon/docs/TextBoxIcon__custom.docs.js +0 -2
  287. package/es/TextBoxIcon/docs/TextBoxIcon__default.docs.js +0 -2
  288. package/es/Textarea/Textarea.js +1 -13
  289. package/es/Textarea/Textarea.module.css +139 -140
  290. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  291. package/es/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -97
  292. package/es/Textarea/docs/Textarea__animated.docs.js +0 -2
  293. package/es/Textarea/docs/Textarea__custom.docs.js +0 -2
  294. package/es/Textarea/docs/Textarea__default.docs.js +0 -2
  295. package/es/Textarea/docs/Textarea__disabled.docs.js +0 -2
  296. package/es/Tooltip/Tooltip.js +11 -58
  297. package/es/Tooltip/Tooltip.module.css +109 -108
  298. package/es/Tooltip/__tests__/Tooltip.spec.js +0 -5
  299. package/es/Tooltip/docs/Tooltip__default.docs.js +63 -67
  300. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +0 -3
  301. package/es/VelocityAnimation/VelocityAnimation/docs/VelocityAnimation__demo.docs.js +0 -5
  302. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +3 -8
  303. package/es/VelocityAnimation/VelocityAnimationGroup/docs/VelocityAnimationGroup__demo.docs.js +17 -28
  304. package/es/common/animation.module.css +624 -426
  305. package/es/common/avatarsizes.module.css +44 -44
  306. package/es/common/basic.module.css +33 -33
  307. package/es/common/basicReset.module.css +40 -50
  308. package/es/common/common.module.css +524 -478
  309. package/es/common/customscroll.module.css +89 -93
  310. package/es/common/docStyle.module.css +887 -719
  311. package/es/common/reset.module.css +12 -12
  312. package/es/common/transition.module.css +146 -106
  313. package/es/deprecated/AdvancedMultiSelect.module.css +126 -112
  314. package/es/deprecated/PortalLayer/PortalLayer.js +17 -25
  315. package/es/deprecated/PortalLayer/docs/PortalLayer__default.docs.js +0 -7
  316. package/es/index.js +2 -1
  317. package/es/semantic/Button/Button.js +0 -3
  318. package/es/semantic/Button/docs/Button__default.docs.js +0 -3
  319. package/es/semantic/Button/semanticButton.module.css +9 -9
  320. package/es/utils/Common.js +5 -47
  321. package/es/utils/ContextOptimizer.js +5 -4
  322. package/es/utils/__tests__/debounce.spec.js +2 -2
  323. package/es/utils/constructFullName.js +0 -2
  324. package/es/utils/datetime/common.js +5 -16
  325. package/es/utils/debounce.js +1 -5
  326. package/es/utils/dropDownUtils.js +11 -67
  327. package/es/utils/getInitial.js +0 -4
  328. package/es/utils/shallowEqual.js +0 -6
  329. package/lib/Accordion/Accordion.js +102 -0
  330. package/lib/Accordion/AccordionItem.js +84 -0
  331. package/lib/Accordion/__tests__/Accordion.spec.js +82 -0
  332. package/lib/Accordion/docs/Accordion__Demo.docs.js +104 -0
  333. package/lib/Accordion/index.js +20 -0
  334. package/lib/Accordion/props/defaultProps.js +16 -0
  335. package/lib/Accordion/props/propTypes.js +39 -0
  336. package/lib/Animation/Animation.js +161 -0
  337. package/lib/Animation/__tests__/Animation.spec.js +19 -0
  338. package/lib/Animation/docs/Animation__default.docs.js +61 -0
  339. package/lib/Animation/docs/Animation__fadeIn.docs.js +61 -0
  340. package/lib/Animation/docs/Animation__scaleIn.docs.js +61 -0
  341. package/lib/Animation/docs/Animation__skewIn.docs.js +61 -0
  342. package/lib/Animation/docs/Animation__slideDown.docs.js +61 -0
  343. package/lib/Animation/docs/Animation__slideLeft.docs.js +61 -0
  344. package/lib/Animation/docs/Animation__zoomIn.docs.js +61 -0
  345. package/lib/Animation/props/defaultProps.js +14 -0
  346. package/lib/Animation/props/propTypes.js +20 -0
  347. package/lib/AppContainer/AppContainer.js +156 -0
  348. package/lib/AppContainer/AppContainer.module.css +18 -0
  349. package/lib/AppContainer/docs/AppContainer__default.docs.js +47 -0
  350. package/lib/AppContainer/props/defaultProps.js +15 -0
  351. package/lib/AppContainer/props/propTypes.js +23 -0
  352. package/lib/Avatar/Avatar.js +199 -0
  353. package/lib/Avatar/Avatar.module.css +135 -0
  354. package/lib/Avatar/__tests__/Avatar.spec.js +164 -0
  355. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -0
  356. package/lib/Avatar/docs/Avatar__custom.docs.js +62 -0
  357. package/lib/Avatar/docs/Avatar__default.docs.js +60 -0
  358. package/lib/Avatar/docs/Avatar__palette.docs.js +82 -0
  359. package/lib/Avatar/docs/Avatar__text.docs.js +61 -0
  360. package/lib/Avatar/props/defaultProps.js +21 -0
  361. package/lib/Avatar/props/propTypes.js +31 -0
  362. package/lib/AvatarTeam/AvatarTeam.js +99 -0
  363. package/lib/AvatarTeam/AvatarTeam.module.css +161 -0
  364. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +79 -0
  365. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -0
  366. package/lib/AvatarTeam/docs/AvatarTeam__custom.docs.js +100 -0
  367. package/lib/AvatarTeam/docs/AvatarTeam__default.docs.js +58 -0
  368. package/lib/AvatarTeam/docs/AvatarTeam__palette.docs.js +77 -0
  369. package/lib/AvatarTeam/docs/AvatarTeam__size.docs.js +76 -0
  370. package/lib/AvatarTeam/props/defaultProps.js +20 -0
  371. package/lib/AvatarTeam/props/propTypes.js +31 -0
  372. package/lib/Button/Button.js +90 -0
  373. package/lib/Button/Button.module.css +522 -0
  374. package/lib/Button/__tests__/Button.spec.js +193 -0
  375. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +191 -0
  376. package/lib/Button/docs/Button__custom.docs.js +800 -0
  377. package/lib/Button/docs/Button__default.docs.js +565 -0
  378. package/lib/Button/props/defaultProps.js +22 -0
  379. package/lib/Button/props/propTypes.js +30 -0
  380. package/lib/Buttongroup/Buttongroup.js +69 -0
  381. package/lib/Buttongroup/Buttongroup.module.css +89 -0
  382. package/lib/Buttongroup/__test__/Buttongroup.spec.js +76 -0
  383. package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -0
  384. package/lib/Buttongroup/docs/Buttongroup__custom.docs.js +64 -0
  385. package/lib/Buttongroup/docs/Buttongroup__footer.docs.js +60 -0
  386. package/lib/Buttongroup/docs/Buttongroup__header.docs.js +71 -0
  387. package/lib/Buttongroup/props/defaultProps.js +11 -0
  388. package/lib/Buttongroup/props/propTypes.js +15 -0
  389. package/lib/Card/Card.js +301 -0
  390. package/lib/Card/Card.module.css +20 -0
  391. package/lib/Card/__tests__/Card.spec.js +47 -0
  392. package/lib/Card/docs/Card__Custom.docs.js +63 -0
  393. package/lib/Card/docs/Card__Default.docs.js +66 -0
  394. package/lib/Card/docs/Card__Scroll.docs.js +87 -0
  395. package/lib/Card/index.js +33 -0
  396. package/lib/Card/props/defaultProps.js +23 -0
  397. package/lib/Card/props/propTypes.js +54 -0
  398. package/lib/CheckBox/CheckBox.js +183 -0
  399. package/lib/CheckBox/CheckBox.module.css +157 -0
  400. package/lib/CheckBox/__tests__/CheckBox.spec.js +15 -0
  401. package/lib/CheckBox/docs/CheckBox__custom.docs.js +323 -0
  402. package/lib/CheckBox/docs/CheckBox__default.docs.js +249 -0
  403. package/lib/CheckBox/props/defaultProps.js +25 -0
  404. package/lib/CheckBox/props/propTypes.js +49 -0
  405. package/lib/DateTime/CalendarView.js +216 -0
  406. package/lib/DateTime/DateTime.js +766 -0
  407. package/lib/DateTime/DateTime.module.css +188 -0
  408. package/lib/DateTime/DateTimePopupFooter.js +65 -0
  409. package/lib/DateTime/DateTimePopupHeader.js +117 -0
  410. package/lib/DateTime/DateWidget.js +1015 -0
  411. package/lib/DateTime/DateWidget.module.css +38 -0
  412. package/lib/DateTime/DaysRow.js +52 -0
  413. package/lib/DateTime/Time.js +205 -0
  414. package/lib/DateTime/YearView.js +267 -0
  415. package/lib/DateTime/YearView.module.css +81 -0
  416. package/lib/DateTime/__tests__/CalendarView.spec.js +37 -0
  417. package/lib/DateTime/__tests__/DateTime.spec.js +113 -0
  418. package/lib/DateTime/__tests__/DateWidget.spec.js +79 -0
  419. package/lib/DateTime/common.js +30 -0
  420. package/lib/DateTime/constants.js +76 -0
  421. package/lib/DateTime/dateFormatUtils/dateFormat.js +551 -0
  422. package/lib/DateTime/dateFormatUtils/dayChange.js +74 -0
  423. package/lib/DateTime/dateFormatUtils/index.js +225 -0
  424. package/lib/DateTime/dateFormatUtils/monthChange.js +84 -0
  425. package/lib/DateTime/dateFormatUtils/timeChange.js +208 -0
  426. package/lib/DateTime/dateFormatUtils/yearChange.js +108 -0
  427. package/lib/DateTime/docs/DateTime__default.docs.js +119 -0
  428. package/lib/DateTime/docs/DateWidget__default.docs.js +212 -0
  429. package/lib/DateTime/docs/timezonedata.json +1 -0
  430. package/lib/DateTime/index.js +13 -0
  431. package/lib/DateTime/objectUtils.js +72 -0
  432. package/lib/DateTime/props/defaultProps.js +61 -0
  433. package/lib/DateTime/props/propTypes.js +142 -0
  434. package/lib/DateTime/typeChecker.js +22 -0
  435. package/lib/DateTime/validator.js +290 -0
  436. package/lib/DropBox/DropBox.js +266 -0
  437. package/lib/DropBox/DropBox.module.css +406 -0
  438. package/lib/DropBox/DropBoxPositionMapping.json +145 -0
  439. package/lib/DropBox/__tests__/DropBox.spec.js +83 -0
  440. package/lib/DropBox/docs/DropBox__custom.docs.js +97 -0
  441. package/lib/DropBox/docs/DropBox__customOrder.docs.js +114 -0
  442. package/lib/DropBox/docs/DropBox__fixedPosition.docs.js +113 -0
  443. package/lib/DropBox/docs/DropBox__position.docs.js +118 -0
  444. package/lib/DropBox/docs/DropBox__size.docs.js +92 -0
  445. package/lib/DropBox/props/defaultProps.js +27 -0
  446. package/lib/DropBox/props/propTypes.js +55 -0
  447. package/lib/DropDown/DropDown.js +127 -0
  448. package/lib/DropDown/DropDown.module.css +5 -0
  449. package/lib/DropDown/DropDownHeading.js +64 -0
  450. package/lib/DropDown/DropDownHeading.module.css +53 -0
  451. package/lib/DropDown/DropDownItem.js +102 -0
  452. package/lib/DropDown/DropDownItem.module.css +94 -0
  453. package/lib/DropDown/DropDownSearch.js +88 -0
  454. package/lib/DropDown/DropDownSearch.module.css +14 -0
  455. package/lib/DropDown/DropDownSeparator.js +42 -0
  456. package/lib/DropDown/DropDownSeparator.module.css +7 -0
  457. package/lib/DropDown/__tests__/DropDown.spec.js +44 -0
  458. package/lib/DropDown/__tests__/DropDownItem.spec.js +46 -0
  459. package/lib/DropDown/__tests__/DropDownSearch.spec.js +14 -0
  460. package/lib/DropDown/docs/DropDownHeading__custom.docs.js +50 -0
  461. package/lib/DropDown/docs/DropDownHeading__default.docs.js +48 -0
  462. package/lib/DropDown/props/defaultProps.js +28 -0
  463. package/lib/DropDown/props/propTypes.js +89 -0
  464. package/lib/Heading/Heading.js +64 -0
  465. package/lib/Heading/Heading.module.css +5 -0
  466. package/lib/Heading/docs/Heading__default.docs.js +50 -0
  467. package/lib/Heading/props/defaultProps.js +12 -0
  468. package/lib/Heading/props/propTypes.js +19 -0
  469. package/lib/Label/Label.js +65 -0
  470. package/lib/Label/Label.module.css +52 -0
  471. package/lib/Label/LabelColors.module.css +21 -0
  472. package/lib/Label/__tests__/Label.spec.js +124 -0
  473. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -0
  474. package/lib/Label/docs/Label__clipped.docs.js +56 -0
  475. package/lib/Label/docs/Label__custom.docs.js +59 -0
  476. package/lib/Label/docs/Label__palette.docs.js +71 -0
  477. package/lib/Label/docs/Label__size.docs.js +58 -0
  478. package/lib/Label/docs/Label__type.docs.js +66 -0
  479. package/lib/Label/props/defaultProps.js +17 -0
  480. package/lib/Label/props/propTypes.js +22 -0
  481. package/lib/Layout/Box.js +104 -0
  482. package/lib/Layout/Container.js +122 -0
  483. package/lib/Layout/Layout.module.css +336 -0
  484. package/lib/Layout/__tests__/Box.spec.js +105 -0
  485. package/lib/Layout/__tests__/Container.spec.js +110 -0
  486. package/lib/Layout/docs/Layout__Hidden.docs.js +105 -0
  487. package/lib/Layout/docs/Layout__default.docs.js +77 -0
  488. package/lib/Layout/docs/Layout__four_Column.docs.js +107 -0
  489. package/lib/Layout/docs/Layout__three_Column.docs.js +104 -0
  490. package/lib/Layout/docs/Layout__two_Column.docs.js +97 -0
  491. package/lib/Layout/index.js +30 -0
  492. package/lib/Layout/props/defaultProps.js +20 -0
  493. package/lib/Layout/props/propTypes.js +51 -0
  494. package/lib/Layout/utils.js +45 -0
  495. package/lib/LightNightMode/Colors.json +497 -0
  496. package/lib/LightNightMode/docs/AlternativeColors.docs.js +128 -0
  497. package/lib/ListItem/ListContainer.js +93 -0
  498. package/lib/ListItem/ListItem.js +153 -0
  499. package/lib/ListItem/ListItem.module.css +209 -0
  500. package/lib/ListItem/ListItemWithAvatar.js +175 -0
  501. package/lib/ListItem/ListItemWithCheckBox.js +141 -0
  502. package/lib/ListItem/ListItemWithIcon.js +158 -0
  503. package/lib/ListItem/ListItemWithRadio.js +143 -0
  504. package/lib/ListItem/docs/ListItemWithAvatar__custom.docs.js +182 -0
  505. package/lib/ListItem/docs/ListItemWithAvatar__default.docs.js +139 -0
  506. package/lib/ListItem/docs/ListItemWithCheckBox__custom.docs.js +118 -0
  507. package/lib/ListItem/docs/ListItemWithCheckBox__default.docs.js +92 -0
  508. package/lib/ListItem/docs/ListItemWithIcon__custom.docs.js +95 -0
  509. package/lib/ListItem/docs/ListItemWithIcon__default.docs.js +89 -0
  510. package/lib/ListItem/docs/ListItemWithRadio__custom.docs.js +118 -0
  511. package/lib/ListItem/docs/ListItemWithRadio__default.docs.js +92 -0
  512. package/lib/ListItem/docs/ListItem__custom.docs.js +141 -0
  513. package/lib/ListItem/docs/ListItem__default.docs.js +109 -0
  514. package/lib/ListItem/props/defaultProps.js +97 -0
  515. package/lib/ListItem/props/propTypes.js +176 -0
  516. package/lib/Modal/Modal.js +174 -0
  517. package/lib/Modal/__docs__/Modal__default.docs.js +65 -0
  518. package/lib/Modal/props/defaultProps.js +10 -0
  519. package/lib/Modal/props/propTypes.js +14 -0
  520. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +1032 -0
  521. package/lib/MultiSelect/AdvancedMultiSelect.js +544 -0
  522. package/lib/MultiSelect/EmptyState.js +85 -0
  523. package/lib/MultiSelect/MultiSelect.js +1035 -0
  524. package/lib/MultiSelect/MultiSelect.module.css +206 -0
  525. package/lib/MultiSelect/MultiSelectHeader.js +55 -0
  526. package/lib/MultiSelect/MultiSelectWithAvatar.js +296 -0
  527. package/lib/MultiSelect/SelectedOptions.js +97 -0
  528. package/lib/MultiSelect/SelectedOptions.module.css +15 -0
  529. package/lib/MultiSelect/Suggestions.js +158 -0
  530. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +159 -0
  531. package/lib/MultiSelect/docs/AdvancedGroupMultiSelect__default.docs.js +154 -0
  532. package/lib/MultiSelect/docs/AdvancedMultiSelect__default.docs.js +140 -0
  533. package/lib/MultiSelect/docs/MultiSelectWithAvatar__default.docs.js +165 -0
  534. package/lib/MultiSelect/docs/MultiSelect__default.docs.js +186 -0
  535. package/lib/MultiSelect/props/defaultProps.js +154 -0
  536. package/lib/MultiSelect/props/propTypes.js +373 -0
  537. package/lib/PopOver/PopOver.js +252 -0
  538. package/lib/PopOver/PopOver.module.css +8 -0
  539. package/lib/PopOver/__tests__/PopOver.spec.js +17 -0
  540. package/lib/PopOver/docs/PopOver__default.docs.js +61 -0
  541. package/lib/PopOver/props/defaultProps.js +15 -0
  542. package/lib/PopOver/props/propTypes.js +63 -0
  543. package/lib/Popup/Popup.js +640 -0
  544. package/lib/Popup/PositionMapping.json +74 -0
  545. package/lib/Popup/__tests__/Popup.spec.js +155 -0
  546. package/lib/Popup/viewPort.js +354 -0
  547. package/lib/Provider/AvatarSize.js +19 -0
  548. package/lib/Provider/Config.js +25 -0
  549. package/lib/Provider/CssProvider.js +23 -0
  550. package/lib/Provider/IdProvider.js +68 -0
  551. package/lib/Provider/LibraryContext.js +54 -0
  552. package/lib/Provider/LibraryContextInit.js +11 -0
  553. package/lib/Provider/NumberGenerator/NumberGenerator.js +145 -0
  554. package/lib/Provider/ZindexProvider.js +57 -0
  555. package/lib/Provider/docs/Provider_Id__Class.docs.js +56 -0
  556. package/lib/Provider/docs/Provider_Id__Function.docs.js +24 -0
  557. package/lib/Provider/docs/Provider_Zindex__Class.docs.js +59 -0
  558. package/lib/Provider/docs/Provider_Zindex__Function.docs.js +29 -0
  559. package/lib/Provider.js +149 -0
  560. package/lib/Radio/Radio.js +146 -0
  561. package/lib/Radio/Radio.module.css +112 -0
  562. package/lib/Radio/__tests__/Radiospec.js +25 -0
  563. package/lib/Radio/docs/Radio__custom.docs.js +273 -0
  564. package/lib/Radio/docs/Radio__default.docs.js +197 -0
  565. package/lib/Radio/props/defaultProps.js +21 -0
  566. package/lib/Radio/props/propTypes.js +40 -0
  567. package/lib/Responsive/CustomResponsive.js +192 -0
  568. package/lib/Responsive/RefWrapper.js +47 -0
  569. package/lib/Responsive/ResizeComponent.js +237 -0
  570. package/lib/Responsive/ResizeObserver.js +151 -0
  571. package/lib/Responsive/Responsive.js +222 -0
  572. package/lib/Responsive/docs/Responsive__Custom.docs.js +247 -0
  573. package/lib/Responsive/docs/Responsive__default.docs.js +118 -0
  574. package/lib/Responsive/docs/style.module.css +56 -0
  575. package/lib/Responsive/index.js +28 -0
  576. package/lib/Responsive/props/defaultProps.js +23 -0
  577. package/lib/Responsive/props/propTypes.js +36 -0
  578. package/lib/Responsive/sizeObservers.js +176 -0
  579. package/lib/Responsive/utils/index.js +62 -0
  580. package/lib/Responsive/utils/shallowCompare.js +29 -0
  581. package/lib/Responsive/windowResizeObserver.js +55 -0
  582. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +94 -0
  583. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -0
  584. package/lib/ResponsiveDropBox/props/defaultProps.js +11 -0
  585. package/lib/ResponsiveDropBox/props/propTypes.js +15 -0
  586. package/lib/Ribbon/Ribbon.js +71 -0
  587. package/lib/Ribbon/Ribbon.module.css +377 -0
  588. package/lib/Ribbon/__tests__/Ribbon.spec.js +171 -0
  589. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -0
  590. package/lib/Ribbon/docs/Ribbon__custom.docs.js +414 -0
  591. package/lib/Ribbon/docs/Ribbon__default.docs.js +370 -0
  592. package/lib/Ribbon/props/defaultProps.js +15 -0
  593. package/lib/Ribbon/props/propTypes.js +18 -0
  594. package/lib/RippleEffect/RippleEffect.js +35 -0
  595. package/lib/RippleEffect/RippleEffect.module.css +92 -0
  596. package/lib/RippleEffect/docs/RippleEffect__default.docs.js +462 -0
  597. package/lib/RippleEffect/props/defaultProps.js +16 -0
  598. package/lib/RippleEffect/props/propTypes.js +19 -0
  599. package/lib/Select/GroupSelect.js +763 -0
  600. package/lib/Select/Select.js +909 -0
  601. package/lib/Select/Select.module.css +106 -0
  602. package/lib/Select/SelectWithAvatar.js +332 -0
  603. package/lib/Select/SelectWithIcon.js +466 -0
  604. package/lib/Select/__tests__/Select.spec.js +341 -0
  605. package/lib/Select/docs/GroupSelect__default.docs.js +173 -0
  606. package/lib/Select/docs/SelectWithAvatar__default.docs.js +124 -0
  607. package/lib/Select/docs/SelectWithIcon__default.docs.js +165 -0
  608. package/lib/Select/docs/Select__default.docs.js +313 -0
  609. package/lib/Select/props/defaultProps.js +109 -0
  610. package/lib/Select/props/propTypes.js +276 -0
  611. package/lib/Stencils/Stencils.js +57 -0
  612. package/lib/Stencils/Stencils.module.css +96 -0
  613. package/lib/Stencils/__tests__/Stencils.spec.js +72 -0
  614. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -0
  615. package/lib/Stencils/docs/Stencils__custom.docs.js +72 -0
  616. package/lib/Stencils/docs/Stencils__default.docs.js +77 -0
  617. package/lib/Stencils/props/defaultProps.js +13 -0
  618. package/lib/Stencils/props/propTypes.js +15 -0
  619. package/lib/Switch/Switch.js +123 -0
  620. package/lib/Switch/Switch.module.css +111 -0
  621. package/lib/Switch/docs/Switch__custom.docs.js +180 -0
  622. package/lib/Switch/docs/Switch__default.docs.js +134 -0
  623. package/lib/Switch/props/defaultProps.js +17 -0
  624. package/lib/Switch/props/propTypes.js +35 -0
  625. package/lib/Tab/Tab.js +116 -0
  626. package/lib/Tab/Tab.module.css +101 -0
  627. package/lib/Tab/TabContent.js +33 -0
  628. package/lib/Tab/TabContent.module.css +4 -0
  629. package/lib/Tab/TabContentWrapper.js +33 -0
  630. package/lib/Tab/TabWrapper.js +69 -0
  631. package/lib/Tab/Tabs.js +581 -0
  632. package/lib/Tab/Tabs.module.css +141 -0
  633. package/lib/Tab/__tests__/Tab.spec.js +119 -0
  634. package/lib/Tab/__tests__/TabContent.spec.js +18 -0
  635. package/lib/Tab/__tests__/TabContentWrapper.spec.js +51 -0
  636. package/lib/Tab/__tests__/TabWrapper.spec.js +88 -0
  637. package/lib/Tab/__tests__/Tabs.spec.js +109 -0
  638. package/lib/Tab/docs/Tab__default.docs.js +283 -0
  639. package/lib/Tab/docs/tabdocs.module.css +29 -0
  640. package/lib/Tab/index.js +41 -0
  641. package/lib/Tab/props/defaultProps.js +50 -0
  642. package/lib/Tab/props/propTypes.js +114 -0
  643. package/lib/Tag/Tag.js +177 -0
  644. package/lib/Tag/Tag.module.css +255 -0
  645. package/lib/Tag/__tests__/Tag.spec.js +29 -0
  646. package/lib/Tag/docs/Tag__custom.docs.js +397 -0
  647. package/lib/Tag/docs/Tag__default.docs.js +352 -0
  648. package/lib/Tag/props/defaultProps.js +20 -0
  649. package/lib/Tag/props/propTypes.js +42 -0
  650. package/lib/TextBox/TextBox.js +193 -0
  651. package/lib/TextBox/TextBox.module.css +157 -0
  652. package/lib/TextBox/__tests__/TextBox.spec.js +195 -0
  653. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -0
  654. package/lib/TextBox/docs/TextBox__custom.docs.js +72 -0
  655. package/lib/TextBox/docs/TextBox__default.docs.js +69 -0
  656. package/lib/TextBox/docs/TextBox__size.docs.js +67 -0
  657. package/lib/TextBox/docs/TextBox__variant.docs.js +67 -0
  658. package/lib/TextBox/props/defaultProps.js +26 -0
  659. package/lib/TextBox/props/propTypes.js +57 -0
  660. package/lib/TextBoxIcon/TextBoxIcon.js +187 -0
  661. package/lib/TextBoxIcon/TextBoxIcon.module.css +78 -0
  662. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +219 -0
  663. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -0
  664. package/lib/TextBoxIcon/docs/TextBoxIcon__custom.docs.js +118 -0
  665. package/lib/TextBoxIcon/docs/TextBoxIcon__default.docs.js +90 -0
  666. package/lib/TextBoxIcon/props/defaultProps.js +28 -0
  667. package/lib/TextBoxIcon/props/propTypes.js +57 -0
  668. package/lib/Textarea/Textarea.js +130 -0
  669. package/lib/Textarea/Textarea.module.css +139 -0
  670. package/lib/Textarea/__tests__/Textarea.spec.js +174 -0
  671. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -0
  672. package/lib/Textarea/docs/Textarea__animated.docs.js +70 -0
  673. package/lib/Textarea/docs/Textarea__custom.docs.js +111 -0
  674. package/lib/Textarea/docs/Textarea__default.docs.js +105 -0
  675. package/lib/Textarea/docs/Textarea__disabled.docs.js +58 -0
  676. package/lib/Textarea/props/defaultProps.js +23 -0
  677. package/lib/Textarea/props/propTypes.js +39 -0
  678. package/lib/Tooltip/Tooltip.js +516 -0
  679. package/lib/Tooltip/Tooltip.module.css +109 -0
  680. package/lib/Tooltip/__tests__/Tooltip.spec.js +75 -0
  681. package/lib/Tooltip/docs/Tooltip__default.docs.js +402 -0
  682. package/lib/Tooltip/props/defaultProps.js +11 -0
  683. package/lib/Tooltip/props/propTypes.js +16 -0
  684. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +100 -0
  685. package/lib/VelocityAnimation/VelocityAnimation/docs/VelocityAnimation__demo.docs.js +123 -0
  686. package/lib/VelocityAnimation/VelocityAnimation/props/defaultProps.js +14 -0
  687. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +20 -0
  688. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +131 -0
  689. package/lib/VelocityAnimation/VelocityAnimationGroup/docs/VelocityAnimationGroup__demo.docs.js +174 -0
  690. package/lib/VelocityAnimation/VelocityAnimationGroup/props/defaultProps.js +22 -0
  691. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +27 -0
  692. package/lib/common/animation.module.css +624 -0
  693. package/lib/common/avatarsizes.module.css +45 -0
  694. package/lib/common/basic.module.css +33 -0
  695. package/lib/common/basicReset.module.css +40 -0
  696. package/lib/common/common.module.css +525 -0
  697. package/lib/common/customscroll.module.css +89 -0
  698. package/lib/common/docStyle.module.css +887 -0
  699. package/lib/common/reset.module.css +12 -0
  700. package/lib/common/transition.module.css +146 -0
  701. package/lib/css.js +42 -0
  702. package/lib/deprecated/AdvancedMultiSelect.module.css +127 -0
  703. package/lib/deprecated/PortalLayer/PortalLayer.js +126 -0
  704. package/lib/deprecated/PortalLayer/docs/PortalLayer__default.docs.js +111 -0
  705. package/lib/deprecated/PortalLayer/props/defaultProps.js +12 -0
  706. package/lib/deprecated/PortalLayer/props/propTypes.js +19 -0
  707. package/lib/deprecated/advancedMultiSelectVariableJson.js +82 -0
  708. package/lib/index.js +1245 -0
  709. package/lib/semantic/Button/Button.js +81 -0
  710. package/lib/semantic/Button/docs/Button__default.docs.js +43 -0
  711. package/lib/semantic/Button/props/defaultProps.js +19 -0
  712. package/lib/semantic/Button/props/propTypes.js +34 -0
  713. package/lib/semantic/Button/semanticButton.module.css +9 -0
  714. package/lib/utils/Common.js +373 -0
  715. package/lib/utils/ContextOptimizer.js +43 -0
  716. package/lib/utils/__tests__/constructFullName.spec.js +11 -0
  717. package/lib/utils/__tests__/debounce.spec.js +39 -0
  718. package/lib/utils/__tests__/getInitial.spec.js +25 -0
  719. package/lib/utils/constant.js +10 -0
  720. package/lib/utils/constructFullName.js +25 -0
  721. package/lib/utils/datetime/common.js +206 -0
  722. package/lib/utils/debounce.js +25 -0
  723. package/lib/utils/dropDownUtils.js +491 -0
  724. package/lib/utils/dummyFunction.js +8 -0
  725. package/lib/utils/getHTMLFontSize.js +10 -0
  726. package/lib/utils/getInitial.js +27 -0
  727. package/lib/utils/scrollTo.js +20 -0
  728. package/lib/utils/shallowEqual.js +33 -0
  729. package/package.json +76 -76
  730. package/es/FramerAnimation/FramerAnimation.js +0 -206
  731. package/es/FramerAnimation/docs/FramerAnimation__default.docs.js +0 -123
@@ -1,422 +1,422 @@
1
- // TODO actually recognize syntax of TypeScript constructs
2
-
3
- CodeMirror.defineMode("javascript", function(config, parserConfig) {
4
- var indentUnit = config.indentUnit;
5
- var jsonMode = parserConfig.json;
6
- var isTS = parserConfig.typescript;
7
-
8
- // Tokenizer
9
-
10
- var keywords = function(){
11
- function kw(type) {return {type: type, style: "keyword"};}
12
- var A = kw("keyword a"), B = kw("keyword b"), C = kw("keyword c");
13
- var operator = kw("operator"), atom = {type: "atom", style: "atom"};
14
-
15
- var jsKeywords = {
16
- "if": A, "while": A, "with": A, "else": B, "do": B, "try": B, "finally": B,
17
- "return": C, "break": C, "continue": C, "new": C, "delete": C, "throw": C,
18
- "var": kw("var"), "const": kw("var"), "let": kw("var"),
19
- "function": kw("function"), "catch": kw("catch"),
20
- "for": kw("for"), "switch": kw("switch"), "case": kw("case"), "default": kw("default"),
21
- "in": operator, "typeof": operator, "instanceof": operator,
22
- "true": atom, "false": atom, "null": atom, "undefined": atom, "NaN": atom, "Infinity": atom
23
- };
24
-
25
- // Extend the 'normal' keywords with the TypeScript language extensions
26
- if (isTS) {
27
- var type = {type: "variable", style: "variable-3"};
28
- var tsKeywords = {
29
- // object-like things
30
- "interface": kw("interface"),
31
- "class": kw("class"),
32
- "extends": kw("extends"),
33
- "constructor": kw("constructor"),
34
-
35
- // scope modifiers
36
- "public": kw("public"),
37
- "private": kw("private"),
38
- "protected": kw("protected"),
39
- "static": kw("static"),
40
-
41
- "super": kw("super"),
42
-
43
- // types
44
- "string": type, "number": type, "bool": type, "any": type
45
- };
46
-
47
- for (var attr in tsKeywords) {
48
- jsKeywords[attr] = tsKeywords[attr];
49
- }
50
- }
51
-
52
- return jsKeywords;
53
- }();
54
-
55
- var isOperatorChar = /[+\-*&%=<>!?|]/;
56
-
57
- function chain(stream, state, f) {
58
- state.tokenize = f;
59
- return f(stream, state);
60
- }
61
-
62
- function nextUntilUnescaped(stream, end) {
63
- var escaped = false, next;
64
- while ((next = stream.next()) != null) {
65
- if (next == end && !escaped)
66
- return false;
67
- escaped = !escaped && next == "\\";
68
- }
69
- return escaped;
70
- }
71
-
72
- // Used as scratch variables to communicate multiple values without
73
- // consing up tons of objects.
74
- var type, content;
75
- function ret(tp, style, cont) {
76
- type = tp; content = cont;
77
- return style;
78
- }
79
-
80
- function jsTokenBase(stream, state) {
81
- var ch = stream.next();
82
- if (ch == '"' || ch == "'")
83
- return chain(stream, state, jsTokenString(ch));
84
- else if (/[\[\]{}\(\),;\:\.]/.test(ch))
85
- return ret(ch);
86
- else if (ch == "0" && stream.eat(/x/i)) {
87
- stream.eatWhile(/[\da-f]/i);
88
- return ret("number", "number");
89
- }
90
- else if (/\d/.test(ch) || ch == "-" && stream.eat(/\d/)) {
91
- stream.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/);
92
- return ret("number", "number");
93
- }
94
- else if (ch == "/") {
95
- if (stream.eat("*")) {
96
- return chain(stream, state, jsTokenComment);
97
- }
98
- else if (stream.eat("/")) {
99
- stream.skipToEnd();
100
- return ret("comment", "comment");
101
- }
102
- else if (state.lastType == "operator" || state.lastType == "keyword c" ||
103
- /^[\[{}\(,;:]$/.test(state.lastType)) {
104
- nextUntilUnescaped(stream, "/");
105
- stream.eatWhile(/[gimy]/); // 'y' is "sticky" option in Mozilla
106
- return ret("regexp", "string-2");
107
- }
108
- else {
109
- stream.eatWhile(isOperatorChar);
110
- return ret("operator", null, stream.current());
111
- }
112
- }
113
- else if (ch == "#") {
114
- stream.skipToEnd();
115
- return ret("error", "error");
116
- }
117
- else if (isOperatorChar.test(ch)) {
118
- stream.eatWhile(isOperatorChar);
119
- return ret("operator", null, stream.current());
120
- }
121
- else {
122
- stream.eatWhile(/[\w\$_]/);
123
- var word = stream.current(), known = keywords.propertyIsEnumerable(word) && keywords[word];
124
- return (known && state.lastType != ".") ? ret(known.type, known.style, word) :
125
- ret("variable", "variable", word);
126
- }
127
- }
128
-
129
- function jsTokenString(quote) {
130
- return function(stream, state) {
131
- if (!nextUntilUnescaped(stream, quote))
132
- state.tokenize = jsTokenBase;
133
- return ret("string", "string");
134
- };
135
- }
136
-
137
- function jsTokenComment(stream, state) {
138
- var maybeEnd = false, ch;
139
- while (ch = stream.next()) {
140
- if (ch == "/" && maybeEnd) {
141
- state.tokenize = jsTokenBase;
142
- break;
143
- }
144
- maybeEnd = (ch == "*");
145
- }
146
- return ret("comment", "comment");
147
- }
148
-
149
- // Parser
150
-
151
- var atomicTypes = {"atom": true, "number": true, "variable": true, "string": true, "regexp": true};
152
-
153
- function JSLexical(indented, column, type, align, prev, info) {
154
- this.indented = indented;
155
- this.column = column;
156
- this.type = type;
157
- this.prev = prev;
158
- this.info = info;
159
- if (align != null) this.align = align;
160
- }
161
-
162
- function inScope(state, varname) {
163
- for (var v = state.localVars; v; v = v.next)
164
- if (v.name == varname) return true;
165
- }
166
-
167
- function parseJS(state, style, type, content, stream) {
168
- var cc = state.cc;
169
- // Communicate our context to the combinators.
170
- // (Less wasteful than consing up a hundred closures on every call.)
171
- cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc;
172
-
173
- if (!state.lexical.hasOwnProperty("align"))
174
- state.lexical.align = true;
175
-
176
- while(true) {
177
- var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;
178
- if (combinator(type, content)) {
179
- while(cc.length && cc[cc.length - 1].lex)
180
- cc.pop()();
181
- if (cx.marked) return cx.marked;
182
- if (type == "variable" && inScope(state, content)) return "variable-2";
183
- return style;
184
- }
185
- }
186
- }
187
-
188
- // Combinator utils
189
-
190
- var cx = {state: null, column: null, marked: null, cc: null};
191
- function pass() {
192
- for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);
193
- }
194
- function cont() {
195
- pass.apply(null, arguments);
196
- return true;
197
- }
198
- function register(varname) {
199
- function inList(list) {
200
- for (var v = list; v; v = v.next)
201
- if (v.name == varname) return true;
202
- return false;
203
- }
204
- var state = cx.state;
205
- if (state.context) {
206
- cx.marked = "def";
207
- if (inList(state.localVars)) return;
208
- state.localVars = {name: varname, next: state.localVars};
209
- } else {
210
- if (inList(state.globalVars)) return;
211
- state.globalVars = {name: varname, next: state.globalVars};
212
- }
213
- }
214
-
215
- // Combinators
216
-
217
- var defaultVars = {name: "this", next: {name: "arguments"}};
218
- function pushcontext() {
219
- cx.state.context = {prev: cx.state.context, vars: cx.state.localVars};
220
- cx.state.localVars = defaultVars;
221
- }
222
- function popcontext() {
223
- cx.state.localVars = cx.state.context.vars;
224
- cx.state.context = cx.state.context.prev;
225
- }
226
- function pushlex(type, info) {
227
- var result = function() {
228
- var state = cx.state;
229
- state.lexical = new JSLexical(state.indented, cx.stream.column(), type, null, state.lexical, info);
230
- };
231
- result.lex = true;
232
- return result;
233
- }
234
- function poplex() {
235
- var state = cx.state;
236
- if (state.lexical.prev) {
237
- if (state.lexical.type == ")")
238
- state.indented = state.lexical.indented;
239
- state.lexical = state.lexical.prev;
240
- }
241
- }
242
- poplex.lex = true;
243
-
244
- function expect(wanted) {
245
- return function expecting(type) {
246
- if (type == wanted) return cont();
247
- else if (wanted == ";") return pass();
248
- else return cont(arguments.callee);
249
- };
250
- }
251
-
252
- function statement(type) {
253
- if (type == "var") return cont(pushlex("vardef"), vardef1, expect(";"), poplex);
254
- if (type == "keyword a") return cont(pushlex("form"), expression, statement, poplex);
255
- if (type == "keyword b") return cont(pushlex("form"), statement, poplex);
256
- if (type == "{") return cont(pushlex("}"), block, poplex);
257
- if (type == ";") return cont();
258
- if (type == "function") return cont(functiondef);
259
- if (type == "for") return cont(pushlex("form"), expect("("), pushlex(")"), forspec1, expect(")"),
260
- poplex, statement, poplex);
261
- if (type == "variable") return cont(pushlex("stat"), maybelabel);
262
- if (type == "switch") return cont(pushlex("form"), expression, pushlex("}", "switch"), expect("{"),
263
- block, poplex, poplex);
264
- if (type == "case") return cont(expression, expect(":"));
265
- if (type == "default") return cont(expect(":"));
266
- if (type == "catch") return cont(pushlex("form"), pushcontext, expect("("), funarg, expect(")"),
267
- statement, poplex, popcontext);
268
- return pass(pushlex("stat"), expression, expect(";"), poplex);
269
- }
270
- function expression(type) {
271
- if (atomicTypes.hasOwnProperty(type)) return cont(maybeoperator);
272
- if (type == "function") return cont(functiondef);
273
- if (type == "keyword c") return cont(maybeexpression);
274
- if (type == "(") return cont(pushlex(")"), maybeexpression, expect(")"), poplex, maybeoperator);
275
- if (type == "operator") return cont(expression);
276
- if (type == "[") return cont(pushlex("]"), commasep(expression, "]"), poplex, maybeoperator);
277
- if (type == "{") return cont(pushlex("}"), commasep(objprop, "}"), poplex, maybeoperator);
278
- return cont();
279
- }
280
- function maybeexpression(type) {
281
- if (type.match(/[;\}\)\],]/)) return pass();
282
- return pass(expression);
283
- }
284
-
285
- function maybeoperator(type, value) {
286
- if (type == "operator" && /\+\+|--/.test(value)) return cont(maybeoperator);
287
- if (type == "operator" && value == "?") return cont(expression, expect(":"), expression);
288
- if (type == ";") return;
289
- if (type == "(") return cont(pushlex(")"), commasep(expression, ")"), poplex, maybeoperator);
290
- if (type == ".") return cont(property, maybeoperator);
291
- if (type == "[") return cont(pushlex("]"), expression, expect("]"), poplex, maybeoperator);
292
- }
293
- function maybelabel(type) {
294
- if (type == ":") return cont(poplex, statement);
295
- return pass(maybeoperator, expect(";"), poplex);
296
- }
297
- function property(type) {
298
- if (type == "variable") {cx.marked = "property"; return cont();}
299
- }
300
- function objprop(type) {
301
- if (type == "variable") cx.marked = "property";
302
- if (atomicTypes.hasOwnProperty(type)) return cont(expect(":"), expression);
303
- }
304
- function commasep(what, end) {
305
- function proceed(type) {
306
- if (type == ",") return cont(what, proceed);
307
- if (type == end) return cont();
308
- return cont(expect(end));
309
- }
310
- return function commaSeparated(type) {
311
- if (type == end) return cont();
312
- else return pass(what, proceed);
313
- };
314
- }
315
- function block(type) {
316
- if (type == "}") return cont();
317
- return pass(statement, block);
318
- }
319
- function maybetype(type) {
320
- if (type == ":") return cont(typedef);
321
- return pass();
322
- }
323
- function typedef(type) {
324
- if (type == "variable"){cx.marked = "variable-3"; return cont();}
325
- return pass();
326
- }
327
- function vardef1(type, value) {
328
- if (type == "variable") {
329
- register(value);
330
- return isTS ? cont(maybetype, vardef2) : cont(vardef2);
331
- }
332
- return pass();
333
- }
334
- function vardef2(type, value) {
335
- if (value == "=") return cont(expression, vardef2);
336
- if (type == ",") return cont(vardef1);
337
- }
338
- function forspec1(type) {
339
- if (type == "var") return cont(vardef1, expect(";"), forspec2);
340
- if (type == ";") return cont(forspec2);
341
- if (type == "variable") return cont(formaybein);
342
- return cont(forspec2);
343
- }
344
- function formaybein(type, value) {
345
- if (value == "in") return cont(expression);
346
- return cont(maybeoperator, forspec2);
347
- }
348
- function forspec2(type, value) {
349
- if (type == ";") return cont(forspec3);
350
- if (value == "in") return cont(expression);
351
- return cont(expression, expect(";"), forspec3);
352
- }
353
- function forspec3(type) {
354
- if (type != ")") cont(expression);
355
- }
356
- function functiondef(type, value) {
357
- if (type == "variable") {register(value); return cont(functiondef);}
358
- if (type == "(") return cont(pushlex(")"), pushcontext, commasep(funarg, ")"), poplex, statement, popcontext);
359
- }
360
- function funarg(type, value) {
361
- if (type == "variable") {register(value); return isTS ? cont(maybetype) : cont();}
362
- }
363
-
364
- // Interface
365
-
366
- return {
367
- startState: function(basecolumn) {
368
- return {
369
- tokenize: jsTokenBase,
370
- lastType: null,
371
- cc: [],
372
- lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, "block", false),
373
- localVars: parserConfig.localVars,
374
- globalVars: parserConfig.globalVars,
375
- context: parserConfig.localVars && {vars: parserConfig.localVars},
376
- indented: 0
377
- };
378
- },
379
-
380
- token: function(stream, state) {
381
- if (stream.sol()) {
382
- if (!state.lexical.hasOwnProperty("align"))
383
- state.lexical.align = false;
384
- state.indented = stream.indentation();
385
- }
386
- if (stream.eatSpace()) return null;
387
- var style = state.tokenize(stream, state);
388
- if (type == "comment") return style;
389
- state.lastType = type;
390
- return parseJS(state, style, type, content, stream);
391
- },
392
-
393
- indent: function(state, textAfter) {
394
- if (state.tokenize == jsTokenComment) return CodeMirror.Pass;
395
- if (state.tokenize != jsTokenBase) return 0;
396
- var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical;
397
- if (lexical.type == "stat" && firstChar == "}") lexical = lexical.prev;
398
- var type = lexical.type, closing = firstChar == type;
399
- if (type == "vardef") return lexical.indented + (state.lastType == "operator" || state.lastType == "," ? 4 : 0);
400
- else if (type == "form" && firstChar == "{") return lexical.indented;
401
- else if (type == "form") return lexical.indented + indentUnit;
402
- else if (type == "stat")
403
- return lexical.indented + (state.lastType == "operator" || state.lastType == "," ? indentUnit : 0);
404
- else if (lexical.info == "switch" && !closing)
405
- return lexical.indented + (/^(?:case|default)\b/.test(textAfter) ? indentUnit : 2 * indentUnit);
406
- else if (lexical.align) return lexical.column + (closing ? 0 : 1);
407
- else return lexical.indented + (closing ? 0 : indentUnit);
408
- },
409
-
410
- electricChars: ":{}",
411
-
412
- jsonMode: jsonMode
413
- };
414
- });
415
-
416
- CodeMirror.defineMIME("text/javascript", "javascript");
417
- CodeMirror.defineMIME("text/ecmascript", "javascript");
418
- CodeMirror.defineMIME("application/javascript", "javascript");
419
- CodeMirror.defineMIME("application/ecmascript", "javascript");
420
- CodeMirror.defineMIME("application/json", {name: "javascript", json: true});
421
- CodeMirror.defineMIME("text/typescript", { name: "javascript", typescript: true });
422
- CodeMirror.defineMIME("application/typescript", { name: "javascript", typescript: true });
1
+ // TODO actually recognize syntax of TypeScript constructs
2
+
3
+ CodeMirror.defineMode("javascript", function(config, parserConfig) {
4
+ var indentUnit = config.indentUnit;
5
+ var jsonMode = parserConfig.json;
6
+ var isTS = parserConfig.typescript;
7
+
8
+ // Tokenizer
9
+
10
+ var keywords = function(){
11
+ function kw(type) {return {type: type, style: "keyword"};}
12
+ var A = kw("keyword a"), B = kw("keyword b"), C = kw("keyword c");
13
+ var operator = kw("operator"), atom = {type: "atom", style: "atom"};
14
+
15
+ var jsKeywords = {
16
+ "if": A, "while": A, "with": A, "else": B, "do": B, "try": B, "finally": B,
17
+ "return": C, "break": C, "continue": C, "new": C, "delete": C, "throw": C,
18
+ "var": kw("var"), "const": kw("var"), "let": kw("var"),
19
+ "function": kw("function"), "catch": kw("catch"),
20
+ "for": kw("for"), "switch": kw("switch"), "case": kw("case"), "default": kw("default"),
21
+ "in": operator, "typeof": operator, "instanceof": operator,
22
+ "true": atom, "false": atom, "null": atom, "undefined": atom, "NaN": atom, "Infinity": atom
23
+ };
24
+
25
+ // Extend the 'normal' keywords with the TypeScript language extensions
26
+ if (isTS) {
27
+ var type = {type: "variable", style: "variable-3"};
28
+ var tsKeywords = {
29
+ // object-like things
30
+ "interface": kw("interface"),
31
+ "class": kw("class"),
32
+ "extends": kw("extends"),
33
+ "constructor": kw("constructor"),
34
+
35
+ // scope modifiers
36
+ "public": kw("public"),
37
+ "private": kw("private"),
38
+ "protected": kw("protected"),
39
+ "static": kw("static"),
40
+
41
+ "super": kw("super"),
42
+
43
+ // types
44
+ "string": type, "number": type, "bool": type, "any": type
45
+ };
46
+
47
+ for (var attr in tsKeywords) {
48
+ jsKeywords[attr] = tsKeywords[attr];
49
+ }
50
+ }
51
+
52
+ return jsKeywords;
53
+ }();
54
+
55
+ var isOperatorChar = /[+\-*&%=<>!?|]/;
56
+
57
+ function chain(stream, state, f) {
58
+ state.tokenize = f;
59
+ return f(stream, state);
60
+ }
61
+
62
+ function nextUntilUnescaped(stream, end) {
63
+ var escaped = false, next;
64
+ while ((next = stream.next()) != null) {
65
+ if (next == end && !escaped)
66
+ return false;
67
+ escaped = !escaped && next == "\\";
68
+ }
69
+ return escaped;
70
+ }
71
+
72
+ // Used as scratch variables to communicate multiple values without
73
+ // consing up tons of objects.
74
+ var type, content;
75
+ function ret(tp, style, cont) {
76
+ type = tp; content = cont;
77
+ return style;
78
+ }
79
+
80
+ function jsTokenBase(stream, state) {
81
+ var ch = stream.next();
82
+ if (ch == '"' || ch == "'")
83
+ return chain(stream, state, jsTokenString(ch));
84
+ else if (/[\[\]{}\(\),;\:\.]/.test(ch))
85
+ return ret(ch);
86
+ else if (ch == "0" && stream.eat(/x/i)) {
87
+ stream.eatWhile(/[\da-f]/i);
88
+ return ret("number", "number");
89
+ }
90
+ else if (/\d/.test(ch) || ch == "-" && stream.eat(/\d/)) {
91
+ stream.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/);
92
+ return ret("number", "number");
93
+ }
94
+ else if (ch == "/") {
95
+ if (stream.eat("*")) {
96
+ return chain(stream, state, jsTokenComment);
97
+ }
98
+ else if (stream.eat("/")) {
99
+ stream.skipToEnd();
100
+ return ret("comment", "comment");
101
+ }
102
+ else if (state.lastType == "operator" || state.lastType == "keyword c" ||
103
+ /^[\[{}\(,;:]$/.test(state.lastType)) {
104
+ nextUntilUnescaped(stream, "/");
105
+ stream.eatWhile(/[gimy]/); // 'y' is "sticky" option in Mozilla
106
+ return ret("regexp", "string-2");
107
+ }
108
+ else {
109
+ stream.eatWhile(isOperatorChar);
110
+ return ret("operator", null, stream.current());
111
+ }
112
+ }
113
+ else if (ch == "#") {
114
+ stream.skipToEnd();
115
+ return ret("error", "error");
116
+ }
117
+ else if (isOperatorChar.test(ch)) {
118
+ stream.eatWhile(isOperatorChar);
119
+ return ret("operator", null, stream.current());
120
+ }
121
+ else {
122
+ stream.eatWhile(/[\w\$_]/);
123
+ var word = stream.current(), known = keywords.propertyIsEnumerable(word) && keywords[word];
124
+ return (known && state.lastType != ".") ? ret(known.type, known.style, word) :
125
+ ret("variable", "variable", word);
126
+ }
127
+ }
128
+
129
+ function jsTokenString(quote) {
130
+ return function(stream, state) {
131
+ if (!nextUntilUnescaped(stream, quote))
132
+ state.tokenize = jsTokenBase;
133
+ return ret("string", "string");
134
+ };
135
+ }
136
+
137
+ function jsTokenComment(stream, state) {
138
+ var maybeEnd = false, ch;
139
+ while (ch = stream.next()) {
140
+ if (ch == "/" && maybeEnd) {
141
+ state.tokenize = jsTokenBase;
142
+ break;
143
+ }
144
+ maybeEnd = (ch == "*");
145
+ }
146
+ return ret("comment", "comment");
147
+ }
148
+
149
+ // Parser
150
+
151
+ var atomicTypes = {"atom": true, "number": true, "variable": true, "string": true, "regexp": true};
152
+
153
+ function JSLexical(indented, column, type, align, prev, info) {
154
+ this.indented = indented;
155
+ this.column = column;
156
+ this.type = type;
157
+ this.prev = prev;
158
+ this.info = info;
159
+ if (align != null) this.align = align;
160
+ }
161
+
162
+ function inScope(state, varname) {
163
+ for (var v = state.localVars; v; v = v.next)
164
+ if (v.name == varname) return true;
165
+ }
166
+
167
+ function parseJS(state, style, type, content, stream) {
168
+ var cc = state.cc;
169
+ // Communicate our context to the combinators.
170
+ // (Less wasteful than consing up a hundred closures on every call.)
171
+ cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc;
172
+
173
+ if (!state.lexical.hasOwnProperty("align"))
174
+ state.lexical.align = true;
175
+
176
+ while(true) {
177
+ var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;
178
+ if (combinator(type, content)) {
179
+ while(cc.length && cc[cc.length - 1].lex)
180
+ cc.pop()();
181
+ if (cx.marked) return cx.marked;
182
+ if (type == "variable" && inScope(state, content)) return "variable-2";
183
+ return style;
184
+ }
185
+ }
186
+ }
187
+
188
+ // Combinator utils
189
+
190
+ var cx = {state: null, column: null, marked: null, cc: null};
191
+ function pass() {
192
+ for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);
193
+ }
194
+ function cont() {
195
+ pass.apply(null, arguments);
196
+ return true;
197
+ }
198
+ function register(varname) {
199
+ function inList(list) {
200
+ for (var v = list; v; v = v.next)
201
+ if (v.name == varname) return true;
202
+ return false;
203
+ }
204
+ var state = cx.state;
205
+ if (state.context) {
206
+ cx.marked = "def";
207
+ if (inList(state.localVars)) return;
208
+ state.localVars = {name: varname, next: state.localVars};
209
+ } else {
210
+ if (inList(state.globalVars)) return;
211
+ state.globalVars = {name: varname, next: state.globalVars};
212
+ }
213
+ }
214
+
215
+ // Combinators
216
+
217
+ var defaultVars = {name: "this", next: {name: "arguments"}};
218
+ function pushcontext() {
219
+ cx.state.context = {prev: cx.state.context, vars: cx.state.localVars};
220
+ cx.state.localVars = defaultVars;
221
+ }
222
+ function popcontext() {
223
+ cx.state.localVars = cx.state.context.vars;
224
+ cx.state.context = cx.state.context.prev;
225
+ }
226
+ function pushlex(type, info) {
227
+ var result = function() {
228
+ var state = cx.state;
229
+ state.lexical = new JSLexical(state.indented, cx.stream.column(), type, null, state.lexical, info);
230
+ };
231
+ result.lex = true;
232
+ return result;
233
+ }
234
+ function poplex() {
235
+ var state = cx.state;
236
+ if (state.lexical.prev) {
237
+ if (state.lexical.type == ")")
238
+ state.indented = state.lexical.indented;
239
+ state.lexical = state.lexical.prev;
240
+ }
241
+ }
242
+ poplex.lex = true;
243
+
244
+ function expect(wanted) {
245
+ return function expecting(type) {
246
+ if (type == wanted) return cont();
247
+ else if (wanted == ";") return pass();
248
+ else return cont(arguments.callee);
249
+ };
250
+ }
251
+
252
+ function statement(type) {
253
+ if (type == "var") return cont(pushlex("vardef"), vardef1, expect(";"), poplex);
254
+ if (type == "keyword a") return cont(pushlex("form"), expression, statement, poplex);
255
+ if (type == "keyword b") return cont(pushlex("form"), statement, poplex);
256
+ if (type == "{") return cont(pushlex("}"), block, poplex);
257
+ if (type == ";") return cont();
258
+ if (type == "function") return cont(functiondef);
259
+ if (type == "for") return cont(pushlex("form"), expect("("), pushlex(")"), forspec1, expect(")"),
260
+ poplex, statement, poplex);
261
+ if (type == "variable") return cont(pushlex("stat"), maybelabel);
262
+ if (type == "switch") return cont(pushlex("form"), expression, pushlex("}", "switch"), expect("{"),
263
+ block, poplex, poplex);
264
+ if (type == "case") return cont(expression, expect(":"));
265
+ if (type == "default") return cont(expect(":"));
266
+ if (type == "catch") return cont(pushlex("form"), pushcontext, expect("("), funarg, expect(")"),
267
+ statement, poplex, popcontext);
268
+ return pass(pushlex("stat"), expression, expect(";"), poplex);
269
+ }
270
+ function expression(type) {
271
+ if (atomicTypes.hasOwnProperty(type)) return cont(maybeoperator);
272
+ if (type == "function") return cont(functiondef);
273
+ if (type == "keyword c") return cont(maybeexpression);
274
+ if (type == "(") return cont(pushlex(")"), maybeexpression, expect(")"), poplex, maybeoperator);
275
+ if (type == "operator") return cont(expression);
276
+ if (type == "[") return cont(pushlex("]"), commasep(expression, "]"), poplex, maybeoperator);
277
+ if (type == "{") return cont(pushlex("}"), commasep(objprop, "}"), poplex, maybeoperator);
278
+ return cont();
279
+ }
280
+ function maybeexpression(type) {
281
+ if (type.match(/[;\}\)\],]/)) return pass();
282
+ return pass(expression);
283
+ }
284
+
285
+ function maybeoperator(type, value) {
286
+ if (type == "operator" && /\+\+|--/.test(value)) return cont(maybeoperator);
287
+ if (type == "operator" && value == "?") return cont(expression, expect(":"), expression);
288
+ if (type == ";") return;
289
+ if (type == "(") return cont(pushlex(")"), commasep(expression, ")"), poplex, maybeoperator);
290
+ if (type == ".") return cont(property, maybeoperator);
291
+ if (type == "[") return cont(pushlex("]"), expression, expect("]"), poplex, maybeoperator);
292
+ }
293
+ function maybelabel(type) {
294
+ if (type == ":") return cont(poplex, statement);
295
+ return pass(maybeoperator, expect(";"), poplex);
296
+ }
297
+ function property(type) {
298
+ if (type == "variable") {cx.marked = "property"; return cont();}
299
+ }
300
+ function objprop(type) {
301
+ if (type == "variable") cx.marked = "property";
302
+ if (atomicTypes.hasOwnProperty(type)) return cont(expect(":"), expression);
303
+ }
304
+ function commasep(what, end) {
305
+ function proceed(type) {
306
+ if (type == ",") return cont(what, proceed);
307
+ if (type == end) return cont();
308
+ return cont(expect(end));
309
+ }
310
+ return function commaSeparated(type) {
311
+ if (type == end) return cont();
312
+ else return pass(what, proceed);
313
+ };
314
+ }
315
+ function block(type) {
316
+ if (type == "}") return cont();
317
+ return pass(statement, block);
318
+ }
319
+ function maybetype(type) {
320
+ if (type == ":") return cont(typedef);
321
+ return pass();
322
+ }
323
+ function typedef(type) {
324
+ if (type == "variable"){cx.marked = "variable-3"; return cont();}
325
+ return pass();
326
+ }
327
+ function vardef1(type, value) {
328
+ if (type == "variable") {
329
+ register(value);
330
+ return isTS ? cont(maybetype, vardef2) : cont(vardef2);
331
+ }
332
+ return pass();
333
+ }
334
+ function vardef2(type, value) {
335
+ if (value == "=") return cont(expression, vardef2);
336
+ if (type == ",") return cont(vardef1);
337
+ }
338
+ function forspec1(type) {
339
+ if (type == "var") return cont(vardef1, expect(";"), forspec2);
340
+ if (type == ";") return cont(forspec2);
341
+ if (type == "variable") return cont(formaybein);
342
+ return cont(forspec2);
343
+ }
344
+ function formaybein(type, value) {
345
+ if (value == "in") return cont(expression);
346
+ return cont(maybeoperator, forspec2);
347
+ }
348
+ function forspec2(type, value) {
349
+ if (type == ";") return cont(forspec3);
350
+ if (value == "in") return cont(expression);
351
+ return cont(expression, expect(";"), forspec3);
352
+ }
353
+ function forspec3(type) {
354
+ if (type != ")") cont(expression);
355
+ }
356
+ function functiondef(type, value) {
357
+ if (type == "variable") {register(value); return cont(functiondef);}
358
+ if (type == "(") return cont(pushlex(")"), pushcontext, commasep(funarg, ")"), poplex, statement, popcontext);
359
+ }
360
+ function funarg(type, value) {
361
+ if (type == "variable") {register(value); return isTS ? cont(maybetype) : cont();}
362
+ }
363
+
364
+ // Interface
365
+
366
+ return {
367
+ startState: function(basecolumn) {
368
+ return {
369
+ tokenize: jsTokenBase,
370
+ lastType: null,
371
+ cc: [],
372
+ lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, "block", false),
373
+ localVars: parserConfig.localVars,
374
+ globalVars: parserConfig.globalVars,
375
+ context: parserConfig.localVars && {vars: parserConfig.localVars},
376
+ indented: 0
377
+ };
378
+ },
379
+
380
+ token: function(stream, state) {
381
+ if (stream.sol()) {
382
+ if (!state.lexical.hasOwnProperty("align"))
383
+ state.lexical.align = false;
384
+ state.indented = stream.indentation();
385
+ }
386
+ if (stream.eatSpace()) return null;
387
+ var style = state.tokenize(stream, state);
388
+ if (type == "comment") return style;
389
+ state.lastType = type;
390
+ return parseJS(state, style, type, content, stream);
391
+ },
392
+
393
+ indent: function(state, textAfter) {
394
+ if (state.tokenize == jsTokenComment) return CodeMirror.Pass;
395
+ if (state.tokenize != jsTokenBase) return 0;
396
+ var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical;
397
+ if (lexical.type == "stat" && firstChar == "}") lexical = lexical.prev;
398
+ var type = lexical.type, closing = firstChar == type;
399
+ if (type == "vardef") return lexical.indented + (state.lastType == "operator" || state.lastType == "," ? 4 : 0);
400
+ else if (type == "form" && firstChar == "{") return lexical.indented;
401
+ else if (type == "form") return lexical.indented + indentUnit;
402
+ else if (type == "stat")
403
+ return lexical.indented + (state.lastType == "operator" || state.lastType == "," ? indentUnit : 0);
404
+ else if (lexical.info == "switch" && !closing)
405
+ return lexical.indented + (/^(?:case|default)\b/.test(textAfter) ? indentUnit : 2 * indentUnit);
406
+ else if (lexical.align) return lexical.column + (closing ? 0 : 1);
407
+ else return lexical.indented + (closing ? 0 : indentUnit);
408
+ },
409
+
410
+ electricChars: ":{}",
411
+
412
+ jsonMode: jsonMode
413
+ };
414
+ });
415
+
416
+ CodeMirror.defineMIME("text/javascript", "javascript");
417
+ CodeMirror.defineMIME("text/ecmascript", "javascript");
418
+ CodeMirror.defineMIME("application/javascript", "javascript");
419
+ CodeMirror.defineMIME("application/ecmascript", "javascript");
420
+ CodeMirror.defineMIME("application/json", {name: "javascript", json: true});
421
+ CodeMirror.defineMIME("text/typescript", { name: "javascript", typescript: true });
422
+ CodeMirror.defineMIME("application/typescript", { name: "javascript", typescript: true });