@zohodesk/dot 1.0.0-beta.20 → 1.0.0-beta.203

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 (1166) hide show
  1. package/README.md +924 -8
  2. package/build/Unusedfiles.json +1 -0
  3. package/dubFinder.js +7 -4
  4. package/es/ActionButton/ActionButton.js +165 -0
  5. package/es/ActionButton/ActionButton.module.css +136 -0
  6. package/es/ActionButton/docs/ActionButton__default.docs.js +134 -0
  7. package/es/AlphabeticList/AlphabeticList.js +138 -0
  8. package/es/AlphabeticList/AlphabeticList.module.css +57 -0
  9. package/es/AlphabeticList/docs/AlphabeticList__default.docs.js +34 -0
  10. package/es/AlphabeticList/docs/AlphabeticList__horizontal.docs.js +43 -0
  11. package/es/Appearance/dark/mode/dotDarkMode.module.css +536 -0
  12. package/es/Appearance/dark/themes/blue/blueDarkDotTheme.module.css +10 -0
  13. package/es/Appearance/dark/themes/green/greenDarkDotTheme.module.css +10 -0
  14. package/es/Appearance/dark/themes/orange/orangeDarkDotTheme.module.css +10 -0
  15. package/es/Appearance/dark/themes/red/redDarkDotTheme.module.css +10 -0
  16. package/es/Appearance/dark/themes/yellow/yellowDarkDotTheme.module.css +10 -0
  17. package/es/Appearance/default/mode/dotDefaultMode.module.css +536 -0
  18. package/es/Appearance/default/themes/blue/blueDefaultDotTheme.module.css +10 -0
  19. package/es/Appearance/default/themes/green/greenDefaultDotTheme.module.css +10 -0
  20. package/es/Appearance/default/themes/orange/orangeDefaultDotTheme.module.css +10 -0
  21. package/es/Appearance/default/themes/red/redDefaultDotTheme.module.css +10 -0
  22. package/es/Appearance/default/themes/yellow/yellowDefaultDotTheme.module.css +10 -0
  23. package/es/Attachment/Attachment.js +104 -0
  24. package/es/Attachment/Attachment.module.css +132 -0
  25. package/es/Attachment/docs/Attachment__default.docs.js +54 -0
  26. package/es/ChannelIcon/ChannelIcon.js +91 -83
  27. package/es/ChannelIcon/ChannelIcon.module.css +98 -68
  28. package/es/ChannelIcon/docs/ChannelIcon__default.docs.js +44 -84
  29. package/es/Drawer/Drawer.js +246 -276
  30. package/es/Drawer/Drawer.module.css +107 -103
  31. package/es/Drawer/docs/Drawer__default.docs.js +71 -57
  32. package/es/Drawer/docs/Drawer__multiDrawer.docs.js +112 -0
  33. package/es/Drawer/docs/Drawer__noFreeze.docs.js +10 -33
  34. package/es/Drawer/docs/Drawer__withModal.docs.js +74 -0
  35. package/es/ExternalLink/ExternalLink.js +39 -58
  36. package/es/ExternalLink/ExternalLink.module.css +3 -3
  37. package/es/ExternalLink/__tests__/ExternalLink.spec.js +17 -26
  38. package/es/ExternalLink/docs/ExternalLink__default.docs.js +8 -29
  39. package/es/FlipCard/FlipCard.js +134 -127
  40. package/es/FlipCard/FlipCard.module.css +16 -7
  41. package/es/FlipCard/docs/FlipCard__default.docs.js +54 -93
  42. package/es/FormAction/FormAction.js +61 -106
  43. package/es/FormAction/FormAction.module.css +41 -23
  44. package/es/FormAction/docs/FormAction__default.docs.js +61 -188
  45. package/es/FreezeLayer/FreezeLayer.js +98 -99
  46. package/es/FreezeLayer/FreezeLayer.module.css +13 -8
  47. package/es/FreezeLayer/docs/FreezeLayer__dark.docs.js +38 -64
  48. package/es/FreezeLayer/docs/FreezeLayer__default.docs.js +35 -63
  49. package/es/IconButton/IconButton.js +188 -0
  50. package/es/IconButton/IconButton.module.css +22 -0
  51. package/es/IconButton/docs/IconButton__default.docs.js +219 -0
  52. package/es/Image/Image.js +30 -43
  53. package/es/Image/docs/Image__default.docs.js +11 -29
  54. package/es/ImportantNotes/ImportantNotes.js +60 -0
  55. package/es/ImportantNotes/ImportantNotes.module.css +20 -0
  56. package/es/ImportantNotes/docs/ImportantNotes__default.docs.js +22 -0
  57. package/es/Link/Link.js +81 -97
  58. package/es/Link/LinkContext.js +2 -4
  59. package/es/Link/docs/Link__default.docs.js +26 -54
  60. package/es/Loader/Loader.js +27 -0
  61. package/es/Loader/Loader.module.css +46 -0
  62. package/es/Loader/docs/Loader__default.docs.js +23 -0
  63. package/es/Message/Message.js +124 -0
  64. package/es/Message/Message.module.css +103 -0
  65. package/es/Message/docs/Message__default.docs.js +55 -0
  66. package/es/MessageBanner/MessageBanner.js +75 -0
  67. package/es/MessageBanner/MessageBanner.module.css +46 -0
  68. package/es/MessageBanner/docs/MessageBanner__default.docs.js +88 -0
  69. package/es/NewStar/NewStar.js +75 -0
  70. package/es/NewStar/NewStar.module.css +110 -0
  71. package/es/NewStar/docs/NewStar__default.docs.js +62 -0
  72. package/es/PlusIcon/PlusIcon.js +31 -56
  73. package/es/PlusIcon/PlusIcon.module.css +11 -2
  74. package/es/PlusIcon/docs/PlusIcon__default.docs.js +4 -28
  75. package/es/Provider.js +205 -0
  76. package/es/ToastMessage/ToastMessage.js +200 -284
  77. package/es/ToastMessage/ToastMessage.module.css +136 -68
  78. package/es/ToastMessage/docs/ToastMessage__custom.docs.js +73 -113
  79. package/es/ToastMessage/docs/ToastMessage__information.docs.js +42 -68
  80. package/es/ToastMessage/docs/ToastMessage__primary.docs.js +112 -159
  81. package/es/ToastMessage/docs/ToastMessage__secondary.docs.js +25 -52
  82. package/es/ToastMessage/docs/ToastMessage__success.docs.js +49 -82
  83. package/es/Upload/Upload.js +92 -0
  84. package/es/Upload/Upload.module.css +125 -0
  85. package/es/Upload/docs/Upload__default.docs.js +61 -0
  86. package/es/actions/AutoClose.js +54 -0
  87. package/es/actions/index.js +15 -10
  88. package/es/alert/AlertHeader/AlertHeader.js +68 -107
  89. package/es/alert/AlertHeader/AlertHeader.module.css +35 -16
  90. package/es/alert/AlertHeader/docs/AlertHeader__default.docs.js +51 -79
  91. package/es/alert/AlertLookup/AlertLookup.js +138 -143
  92. package/es/alert/AlertLookup/AlertLookup.module.css +12 -5
  93. package/es/alert/AlertLookup/docs/AlertLookup__default.docs.js +104 -153
  94. package/es/avatar/AvatarClose/AvatarClose.js +44 -47
  95. package/es/avatar/AvatarClose/AvatarClose.module.css +12 -6
  96. package/es/avatar/AvatarClose/docs/AvatarClose__default.docs.js +14 -32
  97. package/es/avatar/AvatarCollision/AvatarCollision.js +52 -62
  98. package/es/avatar/AvatarCollision/AvatarCollision.module.css +25 -11
  99. package/es/avatar/AvatarCollision/docs/AvatarCollision__default.docs.js +23 -46
  100. package/es/avatar/AvatarIcon/AvatarIcon.js +55 -60
  101. package/es/avatar/AvatarIcon/AvatarIcon.module.css +33 -11
  102. package/es/avatar/AvatarIcon/docs/AvatarIcon__palette.docs.js +26 -40
  103. package/es/avatar/AvatarIcon/docs/AvatarIcon__size.docs.js +32 -35
  104. package/es/avatar/AvatarStatus/AvatarStatus.js +71 -54
  105. package/es/avatar/AvatarStatus/AvatarStatus.module.css +105 -23
  106. package/es/avatar/AvatarStatus/docs/AvatarStatus__size.docs.js +21 -38
  107. package/es/avatar/AvatarStatus/docs/AvatarStatus__state.docs.js +36 -60
  108. package/es/avatar/AvatarThread/AvatarThread.js +81 -77
  109. package/es/avatar/AvatarThread/AvatarThread.module.css +120 -15
  110. package/es/avatar/AvatarThread/docs/AvatarThread__default.docs.js +134 -56
  111. package/es/avatar/AvatarUser/AvatarUser.js +114 -85
  112. package/es/avatar/AvatarUser/AvatarUser.module.css +129 -19
  113. package/es/avatar/AvatarUser/docs/AvatarUser__default.docs.js +159 -132
  114. package/es/avatar/AvatarWithTeam/AvatarWithTeam.js +96 -56
  115. package/es/avatar/AvatarWithTeam/AvatarWithTeam.module.css +12 -5
  116. package/es/avatar/AvatarWithTeam/__tests__/AvatarWithTeam.spec.js +43 -44
  117. package/es/avatar/AvatarWithTeam/docs/AvatarWithTeam__default.docs.js +11 -32
  118. package/es/deprecated/SelectDropdown/SelectDropdown.js +129 -0
  119. package/es/deprecated/SelectDropdown/SelectDropdown.module.css +55 -0
  120. package/es/deprecated/SelectDropdown/docs/SelectDropdown__default.docs.js +34 -0
  121. package/es/docs/formDocs.js +26 -0
  122. package/es/docs/generalDocs.js +47 -33
  123. package/es/docs/lookupDocs.js +17 -6
  124. package/es/docs/setupDocs.js +0 -5
  125. package/es/dropdown/ToggleDropDown/ToggleDropDown.js +805 -482
  126. package/es/dropdown/ToggleDropDown/ToggleDropDown.module.css +46 -14
  127. package/es/dropdown/ToggleDropDown/docs/ToggleDropDown__default.docs.js +217 -67
  128. package/es/emptystate/CommonEmptyState/CommonEmptyState.js +71 -106
  129. package/es/emptystate/CommonEmptyState/CommonEmptyState.module.css +69 -15
  130. package/es/emptystate/CommonEmptyState/docs/CommonEmptyState__default.docs.js +95 -69
  131. package/es/emptystate/EditionPage/EditionPage.css +13 -7
  132. package/es/emptystate/EditionPage/EditionPage.js +45 -80
  133. package/es/emptystate/EditionPage/docs/EditionPage__default.docs.js +11 -32
  134. package/es/errorstate/EmptyStates.module.css +63 -15
  135. package/es/errorstate/Inconvenience/Inconvenience.js +74 -64
  136. package/es/errorstate/Inconvenience/Inconvenience.module.css +3 -2
  137. package/es/errorstate/Inconvenience/docs/Inconvenience__default.docs.js +8 -28
  138. package/es/errorstate/LinkText/LinkText.js +24 -39
  139. package/es/errorstate/LinkText/LinkText.module.css +2 -2
  140. package/es/errorstate/LinkText/docs/LinkText__default.docs.js +6 -24
  141. package/es/errorstate/NoRequestFound/NoRequestFound.js +73 -63
  142. package/es/errorstate/NoRequestFound/NoRequestFound.module.css +0 -2
  143. package/es/errorstate/NoRequestFound/docs/NoRequestFound__default.docs.js +9 -29
  144. package/es/errorstate/PermissionPlay/PermissionPlay.js +72 -71
  145. package/es/errorstate/PermissionPlay/PermissionPlay.module.css +12 -11
  146. package/es/errorstate/PermissionPlay/docs/PermissionPlay__default.docs.js +9 -29
  147. package/es/errorstate/RequestUrlNotFound/RequestUrlNotFound.js +73 -63
  148. package/es/errorstate/RequestUrlNotFound/RequestUrlNotFound.module.css +0 -2
  149. package/es/errorstate/RequestUrlNotFound/docs/RequestUrlNotFound__default.docs.js +8 -28
  150. package/es/errorstate/UnableToProcess/UnableToProcess.js +73 -63
  151. package/es/errorstate/UnableToProcess/UnableToProcess.module.css +0 -11
  152. package/es/errorstate/UnableToProcess/docs/UnableToProcess__default.docs.js +8 -28
  153. package/es/errorstate/UnauthorizedLogin/UnauthorizedLogin.js +73 -63
  154. package/es/errorstate/UnauthorizedLogin/UnauthorizedLogin.module.css +0 -11
  155. package/es/errorstate/UnauthorizedLogin/docs/UnauthorizedLogin__insufficient.docs.js +9 -29
  156. package/es/errorstate/UnauthorizedLogin/docs/UnauthorizedLogin__unauthorizedLogin.docs.js +8 -28
  157. package/es/errorstate/WillBack/WillBack.js +66 -63
  158. package/es/errorstate/WillBack/WillBack.module.css +23 -10
  159. package/es/errorstate/WillBack/docs/WillBack__default.docs.js +10 -30
  160. package/es/form/fields/CheckBoxField/CheckBoxField.js +189 -0
  161. package/es/form/fields/CheckBoxField/docs/CheckBoxField__default.docs.js +30 -0
  162. package/es/form/fields/CurrencyField/CurrencyField.js +244 -0
  163. package/es/form/fields/DateField/DateField.js +256 -0
  164. package/es/form/fields/DateField/docs/DateField__default.docs.js +25 -0
  165. package/es/form/fields/Fields.module.css +181 -0
  166. package/es/form/fields/MultiSelectField/MultiSelectField.js +287 -0
  167. package/es/form/fields/MultiSelectField/docs/MultiSelectField__default.docs.js +48 -0
  168. package/es/form/fields/PhoneField/PhoneField.js +240 -0
  169. package/es/form/fields/PhoneField/docs/PhoneField__default.docs.js +26 -0
  170. package/es/form/fields/RadioField/RadioField.js +153 -0
  171. package/es/form/fields/SelectField/SelectField.js +254 -0
  172. package/es/form/fields/SelectField/docs/SelectField__default.docs.js +58 -0
  173. package/es/form/fields/TagsMultiSelect/TagsMultiSelect.js +296 -0
  174. package/es/form/fields/TagsMultiSelect/TagsMultiSelect.module.css +107 -0
  175. package/es/form/fields/TagsMultiSelect/docs/TagsMultiSelect__default.docs.js +77 -0
  176. package/es/form/fields/TagsMultiSelectField/TagsMultiSelectField.js +320 -0
  177. package/es/form/fields/TagsMultiSelectField/TagsMultiSelectField.module.css +9 -0
  178. package/es/form/fields/TagsMultiSelectField/docs/TagsMultiSelectField__default.docs.js +82 -0
  179. package/es/form/fields/TextBoxField/TextBoxField.js +234 -0
  180. package/es/form/fields/TextBoxField/docs/TextBoxField__default.docs.js +45 -0
  181. package/es/form/fields/TextEditor/TextEditor.js +455 -0
  182. package/es/form/fields/TextEditor/TextEditor.module.css +654 -0
  183. package/es/form/fields/TextEditorField/TextEditorField.js +254 -0
  184. package/es/form/fields/TextEditorField/docs/TextEditorField__default.docs.js +43 -0
  185. package/es/form/fields/TextEditorWrapper/TextEditorWrapper.js +244 -0
  186. package/es/form/fields/TextEditorWrapper/TextEditorWrapper.module.css +37 -0
  187. package/es/form/fields/TextareaField/TextareaField.js +215 -0
  188. package/es/form/fields/TextareaField/docs/TextareaField__default.docs.js +26 -0
  189. package/es/form/fields/ValidationMessage/ValidationMessage.js +73 -0
  190. package/es/form/fields/ValidationMessage/ValidationMessage.module.css +27 -0
  191. package/es/form/fields/ValidationMessage/docs/ValidationMessage__default.docs.js +58 -0
  192. package/es/form/layout/Field/Field.js +44 -0
  193. package/es/form/layout/Field/Field.module.css +22 -0
  194. package/es/form/layout/Field/docs/Field__default.docs.js +25 -0
  195. package/es/form/layout/Section/ModuleFormSection.module.css +3 -0
  196. package/es/form/layout/Section/Section.js +44 -0
  197. package/es/form/layout/Section/docs/Section__default.docs.js +21 -0
  198. package/es/i18n.js +4349 -0
  199. package/es/index.js +3 -9
  200. package/es/layout/SetupDetailLayout/SetupDetailLayout.js +184 -269
  201. package/es/layout/SetupDetailLayout/SetupDetailLayout.module.css +66 -30
  202. package/es/layout/SetupDetailLayout/docs/SetupDetailLayout__default.docs.js +17 -67
  203. package/es/layout/SubtabLayout/SubtabLayout.js +152 -178
  204. package/es/layout/SubtabLayout/SubtabLayout.module.css +98 -18
  205. package/es/layout/SubtabLayout/docs/SubtabLayout__default.docs.js +57 -181
  206. package/es/layout/SubtabLayout/index.js +2 -1
  207. package/es/list/AvatarFlip/AvatarFlip.js +70 -71
  208. package/es/list/AvatarFlip/AvatarFlip.module.css +1 -13
  209. package/es/list/AvatarFlip/docs/AvatarFlip__default.docs.js +88 -296
  210. package/es/list/BluePrintStatus/BluePrintStatus.js +18 -36
  211. package/es/list/BluePrintStatus/BluePrintStatus.module.css +7 -3
  212. package/es/list/BluePrintStatus/docs/BluePrintStatus__default.docs.js +7 -24
  213. package/es/list/Comment/Comment.js +31 -60
  214. package/es/list/Comment/Comment.module.css +17 -5
  215. package/es/list/Comment/docs/Comment__default.docs.js +13 -27
  216. package/es/list/DepartmentDropDown/DepartmentDropDown.js +98 -71
  217. package/es/list/DepartmentDropDown/DepartmentDropDown.module.css +6 -59
  218. package/es/list/Dot/Dot.js +16 -36
  219. package/es/list/Dot/Dot.module.css +7 -5
  220. package/es/list/DotNew/DotNew.js +22 -27
  221. package/es/list/DotNew/DotNew.module.css +15 -9
  222. package/es/list/DotNew/docs/DotNew__default.docs.js +7 -23
  223. package/es/list/GridStencils/GridStencils.js +23 -47
  224. package/es/list/GridStencils/GridStencils.module.css +79 -54
  225. package/es/list/GridStencils/docs/GridStencils__default.docs.js +21 -36
  226. package/es/list/Icons/AddNewIcon.js +22 -59
  227. package/es/list/Icons/CompleteIcon.js +26 -50
  228. package/es/list/Icons/DeleteIcon.js +23 -67
  229. package/es/list/Icons/EditIcon.js +24 -67
  230. package/es/list/Icons/FloatingIcons.js +18 -40
  231. package/es/list/Icons/Icons.module.css +6 -5
  232. package/es/list/Icons/ReadUnreadIcon.js +42 -0
  233. package/es/list/Icons/SmartIcon.js +23 -36
  234. package/es/list/Icons/docs/FloatingIcons__default.docs.js +12 -44
  235. package/es/list/ListLayout/ListLayout.js +83 -106
  236. package/es/list/ListLayout/ListLayout.module.css +42 -13
  237. package/es/list/ListLayout/docs/ListLayout__default.docs.js +46 -117
  238. package/es/list/ListStencils/ListStencils.js +37 -48
  239. package/es/list/ListStencils/ListStencils.module.css +52 -9
  240. package/es/list/ListStencils/docs/ListStencils__default.docs.js +7 -23
  241. package/es/list/SecondaryText/AccountName.js +79 -72
  242. package/es/list/SecondaryText/ContactName.js +85 -93
  243. package/es/list/SecondaryText/DepartmentText.js +19 -36
  244. package/es/list/SecondaryText/Email.js +46 -62
  245. package/es/list/SecondaryText/HappinessRating.js +18 -44
  246. package/es/list/SecondaryText/PhoneNumber.js +52 -64
  247. package/es/list/SecondaryText/PriorityText.js +19 -39
  248. package/es/list/SecondaryText/SecondaryText.js +33 -42
  249. package/es/list/SecondaryText/SecondaryText.module.css +69 -24
  250. package/es/list/SecondaryText/StatusText.js +25 -42
  251. package/es/list/SecondaryText/TicketId.js +50 -43
  252. package/es/list/SecondaryText/Website.js +25 -58
  253. package/es/list/SecondaryText/docs/ContactName__default.docs.js +10 -23
  254. package/es/list/SecondryPanel/SecondryPanel.js +92 -148
  255. package/es/list/SecondryPanel/SecondryPanel.module.css +1 -22
  256. package/es/list/SecondryPanel/docs/SecondryPanelDocs.module.css +8 -12
  257. package/es/list/SecondryPanel/docs/SecondryPanel__default.docs.js +66 -116
  258. package/es/list/SentimentStatus/SentimentStatus.js +23 -37
  259. package/es/list/SentimentStatus/SentimentStatus.module.css +5 -2
  260. package/es/list/SentimentStatus/docs/SentimentStatus__default.docs.js +7 -24
  261. package/es/list/Subject/Subject.js +56 -65
  262. package/es/list/Subject/Subject.module.css +21 -3
  263. package/es/list/Subject/docs/Subject__default.docs.js +31 -36
  264. package/es/list/TagNew/TagNew.js +22 -38
  265. package/es/list/TagNew/TagNew.module.css +17 -10
  266. package/es/list/TagNew/docs/TagNew__default.docs.js +10 -23
  267. package/es/list/Thread/Thread.js +31 -44
  268. package/es/list/Thread/Thread.module.css +34 -6
  269. package/es/list/Thread/docs/Thread__default.docs.js +9 -23
  270. package/es/list/UserTime/UserTime.js +69 -86
  271. package/es/list/UserTime/UserTime.module.css +28 -12
  272. package/es/list/UserTime/docs/UserTime__default.docs.js +137 -152
  273. package/es/list/listCommon.module.css +23 -47
  274. package/es/list/status/StatusDropdown/StatusDropdown.js +488 -0
  275. package/es/list/status/StatusDropdown/StatusDropdown.module.css +89 -0
  276. package/es/list/status/StatusDropdown/docs/StatusDropdown__default.docs.js +129 -0
  277. package/es/list/status/StatusListItem/StatusListItem.js +161 -0
  278. package/es/list/status/StatusListItem/StatusListItem.module.css +104 -0
  279. package/es/list/status/StatusListItem/docs/StatusListItem__default.docs.js +27 -0
  280. package/es/lookup/EmptyPage/EmptyPage.js +43 -61
  281. package/es/lookup/EmptyPage/LookupEmptyPage.module.css +2 -1
  282. package/es/lookup/EmptyPage/docs/EmptyPage__account.docs.js +8 -26
  283. package/es/lookup/EmptyPage/docs/EmptyPage__contact.docs.js +8 -26
  284. package/es/lookup/EmptyPage/docs/EmptyPage__default.docs.js +5 -25
  285. package/es/lookup/EmptyPage/docs/EmptyPage__product.docs.js +8 -26
  286. package/es/lookup/Lookup/Lookup.js +80 -68
  287. package/es/lookup/Lookup/Lookup.module.css +13 -9
  288. package/es/lookup/Lookup/docs/Lookup__contact.docs.js +102 -118
  289. package/es/lookup/Lookup/docs/Lookup__default.docs.js +50 -72
  290. package/es/lookup/Section/LookupSection.module.css +3 -3
  291. package/es/lookup/Section/Section.js +16 -39
  292. package/es/lookup/header/Close/Close.js +16 -44
  293. package/es/lookup/header/Close/LookupClose.module.css +6 -6
  294. package/es/lookup/header/Close/docs/Close__default.docs.js +7 -23
  295. package/es/lookup/header/ModuleHeader/ModuleHeader.js +61 -78
  296. package/es/lookup/header/ModuleHeader/docs/ModuleHeader__default.docs.js +25 -42
  297. package/es/lookup/header/Search/LookupSearch.module.css +49 -29
  298. package/es/lookup/header/Search/Search.js +226 -103
  299. package/es/lookup/header/Search/docs/Search__default.docs.js +108 -46
  300. package/es/lookup/header/TicketHeader/TicketHeader.js +80 -102
  301. package/es/lookup/header/TicketHeader/TicketHeader.module.css +5 -14
  302. package/es/lookup/header/TicketHeader/docs/TicketHeader__default.docs.js +65 -56
  303. package/es/lookup/header/Title/LookupTitle.module.css +5 -5
  304. package/es/lookup/header/Title/Title.js +15 -41
  305. package/es/lookup/header/Title/docs/Title__default.docs.js +9 -23
  306. package/es/lookup/header/ViewDropDown/ViewDropDown.js +119 -146
  307. package/es/lookup/header/ViewDropDown/ViewDropDown.module.css +20 -19
  308. package/es/lookup/header/ViewDropDown/docs/ViewDropDown__default.docs.js +59 -48
  309. package/es/lookup/header/lookupHeaderCommon.module.css +23 -8
  310. package/es/lookup/header/lookupHeaderCommonResponsive.module.css +12 -3
  311. package/es/setup/header/Button/Button.js +22 -40
  312. package/es/setup/header/Button/HeaderButton.module.css +3 -1
  313. package/es/setup/header/Button/docs/Button__default.docs.js +9 -24
  314. package/es/setup/header/Link/HeaderLink.module.css +11 -6
  315. package/es/setup/header/Link/Link.js +28 -49
  316. package/es/setup/header/Link/docs/Link__default.docs.js +10 -23
  317. package/es/setup/header/Search/Search.js +64 -73
  318. package/es/setup/header/Search/Search.module.css +31 -19
  319. package/es/setup/header/Search/docs/Search__default.docs.js +28 -41
  320. package/es/setup/header/Views/Views.js +32 -53
  321. package/es/setup/header/Views/Views.module.css +18 -8
  322. package/es/setup/header/Views/docs/Views__default.docs.js +11 -27
  323. package/es/setup/helptips/Description/Description.js +13 -30
  324. package/es/setup/helptips/Description/HelpTipsDescription.module.css +2 -2
  325. package/es/setup/helptips/Description/docs/Description__default.docs.js +13 -29
  326. package/es/setup/helptips/Link/HelpTipsLink.module.css +3 -2
  327. package/es/setup/helptips/Link/Link.js +27 -41
  328. package/es/setup/helptips/Link/docs/Link__default.docs.js +14 -30
  329. package/es/setup/helptips/ListGroup/ListGroup.js +26 -49
  330. package/es/setup/helptips/ListGroup/ListGroup.module.css +7 -2
  331. package/es/setup/helptips/ListGroup/docs/ListGroup__default.docs.js +17 -33
  332. package/es/setup/helptips/Title/HelpTipsTitle.module.css +2 -2
  333. package/es/setup/helptips/Title/Title.js +13 -30
  334. package/es/setup/helptips/Title/docs/Title__default.docs.js +13 -27
  335. package/es/setup/table/Table/Table.js +16 -36
  336. package/es/setup/table/Table/docs/Table__default.docs.js +161 -173
  337. package/es/setup/table/TableBody/TableBody.js +21 -37
  338. package/{src/setup/table/TableData/TableData.css → es/setup/table/TableData/SetupTableData.module.css} +11 -3
  339. package/es/setup/table/TableData/TableData.js +27 -46
  340. package/es/setup/table/TableData/{hover.css → Tablehover.module.css} +0 -0
  341. package/es/setup/table/TableHead/SetupTableHead.module.css +12 -0
  342. package/es/setup/table/TableHead/TableHead.js +24 -49
  343. package/es/setup/table/TableRow/SetupTableRow.module.css +14 -0
  344. package/es/setup/table/TableRow/TableRow.js +33 -55
  345. package/{src/setup/table/Text/Text.css → es/setup/table/Text/TableText.module.css} +37 -37
  346. package/es/setup/table/Text/Text.js +46 -79
  347. package/es/setup/table/Text/docs/Text__default.docs.js +24 -58
  348. package/es/svg/PlusIcon.js +41 -0
  349. package/es/svg/SnippetIcon.js +43 -0
  350. package/es/svg/TemplateIcon.js +44 -0
  351. package/es/svg/docs/SVG__default.docs.js +49 -0
  352. package/es/utils/ChannelIconMapping.js +101 -84
  353. package/es/utils/Common.js +24 -0
  354. package/es/utils/General.js +50 -5
  355. package/es/utils/KeyboardApi.js +82 -42
  356. package/es/utils/editorUtils.js +193 -0
  357. package/es/version2/AlertClose/AlertClose.js +47 -0
  358. package/es/version2/AlertClose/AlertClose.module.css +43 -0
  359. package/es/version2/AlertClose/docs/AlertClose__default.docs.js +47 -0
  360. package/es/version2/GlobalNotification/GlobalNotification.js +137 -0
  361. package/es/version2/GlobalNotification/GlobalNotification.module.css +125 -0
  362. package/es/version2/GlobalNotification/docs/GlobalNotification__default.docs.js +95 -0
  363. package/es/version2/alertIcons/AlarmAlertIcon.js +72 -0
  364. package/es/version2/alertIcons/AlertIcons.js +65 -0
  365. package/es/version2/alertIcons/AlertIcons.module.css +67 -0
  366. package/es/version2/alertIcons/DangerAlertIcon.js +73 -0
  367. package/es/version2/alertIcons/ErrorAlertIcon.js +77 -0
  368. package/es/version2/alertIcons/InfoAlertIcon.js +81 -0
  369. package/es/version2/alertIcons/NotificationAlertIcon.js +77 -0
  370. package/es/version2/alertIcons/SuccessAlertIcon.js +72 -0
  371. package/es/version2/alertIcons/WarningAlertIcon.js +72 -0
  372. package/es/version2/alertIcons/docs/AlertIcons__default.docs.js +138 -0
  373. package/es/version2/errorstate/Inconvenience/Inconvenience.js +93 -0
  374. package/es/version2/errorstate/Inconvenience/docs/Inconvenience__default.docs.js +18 -0
  375. package/es/version2/errorstate/OopsSomethingMiss/OopsSomethingMiss.js +94 -0
  376. package/es/version2/errorstate/OopsSomethingMiss/docs/OopsSomethingMiss__default.docs.js +20 -0
  377. package/es/version2/errorstate/UnableToProcessRequest/UnableToProcessRequest.js +93 -0
  378. package/es/version2/errorstate/UnableToProcessRequest/docs/UnableToProcessRequest__default.docs.js +30 -0
  379. package/es/version2/errorstate/UnauthorizedLogin/UnauthorizedLogin.js +97 -0
  380. package/es/version2/errorstate/UnauthorizedLogin/docs/UnauthorizedLogin__default.docs.js +18 -0
  381. package/es/version2/errorstate/UrlNotFound/UrlNotFound.js +93 -0
  382. package/es/version2/errorstate/UrlNotFound/docs/UrlNotFound__default.docs.js +20 -0
  383. package/es/version2/errorstate/V2_ErrorStates.module.css +46 -0
  384. package/es/version2/errorstate/WillBeRightBack/WillBeRightBack.js +93 -0
  385. package/es/version2/errorstate/WillBeRightBack/docs/WillBeRightBack__default.docs.js +18 -0
  386. package/es/version2/lookup/AlertHeader/AlertHeader.js +78 -0
  387. package/es/version2/lookup/AlertHeader/AlertHeaderNew.module.css +87 -0
  388. package/es/version2/lookup/AlertHeader/docs/AlertHeader__default.docs.js +56 -0
  389. package/es/version2/lookup/AlertLookup/AlertLookup.js +250 -0
  390. package/es/version2/lookup/AlertLookup/AlertLookupNew.module.css +44 -0
  391. package/es/version2/lookup/AlertLookup/docs/AlertLookup__default.docs.js +147 -0
  392. package/es/version2/lookup/alertLookupCommonNew.module.css +33 -0
  393. package/es/version2/notification/DesktopNotification/DesktopNotification.js +201 -0
  394. package/es/version2/notification/DesktopNotification/DesktopNotification.module.css +107 -0
  395. package/es/version2/notification/DesktopNotification/docs/DesktopNotification__default.docs.js +92 -0
  396. package/es/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.js +75 -0
  397. package/es/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.module.css +137 -0
  398. package/es/version2/notification/DesktopNotificationHeader/docs/DesktopNotificationHeader__default.docs.js +57 -0
  399. package/lib/ActionButton/ActionButton.js +222 -0
  400. package/lib/ActionButton/ActionButton.module.css +136 -0
  401. package/lib/ActionButton/docs/ActionButton__default.docs.js +187 -0
  402. package/lib/AlphabeticList/AlphabeticList.js +213 -0
  403. package/lib/AlphabeticList/AlphabeticList.module.css +57 -0
  404. package/lib/AlphabeticList/docs/AlphabeticList__default.docs.js +82 -0
  405. package/lib/AlphabeticList/docs/AlphabeticList__horizontal.docs.js +91 -0
  406. package/lib/Appearance/dark/mode/dotDarkMode.module.css +536 -0
  407. package/lib/Appearance/dark/themes/blue/blueDarkDotTheme.module.css +10 -0
  408. package/lib/Appearance/dark/themes/green/greenDarkDotTheme.module.css +10 -0
  409. package/lib/Appearance/dark/themes/orange/orangeDarkDotTheme.module.css +10 -0
  410. package/lib/Appearance/dark/themes/red/redDarkDotTheme.module.css +10 -0
  411. package/lib/Appearance/dark/themes/yellow/yellowDarkDotTheme.module.css +10 -0
  412. package/lib/Appearance/default/mode/dotDefaultMode.module.css +536 -0
  413. package/lib/Appearance/default/themes/blue/blueDefaultDotTheme.module.css +10 -0
  414. package/lib/Appearance/default/themes/green/greenDefaultDotTheme.module.css +10 -0
  415. package/lib/Appearance/default/themes/orange/orangeDefaultDotTheme.module.css +10 -0
  416. package/lib/Appearance/default/themes/red/redDefaultDotTheme.module.css +10 -0
  417. package/lib/Appearance/default/themes/yellow/yellowDefaultDotTheme.module.css +10 -0
  418. package/lib/Attachment/Attachment.js +155 -0
  419. package/lib/Attachment/Attachment.module.css +132 -0
  420. package/lib/Attachment/docs/Attachment__default.docs.js +104 -0
  421. package/lib/ChannelIcon/ChannelIcon.js +124 -92
  422. package/lib/ChannelIcon/ChannelIcon.module.css +98 -68
  423. package/lib/ChannelIcon/docs/ChannelIcon__default.docs.js +60 -62
  424. package/lib/Drawer/Drawer.js +301 -261
  425. package/lib/Drawer/Drawer.module.css +107 -103
  426. package/lib/Drawer/docs/Drawer__default.docs.js +97 -49
  427. package/lib/Drawer/docs/Drawer__multiDrawer.docs.js +171 -0
  428. package/lib/Drawer/docs/Drawer__noFreeze.docs.js +32 -26
  429. package/lib/Drawer/docs/Drawer__withModal.docs.js +131 -0
  430. package/lib/ExternalLink/ExternalLink.js +65 -57
  431. package/lib/ExternalLink/ExternalLink.module.css +3 -3
  432. package/lib/ExternalLink/__tests__/ExternalLink.spec.js +16 -27
  433. package/lib/ExternalLink/docs/ExternalLink__default.docs.js +33 -21
  434. package/lib/FlipCard/FlipCard.js +172 -142
  435. package/lib/FlipCard/FlipCard.module.css +16 -7
  436. package/lib/FlipCard/docs/FlipCard__default.docs.js +81 -84
  437. package/lib/FormAction/FormAction.js +84 -88
  438. package/lib/FormAction/FormAction.module.css +41 -23
  439. package/lib/FormAction/docs/FormAction__default.docs.js +89 -183
  440. package/lib/FreezeLayer/FreezeLayer.js +127 -99
  441. package/lib/FreezeLayer/FreezeLayer.module.css +13 -8
  442. package/lib/FreezeLayer/docs/FreezeLayer__dark.docs.js +61 -54
  443. package/lib/FreezeLayer/docs/FreezeLayer__default.docs.js +58 -53
  444. package/lib/IconButton/IconButton.js +236 -0
  445. package/lib/IconButton/IconButton.module.css +22 -0
  446. package/lib/IconButton/docs/IconButton__default.docs.js +272 -0
  447. package/lib/Image/Image.js +58 -41
  448. package/lib/Image/docs/Image__default.docs.js +39 -22
  449. package/lib/ImportantNotes/ImportantNotes.js +107 -0
  450. package/lib/ImportantNotes/ImportantNotes.module.css +20 -0
  451. package/lib/ImportantNotes/docs/ImportantNotes__default.docs.js +68 -0
  452. package/lib/Link/Link.js +91 -78
  453. package/lib/Link/LinkContext.js +8 -7
  454. package/lib/Link/docs/Link__default.docs.js +50 -40
  455. package/lib/Loader/Loader.js +76 -0
  456. package/lib/Loader/Loader.module.css +46 -0
  457. package/lib/Loader/docs/Loader__default.docs.js +68 -0
  458. package/lib/Message/Message.js +173 -0
  459. package/lib/Message/Message.module.css +103 -0
  460. package/lib/Message/docs/Message__default.docs.js +100 -0
  461. package/lib/MessageBanner/MessageBanner.js +127 -0
  462. package/lib/MessageBanner/MessageBanner.module.css +46 -0
  463. package/lib/MessageBanner/docs/MessageBanner__default.docs.js +132 -0
  464. package/lib/NewStar/NewStar.js +126 -0
  465. package/lib/NewStar/NewStar.module.css +110 -0
  466. package/lib/NewStar/docs/NewStar__default.docs.js +111 -0
  467. package/lib/PlusIcon/PlusIcon.js +59 -60
  468. package/lib/PlusIcon/PlusIcon.module.css +11 -2
  469. package/lib/PlusIcon/docs/PlusIcon__default.docs.js +32 -21
  470. package/lib/Provider.js +309 -0
  471. package/lib/ToastMessage/ToastMessage.js +250 -317
  472. package/lib/ToastMessage/ToastMessage.module.css +136 -68
  473. package/lib/ToastMessage/docs/ToastMessage__custom.docs.js +96 -102
  474. package/lib/ToastMessage/docs/ToastMessage__information.docs.js +70 -61
  475. package/lib/ToastMessage/docs/ToastMessage__primary.docs.js +137 -153
  476. package/lib/ToastMessage/docs/ToastMessage__secondary.docs.js +53 -45
  477. package/lib/ToastMessage/docs/ToastMessage__success.docs.js +77 -75
  478. package/lib/Upload/Upload.js +143 -0
  479. package/lib/Upload/Upload.module.css +125 -0
  480. package/lib/Upload/docs/Upload__default.docs.js +110 -0
  481. package/lib/actions/AutoClose.js +85 -0
  482. package/lib/actions/index.js +13 -3
  483. package/lib/alert/AlertHeader/AlertHeader.js +93 -104
  484. package/lib/alert/AlertHeader/AlertHeader.module.css +35 -16
  485. package/lib/alert/AlertHeader/docs/AlertHeader__default.docs.js +76 -71
  486. package/lib/alert/AlertLookup/AlertLookup.js +158 -146
  487. package/lib/alert/AlertLookup/AlertLookup.module.css +12 -5
  488. package/lib/alert/AlertLookup/docs/AlertLookup__default.docs.js +123 -137
  489. package/lib/avatar/AvatarClose/AvatarClose.js +70 -51
  490. package/lib/avatar/AvatarClose/AvatarClose.module.css +12 -6
  491. package/lib/avatar/AvatarClose/docs/AvatarClose__default.docs.js +36 -27
  492. package/lib/avatar/AvatarCollision/AvatarCollision.js +80 -69
  493. package/lib/avatar/AvatarCollision/AvatarCollision.module.css +25 -11
  494. package/lib/avatar/AvatarCollision/docs/AvatarCollision__default.docs.js +45 -41
  495. package/lib/avatar/AvatarIcon/AvatarIcon.js +88 -66
  496. package/lib/avatar/AvatarIcon/AvatarIcon.module.css +33 -11
  497. package/lib/avatar/AvatarIcon/docs/AvatarIcon__palette.docs.js +56 -37
  498. package/lib/avatar/AvatarIcon/docs/AvatarIcon__size.docs.js +60 -32
  499. package/lib/avatar/AvatarStatus/AvatarStatus.js +98 -57
  500. package/lib/avatar/AvatarStatus/AvatarStatus.module.css +105 -23
  501. package/lib/avatar/AvatarStatus/docs/AvatarStatus__size.docs.js +50 -34
  502. package/lib/avatar/AvatarStatus/docs/AvatarStatus__state.docs.js +42 -35
  503. package/lib/avatar/AvatarThread/AvatarThread.js +115 -86
  504. package/lib/avatar/AvatarThread/AvatarThread.module.css +120 -15
  505. package/lib/avatar/AvatarThread/docs/AvatarThread__default.docs.js +159 -52
  506. package/lib/avatar/AvatarUser/AvatarUser.js +149 -98
  507. package/lib/avatar/AvatarUser/AvatarUser.module.css +129 -19
  508. package/lib/avatar/AvatarUser/docs/AvatarUser__default.docs.js +185 -129
  509. package/lib/avatar/AvatarWithTeam/AvatarWithTeam.js +131 -61
  510. package/lib/avatar/AvatarWithTeam/AvatarWithTeam.module.css +12 -5
  511. package/lib/avatar/AvatarWithTeam/__tests__/AvatarWithTeam.spec.js +45 -48
  512. package/lib/avatar/AvatarWithTeam/docs/AvatarWithTeam__default.docs.js +37 -27
  513. package/lib/deprecated/SelectDropdown/SelectDropdown.js +186 -0
  514. package/lib/deprecated/SelectDropdown/SelectDropdown.module.css +55 -0
  515. package/lib/deprecated/SelectDropdown/docs/SelectDropdown__default.docs.js +80 -0
  516. package/lib/docs/formDocs.js +215 -0
  517. package/lib/docs/generalDocs.js +658 -472
  518. package/lib/docs/lookupDocs.js +198 -107
  519. package/lib/docs/setupDocs.js +86 -126
  520. package/lib/dropdown/ToggleDropDown/ToggleDropDown.js +830 -496
  521. package/lib/dropdown/ToggleDropDown/ToggleDropDown.module.css +46 -14
  522. package/lib/dropdown/ToggleDropDown/docs/ToggleDropDown__default.docs.js +241 -56
  523. package/lib/emptystate/CommonEmptyState/CommonEmptyState.js +98 -105
  524. package/lib/emptystate/CommonEmptyState/CommonEmptyState.module.css +69 -15
  525. package/lib/emptystate/CommonEmptyState/docs/CommonEmptyState__default.docs.js +131 -70
  526. package/lib/emptystate/EditionPage/EditionPage.css +13 -7
  527. package/lib/emptystate/EditionPage/EditionPage.js +69 -74
  528. package/lib/emptystate/EditionPage/docs/EditionPage__default.docs.js +38 -22
  529. package/lib/errorstate/EmptyStates.module.css +63 -15
  530. package/lib/errorstate/Inconvenience/Inconvenience.js +104 -73
  531. package/lib/errorstate/Inconvenience/Inconvenience.module.css +3 -2
  532. package/lib/errorstate/Inconvenience/docs/Inconvenience__default.docs.js +32 -21
  533. package/lib/errorstate/LinkText/LinkText.js +50 -37
  534. package/lib/errorstate/LinkText/LinkText.module.css +2 -2
  535. package/lib/errorstate/LinkText/docs/LinkText__default.docs.js +31 -18
  536. package/lib/errorstate/NoRequestFound/NoRequestFound.js +104 -73
  537. package/lib/errorstate/NoRequestFound/NoRequestFound.module.css +0 -2
  538. package/lib/errorstate/NoRequestFound/docs/NoRequestFound__default.docs.js +33 -20
  539. package/lib/errorstate/PermissionPlay/PermissionPlay.js +103 -81
  540. package/lib/errorstate/PermissionPlay/PermissionPlay.module.css +12 -11
  541. package/lib/errorstate/PermissionPlay/docs/PermissionPlay__default.docs.js +33 -22
  542. package/lib/errorstate/RequestUrlNotFound/RequestUrlNotFound.js +104 -73
  543. package/lib/errorstate/RequestUrlNotFound/RequestUrlNotFound.module.css +0 -2
  544. package/lib/errorstate/RequestUrlNotFound/docs/RequestUrlNotFound__default.docs.js +32 -21
  545. package/lib/errorstate/UnableToProcess/UnableToProcess.js +104 -73
  546. package/lib/errorstate/UnableToProcess/UnableToProcess.module.css +0 -11
  547. package/lib/errorstate/UnableToProcess/docs/UnableToProcess__default.docs.js +32 -21
  548. package/lib/errorstate/UnauthorizedLogin/UnauthorizedLogin.js +104 -73
  549. package/lib/errorstate/UnauthorizedLogin/UnauthorizedLogin.module.css +0 -11
  550. package/lib/errorstate/UnauthorizedLogin/docs/UnauthorizedLogin__insufficient.docs.js +33 -22
  551. package/lib/errorstate/UnauthorizedLogin/docs/UnauthorizedLogin__unauthorizedLogin.docs.js +32 -21
  552. package/lib/errorstate/WillBack/WillBack.js +92 -66
  553. package/lib/errorstate/WillBack/WillBack.module.css +23 -10
  554. package/lib/errorstate/WillBack/docs/WillBack__default.docs.js +34 -23
  555. package/lib/form/fields/CheckBoxField/CheckBoxField.js +242 -0
  556. package/lib/form/fields/CheckBoxField/docs/CheckBoxField__default.docs.js +80 -0
  557. package/lib/form/fields/CurrencyField/CurrencyField.js +293 -0
  558. package/lib/form/fields/DateField/DateField.js +307 -0
  559. package/lib/form/fields/DateField/docs/DateField__default.docs.js +74 -0
  560. package/lib/form/fields/Fields.module.css +181 -0
  561. package/lib/form/fields/MultiSelectField/MultiSelectField.js +339 -0
  562. package/lib/form/fields/MultiSelectField/docs/MultiSelectField__default.docs.js +100 -0
  563. package/lib/form/fields/PhoneField/PhoneField.js +286 -0
  564. package/lib/form/fields/PhoneField/docs/PhoneField__default.docs.js +76 -0
  565. package/lib/form/fields/RadioField/RadioField.js +205 -0
  566. package/lib/form/fields/SelectField/SelectField.js +306 -0
  567. package/lib/form/fields/SelectField/docs/SelectField__default.docs.js +110 -0
  568. package/lib/form/fields/TagsMultiSelect/TagsMultiSelect.js +352 -0
  569. package/lib/form/fields/TagsMultiSelect/TagsMultiSelect.module.css +107 -0
  570. package/lib/form/fields/TagsMultiSelect/docs/TagsMultiSelect__default.docs.js +126 -0
  571. package/lib/form/fields/TagsMultiSelectField/TagsMultiSelectField.js +362 -0
  572. package/lib/form/fields/TagsMultiSelectField/TagsMultiSelectField.module.css +9 -0
  573. package/lib/form/fields/TagsMultiSelectField/docs/TagsMultiSelectField__default.docs.js +96 -0
  574. package/lib/form/fields/TextBoxField/TextBoxField.js +287 -0
  575. package/lib/form/fields/TextBoxField/docs/TextBoxField__default.docs.js +97 -0
  576. package/lib/form/fields/TextEditor/TextEditor.js +499 -0
  577. package/lib/form/fields/TextEditor/TextEditor.module.css +654 -0
  578. package/lib/form/fields/TextEditorField/TextEditorField.js +306 -0
  579. package/lib/form/fields/TextEditorField/docs/TextEditorField__default.docs.js +94 -0
  580. package/lib/form/fields/TextEditorWrapper/TextEditorWrapper.js +296 -0
  581. package/lib/form/fields/TextEditorWrapper/TextEditorWrapper.module.css +37 -0
  582. package/lib/form/fields/TextareaField/TextareaField.js +266 -0
  583. package/lib/form/fields/TextareaField/docs/TextareaField__default.docs.js +76 -0
  584. package/lib/form/fields/ValidationMessage/ValidationMessage.js +124 -0
  585. package/lib/form/fields/ValidationMessage/ValidationMessage.module.css +27 -0
  586. package/lib/form/fields/ValidationMessage/docs/ValidationMessage__default.docs.js +103 -0
  587. package/lib/form/layout/Field/Field.js +97 -0
  588. package/lib/form/layout/Field/Field.module.css +22 -0
  589. package/lib/form/layout/Field/docs/Field__default.docs.js +74 -0
  590. package/lib/form/layout/Section/ModuleFormSection.module.css +3 -0
  591. package/lib/form/layout/Section/Section.js +93 -0
  592. package/lib/form/layout/Section/docs/Section__default.docs.js +71 -0
  593. package/lib/i18n.js +3417 -0
  594. package/lib/index.js +48 -34
  595. package/lib/layout/SetupDetailLayout/SetupDetailLayout.js +221 -245
  596. package/lib/layout/SetupDetailLayout/SetupDetailLayout.module.css +66 -30
  597. package/lib/layout/SetupDetailLayout/docs/SetupDetailLayout__default.docs.js +44 -63
  598. package/lib/layout/SetupDetailLayout/index.js +15 -12
  599. package/lib/layout/SubtabLayout/SubtabLayout.js +220 -174
  600. package/lib/layout/SubtabLayout/SubtabLayout.module.css +98 -18
  601. package/lib/layout/SubtabLayout/docs/SubtabLayout__default.docs.js +71 -158
  602. package/lib/layout/SubtabLayout/index.js +19 -10
  603. package/lib/list/AvatarFlip/AvatarFlip.js +96 -65
  604. package/lib/list/AvatarFlip/AvatarFlip.module.css +1 -13
  605. package/lib/list/AvatarFlip/docs/AvatarFlip__default.docs.js +111 -289
  606. package/lib/list/BluePrintStatus/BluePrintStatus.js +39 -34
  607. package/lib/list/BluePrintStatus/BluePrintStatus.module.css +7 -3
  608. package/lib/list/BluePrintStatus/docs/BluePrintStatus__default.docs.js +29 -18
  609. package/lib/list/Comment/Comment.js +59 -58
  610. package/lib/list/Comment/Comment.module.css +17 -5
  611. package/lib/list/Comment/docs/Comment__default.docs.js +38 -21
  612. package/lib/list/DepartmentDropDown/DepartmentDropDown.js +121 -61
  613. package/lib/list/DepartmentDropDown/DepartmentDropDown.module.css +6 -59
  614. package/lib/list/Dot/Dot.js +42 -32
  615. package/lib/list/Dot/Dot.module.css +7 -5
  616. package/lib/list/DotNew/DotNew.js +46 -21
  617. package/lib/list/DotNew/DotNew.module.css +15 -9
  618. package/lib/list/DotNew/docs/DotNew__default.docs.js +32 -17
  619. package/lib/list/GridStencils/GridStencils.js +51 -45
  620. package/lib/list/GridStencils/GridStencils.module.css +79 -54
  621. package/lib/list/GridStencils/docs/GridStencils__default.docs.js +46 -32
  622. package/lib/list/Icons/AddNewIcon.js +55 -65
  623. package/lib/list/Icons/CompleteIcon.js +79 -74
  624. package/lib/list/Icons/DeleteIcon.js +51 -69
  625. package/lib/list/Icons/EditIcon.js +58 -75
  626. package/lib/list/Icons/FloatingIcons.js +46 -31
  627. package/lib/list/Icons/Icons.module.css +6 -5
  628. package/lib/list/Icons/ReadUnreadIcon.js +92 -0
  629. package/lib/list/Icons/SmartIcon.js +82 -61
  630. package/lib/list/Icons/docs/FloatingIcons__default.docs.js +39 -39
  631. package/lib/list/ListLayout/ListLayout.js +116 -100
  632. package/lib/list/ListLayout/ListLayout.module.css +42 -13
  633. package/lib/list/ListLayout/docs/ListLayout__default.docs.js +70 -109
  634. package/lib/list/ListStencils/ListStencils.js +58 -42
  635. package/lib/list/ListStencils/ListStencils.module.css +52 -9
  636. package/lib/list/ListStencils/docs/ListStencils__default.docs.js +32 -17
  637. package/lib/list/SecondaryText/AccountName.js +110 -78
  638. package/lib/list/SecondaryText/ContactName.js +125 -104
  639. package/lib/list/SecondaryText/DepartmentText.js +46 -33
  640. package/lib/list/SecondaryText/Email.js +72 -65
  641. package/lib/list/SecondaryText/HappinessRating.js +44 -40
  642. package/lib/list/SecondaryText/PhoneNumber.js +79 -68
  643. package/lib/list/SecondaryText/PriorityText.js +48 -38
  644. package/lib/list/SecondaryText/SecondaryText.js +59 -40
  645. package/lib/list/SecondaryText/SecondaryText.module.css +69 -24
  646. package/lib/list/SecondaryText/StatusText.js +52 -39
  647. package/lib/list/SecondaryText/TicketId.js +79 -41
  648. package/lib/list/SecondaryText/Website.js +52 -62
  649. package/lib/list/SecondaryText/docs/ContactName__default.docs.js +35 -17
  650. package/lib/list/SecondaryText/index.js +46 -57
  651. package/lib/list/SecondryPanel/SecondryPanel.js +133 -119
  652. package/lib/list/SecondryPanel/SecondryPanel.module.css +1 -22
  653. package/lib/list/SecondryPanel/docs/SecondryPanelDocs.module.css +8 -12
  654. package/lib/list/SecondryPanel/docs/SecondryPanel__default.docs.js +93 -112
  655. package/lib/list/SentimentStatus/SentimentStatus.js +41 -31
  656. package/lib/list/SentimentStatus/SentimentStatus.module.css +5 -2
  657. package/lib/list/SentimentStatus/docs/SentimentStatus__default.docs.js +29 -18
  658. package/lib/list/Subject/Subject.js +87 -67
  659. package/lib/list/Subject/Subject.module.css +21 -3
  660. package/lib/list/Subject/docs/Subject__default.docs.js +56 -30
  661. package/lib/list/TagNew/TagNew.js +50 -36
  662. package/lib/list/TagNew/TagNew.module.css +17 -10
  663. package/lib/list/TagNew/docs/TagNew__default.docs.js +35 -17
  664. package/lib/list/Thread/Thread.js +59 -43
  665. package/lib/list/Thread/Thread.module.css +34 -6
  666. package/lib/list/Thread/docs/Thread__default.docs.js +34 -17
  667. package/lib/list/UserTime/UserTime.js +104 -92
  668. package/lib/list/UserTime/UserTime.module.css +28 -12
  669. package/lib/list/UserTime/docs/UserTime__default.docs.js +157 -153
  670. package/lib/list/listCommon.module.css +23 -47
  671. package/lib/list/status/StatusDropdown/StatusDropdown.js +538 -0
  672. package/lib/list/status/StatusDropdown/StatusDropdown.module.css +89 -0
  673. package/lib/list/status/StatusDropdown/docs/StatusDropdown__default.docs.js +178 -0
  674. package/lib/list/status/StatusListItem/StatusListItem.js +206 -0
  675. package/lib/list/status/StatusListItem/StatusListItem.module.css +104 -0
  676. package/lib/list/status/StatusListItem/docs/StatusListItem__default.docs.js +77 -0
  677. package/lib/lookup/EmptyPage/EmptyPage.js +56 -51
  678. package/lib/lookup/EmptyPage/LookupEmptyPage.module.css +2 -1
  679. package/lib/lookup/EmptyPage/docs/EmptyPage__account.docs.js +32 -17
  680. package/lib/lookup/EmptyPage/docs/EmptyPage__contact.docs.js +32 -17
  681. package/lib/lookup/EmptyPage/docs/EmptyPage__default.docs.js +29 -16
  682. package/lib/lookup/EmptyPage/docs/EmptyPage__product.docs.js +32 -17
  683. package/lib/lookup/Lookup/Lookup.js +110 -77
  684. package/lib/lookup/Lookup/Lookup.module.css +13 -9
  685. package/lib/lookup/Lookup/docs/Lookup__contact.docs.js +99 -86
  686. package/lib/lookup/Lookup/docs/Lookup__default.docs.js +63 -55
  687. package/lib/lookup/Section/LookupSection.module.css +3 -3
  688. package/lib/lookup/Section/Section.js +44 -37
  689. package/lib/lookup/header/Close/Close.js +40 -42
  690. package/lib/lookup/header/Close/LookupClose.module.css +6 -6
  691. package/lib/lookup/header/Close/docs/Close__default.docs.js +32 -17
  692. package/lib/lookup/header/ModuleHeader/ModuleHeader.js +95 -91
  693. package/lib/lookup/header/ModuleHeader/docs/ModuleHeader__default.docs.js +36 -22
  694. package/lib/lookup/header/Search/LookupSearch.module.css +49 -29
  695. package/lib/lookup/header/Search/Search.js +243 -88
  696. package/lib/lookup/header/Search/docs/Search__default.docs.js +130 -34
  697. package/lib/lookup/header/TicketHeader/TicketHeader.js +115 -125
  698. package/lib/lookup/header/TicketHeader/TicketHeader.module.css +5 -14
  699. package/lib/lookup/header/TicketHeader/docs/TicketHeader__default.docs.js +71 -29
  700. package/lib/lookup/header/Title/LookupTitle.module.css +5 -5
  701. package/lib/lookup/header/Title/Title.js +39 -35
  702. package/lib/lookup/header/Title/docs/Title__default.docs.js +34 -17
  703. package/lib/lookup/header/ViewDropDown/ViewDropDown.js +164 -187
  704. package/lib/lookup/header/ViewDropDown/ViewDropDown.module.css +20 -19
  705. package/lib/lookup/header/ViewDropDown/docs/ViewDropDown__default.docs.js +71 -33
  706. package/lib/lookup/header/lookupHeaderCommon.module.css +23 -8
  707. package/lib/lookup/header/lookupHeaderCommonResponsive.module.css +12 -3
  708. package/lib/setup/header/Button/Button.js +47 -41
  709. package/lib/setup/header/Button/HeaderButton.module.css +3 -1
  710. package/lib/setup/header/Button/docs/Button__default.docs.js +31 -18
  711. package/lib/setup/header/Link/HeaderLink.module.css +11 -6
  712. package/lib/setup/header/Link/Link.js +55 -54
  713. package/lib/setup/header/Link/docs/Link__default.docs.js +32 -18
  714. package/lib/setup/header/Search/Search.js +77 -67
  715. package/lib/setup/header/Search/Search.module.css +31 -19
  716. package/lib/setup/header/Search/docs/Search__default.docs.js +52 -33
  717. package/lib/setup/header/Views/Views.js +59 -56
  718. package/lib/setup/header/Views/Views.module.css +18 -8
  719. package/lib/setup/header/Views/docs/Views__default.docs.js +33 -22
  720. package/lib/setup/helptips/Description/Description.js +33 -25
  721. package/lib/setup/helptips/Description/HelpTipsDescription.module.css +2 -2
  722. package/lib/setup/helptips/Description/docs/Description__default.docs.js +35 -24
  723. package/lib/setup/helptips/Link/HelpTipsLink.module.css +3 -2
  724. package/lib/setup/helptips/Link/Link.js +49 -39
  725. package/lib/setup/helptips/Link/docs/Link__default.docs.js +36 -25
  726. package/lib/setup/helptips/ListGroup/ListGroup.js +52 -45
  727. package/lib/setup/helptips/ListGroup/ListGroup.module.css +7 -2
  728. package/lib/setup/helptips/ListGroup/docs/ListGroup__default.docs.js +39 -28
  729. package/lib/setup/helptips/Title/HelpTipsTitle.module.css +2 -2
  730. package/lib/setup/helptips/Title/Title.js +33 -25
  731. package/lib/setup/helptips/Title/docs/Title__default.docs.js +35 -22
  732. package/lib/setup/table/Table/Table.js +42 -30
  733. package/lib/setup/table/Table/docs/Table__default.docs.js +183 -173
  734. package/lib/setup/table/TableBody/TableBody.js +49 -32
  735. package/lib/setup/table/TableData/{TableData.css → SetupTableData.module.css} +11 -3
  736. package/lib/setup/table/TableData/TableData.js +52 -45
  737. package/lib/setup/table/TableData/{hover.css → Tablehover.module.css} +0 -0
  738. package/lib/setup/table/TableHead/SetupTableHead.module.css +12 -0
  739. package/lib/setup/table/TableHead/TableHead.js +49 -48
  740. package/lib/setup/table/TableRow/SetupTableRow.module.css +14 -0
  741. package/lib/setup/table/TableRow/TableRow.js +58 -54
  742. package/lib/setup/table/Text/{Text.css → TableText.module.css} +37 -37
  743. package/lib/setup/table/Text/Text.js +67 -71
  744. package/lib/setup/table/Text/docs/Text__default.docs.js +49 -50
  745. package/lib/svg/PlusIcon.js +90 -0
  746. package/lib/svg/SnippetIcon.js +92 -0
  747. package/lib/svg/TemplateIcon.js +93 -0
  748. package/lib/svg/docs/SVG__default.docs.js +101 -0
  749. package/lib/utils/ChannelIconMapping.js +105 -85
  750. package/lib/utils/Common.js +33 -0
  751. package/lib/utils/General.js +60 -4
  752. package/lib/utils/KeyboardApi.js +51 -14
  753. package/lib/utils/editorUtils.js +223 -0
  754. package/lib/version2/AlertClose/AlertClose.js +101 -0
  755. package/lib/version2/AlertClose/AlertClose.module.css +43 -0
  756. package/lib/version2/AlertClose/docs/AlertClose__default.docs.js +97 -0
  757. package/lib/version2/GlobalNotification/GlobalNotification.js +190 -0
  758. package/lib/version2/GlobalNotification/GlobalNotification.module.css +125 -0
  759. package/lib/version2/GlobalNotification/docs/GlobalNotification__default.docs.js +143 -0
  760. package/lib/version2/alertIcons/AlarmAlertIcon.js +125 -0
  761. package/lib/version2/alertIcons/AlertIcons.js +127 -0
  762. package/lib/version2/alertIcons/AlertIcons.module.css +67 -0
  763. package/lib/version2/alertIcons/DangerAlertIcon.js +126 -0
  764. package/lib/version2/alertIcons/ErrorAlertIcon.js +130 -0
  765. package/lib/version2/alertIcons/InfoAlertIcon.js +134 -0
  766. package/lib/version2/alertIcons/NotificationAlertIcon.js +130 -0
  767. package/lib/version2/alertIcons/SuccessAlertIcon.js +125 -0
  768. package/lib/version2/alertIcons/WarningAlertIcon.js +125 -0
  769. package/lib/version2/alertIcons/docs/AlertIcons__default.docs.js +187 -0
  770. package/lib/version2/errorstate/Inconvenience/Inconvenience.js +146 -0
  771. package/lib/version2/errorstate/Inconvenience/docs/Inconvenience__default.docs.js +68 -0
  772. package/lib/version2/errorstate/OopsSomethingMiss/OopsSomethingMiss.js +147 -0
  773. package/lib/version2/errorstate/OopsSomethingMiss/docs/OopsSomethingMiss__default.docs.js +70 -0
  774. package/lib/version2/errorstate/UnableToProcessRequest/UnableToProcessRequest.js +146 -0
  775. package/lib/version2/errorstate/UnableToProcessRequest/docs/UnableToProcessRequest__default.docs.js +80 -0
  776. package/lib/version2/errorstate/UnauthorizedLogin/UnauthorizedLogin.js +150 -0
  777. package/lib/version2/errorstate/UnauthorizedLogin/docs/UnauthorizedLogin__default.docs.js +68 -0
  778. package/lib/version2/errorstate/UrlNotFound/UrlNotFound.js +146 -0
  779. package/lib/version2/errorstate/UrlNotFound/docs/UrlNotFound__default.docs.js +70 -0
  780. package/lib/version2/errorstate/V2_ErrorStates.module.css +46 -0
  781. package/lib/version2/errorstate/WillBeRightBack/WillBeRightBack.js +146 -0
  782. package/lib/version2/errorstate/WillBeRightBack/docs/WillBeRightBack__default.docs.js +68 -0
  783. package/lib/version2/lookup/AlertHeader/AlertHeader.js +134 -0
  784. package/lib/version2/lookup/AlertHeader/AlertHeaderNew.module.css +87 -0
  785. package/lib/version2/lookup/AlertHeader/docs/AlertHeader__default.docs.js +105 -0
  786. package/lib/version2/lookup/AlertLookup/AlertLookup.js +312 -0
  787. package/lib/version2/lookup/AlertLookup/AlertLookupNew.module.css +44 -0
  788. package/lib/version2/lookup/AlertLookup/docs/AlertLookup__default.docs.js +201 -0
  789. package/lib/version2/lookup/alertLookupCommonNew.module.css +33 -0
  790. package/lib/version2/notification/DesktopNotification/DesktopNotification.js +228 -0
  791. package/lib/version2/notification/DesktopNotification/DesktopNotification.module.css +107 -0
  792. package/lib/version2/notification/DesktopNotification/docs/DesktopNotification__default.docs.js +142 -0
  793. package/lib/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.js +128 -0
  794. package/lib/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.module.css +137 -0
  795. package/lib/version2/notification/DesktopNotificationHeader/docs/DesktopNotificationHeader__default.docs.js +108 -0
  796. package/package.json +39 -13
  797. package/src/ActionButton/ActionButton.js +197 -0
  798. package/src/ActionButton/ActionButton.module.css +120 -0
  799. package/src/ActionButton/docs/ActionButton__default.docs.js +110 -0
  800. package/src/AlphabeticList/AlphabeticList.js +176 -0
  801. package/src/AlphabeticList/AlphabeticList.module.css +54 -0
  802. package/src/AlphabeticList/docs/AlphabeticList__default.docs.js +36 -0
  803. package/src/AlphabeticList/docs/AlphabeticList__horizontal.docs.js +44 -0
  804. package/src/Appearance/dark/mode/dotDarkMode.module.css +536 -0
  805. package/src/Appearance/dark/themes/blue/blueDarkDotTheme.module.css +10 -0
  806. package/src/Appearance/dark/themes/green/greenDarkDotTheme.module.css +10 -0
  807. package/src/Appearance/dark/themes/orange/orangeDarkDotTheme.module.css +10 -0
  808. package/src/Appearance/dark/themes/red/redDarkDotTheme.module.css +10 -0
  809. package/src/Appearance/dark/themes/yellow/yellowDarkDotTheme.module.css +10 -0
  810. package/src/Appearance/default/mode/dotDefaultMode.module.css +536 -0
  811. package/src/Appearance/default/themes/blue/blueDefaultDotTheme.module.css +10 -0
  812. package/src/Appearance/default/themes/green/greenDefaultDotTheme.module.css +10 -0
  813. package/src/Appearance/default/themes/orange/orangeDefaultDotTheme.module.css +10 -0
  814. package/src/Appearance/default/themes/red/redDefaultDotTheme.module.css +10 -0
  815. package/src/Appearance/default/themes/yellow/yellowDefaultDotTheme.module.css +10 -0
  816. package/src/Attachment/Attachment.js +119 -0
  817. package/src/Attachment/Attachment.module.css +121 -0
  818. package/src/Attachment/docs/Attachment__default.docs.js +63 -0
  819. package/src/ChannelIcon/ChannelIcon.js +49 -15
  820. package/src/ChannelIcon/ChannelIcon.module.css +68 -47
  821. package/src/Drawer/Drawer.js +232 -101
  822. package/src/Drawer/Drawer.module.css +49 -93
  823. package/src/Drawer/docs/Drawer__default.docs.js +49 -8
  824. package/src/Drawer/docs/Drawer__multiDrawer.docs.js +111 -0
  825. package/src/Drawer/docs/Drawer__noFreeze.docs.js +1 -2
  826. package/src/Drawer/docs/Drawer__withModal.docs.js +76 -0
  827. package/src/ExternalLink/ExternalLink.js +75 -57
  828. package/src/ExternalLink/ExternalLink.module.css +3 -3
  829. package/src/ExternalLink/__tests__/ExternalLink.spec.js +28 -28
  830. package/src/ExternalLink/docs/ExternalLink__default.docs.js +24 -24
  831. package/src/FlipCard/FlipCard.js +43 -6
  832. package/src/FlipCard/FlipCard.module.css +3 -3
  833. package/src/FormAction/FormAction.js +6 -0
  834. package/src/FormAction/FormAction.module.css +7 -14
  835. package/src/FormAction/docs/FormAction__default.docs.js +8 -9
  836. package/src/FreezeLayer/FreezeLayer.js +49 -13
  837. package/src/FreezeLayer/FreezeLayer.module.css +7 -6
  838. package/src/FreezeLayer/docs/FreezeLayer__dark.docs.js +1 -2
  839. package/src/IconButton/IconButton.js +186 -0
  840. package/src/IconButton/IconButton.module.css +22 -0
  841. package/src/IconButton/docs/IconButton__default.docs.js +158 -0
  842. package/src/Image/Image.js +18 -1
  843. package/src/ImportantNotes/ImportantNotes.js +57 -0
  844. package/src/ImportantNotes/ImportantNotes.module.css +15 -0
  845. package/src/ImportantNotes/docs/ImportantNotes__default.docs.js +22 -0
  846. package/src/Link/Link.js +15 -7
  847. package/src/Loader/Loader.js +22 -0
  848. package/src/Loader/Loader.module.css +25 -0
  849. package/src/Loader/docs/Loader__default.docs.js +21 -0
  850. package/src/Message/Message.js +109 -0
  851. package/src/Message/Message.module.css +70 -0
  852. package/src/Message/docs/Message__default.docs.js +53 -0
  853. package/src/MessageBanner/MessageBanner.js +83 -0
  854. package/src/MessageBanner/MessageBanner.module.css +38 -0
  855. package/src/MessageBanner/docs/MessageBanner__default.docs.js +87 -0
  856. package/src/NewStar/NewStar.js +83 -0
  857. package/src/NewStar/NewStar.module.css +73 -0
  858. package/src/NewStar/docs/NewStar__default.docs.js +39 -0
  859. package/src/PlusIcon/PlusIcon.js +7 -11
  860. package/src/PlusIcon/PlusIcon.module.css +11 -2
  861. package/src/Provider.js +203 -0
  862. package/src/ToastMessage/ToastMessage.js +161 -135
  863. package/src/ToastMessage/ToastMessage.module.css +53 -56
  864. package/src/ToastMessage/docs/ToastMessage__information.docs.js +2 -0
  865. package/src/Upload/Upload.js +103 -0
  866. package/src/Upload/Upload.module.css +106 -0
  867. package/src/Upload/docs/Upload__default.docs.js +72 -0
  868. package/src/actions/AutoClose.js +51 -0
  869. package/src/alert/AlertHeader/AlertHeader.js +25 -18
  870. package/src/alert/AlertHeader/AlertHeader.module.css +14 -13
  871. package/src/alert/AlertHeader/docs/AlertHeader__default.docs.js +1 -0
  872. package/src/alert/AlertLookup/AlertLookup.js +74 -34
  873. package/src/alert/AlertLookup/AlertLookup.module.css +6 -3
  874. package/src/alert/AlertLookup/docs/AlertLookup__default.docs.js +1 -0
  875. package/src/avatar/AvatarClose/AvatarClose.js +11 -5
  876. package/src/avatar/AvatarClose/AvatarClose.module.css +4 -4
  877. package/src/avatar/AvatarCollision/AvatarCollision.js +13 -4
  878. package/src/avatar/AvatarCollision/AvatarCollision.module.css +9 -9
  879. package/src/avatar/AvatarIcon/AvatarIcon.js +25 -9
  880. package/src/avatar/AvatarIcon/AvatarIcon.module.css +33 -10
  881. package/src/avatar/AvatarIcon/docs/AvatarIcon__palette.docs.js +15 -1
  882. package/src/avatar/AvatarStatus/AvatarStatus.js +52 -8
  883. package/src/avatar/AvatarStatus/AvatarStatus.module.css +55 -23
  884. package/src/avatar/AvatarStatus/docs/AvatarStatus__size.docs.js +16 -12
  885. package/src/avatar/AvatarThread/AvatarThread.js +58 -10
  886. package/src/avatar/AvatarThread/AvatarThread.module.css +69 -14
  887. package/src/avatar/AvatarThread/docs/AvatarThread__default.docs.js +143 -21
  888. package/src/avatar/AvatarUser/AvatarUser.js +78 -18
  889. package/src/avatar/AvatarUser/AvatarUser.module.css +57 -18
  890. package/src/avatar/AvatarUser/docs/AvatarUser__default.docs.js +89 -52
  891. package/src/avatar/AvatarWithTeam/AvatarWithTeam.js +87 -10
  892. package/src/avatar/AvatarWithTeam/AvatarWithTeam.module.css +4 -4
  893. package/src/{setup/header → deprecated}/SelectDropdown/SelectDropdown.js +0 -0
  894. package/src/deprecated/SelectDropdown/SelectDropdown.module.css +47 -0
  895. package/src/{setup/header → deprecated}/SelectDropdown/docs/SelectDropdown__default.docs.js +0 -0
  896. package/src/docs/formDocs.js +26 -0
  897. package/src/docs/generalDocs.js +56 -11
  898. package/src/docs/lookupDocs.js +19 -0
  899. package/src/docs/setupDocs.js +0 -2
  900. package/src/dropdown/ToggleDropDown/ToggleDropDown.js +629 -278
  901. package/src/dropdown/ToggleDropDown/ToggleDropDown.module.css +31 -12
  902. package/src/dropdown/ToggleDropDown/docs/ToggleDropDown__default.docs.js +219 -52
  903. package/src/emptystate/CommonEmptyState/CommonEmptyState.js +55 -56
  904. package/src/emptystate/CommonEmptyState/CommonEmptyState.module.css +60 -14
  905. package/src/emptystate/CommonEmptyState/docs/CommonEmptyState__default.docs.js +88 -34
  906. package/src/emptystate/EditionPage/EditionPage.css +5 -5
  907. package/src/emptystate/EditionPage/EditionPage.js +6 -6
  908. package/src/errorstate/EmptyStates.module.css +57 -12
  909. package/src/errorstate/Inconvenience/Inconvenience.js +107 -17
  910. package/src/errorstate/Inconvenience/Inconvenience.module.css +0 -2
  911. package/src/errorstate/LinkText/LinkText.js +10 -3
  912. package/src/errorstate/LinkText/LinkText.module.css +2 -2
  913. package/src/errorstate/NoRequestFound/NoRequestFound.js +106 -16
  914. package/src/errorstate/NoRequestFound/NoRequestFound.module.css +0 -2
  915. package/src/errorstate/PermissionPlay/PermissionPlay.js +101 -20
  916. package/src/errorstate/PermissionPlay/PermissionPlay.module.css +10 -9
  917. package/src/errorstate/RequestUrlNotFound/RequestUrlNotFound.js +106 -16
  918. package/src/errorstate/RequestUrlNotFound/RequestUrlNotFound.module.css +0 -2
  919. package/src/errorstate/UnableToProcess/UnableToProcess.js +104 -16
  920. package/src/errorstate/UnableToProcess/UnableToProcess.module.css +0 -11
  921. package/src/errorstate/UnauthorizedLogin/UnauthorizedLogin.js +104 -16
  922. package/src/errorstate/UnauthorizedLogin/UnauthorizedLogin.module.css +0 -11
  923. package/src/errorstate/WillBack/WillBack.js +102 -22
  924. package/src/errorstate/WillBack/WillBack.module.css +25 -10
  925. package/src/form/fields/CheckBoxField/CheckBoxField.js +220 -0
  926. package/src/form/fields/CheckBoxField/docs/CheckBoxField__default.docs.js +32 -0
  927. package/src/form/fields/CurrencyField/CurrencyField.js +267 -0
  928. package/src/form/fields/DateField/DateField.js +281 -0
  929. package/src/form/fields/DateField/docs/DateField__default.docs.js +24 -0
  930. package/src/form/fields/Fields.module.css +145 -0
  931. package/src/form/fields/MultiSelectField/MultiSelectField.js +311 -0
  932. package/src/form/fields/MultiSelectField/docs/MultiSelectField__default.docs.js +53 -0
  933. package/src/form/fields/PhoneField/PhoneField.js +227 -0
  934. package/src/form/fields/PhoneField/docs/PhoneField__default.docs.js +26 -0
  935. package/src/form/fields/RadioField/RadioField.js +181 -0
  936. package/src/form/fields/SelectField/SelectField.js +296 -0
  937. package/src/form/fields/SelectField/docs/SelectField__default.docs.js +48 -0
  938. package/src/form/fields/TagsMultiSelect/TagsMultiSelect.js +331 -0
  939. package/src/form/fields/TagsMultiSelect/TagsMultiSelect.module.css +95 -0
  940. package/src/form/fields/TagsMultiSelect/docs/TagsMultiSelect__default.docs.js +55 -0
  941. package/src/form/fields/TagsMultiSelectField/TagsMultiSelectField.js +342 -0
  942. package/src/form/fields/TagsMultiSelectField/TagsMultiSelectField.module.css +6 -0
  943. package/src/form/fields/TagsMultiSelectField/docs/TagsMultiSelectField__default.docs.js +58 -0
  944. package/src/form/fields/TextBoxField/TextBoxField.js +274 -0
  945. package/src/form/fields/TextBoxField/docs/TextBoxField__default.docs.js +38 -0
  946. package/src/form/fields/TextEditor/TextEditor.js +440 -0
  947. package/src/form/fields/TextEditor/TextEditor.module.css +582 -0
  948. package/src/form/fields/TextEditorField/TextEditorField.js +286 -0
  949. package/src/form/fields/TextEditorField/docs/TextEditorField__default.docs.js +62 -0
  950. package/src/form/fields/TextEditorWrapper/TextEditorWrapper.js +239 -0
  951. package/src/form/fields/TextEditorWrapper/TextEditorWrapper.module.css +26 -0
  952. package/src/form/fields/TextareaField/TextareaField.js +247 -0
  953. package/src/form/fields/TextareaField/docs/TextareaField__default.docs.js +25 -0
  954. package/src/form/fields/ValidationMessage/ValidationMessage.js +77 -0
  955. package/src/form/fields/ValidationMessage/ValidationMessage.module.css +22 -0
  956. package/src/form/fields/ValidationMessage/docs/ValidationMessage__default.docs.js +66 -0
  957. package/src/form/layout/Field/Field.js +53 -0
  958. package/src/form/layout/Field/Field.module.css +22 -0
  959. package/src/form/layout/Field/docs/Field__default.docs.js +20 -0
  960. package/src/form/layout/Section/ModuleFormSection.module.css +3 -0
  961. package/src/form/layout/Section/Section.js +47 -0
  962. package/src/form/layout/Section/docs/Section__default.docs.js +21 -0
  963. package/src/i18n.js +5498 -0
  964. package/src/index.js +2 -8
  965. package/src/layout/SetupDetailLayout/SetupDetailLayout.js +46 -20
  966. package/src/layout/SetupDetailLayout/SetupDetailLayout.module.css +20 -20
  967. package/src/layout/SetupDetailLayout/docs/SetupDetailLayout__default.docs.js +1 -2
  968. package/src/layout/SubtabLayout/SubtabLayout.js +88 -19
  969. package/src/layout/SubtabLayout/SubtabLayout.module.css +68 -14
  970. package/src/layout/SubtabLayout/docs/SubtabLayout__default.docs.js +3 -22
  971. package/src/layout/SubtabLayout/index.js +1 -0
  972. package/src/list/AvatarFlip/AvatarFlip.js +23 -3
  973. package/src/list/AvatarFlip/AvatarFlip.module.css +1 -13
  974. package/src/list/AvatarFlip/docs/AvatarFlip__default.docs.js +4 -129
  975. package/src/list/BluePrintStatus/BluePrintStatus.js +3 -6
  976. package/src/list/BluePrintStatus/BluePrintStatus.module.css +4 -3
  977. package/src/list/Comment/Comment.js +17 -20
  978. package/src/list/Comment/Comment.module.css +12 -5
  979. package/src/list/DepartmentDropDown/DepartmentDropDown.js +55 -14
  980. package/src/list/DepartmentDropDown/DepartmentDropDown.module.css +6 -59
  981. package/src/list/Dot/Dot.js +4 -5
  982. package/src/list/Dot/Dot.module.css +7 -5
  983. package/src/list/DotNew/DotNew.js +8 -3
  984. package/src/list/DotNew/DotNew.module.css +14 -8
  985. package/src/list/GridStencils/GridStencils.module.css +12 -41
  986. package/src/list/Icons/AddNewIcon.js +13 -37
  987. package/src/list/Icons/CompleteIcon.js +21 -45
  988. package/src/list/Icons/DeleteIcon.js +13 -43
  989. package/src/list/Icons/EditIcon.js +15 -45
  990. package/src/list/Icons/FloatingIcons.js +2 -2
  991. package/src/list/Icons/Icons.module.css +6 -5
  992. package/src/list/Icons/ReadUnreadIcon.js +42 -0
  993. package/src/list/Icons/SmartIcon.js +20 -28
  994. package/src/list/Icons/docs/FloatingIcons__default.docs.js +11 -22
  995. package/src/list/ListLayout/ListLayout.js +52 -40
  996. package/src/list/ListLayout/ListLayout.module.css +27 -6
  997. package/src/list/ListStencils/ListStencils.js +18 -7
  998. package/src/list/ListStencils/ListStencils.module.css +46 -8
  999. package/src/list/SecondaryText/AccountName.js +73 -23
  1000. package/src/list/SecondaryText/ContactName.js +56 -21
  1001. package/src/list/SecondaryText/DepartmentText.js +3 -1
  1002. package/src/list/SecondaryText/Email.js +23 -6
  1003. package/src/list/SecondaryText/PhoneNumber.js +27 -6
  1004. package/src/list/SecondaryText/SecondaryText.js +10 -3
  1005. package/src/list/SecondaryText/SecondaryText.module.css +57 -22
  1006. package/src/list/SecondaryText/StatusText.js +8 -13
  1007. package/src/list/SecondaryText/TicketId.js +43 -6
  1008. package/src/list/SecondaryText/Website.js +1 -0
  1009. package/src/list/SecondryPanel/SecondryPanel.js +47 -23
  1010. package/src/list/SecondryPanel/SecondryPanel.module.css +1 -22
  1011. package/src/list/SecondryPanel/docs/SecondryPanelDocs.module.css +7 -11
  1012. package/src/list/SecondryPanel/docs/SecondryPanel__default.docs.js +61 -37
  1013. package/src/list/SentimentStatus/SentimentStatus.module.css +1 -1
  1014. package/src/list/Subject/Subject.js +26 -9
  1015. package/src/list/Subject/Subject.module.css +21 -3
  1016. package/src/list/Subject/docs/Subject__default.docs.js +9 -2
  1017. package/src/list/TagNew/TagNew.js +5 -2
  1018. package/src/list/TagNew/TagNew.module.css +5 -5
  1019. package/src/list/Thread/Thread.js +14 -7
  1020. package/src/list/Thread/Thread.module.css +22 -6
  1021. package/src/list/UserTime/UserTime.js +47 -39
  1022. package/src/list/UserTime/UserTime.module.css +22 -12
  1023. package/src/list/UserTime/docs/UserTime__default.docs.js +98 -106
  1024. package/src/list/listCommon.module.css +16 -48
  1025. package/src/list/status/StatusDropdown/StatusDropdown.js +538 -0
  1026. package/src/list/status/StatusDropdown/StatusDropdown.module.css +76 -0
  1027. package/src/list/status/StatusDropdown/docs/StatusDropdown__default.docs.js +92 -0
  1028. package/src/list/status/StatusListItem/StatusListItem.js +149 -0
  1029. package/src/list/status/StatusListItem/StatusListItem.module.css +81 -0
  1030. package/src/list/status/StatusListItem/docs/StatusListItem__default.docs.js +19 -0
  1031. package/src/lookup/EmptyPage/LookupEmptyPage.module.css +2 -1
  1032. package/src/lookup/Lookup/Lookup.js +65 -32
  1033. package/src/lookup/Lookup/Lookup.module.css +12 -8
  1034. package/src/lookup/Lookup/docs/Lookup__contact.docs.js +8 -13
  1035. package/src/lookup/Section/LookupSection.module.css +3 -3
  1036. package/src/lookup/header/Close/Close.js +7 -11
  1037. package/src/lookup/header/Close/LookupClose.module.css +5 -5
  1038. package/src/lookup/header/ModuleHeader/ModuleHeader.js +30 -9
  1039. package/src/lookup/header/ModuleHeader/docs/ModuleHeader__default.docs.js +2 -1
  1040. package/src/lookup/header/Search/LookupSearch.module.css +40 -29
  1041. package/src/lookup/header/Search/Search.js +196 -50
  1042. package/src/lookup/header/Search/docs/Search__default.docs.js +76 -11
  1043. package/src/lookup/header/TicketHeader/TicketHeader.js +35 -19
  1044. package/src/lookup/header/TicketHeader/TicketHeader.module.css +1 -13
  1045. package/src/lookup/header/Title/LookupTitle.module.css +5 -5
  1046. package/src/lookup/header/Title/Title.js +3 -2
  1047. package/src/lookup/header/ViewDropDown/ViewDropDown.js +52 -32
  1048. package/src/lookup/header/ViewDropDown/ViewDropDown.module.css +14 -18
  1049. package/src/lookup/header/lookupHeaderCommon.module.css +10 -5
  1050. package/src/lookup/header/lookupHeaderCommonResponsive.module.css +1 -1
  1051. package/src/setup/header/Link/HeaderLink.module.css +4 -5
  1052. package/src/setup/header/Search/Search.js +17 -4
  1053. package/src/setup/header/Search/Search.module.css +13 -12
  1054. package/src/setup/header/Views/Views.module.css +4 -4
  1055. package/src/setup/helptips/Description/Description.js +22 -22
  1056. package/src/setup/helptips/Description/HelpTipsDescription.module.css +2 -2
  1057. package/src/setup/helptips/Description/docs/Description__default.docs.js +23 -23
  1058. package/src/setup/helptips/Link/HelpTipsLink.module.css +2 -2
  1059. package/src/setup/helptips/Link/Link.js +39 -40
  1060. package/src/setup/helptips/Link/docs/Link__default.docs.js +27 -27
  1061. package/src/setup/helptips/ListGroup/ListGroup.module.css +2 -2
  1062. package/src/setup/helptips/Title/HelpTipsTitle.module.css +2 -2
  1063. package/src/setup/helptips/Title/Title.js +22 -22
  1064. package/src/setup/helptips/Title/docs/Title__default.docs.js +21 -21
  1065. package/src/setup/table/Table/Table.js +10 -4
  1066. package/src/setup/table/Table/docs/Table__default.docs.js +1 -1
  1067. package/src/setup/table/TableBody/TableBody.js +13 -3
  1068. package/{es/setup/table/TableData/TableData.css → src/setup/table/TableData/SetupTableData.module.css} +0 -0
  1069. package/src/setup/table/TableData/TableData.js +19 -8
  1070. package/src/setup/table/TableData/{hover.css → Tablehover.module.css} +0 -0
  1071. package/{es/setup/table/TableHead/TableHead.css → src/setup/table/TableHead/SetupTableHead.module.css} +1 -1
  1072. package/src/setup/table/TableHead/TableHead.js +1 -1
  1073. package/src/setup/table/TableRow/{TableRow.css → SetupTableRow.module.css} +2 -2
  1074. package/src/setup/table/TableRow/TableRow.js +5 -5
  1075. package/{es/setup/table/Text/Text.css → src/setup/table/Text/TableText.module.css} +37 -37
  1076. package/src/setup/table/Text/Text.js +82 -81
  1077. package/src/setup/table/Text/docs/Text__default.docs.js +38 -38
  1078. package/src/{SVG → svg}/PlusIcon.js +2 -2
  1079. package/src/{SVG → svg}/SnippetIcon.js +2 -2
  1080. package/src/svg/TemplateIcon.js +34 -0
  1081. package/src/{SVG → svg}/docs/SVG__default.docs.js +0 -0
  1082. package/src/utils/ChannelIconMapping.js +102 -84
  1083. package/src/utils/Common.js +20 -0
  1084. package/src/utils/General.js +40 -0
  1085. package/src/utils/editorUtils.js +189 -0
  1086. package/src/version2/AlertClose/AlertClose.js +45 -0
  1087. package/src/version2/AlertClose/AlertClose.module.css +43 -0
  1088. package/src/version2/AlertClose/docs/AlertClose__default.docs.js +46 -0
  1089. package/src/version2/GlobalNotification/GlobalNotification.js +112 -0
  1090. package/src/version2/GlobalNotification/GlobalNotification.module.css +90 -0
  1091. package/src/version2/GlobalNotification/docs/GlobalNotification__default.docs.js +94 -0
  1092. package/src/version2/alertIcons/AlarmAlertIcon.js +32 -0
  1093. package/src/version2/alertIcons/AlertIcons.js +61 -0
  1094. package/src/version2/alertIcons/AlertIcons.module.css +67 -0
  1095. package/src/version2/alertIcons/DangerAlertIcon.js +33 -0
  1096. package/src/version2/alertIcons/ErrorAlertIcon.js +34 -0
  1097. package/src/version2/alertIcons/InfoAlertIcon.js +35 -0
  1098. package/src/version2/alertIcons/NotificationAlertIcon.js +32 -0
  1099. package/src/version2/alertIcons/SuccessAlertIcon.js +31 -0
  1100. package/src/version2/alertIcons/WarningAlertIcon.js +31 -0
  1101. package/src/version2/alertIcons/docs/AlertIcons__default.docs.js +123 -0
  1102. package/src/version2/errorstate/Inconvenience/Inconvenience.js +98 -0
  1103. package/src/version2/errorstate/Inconvenience/docs/Inconvenience__default.docs.js +19 -0
  1104. package/src/version2/errorstate/OopsSomethingMiss/OopsSomethingMiss.js +99 -0
  1105. package/src/version2/errorstate/OopsSomethingMiss/docs/OopsSomethingMiss__default.docs.js +21 -0
  1106. package/src/version2/errorstate/UnableToProcessRequest/UnableToProcessRequest.js +98 -0
  1107. package/src/version2/errorstate/UnableToProcessRequest/docs/UnableToProcessRequest__default.docs.js +31 -0
  1108. package/src/version2/errorstate/UnauthorizedLogin/UnauthorizedLogin.js +102 -0
  1109. package/src/version2/errorstate/UnauthorizedLogin/docs/UnauthorizedLogin__default.docs.js +19 -0
  1110. package/src/version2/errorstate/UrlNotFound/UrlNotFound.js +98 -0
  1111. package/src/version2/errorstate/UrlNotFound/docs/UrlNotFound__default.docs.js +21 -0
  1112. package/src/version2/errorstate/V2_ErrorStates.module.css +46 -0
  1113. package/src/version2/errorstate/WillBeRightBack/WillBeRightBack.js +98 -0
  1114. package/src/version2/errorstate/WillBeRightBack/docs/WillBeRightBack__default.docs.js +19 -0
  1115. package/src/version2/lookup/AlertHeader/AlertHeader.js +100 -0
  1116. package/src/version2/lookup/AlertHeader/AlertHeaderNew.module.css +64 -0
  1117. package/src/version2/lookup/AlertHeader/docs/AlertHeader__default.docs.js +66 -0
  1118. package/src/version2/lookup/AlertLookup/AlertLookup.js +290 -0
  1119. package/src/version2/lookup/AlertLookup/AlertLookupNew.module.css +40 -0
  1120. package/src/version2/lookup/AlertLookup/docs/AlertLookup__default.docs.js +150 -0
  1121. package/src/version2/lookup/alertLookupCommonNew.module.css +26 -0
  1122. package/src/version2/notification/DesktopNotification/DesktopNotification.js +251 -0
  1123. package/src/version2/notification/DesktopNotification/DesktopNotification.module.css +91 -0
  1124. package/src/version2/notification/DesktopNotification/docs/DesktopNotification__default.docs.js +86 -0
  1125. package/src/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.js +92 -0
  1126. package/src/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.module.css +100 -0
  1127. package/src/version2/notification/DesktopNotificationHeader/docs/DesktopNotificationHeader__default.docs.js +51 -0
  1128. package/es/SVG/PlusIcon.js +0 -68
  1129. package/es/SVG/SnippetIcon.js +0 -71
  1130. package/es/SVG/TemplateIcon.js +0 -66
  1131. package/es/SVG/docs/SVG__default.docs.js +0 -87
  1132. package/es/list/StatusDropdown/StatusDropdown.js +0 -203
  1133. package/es/list/StatusDropdown/StatusDropdown.module.css +0 -51
  1134. package/es/list/StatusDropdown/docs/StatusDropdown__default.docs.js +0 -76
  1135. package/es/list/TimeInfo/TimeInfo.js +0 -171
  1136. package/es/list/TimeInfo/docs/TimeInfo__default.docs.js +0 -49
  1137. package/es/setup/header/SelectDropdown/SelectDropdown.js +0 -162
  1138. package/es/setup/header/SelectDropdown/SelectDropdown.module.css +0 -35
  1139. package/es/setup/header/SelectDropdown/docs/SelectDropdown__default.docs.js +0 -44
  1140. package/es/setup/table/TableRow/TableRow.css +0 -10
  1141. package/es/utils/Ticket.js +0 -3
  1142. package/lib/SVG/PlusIcon.js +0 -87
  1143. package/lib/SVG/SnippetIcon.js +0 -90
  1144. package/lib/SVG/TemplateIcon.js +0 -85
  1145. package/lib/SVG/docs/SVG__default.docs.js +0 -110
  1146. package/lib/list/StatusDropdown/StatusDropdown.js +0 -241
  1147. package/lib/list/StatusDropdown/StatusDropdown.module.css +0 -51
  1148. package/lib/list/StatusDropdown/docs/StatusDropdown__default.docs.js +0 -96
  1149. package/lib/list/TimeInfo/TimeInfo.js +0 -191
  1150. package/lib/list/TimeInfo/docs/TimeInfo__default.docs.js +0 -69
  1151. package/lib/setup/header/SelectDropdown/SelectDropdown.js +0 -200
  1152. package/lib/setup/header/SelectDropdown/SelectDropdown.module.css +0 -35
  1153. package/lib/setup/header/SelectDropdown/docs/SelectDropdown__default.docs.js +0 -63
  1154. package/lib/setup/table/TableHead/TableHead.css +0 -8
  1155. package/lib/setup/table/TableRow/TableRow.css +0 -10
  1156. package/lib/utils/Ticket.js +0 -8
  1157. package/postpublish.js +0 -100
  1158. package/src/SVG/TemplateIcon.js +0 -46
  1159. package/src/list/StatusDropdown/StatusDropdown.js +0 -172
  1160. package/src/list/StatusDropdown/StatusDropdown.module.css +0 -51
  1161. package/src/list/StatusDropdown/docs/StatusDropdown__default.docs.js +0 -72
  1162. package/src/list/TimeInfo/TimeInfo.js +0 -156
  1163. package/src/list/TimeInfo/docs/TimeInfo__default.docs.js +0 -26
  1164. package/src/setup/header/SelectDropdown/SelectDropdown.module.css +0 -35
  1165. package/src/setup/table/TableHead/TableHead.css +0 -8
  1166. package/src/utils/Ticket.js +0 -10
@@ -1,8 +1,7 @@
1
- import React from 'react';
1
+ import React, { Component, Fragment } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import Icon from '@zohodesk/icons/lib/Icon';
4
4
  import DropBox from '@zohodesk/components/lib/DropBox/DropBox';
5
- import commonStyle from '@zohodesk/components/lib/common/common.module.css';
6
5
  import Popup from '@zohodesk/components/lib/Popup/Popup';
7
6
  import { Box, Container } from '@zohodesk/components/lib/Layout';
8
7
  import ListItem from '@zohodesk/components/lib/ListItem/ListItem';
@@ -12,31 +11,45 @@ import TextBoxIcon from '@zohodesk/components/lib/TextBoxIcon/TextBoxIcon';
12
11
  import Loader from '@zohodesk/svg/lib/svg/Loader';
13
12
  import CommonEmptyState from '../../emptystate/CommonEmptyState/CommonEmptyState';
14
13
  import EmptySearch from '@zohodesk/svg/lib/svg/EmptySearch';
15
- import { scrollTo } from '@zohodesk/components/lib/utils/Common.js';
16
- import TextBox from '@zohodesk/components/lib/TextBox/TextBox';
14
+ import CssProvider from '@zohodesk/components/lib/Provider/CssProvider';
15
+ import { scrollTo } from '@zohodesk/components/lib/utils/Common';
16
+ import { getUniqueId } from '@zohodesk/components/lib/Provider/IdProvider';
17
+ import btnStyle from '@zohodesk/components/lib/semantic/Button/semanticButton.module.css';
18
+ import RippleEffect from '@zohodesk/components/lib/RippleEffect/RippleEffect';
19
+ import { shallowDiff } from '../../utils/General';
17
20
  import style from './ToggleDropDown.module.css';
18
21
 
19
- export class ToggleDropDown extends React.Component {
22
+ export class ToggleDropDown extends Component {
20
23
  constructor(props) {
21
24
  super(props);
22
25
  this.state = {
23
- searchString: '',
24
- selectedIndex: 0,
25
- options: props.options,
26
- seperatedOptions: props.seperatedOptions
26
+ searchValue: '',
27
+ selectedIndex: -1,
28
+ options: props.options
27
29
  };
28
30
  this.handleChange = this.handleChange.bind(this);
29
31
  this.handleKeyDown = this.handleKeyDown.bind(this);
30
32
  this.onSelect = this.onSelect.bind(this);
31
33
  this.handleTogglePopup = this.handleTogglePopup.bind(this);
34
+ this.showTogglePopup = this.showTogglePopup.bind(this);
35
+ this.hideTogglePopup = this.hideTogglePopup.bind(this);
36
+ this.onSearchAPI = this.onSearchAPI.bind(this);
32
37
  this.onSearchClear = this.onSearchClear.bind(this);
33
- this.searchList = this.searchList.bind(this);
38
+ this.handleFilterSuggestions = this.handleFilterSuggestions.bind(this);
34
39
  this.scrollContentRef = this.scrollContentRef.bind(this);
35
40
  this.handleMouseEnter = this.handleMouseEnter.bind(this);
36
41
  this.searchInputRef = this.searchInputRef.bind(this);
37
42
  this.itemRef = this.itemRef.bind(this);
38
43
  this.inputRef = this.inputRef.bind(this);
39
44
  this.handleScroll = this.handleScroll.bind(this);
45
+ this.getOptionsArray = this.getOptionsArray.bind(this);
46
+ this.emptySearchSVG = this.emptySearchSVG.bind(this);
47
+ this.getAriaId = getUniqueId(this);
48
+ this.getSelectedIndex = this.getSelectedIndex.bind(this);
49
+ }
50
+
51
+ emptySearchSVG() {
52
+ return <EmptySearch size='small' />;
40
53
  }
41
54
 
42
55
  inputRef(el) {
@@ -52,20 +65,44 @@ export class ToggleDropDown extends React.Component {
52
65
  }
53
66
 
54
67
  handleTogglePopup(e) {
55
- let { togglePopup, boxPosition, onSelectLabel, isPopupOpen } = this.props;
68
+ const {
69
+ togglePopup,
70
+ boxPosition,
71
+ onSelectLabel,
72
+ isPopupOpen,
73
+ removeClose
74
+ } = this.props;
75
+ removeClose && removeClose(e);
56
76
  !isPopupOpen && onSelectLabel && onSelectLabel(e);
57
77
  togglePopup(e, boxPosition);
58
78
  }
59
79
 
80
+ showTogglePopup(e) {
81
+ const { togglePopup, boxPosition, onSelectLabel, isPopupOpen } = this.props;
82
+ !isPopupOpen && onSelectLabel && onSelectLabel(e);
83
+ !isPopupOpen && togglePopup(e, boxPosition);
84
+ }
85
+
86
+ hideTogglePopup(e) {
87
+ const { togglePopup, boxPosition, onSelectLabel, isPopupOpen } = this.props;
88
+ !isPopupOpen && onSelectLabel && onSelectLabel(e);
89
+ isPopupOpen && togglePopup(e, boxPosition);
90
+ }
91
+
60
92
  scrollContentRef(el) {
61
- let { isPopupOpen } = this.props;
93
+ const { isPopupOpen } = this.props;
62
94
  if (isPopupOpen) {
63
95
  this.optionsContainer = el;
64
96
  }
65
97
  }
66
98
 
67
99
  componentWillReceiveProps(nextProps) {
68
- if (nextProps.options.length != this.props.options.length) {
100
+ // if (nextProps.options.length != this.props.options.length) {
101
+ // this.setState({
102
+ // options: nextProps.options
103
+ // });
104
+ // }
105
+ if (shallowDiff(this.props.options, nextProps.options)) {
69
106
  this.setState({
70
107
  options: nextProps.options
71
108
  });
@@ -73,113 +110,263 @@ export class ToggleDropDown extends React.Component {
73
110
  }
74
111
 
75
112
  onSelect(element, e) {
76
- let { onClick, togglePopup } = this.props;
113
+ const { onClick, togglePopup, preventPopupClose } = this.props;
77
114
  onClick && onClick(e, element);
78
- togglePopup(e);
115
+ !preventPopupClose && togglePopup(e);
79
116
  }
80
117
 
81
118
  componentDidUpdate(prevProps) {
82
- let { isPopupOpen, isSearch, idName } = this.props;
83
- let { selectedIndex, options, seperatedOptions } = this.state;
84
- if (prevProps.isPopupOpen != isPopupOpen) {
119
+ const {
120
+ isPopupOpen,
121
+ isPopupReady,
122
+ isSearch,
123
+ idName,
124
+ options,
125
+ onDropDownOpen,
126
+ onDropDownClose
127
+ } = this.props;
128
+ const { selectedIndex, searchValue } = this.state;
129
+ if (prevProps.isPopupReady !== isPopupReady) {
85
130
  setTimeout(() => {
86
- isPopupOpen
131
+ isPopupReady
87
132
  ? isSearch
88
- ? this.searchInput.focus()
89
- : this.hiddenInput.focus()
90
- : this.hiddenInput.focus();
133
+ ? this.searchInput.focus({ preventScroll: true })
134
+ : this.hiddenInput.focus({ preventScroll: true })
135
+ : this.hiddenInput.focus({ preventScroll: true });
91
136
  }, 10);
92
137
  }
93
- let mergeOptions = seperatedOptions
94
- ? options.concat(seperatedOptions)
95
- : options;
96
- let option = mergeOptions[selectedIndex];
97
- let id = (option && option[idName]) || {};
98
- let selSuggestion = this[`suggestion_${id}`];
138
+ const optionsArr = this.getOptionsArray();
139
+ const option = optionsArr[selectedIndex];
140
+ const id = (option && option[idName]) || {};
141
+ const selSuggestion = this[`suggestion_${id}`];
99
142
  if (isPopupOpen) {
100
143
  this.optionsContainer && scrollTo(this.optionsContainer, selSuggestion);
101
144
  }
145
+ if (!prevProps.isPopupOpen && isPopupOpen && searchValue.length) {
146
+ this.onSearchClear();
147
+ }
148
+
149
+ if (this.props.from == 'activityFilter') {
150
+ //Temproary
151
+ const results = this.props.options.filter(
152
+ ({ isDisabled: id1 }) =>
153
+ !prevProps.options.some(({ isDisabled: id2 }) => id2 === id1)
154
+ );
155
+ if (results.length > 0) {
156
+ this.setState({ options: options });
157
+ }
158
+ }
159
+
160
+ if (prevProps.isPopupOpen !== isPopupOpen) {
161
+ if (isPopupOpen) {
162
+ onDropDownOpen && onDropDownOpen();
163
+ } else {
164
+ onDropDownClose && onDropDownClose();
165
+ }
166
+ this.getSelectedIndex(optionsArr);
167
+ }
168
+ }
169
+
170
+ handleFilterSuggestions(searchValue) {
171
+ const { options, keyName, isGroupDropDown, groupOptionsKey, groupNameKey } =
172
+ this.props;
173
+ searchValue = searchValue.trim().toLowerCase();
174
+ let result = [];
175
+ if (isGroupDropDown) {
176
+ const filteredGroups = [];
177
+ options.map(group => {
178
+ const { needDivider } = group;
179
+ const name = group[groupNameKey];
180
+ const groupOptions = group[groupOptionsKey];
181
+ const datas = groupOptions.filter(list => {
182
+ const value = list[keyName];
183
+ return value.toLowerCase().includes(searchValue);
184
+ });
185
+ if (datas.length) {
186
+ filteredGroups.push({
187
+ [groupNameKey]: name,
188
+ [groupOptionsKey]: datas,
189
+ needDivider
190
+ });
191
+ }
192
+ });
193
+ result = filteredGroups;
194
+ } else {
195
+ let filteredOptions = options.filter((item, i) => {
196
+ if (item.needDivider) {
197
+ return true;
198
+ }
199
+ return item[keyName].toLowerCase().includes(searchValue);
200
+ });
201
+ if (filteredOptions.length) {
202
+ // to avoid more than one dividers consecutively comes as one by one
203
+ let needDividerCount = 0;
204
+ const orderedOptions = filteredOptions.filter(item => {
205
+ if (item.needDivider && needDividerCount === 0) {
206
+ needDividerCount++;
207
+ return true;
208
+ } else if (!item.needDivider) {
209
+ needDividerCount = 0;
210
+ return true;
211
+ }
212
+ });
213
+ // remove divider if it placed in first or last index
214
+ filteredOptions = [];
215
+ filteredOptions = orderedOptions.filter((item, i) => {
216
+ if (i == 0 || i == orderedOptions.length - 1) {
217
+ if (!item.needDivider) {
218
+ return true;
219
+ }
220
+ } else {
221
+ return true;
222
+ }
223
+ });
224
+ result = filteredOptions;
225
+ }
226
+ }
227
+ return result;
228
+ }
229
+
230
+ getOptionsArray() {
231
+ const { searchValue } = this.state;
232
+ const { isGroupDropDown, groupOptionsKey } = this.props;
233
+
234
+ const options = searchValue.length
235
+ ? this.handleFilterSuggestions(searchValue)
236
+ : this.props.options;
237
+ let optionsArr = [];
238
+ if (isGroupDropDown) {
239
+ for (let i = 0; i < options.length; i++) {
240
+ const groupOptions = options[i][groupOptionsKey];
241
+ Array.prototype.push.apply(optionsArr, groupOptions);
242
+ }
243
+ } else {
244
+ optionsArr = options.filter(item => !item.needDivider);
245
+ }
246
+ return optionsArr;
102
247
  }
103
248
 
104
249
  handleKeyDown(e) {
105
- let { keyCode } = e;
106
- let { selectedIndex, options, seperatedOptions } = this.state;
107
- let totalIndex = seperatedOptions
108
- ? options.length + seperatedOptions.length
109
- : options.length;
110
- let mergeOptions = seperatedOptions
111
- ? options.concat(seperatedOptions)
112
- : options;
113
- let {
250
+ const { keyCode } = e;
251
+ const { selectedIndex, searchValue } = this.state;
252
+ const optionsArr = this.getOptionsArray();
253
+ const totalIndex = optionsArr.length;
254
+ const {
114
255
  togglePopup,
115
256
  onClick,
116
257
  boxPosition,
117
- isPopupOpen,
258
+ isPopupReady,
118
259
  isNextOptions,
119
- getNextOptions
260
+ getNextOptions,
261
+ value,
262
+ keyName,
263
+ idName,
264
+ preventPopupClose,
265
+ isSearch
120
266
  } = this.props;
121
- if (isPopupOpen && (keyCode === 38 || keyCode === 40) && e.preventDefault) {
267
+ if (
268
+ isPopupReady &&
269
+ (keyCode === 38 || keyCode === 40) &&
270
+ e.preventDefault
271
+ ) {
122
272
  e.preventDefault(); //prevent body scroll
123
273
  }
124
- switch (keyCode) {
125
- case 40:
126
- if (selectedIndex === totalIndex - 1) {
127
- this.setState({ selectedIndex: 0 });
128
- } else {
129
- if (selectedIndex === totalIndex - 3) {
130
- isNextOptions && getNextOptions && getNextOptions();
274
+ if (isPopupReady) {
275
+ switch (keyCode) {
276
+ case 40:
277
+ if (selectedIndex === totalIndex - 1) {
278
+ this.setState({ selectedIndex: 0 });
279
+ } else {
280
+ if (selectedIndex === totalIndex - 3) {
281
+ isNextOptions &&
282
+ getNextOptions &&
283
+ getNextOptions(e, { searchValue });
284
+ }
285
+ this.setState({
286
+ selectedIndex: selectedIndex + 1
287
+ });
131
288
  }
132
- this.setState({ selectedIndex: selectedIndex + 1 });
133
- }
134
- break;
135
- case 38:
136
- if (selectedIndex === 0) {
137
- this.setState({ selectedIndex: totalIndex - 1 });
138
- } else {
139
- this.setState({ selectedIndex: selectedIndex - 1 });
140
- }
141
- break;
142
- case 13:
143
- onClick && onClick(e, mergeOptions[selectedIndex]);
289
+ break;
290
+ case 38:
291
+ if (selectedIndex === 0) {
292
+ this.setState({ selectedIndex: totalIndex - 1 });
293
+ } else {
294
+ this.setState({
295
+ selectedIndex: selectedIndex - 1
296
+ });
297
+ }
298
+ break;
299
+ case 13:
300
+ const selectedId = optionsArr[selectedIndex][idName] || '';
301
+ onClick && onClick(selectedId, optionsArr[selectedIndex]);
302
+ if (!preventPopupClose) {
303
+ togglePopup(e, boxPosition);
304
+ } else if (isSearch) {
305
+ this.searchInput.focus({ preventScroll: true });
306
+ } else {
307
+ this.hiddenInput.focus({ preventScroll: true });
308
+ }
309
+ break;
310
+ }
311
+ } else {
312
+ if (keyCode === 13 || keyCode === 40) {
144
313
  togglePopup(e, boxPosition);
145
- break;
314
+ }
146
315
  }
147
316
  }
148
317
 
149
- searchList(value) {
150
- let { options, keyName, seperatedOptions } = this.props;
151
- let foptions = options.filter(
152
- dept => dept[keyName].toLowerCase().indexOf(value.toLowerCase()) != -1
153
- );
154
- let fseperatedOptions =
155
- seperatedOptions &&
156
- seperatedOptions.filter(
157
- dept => dept[keyName].toLowerCase().indexOf(value.toLowerCase()) != -1
158
- );
159
- let optionsObj = {
160
- foptions,
161
- fseperatedOptions
162
- };
163
- return optionsObj;
318
+ getSelectedIndex(optionsArr) {
319
+ const { selectedId, idName } = this.props;
320
+ if (selectedId) {
321
+ for (let i = 0; i < optionsArr.length; i++) {
322
+ const indexId = optionsArr[i][idName];
323
+ if (selectedId === indexId) {
324
+ this.setState({
325
+ selectedIndex: i
326
+ });
327
+ break;
328
+ }
329
+ }
330
+ } else {
331
+ this.setState({
332
+ selectedIndex: -1
333
+ });
334
+ }
335
+ }
336
+
337
+ onSearchAPI() {
338
+ const { searchValue } = this.state;
339
+ const { needSearchFetching, onSearch } = this.props;
340
+ if (needSearchFetching && onSearch) {
341
+ onSearch(searchValue);
342
+ }
164
343
  }
165
344
 
166
345
  handleChange(value, e) {
167
- let optionsObj = this.searchList(value);
168
- this.setState({
169
- searchString: value,
170
- selectedIndex: -1,
171
- options: optionsObj.foptions,
172
- seperatedOptions: optionsObj.fseperatedOptions
173
- });
346
+ const filteredOptions = this.handleFilterSuggestions(value);
347
+ this.setState(
348
+ {
349
+ searchValue: value,
350
+ selectedIndex: -1,
351
+ options: filteredOptions
352
+ },
353
+ () => {
354
+ this.onSearchAPI();
355
+ }
356
+ );
174
357
  }
175
358
 
176
359
  onSearchClear() {
177
- let optionsObj = this.searchList('');
178
- this.setState({
179
- searchString: '',
180
- options: optionsObj.foptions,
181
- seperatedOptions: optionsObj.fseperatedOptions
182
- });
360
+ const filteredOptions = this.handleFilterSuggestions('');
361
+ this.setState(
362
+ {
363
+ searchValue: '',
364
+ options: filteredOptions
365
+ },
366
+ () => {
367
+ this.onSearchAPI();
368
+ }
369
+ );
183
370
  }
184
371
 
185
372
  handleMouseEnter(id, value, index, e) {
@@ -190,17 +377,18 @@ export class ToggleDropDown extends React.Component {
190
377
 
191
378
  handleScroll(e) {
192
379
  const { isNextOptions, getNextOptions } = this.props;
380
+ const { searchValue } = this.state;
193
381
  if (
194
382
  e.target.scrollTop + e.target.offsetHeight >
195
383
  e.target.scrollHeight - 1
196
384
  ) {
197
- isNextOptions && getNextOptions && getNextOptions(e);
385
+ isNextOptions && getNextOptions && getNextOptions(e, { searchValue });
198
386
  }
199
387
  }
200
388
 
201
389
  render() {
202
- let { options, selectedIndex, seperatedOptions } = this.state;
203
- let {
390
+ const { options, selectedIndex } = this.state;
391
+ const {
204
392
  value,
205
393
  removeClose,
206
394
  boxSize,
@@ -215,7 +403,9 @@ export class ToggleDropDown extends React.Component {
215
403
  left,
216
404
  top,
217
405
  bottom,
218
- isPopupOpen,
406
+ isPopupOpen: isOpen,
407
+ isPopupActive,
408
+ needExternalPopupState,
219
409
  isPopupReady,
220
410
  position,
221
411
  getTargetRef,
@@ -225,7 +415,7 @@ export class ToggleDropDown extends React.Component {
225
415
  searchEmptyHint,
226
416
  searchErrorText,
227
417
  activeStyle,
228
- showOnHover = false,
418
+ showOnHover,
229
419
  isDisabled,
230
420
  showIconOnHover,
231
421
  isReadOnly,
@@ -237,46 +427,66 @@ export class ToggleDropDown extends React.Component {
237
427
  dataTitle,
238
428
  isDataLoaded,
239
429
  children,
240
- targetAlign,
241
- needResponsive
430
+ needResponsive,
431
+ arrowIconPosition,
432
+ isGroupDropDown,
433
+ groupOptionsKey,
434
+ groupNameKey,
435
+ isToggleStateNeeded,
436
+ selectedId,
437
+ isPadding,
438
+ isNeedEffect,
439
+ hoverType,
440
+ palette,
441
+ getFooter,
442
+ customProps
242
443
  } = this.props;
243
- let { searchString } = this.state;
244
- let containerClass = `${className ? className : ''} ${
245
- isPopupReady
246
- ? activeStyle
247
- ? activeStyle
248
- : ''
249
- : showIconOnHover
250
- ? style.hoverIcon
251
- : ''
444
+ let {
445
+ ToggleDropDownProps = {},
446
+ DropBoxProps = {},
447
+ TextBoxIconProps = {},
448
+ ListItemWithIconProps = {},
449
+ ListItemProps = {}
450
+ } = customProps;
451
+ const isPopupOpen = needExternalPopupState
452
+ ? isPopupActive && isOpen
453
+ : isOpen;
454
+ const Component = isToggleStateNeeded ? children.type : null,
455
+ componentProps = isToggleStateNeeded ? children.props : null;
456
+ const { searchValue } = this.state;
457
+
458
+ const commonClass = `${className ? className : ''} ${
459
+ isPopupReady ? (activeStyle ? activeStyle : '') : ''
252
460
  } ${
253
461
  isDisabled
254
- ? commonStyle.disabled
255
- : isReadOnly
256
- ? style.readOnly
257
- : !isEditable
462
+ ? CssProvider('isDisable')
463
+ : isReadOnly || !isEditable
258
464
  ? style.cursorDefault
259
465
  : !showOnHover
260
466
  ? `${style.cursor} ${hoverStyle ? hoverStyle : ''}`
261
467
  : `${hoverStyle ? hoverStyle : ''} ${style.cursorDefault}`
262
468
  }`;
469
+ let listIndex = -1;
470
+ const ariaTitleId = this.getAriaId();
471
+ const allyOptionsArr = this.getOptionsArray();
472
+
263
473
  return (
264
474
  <div
265
- className={style.posRel}
475
+ className={style.wrapper}
266
476
  onMouseEnter={
267
477
  showOnHover && !isDisabled && !isReadOnly && isEditable
268
- ? this.handleTogglePopup
478
+ ? this.showTogglePopup
269
479
  : undefined
270
480
  }
271
481
  onMouseLeave={
272
482
  showOnHover && !isDisabled && !isReadOnly && isEditable
273
- ? this.handleTogglePopup
483
+ ? this.hideTogglePopup
274
484
  : undefined
275
485
  }
486
+ {...ToggleDropDownProps}
276
487
  >
277
488
  <Container
278
489
  alignBox='row'
279
- className={containerClass}
280
490
  onClick={
281
491
  !showOnHover &&
282
492
  !isDisabled &&
@@ -285,51 +495,78 @@ export class ToggleDropDown extends React.Component {
285
495
  this.handleTogglePopup
286
496
  }
287
497
  eleRef={getTargetRef}
288
- align={targetAlign}
498
+ align='vertical'
289
499
  isCover={false}
290
500
  dataId={dataId}
291
501
  >
292
502
  <div className={style.hiddenInput}>
293
- <TextBox
503
+ <input
294
504
  type='text'
295
- inputRef={this.inputRef}
505
+ ref={this.inputRef}
296
506
  onKeyDown={this.handleKeyDown}
297
- needAppearance={false}
507
+ tabIndex='-1'
508
+ className={style.hiddenInputElement}
298
509
  />
299
510
  </div>
300
511
  {children ? (
301
- children
512
+ isToggleStateNeeded ? (
513
+ <Component {...componentProps} isActive={isPopupOpen} />
514
+ ) : (
515
+ children
516
+ )
302
517
  ) : (
303
- <React.Fragment>
304
- {iconName ? (
305
- <Box className={style.iconBox}>
306
- <Icon name={iconName} size={iconSize} />
307
- </Box>
308
- ) : null}
309
- <Box
310
- className={`${style.value} toggleDropText`}
311
- shrink
312
- tagName='span'
313
- data-title={dataTitle}
518
+ <RippleEffect
519
+ hoverType={hoverType}
520
+ isActive={isPopupOpen}
521
+ isNeedEffect={isEditable && isNeedEffect}
522
+ >
523
+ <Container
524
+ className={`${btnStyle.buttonReset} ${commonClass} ${
525
+ !isPopupOpen && showIconOnHover ? style.hoverIcon : ''
526
+ }`}
527
+ isCover={false}
528
+ alignBox='row'
529
+ align='vertical'
530
+ tagName='button'
531
+ aria-labelledby={ariaTitleId}
532
+ aria-haspopup={true}
533
+ aria-expanded={isPopupOpen ? true : false}
314
534
  >
315
- {value}
316
- </Box>
317
- {isEditable ? (
318
- <Box
319
- className={style.arrow}
320
- dataId='statusdownarrow'
321
- tagName='span'
322
- >
323
- <Icon
324
- size='6'
325
- name='ZD-blockDownArrow'
326
- iconClass='toggleDropIcon'
327
- />
328
- </Box>
329
- ) : null}
330
- </React.Fragment>
535
+ {iconName ? (
536
+ <Box className={value ? style.iconBox : ''}>
537
+ <Icon name={iconName} size={iconSize} />
538
+ </Box>
539
+ ) : null}
540
+ {value && (
541
+ <React.Fragment>
542
+ <Box
543
+ id={ariaTitleId}
544
+ aria-hidden={true}
545
+ className={`${style.value} toggleDropText`}
546
+ shrink
547
+ tagName='span'
548
+ data-title={dataTitle}
549
+ >
550
+ {value}
551
+ </Box>
552
+ {isEditable ? (
553
+ <Icon
554
+ aria-hidden={true}
555
+ size='6'
556
+ name='ZD-down'
557
+ iconClass={`${'toggleDropIcon'} ${style.arrow} ${
558
+ style[`${arrowIconPosition}_arrow`]
559
+ }`}
560
+ dataId='statusdownarrow'
561
+ />
562
+ ) : null}
563
+ </React.Fragment>
564
+ )}
565
+ </Container>
566
+ </RippleEffect>
331
567
  )}
332
568
  </Container>
569
+
333
570
  {isPopupOpen ? (
334
571
  <DropBox
335
572
  boxPosition={position}
@@ -343,172 +580,260 @@ export class ToggleDropDown extends React.Component {
343
580
  isArrow={isArrow}
344
581
  isAnimate
345
582
  getRef={getContainerRef}
346
- className={style.dropBoxContainer}
583
+ customClass={{
584
+ customDropBoxWrap: style.dropBoxContainer
585
+ }}
347
586
  needResponsive={needResponsive}
587
+ isPadding={isPadding}
588
+ tabindex='0'
589
+ a11y={{
590
+ role: !isSearch ? 'menu' : undefined,
591
+ ariaLabelledby: !isSearch ? ariaTitleId : undefined
592
+ }}
593
+ palette={palette}
594
+ {...DropBoxProps}
348
595
  >
349
- <React.Fragment>
350
- {title && (
351
- <div className={style.title}>
352
- <DropDownHeading text={title} />
353
- </div>
354
- )}
596
+ <Fragment>
355
597
  {isSearch ? (
356
598
  <div className={style.search}>
357
599
  <TextBoxIcon
358
600
  placeHolder={placeHolderText}
359
601
  onChange={this.handleChange}
360
- value={searchString}
602
+ value={searchValue}
361
603
  onClear={this.onSearchClear}
362
604
  size={searchBoxSize}
363
605
  inputRef={this.searchInputRef}
364
606
  onKeyDown={this.handleKeyDown}
365
- >
366
- <Icon name='ZD-search' size='13' />
367
- </TextBoxIcon>
607
+ a11y={{
608
+ role: 'combobox',
609
+ ariaOwns: ariaTitleId,
610
+ ariaActivedescendant:
611
+ allyOptionsArr[selectedIndex] &&
612
+ allyOptionsArr[selectedIndex][keyName],
613
+ ariaAutocomplete: 'list',
614
+ ariaHaspopup: true,
615
+ ariaExpanded: true
616
+ }}
617
+ {...TextBoxIconProps}
618
+ />
368
619
  </div>
369
620
  ) : null}
621
+ {title && options.length != 0 && (
622
+ <div className={style.title}>
623
+ <DropDownHeading
624
+ text={title}
625
+ htmlId={ariaTitleId}
626
+ palette={palette}
627
+ a11y={{
628
+ role: 'heading'
629
+ }}
630
+ customClass={style.dropdown}
631
+ />
632
+ </div>
633
+ )}
370
634
  <Box
635
+ id={ariaTitleId}
371
636
  scroll='vertical'
372
637
  dataId={`${dataId}_list`}
373
638
  className={style.maxHgt}
374
639
  eleRef={this.scrollContentRef}
375
640
  onScroll={this.handleScroll}
641
+ role={isSearch ? 'listbox' : undefined}
642
+ aria-labelledby={isSearch ? ariaTitleId : undefined}
376
643
  >
377
- {(options.length != 0 ||
378
- (seperatedOptions && seperatedOptions.length != 0)) &&
379
- isDataLoaded ? (
380
- <React.Fragment>
381
- {options.length != 0 && options[0].iconName ? (
382
- <React.Fragment>
383
- {options.map((item, i) => {
384
- let { iconName, iconSize } = item;
644
+ {isDataLoaded ? (
645
+ options && options.length != 0 ? (
646
+ isGroupDropDown ? (
647
+ <Fragment>
648
+ {options.map(group => {
649
+ const groupName = group[groupNameKey];
650
+ const groupOptions = group[groupOptionsKey];
651
+ const { needDivider } = group;
385
652
  return (
386
- <ListItemWithIcon
387
- key={i}
388
- dataId={`dataid_${i}`}
389
- value={item[keyName]}
390
- id={item[idName]}
391
- active={value === item[keyName]}
392
- onClick={this.onSelect.bind(this, item)}
393
- index={i}
394
- highlight={selectedIndex === i}
395
- iconName={iconName}
396
- iconSize={iconSize}
397
- needTick={needTick}
398
- isTick={value === item[keyName]}
399
- onMouseEnter={this.handleMouseEnter}
400
- getRef={this.itemRef}
401
- />
653
+ <Fragment key={`index${groupName}`}>
654
+ {needDivider && (
655
+ <div className={style.seperatedLine} />
656
+ )}
657
+ {groupName && (
658
+ <div className={style.groupName}>
659
+ <DropDownHeading
660
+ text={groupName}
661
+ palette={palette}
662
+ a11y={{
663
+ role: 'heading'
664
+ }}
665
+ />
666
+ </div>
667
+ )}
668
+ {groupOptions &&
669
+ groupOptions.map(item => {
670
+ const {
671
+ iconName,
672
+ iconSize,
673
+ iconClass,
674
+ title,
675
+ disableTitle = '',
676
+ isDisabled = false
677
+ } = item;
678
+ listIndex += 1;
679
+ return iconName ? (
680
+ <ListItemWithIcon
681
+ key={listIndex}
682
+ dataId={item[keyName]}
683
+ value={item[keyName]}
684
+ id={item[idName]}
685
+ active={selectedId === item[idName]}
686
+ onClick={this.onSelect.bind(this, item)}
687
+ index={listIndex}
688
+ highlight={selectedIndex === listIndex}
689
+ disableTitle={disableTitle}
690
+ isDisabled={isDisabled}
691
+ iconName={iconName}
692
+ iconClass={iconClass}
693
+ iconSize={iconSize}
694
+ needTick={needTick}
695
+ needBorder={false}
696
+ onMouseEnter={this.handleMouseEnter}
697
+ getRef={this.itemRef}
698
+ title={title ? title : item[keyName]}
699
+ palette={palette}
700
+ a11y={{
701
+ role: isSearch ? 'option' : 'menuitem',
702
+ ariaSelected:
703
+ selectedId === item[idName]
704
+ }}
705
+ {...ListItemWithIconProps}
706
+ />
707
+ ) : (
708
+ <ListItem
709
+ key={listIndex}
710
+ dataId={item[keyName]}
711
+ value={item[keyName]}
712
+ id={item[idName]}
713
+ active={selectedId === item[idName]}
714
+ onClick={this.onSelect.bind(this, item)}
715
+ isDisabled={isDisabled}
716
+ disableTitle={disableTitle}
717
+ index={listIndex}
718
+ highlight={selectedIndex === listIndex}
719
+ needTick={needTick}
720
+ needBorder={false}
721
+ onMouseEnter={this.handleMouseEnter}
722
+ getRef={this.itemRef}
723
+ title={title ? title : item[keyName]}
724
+ palette={palette}
725
+ a11y={{
726
+ role: isSearch ? 'option' : 'menuitem',
727
+ ariaSelected:
728
+ selectedId === item[idName]
729
+ }}
730
+ {...ListItemProps}
731
+ />
732
+ );
733
+ })}
734
+ </Fragment>
402
735
  );
403
736
  })}
404
- </React.Fragment>
737
+ </Fragment>
405
738
  ) : (
406
- <React.Fragment>
739
+ <Fragment>
407
740
  {options.map((item, i) => {
741
+ const {
742
+ iconName,
743
+ iconSize,
744
+ iconClass,
745
+ title,
746
+ needDivider,
747
+ isDisabled = false,
748
+ disableTitle = ''
749
+ } = item;
750
+ if (!needDivider) {
751
+ listIndex += 1;
752
+ }
408
753
  return (
409
- <ListItem
410
- key={i}
411
- dataId={`dataid_${i}`}
412
- value={item[keyName]}
413
- id={item[idName]}
414
- active={value === item[keyName]}
415
- onClick={this.onSelect.bind(this, item)}
416
- index={i}
417
- highlight={selectedIndex === i}
418
- needTick={needTick}
419
- isTick={value === item[keyName]}
420
- onMouseEnter={this.handleMouseEnter}
421
- getRef={this.itemRef}
422
- />
423
- );
424
- })}
425
- </React.Fragment>
426
- )}
427
- {seperatedOptions && seperatedOptions.length != 0 && (
428
- <React.Fragment>
429
- {options.length != 0 && (
430
- <div className={style.seperatedLine}></div>
431
- )}
432
- {seperatedOptions[0].iconName ? (
433
- <React.Fragment>
434
- {seperatedOptions.map((item, i) => {
435
- let { iconName, iconSize } = item;
436
- return (
754
+ <Fragment key={i}>
755
+ {needDivider ? (
756
+ <div className={style.seperatedLine} />
757
+ ) : iconName ? (
437
758
  <ListItemWithIcon
438
- key={i}
439
- dataId={`dataid_${i + options.length}`}
759
+ dataId={item[keyName]}
440
760
  value={item[keyName]}
441
761
  id={item[idName]}
442
- active={value === item[keyName]}
762
+ active={selectedId === item[idName]}
443
763
  onClick={this.onSelect.bind(this, item)}
444
- index={i + options.length}
445
- highlight={
446
- selectedIndex === i + options.length
447
- }
764
+ index={listIndex}
765
+ disableTitle={disableTitle}
766
+ isDisabled={isDisabled}
767
+ highlight={selectedIndex === listIndex}
448
768
  iconName={iconName}
769
+ iconClass={iconClass}
449
770
  iconSize={iconSize}
450
771
  needTick={needTick}
451
- isTick={value === item[keyName]}
772
+ needBorder={false}
452
773
  onMouseEnter={this.handleMouseEnter}
453
774
  getRef={this.itemRef}
775
+ title={title ? title : item[keyName]}
776
+ key={listIndex}
777
+ palette={palette}
778
+ a11y={{
779
+ role: isSearch ? 'option' : 'menuitem',
780
+ ariaSelected: selectedId === item[idName]
781
+ }}
782
+ {...ListItemWithIconProps}
454
783
  />
455
- );
456
- })}
457
- </React.Fragment>
458
- ) : (
459
- <React.Fragment>
460
- {seperatedOptions.map((item, i) => {
461
- return (
784
+ ) : (
462
785
  <ListItem
463
- key={i}
464
- dataId={`dataid_${i + options.length}`}
786
+ key={listIndex}
787
+ dataId={item[keyName]}
465
788
  value={item[keyName]}
466
789
  id={item[idName]}
467
- active={value === item[keyName]}
790
+ disableTitle={disableTitle}
791
+ isDisabled={isDisabled}
792
+ active={selectedId === item[idName]}
468
793
  onClick={this.onSelect.bind(this, item)}
469
- index={i + options.length}
470
- highlight={
471
- selectedIndex == i + options.length
472
- }
794
+ index={listIndex}
795
+ highlight={selectedIndex === listIndex}
473
796
  needTick={needTick}
474
- isTick={value === item[keyName]}
797
+ needBorder={false}
475
798
  onMouseEnter={this.handleMouseEnter}
476
799
  getRef={this.itemRef}
800
+ title={title ? title : item[keyName]}
801
+ palette={palette}
802
+ a11y={{
803
+ role: isSearch ? 'option' : 'menuitem',
804
+ ariaSelected: selectedId === item[idName]
805
+ }}
806
+ {...ListItemProps}
477
807
  />
478
- );
479
- })}
480
- </React.Fragment>
481
- )}
482
- </React.Fragment>
483
- )}
484
- </React.Fragment>
485
- ) : isDataLoaded ? (
486
- <CommonEmptyState
487
- className={style.svgWrapper}
488
- title={searchErrorText || 'oops !'}
489
- description={searchEmptyHint}
490
- >
491
- <EmptySearch size='small' />
492
- </CommonEmptyState>
808
+ )}
809
+ </Fragment>
810
+ );
811
+ })}
812
+ </Fragment>
813
+ )
814
+ ) : (
815
+ <CommonEmptyState
816
+ className={style.svgWrapper}
817
+ title={searchErrorText || 'oops !'}
818
+ description={searchEmptyHint}
819
+ size='small'
820
+ getEmptyState={this.emptySearchSVG}
821
+ />
822
+ )
493
823
  ) : (
494
824
  <div className={style.loader}>
495
825
  <Loader />
496
826
  </div>
497
827
  )}
498
828
  </Box>
499
- </React.Fragment>
829
+ {getFooter ? <div>{getFooter()}</div> : null}
830
+ </Fragment>
500
831
  </DropBox>
501
832
  ) : null}
502
833
  </div>
503
834
  );
504
835
  }
505
836
  }
506
- if (__DOCS__) {
507
- ToggleDropDown.docs = {
508
- componentGroup: 'Molecule'
509
- };
510
- }
511
-
512
837
  ToggleDropDown.defaultProps = {
513
838
  keyName: 'value',
514
839
  idName: 'id',
@@ -516,16 +841,28 @@ ToggleDropDown.defaultProps = {
516
841
  searchBoxSize: 'small',
517
842
  isDisabled: false,
518
843
  showIconOnHover: false,
844
+ showOnHover: false,
519
845
  isReadOnly: false,
520
846
  isEditable: true,
521
847
  isDataLoaded: true,
522
848
  needTick: true,
523
- targetAlign: 'vertical',
524
- needResponsive: true
849
+ needResponsive: true,
850
+ arrowIconPosition: 'default',
851
+ groupOptionsKey: 'items',
852
+ groupNameKey: 'name',
853
+ isPadding: true,
854
+ isToggleStateNeeded: false,
855
+ isNeedEffect: true,
856
+ hoverType: 'default',
857
+ needExternalPopupState: false,
858
+ customProps: {},
859
+ preventPopupClose: false
525
860
  };
526
861
 
527
862
  ToggleDropDown.propTypes = {
528
863
  activeStyle: PropTypes.string,
864
+ arrowIconPosition: PropTypes.oneOf(['default', 'overlay']),
865
+ bottom: PropTypes.number,
529
866
  boxPosition: PropTypes.oneOf([
530
867
  'bottomRight',
531
868
  'bottomLeft',
@@ -540,14 +877,18 @@ ToggleDropDown.propTypes = {
540
877
  'leftBottom',
541
878
  'leftCenter'
542
879
  ]),
543
- position: PropTypes.string,
544
- boxSize: PropTypes.oneOf(['small', 'medium', 'mlarge', 'large']),
880
+ boxSize: PropTypes.oneOf(['xsmall', 'small', 'medium', 'mlarge', 'large']),
881
+ children: PropTypes.node,
545
882
  className: PropTypes.string,
546
883
  dataId: PropTypes.string,
547
884
  dataTitle: PropTypes.string,
548
885
  getContainerRef: PropTypes.func,
886
+ getNextOptions: PropTypes.func,
549
887
  getTargetRef: PropTypes.func,
888
+ groupNameKey: PropTypes.string,
889
+ groupOptionsKey: PropTypes.string,
550
890
  hoverStyle: PropTypes.string,
891
+ hoverType: PropTypes.oneOf(['default', 'border', 'bg']),
551
892
  iconName: PropTypes.string,
552
893
  iconSize: PropTypes.string,
553
894
  idName: PropTypes.string,
@@ -555,45 +896,55 @@ ToggleDropDown.propTypes = {
555
896
  isDataLoaded: PropTypes.bool,
556
897
  isDisabled: PropTypes.bool,
557
898
  isEditable: PropTypes.bool,
899
+ isGroupDropDown: PropTypes.bool,
900
+ isNeedEffect: PropTypes.bool,
901
+ isNextOptions: PropTypes.bool,
902
+ isPadding: PropTypes.bool,
903
+ isPopupActive: PropTypes.bool,
558
904
  isPopupOpen: PropTypes.bool,
559
905
  isPopupReady: PropTypes.bool,
560
906
  isReadOnly: PropTypes.bool,
561
907
  isSearch: PropTypes.bool,
908
+ isToggleStateNeeded: PropTypes.bool,
562
909
  keyName: PropTypes.string,
910
+ left: PropTypes.number,
911
+ needExternalPopupState: PropTypes.bool,
912
+ needResponsive: PropTypes.bool,
913
+ needSearchFetching: PropTypes.bool,
563
914
  needTick: PropTypes.bool,
564
915
  onClick: PropTypes.func,
916
+ onSearch: PropTypes.func,
565
917
  options: PropTypes.array.isRequired,
918
+ palette: PropTypes.oneOf(['dark']),
566
919
  placeHolderText: PropTypes.string,
920
+ position: PropTypes.string,
567
921
  removeClose: PropTypes.func,
568
922
  right: PropTypes.number,
569
- bottom: PropTypes.number,
570
- top: PropTypes.number,
571
- left: PropTypes.number,
572
923
  searchBoxSize: PropTypes.oneOf(['small', 'medium', 'xmedium']),
573
924
  searchEmptyHint: PropTypes.string,
574
925
  searchErrorText: PropTypes.string,
926
+ selectedId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
575
927
  showIconOnHover: PropTypes.bool,
576
928
  showOnHover: PropTypes.bool,
577
929
  title: PropTypes.string,
578
930
  togglePopup: PropTypes.func,
579
931
  value: PropTypes.node,
580
- isDataLoaded: PropTypes.bool,
581
- children: PropTypes.node,
582
- seperatedOptions: PropTypes.array,
583
- targetAlign: PropTypes.oneOf([
584
- 'vertical',
585
- 'horizontal',
586
- 'both',
587
- 'top',
588
- 'right',
589
- 'bottom',
590
- 'left',
591
- 'between',
592
- 'around'
593
- ]),
594
- isNextOptions: PropTypes.bool,
595
- getNextOptions: PropTypes.func,
596
- needResponsive: PropTypes.bool
932
+ onDropDownOpen: PropTypes.func,
933
+ onDropDownClose: PropTypes.func,
934
+ getFooter: PropTypes.func,
935
+ customProps: PropTypes.shape({
936
+ ToggleDropDownProps: PropTypes.object,
937
+ DropBoxProps: PropTypes.object,
938
+ TextBoxIconProps: PropTypes.object,
939
+ ListItemWithIconProps: PropTypes.object,
940
+ ListItemProps: PropTypes.object
941
+ }),
942
+ preventPopupClose: PropTypes.bool
597
943
  };
598
944
 
945
+ if (__DOCS__) {
946
+ ToggleDropDown.docs = {
947
+ componentGroup: 'Molecule'
948
+ };
949
+ }
599
950
  export default Popup(ToggleDropDown);