@finsemble/finsemble-ui 6.6.1 → 7.0.0-beta.3

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 (262) hide show
  1. package/package.json +18 -32
  2. package/react/assets/css/button.css +1 -1
  3. package/react/assets/css/favorites.css +0 -47
  4. package/react/assets/css/finsemble.css +3 -0
  5. package/react/assets/css/linkerWindow.css +13 -1
  6. package/react/assets/css/menus.css +2 -2
  7. package/react/assets/css/notificationsCenter.css +32 -1
  8. package/react/assets/css/shared/common.css +40 -0
  9. package/react/assets/css/userPreferences.css +17 -12
  10. package/react/assets/css/windowTitleBar.css +7 -0
  11. package/react/assets/icons/server.svg +26 -0
  12. package/react/components/common/ButtonIcon.js +1 -1
  13. package/react/components/common/ButtonIcon.js.map +1 -1
  14. package/react/components/common/ButtonRow.js +2 -2
  15. package/react/components/common/ButtonRow.js.map +1 -1
  16. package/react/components/common/Checkbox.js +1 -1
  17. package/react/components/common/Checkbox.js.map +1 -1
  18. package/react/components/common/ColorPicker.js +16 -15
  19. package/react/components/common/ColorPicker.js.map +1 -1
  20. package/react/components/common/ErrorBoundary.d.ts +16 -0
  21. package/react/components/common/ErrorBoundary.js +22 -0
  22. package/react/components/common/ErrorBoundary.js.map +1 -0
  23. package/react/components/common/FinsembleIcon.d.ts +3 -2
  24. package/react/components/common/FinsembleIcon.js +10 -3
  25. package/react/components/common/FinsembleIcon.js.map +1 -1
  26. package/react/components/common/FinsembleLink.d.ts +6 -0
  27. package/react/components/common/FinsembleLink.js +12 -0
  28. package/react/components/common/FinsembleLink.js.map +1 -0
  29. package/react/components/common/FinsembleToggle.d.ts +1 -2
  30. package/react/components/common/FinsembleToggle.js +2 -6
  31. package/react/components/common/FinsembleToggle.js.map +1 -1
  32. package/react/components/common/FinsembleToggleButtonBar.d.ts +13 -0
  33. package/react/components/common/FinsembleToggleButtonBar.js +44 -0
  34. package/react/components/common/FinsembleToggleButtonBar.js.map +1 -0
  35. package/react/components/common/InputTable.d.ts +3 -3
  36. package/react/components/common/InputTable.js +13 -13
  37. package/react/components/common/InputTable.js.map +1 -1
  38. package/react/components/common/Tab.js +33 -5
  39. package/react/components/common/Tab.js.map +1 -1
  40. package/react/components/common/css/FinsembleToggle.css +22 -0
  41. package/react/components/common/css/application-edit-page.css +10 -2
  42. package/react/components/common/css/tab.css +8 -8
  43. package/react/components/common/css/time-select.css +1 -1
  44. package/react/components/common/css/toggle.css +2 -10
  45. package/react/components/common/helpers.js +6 -1
  46. package/react/components/common/helpers.js.map +1 -1
  47. package/react/components/common/stories/ColorPicker.stories.js +6 -11
  48. package/react/components/common/stories/ColorPicker.stories.js.map +1 -1
  49. package/react/components/common/stories/FinsembleToggle.stories.d.ts +1 -2
  50. package/react/components/common/stories/FinsembleToggle.stories.js +0 -7
  51. package/react/components/common/stories/FinsembleToggle.stories.js.map +1 -1
  52. package/react/components/common/stories/FinsembleToggleButtonBar.stories.d.ts +14 -0
  53. package/react/components/common/stories/FinsembleToggleButtonBar.stories.js +97 -0
  54. package/react/components/common/stories/FinsembleToggleButtonBar.stories.js.map +1 -0
  55. package/react/components/common/stories/InputTable.stories.d.ts +4 -3
  56. package/react/components/common/stories/InputTable.stories.js +18 -8
  57. package/react/components/common/stories/InputTable.stories.js.map +1 -1
  58. package/react/components/common/tests/ButtonRow.spec.js +5 -0
  59. package/react/components/common/tests/ButtonRow.spec.js.map +1 -1
  60. package/react/components/common/tests/FinsembleToggle.spec.js +1 -6
  61. package/react/components/common/tests/FinsembleToggle.spec.js.map +1 -1
  62. package/react/components/common/tests/FinsembleToggleButtonBar.spec.d.ts +1 -0
  63. package/react/components/common/tests/FinsembleToggleButtonBar.spec.js +40 -0
  64. package/react/components/common/tests/FinsembleToggleButtonBar.spec.js.map +1 -0
  65. package/react/components/common/tests/InputTable.spec.js +3 -3
  66. package/react/components/common/tests/InputTable.spec.js.map +1 -1
  67. package/react/components/favorites/FavoriteMaker.js +1 -1
  68. package/react/components/favorites/FavoriteMaker.js.map +1 -1
  69. package/react/components/fdc3Resolver/ResolverContainer.js +4 -7
  70. package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
  71. package/react/components/icon/Icon.d.ts +1 -1
  72. package/react/components/icon/Icon.js +8 -1
  73. package/react/components/icon/Icon.js.map +1 -1
  74. package/react/components/legacyControls/FinsembleDnDContext.js +7 -7
  75. package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
  76. package/react/components/linker/remoteRedux.js +1 -0
  77. package/react/components/linker/remoteRedux.js.map +1 -1
  78. package/react/components/menu/MenuItem.js +1 -1
  79. package/react/components/menu/MenuItem.js.map +1 -1
  80. package/react/components/menu/MenuPortal.js +12 -21
  81. package/react/components/menu/MenuPortal.js.map +1 -1
  82. package/react/components/menu/MenuToggle.js +1 -1
  83. package/react/components/menu/MenuToggle.js.map +1 -1
  84. package/react/components/menu/keyboardNavigation.d.ts +1 -22
  85. package/react/components/menu/keyboardNavigation.js +110 -160
  86. package/react/components/menu/keyboardNavigation.js.map +1 -1
  87. package/react/components/notifications/components/drawer/DrawerControls.js +39 -25
  88. package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
  89. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +19 -6
  90. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
  91. package/react/components/notifications/components/shared/CheckButton.js +19 -8
  92. package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
  93. package/react/components/notifications/components/shared/NotificationCardShell.js +2 -1
  94. package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
  95. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js +2 -1
  96. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
  97. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js +2 -1
  98. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js.map +1 -1
  99. package/react/components/notifications/components/views/CardView.js +5 -3
  100. package/react/components/notifications/components/views/CardView.js.map +1 -1
  101. package/react/components/notifications/components/views/ListView.js +3 -1
  102. package/react/components/notifications/components/views/ListView.js.map +1 -1
  103. package/react/components/notifications/types.d.ts +3 -0
  104. package/react/components/notifications/types.js.map +1 -1
  105. package/react/components/processMonitor/ProcessMonitor.js +4 -1
  106. package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
  107. package/react/components/processMonitor/components/ProcessStatistics.js +1 -3
  108. package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
  109. package/react/components/processMonitor/helpers.js +4 -3
  110. package/react/components/processMonitor/helpers.js.map +1 -1
  111. package/react/components/processMonitor/helpers.spec.js +7 -3
  112. package/react/components/processMonitor/helpers.spec.js.map +1 -1
  113. package/react/components/sdd/AddApp.d.ts +4 -3
  114. package/react/components/sdd/AddApp.js +132 -30
  115. package/react/components/sdd/AddApp.js.map +1 -1
  116. package/react/components/sdd/AppEditAccess.d.ts +4 -3
  117. package/react/components/sdd/AppEditAccess.js.map +1 -1
  118. package/react/components/sdd/AppEditPage.d.ts +4 -3
  119. package/react/components/sdd/AppEditPage.js +141 -116
  120. package/react/components/sdd/AppEditPage.js.map +1 -1
  121. package/react/components/sdd/Appearance.d.ts +2 -1
  122. package/react/components/sdd/Appearance.js +15 -7
  123. package/react/components/sdd/Appearance.js.map +1 -1
  124. package/react/components/sdd/Application.d.ts +5 -4
  125. package/react/components/sdd/Application.js +61 -42
  126. package/react/components/sdd/Application.js.map +1 -1
  127. package/react/components/sdd/Applications.d.ts +12 -11
  128. package/react/components/sdd/Applications.js +23 -4
  129. package/react/components/sdd/Applications.js.map +1 -1
  130. package/react/components/sdd/Authentication.js +1 -6
  131. package/react/components/sdd/Authentication.js.map +1 -1
  132. package/react/components/sdd/AuthenticationProviderConfig.js +5 -3
  133. package/react/components/sdd/AuthenticationProviderConfig.js.map +1 -1
  134. package/react/components/sdd/EditPreload.d.ts +4 -3
  135. package/react/components/sdd/EditPreload.js +39 -22
  136. package/react/components/sdd/EditPreload.js.map +1 -1
  137. package/react/components/sdd/Export.d.ts +7 -6
  138. package/react/components/sdd/Export.js +3 -2
  139. package/react/components/sdd/Export.js.map +1 -1
  140. package/react/components/sdd/GettingStarted.js +3 -3
  141. package/react/components/sdd/GettingStarted.js.map +1 -1
  142. package/react/components/sdd/Navigation.js +28 -4
  143. package/react/components/sdd/Navigation.js.map +1 -1
  144. package/react/components/sdd/OptionalSettingsView.d.ts +6 -5
  145. package/react/components/sdd/OptionalSettingsView.js +2 -10
  146. package/react/components/sdd/OptionalSettingsView.js.map +1 -1
  147. package/react/components/sdd/ProjectErrors.js +1 -1
  148. package/react/components/sdd/ProjectErrors.js.map +1 -1
  149. package/react/components/sdd/Publish.js +2 -2
  150. package/react/components/sdd/Publish.js.map +1 -1
  151. package/react/components/sdd/SmartDesktopDesigner.d.ts +17 -16
  152. package/react/components/sdd/SmartDesktopDesigner.js +37 -34
  153. package/react/components/sdd/SmartDesktopDesigner.js.map +1 -1
  154. package/react/components/sdd/ThemePage.js +8 -5
  155. package/react/components/sdd/ThemePage.js.map +1 -1
  156. package/react/components/sdd/Themes.d.ts +2 -1
  157. package/react/components/sdd/Themes.js +2 -2
  158. package/react/components/sdd/Themes.js.map +1 -1
  159. package/react/components/sdd/Toolbar.d.ts +5 -4
  160. package/react/components/sdd/Toolbar.js +11 -9
  161. package/react/components/sdd/Toolbar.js.map +1 -1
  162. package/react/components/sdd/common/setPreloadDefaults.d.ts +1 -1
  163. package/react/components/sdd/common/setPreloadDefaults.js +5 -4
  164. package/react/components/sdd/common/setPreloadDefaults.js.map +1 -1
  165. package/react/components/sdd/common/views.js +7 -4
  166. package/react/components/sdd/common/views.js.map +1 -1
  167. package/react/components/sdd/css/addApp.css +52 -0
  168. package/react/components/sdd/css/applications.css +4 -24
  169. package/react/components/sdd/css/nav.css +3 -3
  170. package/react/components/sdd/fixtures/authenticationProps.js +15 -1
  171. package/react/components/sdd/fixtures/authenticationProps.js.map +1 -1
  172. package/react/components/sdd/fixtures/preloads.js +14 -12
  173. package/react/components/sdd/fixtures/preloads.js.map +1 -1
  174. package/react/components/sdd/smartDesktopClient.d.ts +163 -0
  175. package/react/components/sdd/smartDesktopClient.js +573 -0
  176. package/react/components/sdd/smartDesktopClient.js.map +1 -0
  177. package/react/components/sdd/smartDesktopClient.spec.d.ts +1 -0
  178. package/react/components/sdd/smartDesktopClient.spec.js +61 -0
  179. package/react/components/sdd/smartDesktopClient.spec.js.map +1 -0
  180. package/react/components/sdd/stories/AddApp.stories.d.ts +10 -0
  181. package/react/components/sdd/stories/AddApp.stories.js +18 -0
  182. package/react/components/sdd/stories/AddApp.stories.js.map +1 -0
  183. package/react/components/sdd/stories/AppEditPage.stories.d.ts +2 -0
  184. package/react/components/sdd/stories/AppEditPage.stories.js +2 -0
  185. package/react/components/sdd/stories/AppEditPage.stories.js.map +1 -1
  186. package/react/components/sdd/stories/Appearance.stories.d.ts +1 -1
  187. package/react/components/sdd/stories/Appearance.stories.js +1 -0
  188. package/react/components/sdd/stories/Appearance.stories.js.map +1 -1
  189. package/react/components/sdd/stories/Authentication.stories.js +2 -16
  190. package/react/components/sdd/stories/Authentication.stories.js.map +1 -1
  191. package/react/components/sdd/stories/OptionalSettingsView.stories.js +1 -1
  192. package/react/components/sdd/stories/OptionalSettingsView.stories.js.map +1 -1
  193. package/react/components/sdd/stories/SmartDesktopDesigner.stories.d.ts +1 -1
  194. package/react/components/sdd/stories/SmartDesktopDesigner.stories.js +3 -0
  195. package/react/components/sdd/stories/SmartDesktopDesigner.stories.js.map +1 -1
  196. package/react/components/sdd/stories/Themes.stories.d.ts +1 -1
  197. package/react/components/sdd/stories/Themes.stories.js +1 -0
  198. package/react/components/sdd/stories/Themes.stories.js.map +1 -1
  199. package/react/components/sdd/tests/AddApp.spec.d.ts +1 -0
  200. package/react/components/sdd/tests/AddApp.spec.js +96 -0
  201. package/react/components/sdd/tests/AddApp.spec.js.map +1 -0
  202. package/react/components/sdd/tests/AppEditPage.spec.js +92 -23
  203. package/react/components/sdd/tests/AppEditPage.spec.js.map +1 -1
  204. package/react/components/sdd/tests/Application.spec.js +411 -24
  205. package/react/components/sdd/tests/Application.spec.js.map +1 -1
  206. package/react/components/sdd/tests/Applications.spec.js +1 -45
  207. package/react/components/sdd/tests/Applications.spec.js.map +1 -1
  208. package/react/components/sdd/tests/Authentication.spec.js +1 -1
  209. package/react/components/sdd/tests/Authentication.spec.js.map +1 -1
  210. package/react/components/sdd/tests/EditPreload.spec.js +50 -7
  211. package/react/components/sdd/tests/EditPreload.spec.js.map +1 -1
  212. package/react/components/sdd/tests/Navigation.spec.js +2 -2
  213. package/react/components/sdd/tests/Navigation.spec.js.map +1 -1
  214. package/react/components/sdd/tests/OptionalSettingsView.spec.js +235 -0
  215. package/react/components/sdd/tests/OptionalSettingsView.spec.js.map +1 -1
  216. package/react/components/sdd/tests/ProjectErrors.spec.js +1 -1
  217. package/react/components/sdd/tests/ProjectErrors.spec.js.map +1 -1
  218. package/react/components/sdd/tests/SmartDesktopDesigner.spec.js +2 -2
  219. package/react/components/sdd/tests/SmartDesktopDesigner.spec.js.map +1 -1
  220. package/react/components/search/Search.js +1 -1
  221. package/react/components/search/Search.js.map +1 -1
  222. package/react/components/shared/DefaultDropdownButton.js +12 -1
  223. package/react/components/shared/DefaultDropdownButton.js.map +1 -1
  224. package/react/components/shared/tests/DefaultDropdownButton.spec.js +12 -0
  225. package/react/components/shared/tests/DefaultDropdownButton.spec.js.map +1 -1
  226. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.d.ts +1 -16
  227. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +0 -4
  228. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
  229. package/react/components/toolbar/DragHandle.stories.js.map +1 -1
  230. package/react/components/toolbar/ToolbarIcon.js +2 -2
  231. package/react/components/toolbar/ToolbarIcon.js.map +1 -1
  232. package/react/components/toolbar/ToolbarSection.d.ts +1 -9
  233. package/react/components/toolbar/ToolbarSection.js +3 -7
  234. package/react/components/toolbar/ToolbarSection.js.map +1 -1
  235. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js +1 -1
  236. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
  237. package/react/components/toolbar/dashbar/Dashbar.js +21 -12
  238. package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
  239. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js +1 -1
  240. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
  241. package/react/components/userPreferences/components/ContentSection.js +1 -1
  242. package/react/components/userPreferences/components/ContentSection.js.map +1 -1
  243. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js +4 -3
  244. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
  245. package/react/components/userPreferences/components/general/ScheduledClose.js +12 -3
  246. package/react/components/userPreferences/components/general/ScheduledClose.js.map +1 -1
  247. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js +1 -1
  248. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js.map +1 -1
  249. package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +17 -2
  250. package/react/components/windowTitleBar/WindowTitleBarShell.js +160 -6
  251. package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
  252. package/react/components/windowTitleBar/components/left/LinkerButton.js +7 -1
  253. package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
  254. package/react/components/windowTitleBar/components/windowTitle.js +10 -2
  255. package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
  256. package/react/components/windowTitleBar/stores/windowTitleBarStore.js +11 -1
  257. package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
  258. package/react/reducers/rootReducer.d.ts +2 -2
  259. package/react/store.d.ts +4 -4
  260. package/react/tsconfig.tsbuildinfo +1 -0
  261. package/react/types/smartDesktopDesignerTypes.d.ts +3 -0
  262. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/components/common/helpers.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { FileInputUploadCb } from \"./FileInput\";\nimport { Story } from \"@storybook/react/types-6-0\";\n\nimport { SDServerInfo } from \"../../types/smartDesktopDesignerTypes\";\nimport { Provider } from \"react-redux\";\nimport { createStore } from \"../../store\";\n\nexport const uploadFunction: FileInputUploadCb = (fileObject: File) =>\n\tnew Promise((resolve) => {\n\t\tresolve({\n\t\t\terr: \"\",\n\t\t\tpath: fileObject.name,\n\t\t});\n\t});\n\nexport const initFSBL = (windowObject?: any) => {\n\t// Poor man's global that can take any appendage\n\tconst globalAsAny: any = global;\n\n\tif (!windowObject) {\n\t\twindowObject = globalAsAny.window = {} as any;\n\t} else {\n\t\twindowObject = window;\n\n\t\tsetTimeout(() => {\n\t\t\tconst event = window.document.createEvent(\"Event\");\n\n\t\t\tevent?.initEvent(\"FSBLReady\", true, true);\n\n\t\t\twindow.dispatchEvent(event);\n\t\t});\n\t}\n\n\tglobalAsAny.FSBL = windowObject.FSBL = {\n\t\taddEventListener: (name: String, callback: () => void) => {\n\t\t\tcallback();\n\t\t},\n\t\tClients: {\n\t\t\tSmartDesktopClient: {\n\t\t\t\tcheckValidURL(url: string) {\n\t\t\t\t\tif (url.length === 0) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn /^https?:\\/\\/[^\\s]+$/.test(url);\n\t\t\t\t},\n\t\t\t\tcheckValidProjectName(name: string) {\n\t\t\t\t\treturn /^[a-zA-Z0-9 \\-_.]{1,}$/.test(name) && /[a-zA-Z0-9]{1,}/.test(name);\n\t\t\t\t},\n\t\t\t} as unknown,\n\t\t\tConfigClient: {\n\t\t\t\tsetPreference: () => {},\n\t\t\t\tgetValues: () => {},\n\t\t\t\tgetPreferences: () => {},\n\t\t\t},\n\t\t\tDialogManager: {\n\t\t\t\tspawnDialog: (obj1: any) => {\n\t\t\t\t\tconsole.table(obj1);\n\t\t\t\t},\n\t\t\t\tregisterDialogCallback: () => {},\n\t\t\t\trespondToOpener: () => {},\n\t\t\t},\n\t\t\tLauncherClient: {\n\t\t\t\tshowWindow: () => {},\n\t\t\t},\n\t\t\tLogger: {\n\t\t\t\tlog: () => {},\n\t\t\t\terror: () => {},\n\t\t\t\tsystem: {\n\t\t\t\t\tdebug: () => {},\n\t\t\t\t\tlog: () => {},\n\t\t\t\t\terror: () => {},\n\t\t\t\t\tverbose: () => {},\n\t\t\t\t\tdeprecated: () => {},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRouterClient: {\n\t\t\t\ttransmit: () => {},\n\t\t\t\taddListener: () => {},\n\t\t\t\tsubscribe: () => {},\n\t\t\t},\n\t\t\tStorageClient: {\n\t\t\t\tsave: () => {},\n\t\t\t\tclearCache: () => {},\n\t\t\t},\n\t\t\tWindowClient: {\n\t\t\t\tfitToDOM: () => {},\n\t\t\t},\n\t\t\tWorkspaceClient: {\n\t\t\t\tbringWindowsToFront: () => {},\n\t\t\t\tminimizeAll: () => {},\n\t\t\t\tactiveWorkspace: {\n\t\t\t\t\tname: \" \",\n\t\t\t\t},\n\t\t\t\tgetWorkspaceDefinition: (obj: Object, cb: Function) => {\n\t\t\t\t\tcb(null, null);\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tonShutdown: () => {},\n\t\tSystem: {\n\t\t\tgetSDServerInfo: () =>\n\t\t\t\tnew Promise((resolve) => {\n\t\t\t\t\tresolve({} as SDServerInfo);\n\t\t\t\t}),\n\t\t},\n\t\tSystemManagerClient: {\n\t\t\tpublishCheckpointState: () => {},\n\t\t},\n\t} as any;\n\n\tglobalAsAny.FSBL.Clients = {\n\t\t...globalAsAny.FSBL.Clients,\n\t\tWindowClient: {\n\t\t\tfitToDOM: () => {},\n\t\t} as any,\n\t};\n\n\tglobalAsAny.finsembleWindow = windowObject.finsembleWindow = {\n\t\tsetAlwaysOnTop: () => {},\n\t\taddEventListener: () => {},\n\t\tremoveEventListener: () => {},\n\t};\n};\n\nexport function createStory<T>(Component: Function, args: T) {\n\tconst template: Story<T> = (props: T) => {\n\t\tinitFSBL(window);\n\n\t\treturn (\n\t\t\t<Provider store={createStore()}>\n\t\t\t\t<Component {...{ ...args, ...props }} />\n\t\t\t</Provider>\n\t\t);\n\t};\n\n\ttemplate.args = args;\n\n\treturn template;\n}\n"]}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/components/common/helpers.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { FileInputUploadCb } from \"./FileInput\";\nimport { Story } from \"@storybook/react/types-6-0\";\n\nimport { SDServerInfo } from \"../../types/smartDesktopDesignerTypes\";\nimport { Provider } from \"react-redux\";\nimport { createStore } from \"../../store\";\n\nexport const uploadFunction: FileInputUploadCb = (fileObject: File) =>\n\tnew Promise((resolve) => {\n\t\tresolve({\n\t\t\terr: \"\",\n\t\t\tpath: fileObject.name,\n\t\t});\n\t});\n\nexport const initFSBL = (windowObject?: any) => {\n\t// Poor man's global that can take any appendage\n\tconst globalAsAny: any = global;\n\n\tif (!windowObject) {\n\t\twindowObject = globalAsAny.window = {} as any;\n\t} else {\n\t\twindowObject = window;\n\n\t\tsetTimeout(() => {\n\t\t\tconst event = window.document.createEvent(\"Event\");\n\n\t\t\tevent?.initEvent(\"FSBLReady\", true, true);\n\n\t\t\twindow.dispatchEvent(event);\n\t\t});\n\t}\n\n\tglobalAsAny.FSBL = windowObject.FSBL = {\n\t\taddEventListener: (name: String, callback: () => void) => {\n\t\t\tcallback();\n\t\t},\n\t\tgetFSBLInfo: () =>\n\t\t\tnew Promise((resolve) => {\n\t\t\t\tresolve({\n\t\t\t\t\tFSBLVersion: \"1.0.0\",\n\t\t\t\t});\n\t\t\t}),\n\t\tClients: {\n\t\t\tTmpSmartDesktopClient: {\n\t\t\t\tcheckValidURL(url: string) {\n\t\t\t\t\tif (url.length === 0) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn /^https?:\\/\\/[^\\s]+$/.test(url);\n\t\t\t\t},\n\t\t\t\tcheckValidProjectName(name: string) {\n\t\t\t\t\treturn /^[a-zA-Z0-9 \\-_.]{1,}$/.test(name) && /[a-zA-Z0-9]{1,}/.test(name);\n\t\t\t\t},\n\t\t\t} as unknown,\n\t\t\tConfigClient: {\n\t\t\t\tsetPreference: () => {},\n\t\t\t\tgetValues: () => {},\n\t\t\t\tgetPreferences: () => {},\n\t\t\t},\n\t\t\tDialogManager: {\n\t\t\t\tspawnDialog: (obj1: any) => {\n\t\t\t\t\tconsole.table(obj1);\n\t\t\t\t},\n\t\t\t\tregisterDialogCallback: () => {},\n\t\t\t\trespondToOpener: () => {},\n\t\t\t},\n\t\t\tLauncherClient: {\n\t\t\t\tshowWindow: () => {},\n\t\t\t},\n\t\t\tLogger: {\n\t\t\t\tlog: () => {},\n\t\t\t\terror: () => {},\n\t\t\t\tsystem: {\n\t\t\t\t\tdebug: () => {},\n\t\t\t\t\tlog: () => {},\n\t\t\t\t\terror: () => {},\n\t\t\t\t\tverbose: () => {},\n\t\t\t\t\tdeprecated: () => {},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRouterClient: {\n\t\t\t\ttransmit: () => {},\n\t\t\t\taddListener: () => {},\n\t\t\t\tsubscribe: () => {},\n\t\t\t},\n\t\t\tStorageClient: {\n\t\t\t\tsave: () => {},\n\t\t\t\tclearCache: () => {},\n\t\t\t},\n\t\t\tWindowClient: {\n\t\t\t\tfitToDOM: () => {},\n\t\t\t},\n\t\t\tWorkspaceClient: {\n\t\t\t\tbringWindowsToFront: () => {},\n\t\t\t\tminimizeAll: () => {},\n\t\t\t\tactiveWorkspace: {\n\t\t\t\t\tname: \" \",\n\t\t\t\t},\n\t\t\t\tgetWorkspaceDefinition: (obj: Object, cb: Function) => {\n\t\t\t\t\tcb(null, null);\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tonShutdown: () => {},\n\t\tSystem: {\n\t\t\tgetSDServerInfo: () =>\n\t\t\t\tnew Promise((resolve) => {\n\t\t\t\t\tresolve({} as SDServerInfo);\n\t\t\t\t}),\n\t\t},\n\t\tSystemManagerClient: {\n\t\t\tpublishCheckpointState: () => {},\n\t\t},\n\t} as any;\n\n\tglobalAsAny.FSBL.Clients = {\n\t\t...globalAsAny.FSBL.Clients,\n\t\tWindowClient: {\n\t\t\tfitToDOM: () => {},\n\t\t} as any,\n\t};\n\n\tglobalAsAny.finsembleWindow = windowObject.finsembleWindow = {\n\t\tsetAlwaysOnTop: () => {},\n\t\taddEventListener: () => {},\n\t\tremoveEventListener: () => {},\n\t};\n};\n\nexport function createStory<T>(Component: Function, args: T) {\n\tconst template: Story<T> = (props: T) => {\n\t\tinitFSBL(window);\n\n\t\treturn (\n\t\t\t<Provider store={createStore()}>\n\t\t\t\t<Component {...{ ...args, ...props }} />\n\t\t\t</Provider>\n\t\t);\n\t};\n\n\ttemplate.args = args;\n\n\treturn template;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import React, { useState } from "react";
2
2
  import { ColorPicker } from "../ColorPicker";
3
3
  import "../../../assets/css/finsemble.css";
4
4
  import "../css/styles.css";
@@ -6,26 +6,21 @@ export default {
6
6
  title: "Common/ColorPicker",
7
7
  component: ColorPicker,
8
8
  };
9
- const Template = (args) => React.createElement(ColorPicker, Object.assign({}, args));
9
+ const Template = (args) => {
10
+ var _a;
11
+ const [startColor, setColor] = useState(args.startColor);
12
+ return React.createElement(ColorPicker, { id: args.id, startColor: startColor, updateColor: (_a = args.updateColor) !== null && _a !== void 0 ? _a : setColor });
13
+ };
10
14
  export const EmptyField = Template.bind({});
11
15
  EmptyField.args = {
12
16
  startColor: "",
13
- updateColor: (newColor) => {
14
- console.log(newColor);
15
- },
16
17
  };
17
18
  export const ValidColor = Template.bind({});
18
19
  ValidColor.args = {
19
20
  startColor: "#FF0000",
20
- updateColor: (newColor) => {
21
- console.log(newColor);
22
- },
23
21
  };
24
22
  export const InvalidColor = Template.bind({});
25
23
  InvalidColor.args = {
26
24
  startColor: "#ZZZZZZ",
27
- updateColor: (newColor) => {
28
- console.log(newColor);
29
- },
30
25
  };
31
26
  //# sourceMappingURL=ColorPicker.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.stories.js","sourceRoot":"","sources":["../../../../src/components/common/stories/ColorPicker.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,mCAAmC,CAAC;AAC3C,OAAO,mBAAmB,CAAC;AAG3B,eAAe;IACd,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,WAAW;CACtB,CAAC;AAEF,MAAM,QAAQ,GAA4B,CAAC,IAAsB,EAAE,EAAE,CAAC,oBAAC,WAAW,oBAAK,IAAI,EAAI,CAAC;AAEhG,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5C,UAAU,CAAC,IAAI,GAAG;IACjB,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5C,UAAU,CAAC,IAAI,GAAG;IACjB,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9C,YAAY,CAAC,IAAI,GAAG;IACnB,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;CACD,CAAC","sourcesContent":["import React from \"react\";\nimport { ColorPicker, ColorPickerProps } from \"../ColorPicker\";\nimport \"../../../assets/css/finsemble.css\";\nimport \"../css/styles.css\";\nimport { Story } from \"@storybook/react/types-6-0\";\n\nexport default {\n\ttitle: \"Common/ColorPicker\",\n\tcomponent: ColorPicker,\n};\n\nconst Template: Story<ColorPickerProps> = (args: ColorPickerProps) => <ColorPicker {...args} />;\n\nexport const EmptyField = Template.bind({});\nEmptyField.args = {\n\tstartColor: \"\",\n\tupdateColor: (newColor) => {\n\t\tconsole.log(newColor);\n\t},\n};\n\nexport const ValidColor = Template.bind({});\nValidColor.args = {\n\tstartColor: \"#FF0000\",\n\tupdateColor: (newColor) => {\n\t\tconsole.log(newColor);\n\t},\n};\n\nexport const InvalidColor = Template.bind({});\nInvalidColor.args = {\n\tstartColor: \"#ZZZZZZ\",\n\tupdateColor: (newColor) => {\n\t\tconsole.log(newColor);\n\t},\n};\n"]}
1
+ {"version":3,"file":"ColorPicker.stories.js","sourceRoot":"","sources":["../../../../src/components/common/stories/ColorPicker.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,mCAAmC,CAAC;AAC3C,OAAO,mBAAmB,CAAC;AAG3B,eAAe;IACd,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,WAAW;CACtB,CAAC;AAEF,MAAM,QAAQ,GAA4B,CAAC,IAAsB,EAAE,EAAE;;IAIpE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzD,OAAO,oBAAC,WAAW,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAA,IAAI,CAAC,WAAW,mCAAI,QAAQ,GAAI,CAAC;AACxG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5C,UAAU,CAAC,IAAI,GAAG;IACjB,UAAU,EAAE,EAAE;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5C,UAAU,CAAC,IAAI,GAAG;IACjB,UAAU,EAAE,SAAS;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9C,YAAY,CAAC,IAAI,GAAG;IACnB,UAAU,EAAE,SAAS;CACrB,CAAC","sourcesContent":["import React, { useState } from \"react\";\nimport { ColorPicker, ColorPickerProps } from \"../ColorPicker\";\nimport \"../../../assets/css/finsemble.css\";\nimport \"../css/styles.css\";\nimport { Story } from \"@storybook/react/types-6-0\";\n\nexport default {\n\ttitle: \"Common/ColorPicker\",\n\tcomponent: ColorPicker,\n};\n\nconst Template: Story<ColorPickerProps> = (args: ColorPickerProps) => {\n\t// The colorpicker was changed to not update its internal state\n\t// but only fire the event and instead rely on props, so for the purpose of unit testing\n\t// and storybook, let's define a mock component that synchonizes them\n\tconst [startColor, setColor] = useState(args.startColor);\n\treturn <ColorPicker id={args.id} startColor={startColor} updateColor={args.updateColor ?? setColor} />;\n};\n\nexport const EmptyField = Template.bind({});\nEmptyField.args = {\n\tstartColor: \"\",\n};\n\nexport const ValidColor = Template.bind({});\nValidColor.args = {\n\tstartColor: \"#FF0000\",\n};\n\nexport const InvalidColor = Template.bind({});\nInvalidColor.args = {\n\tstartColor: \"#ZZZZZZ\",\n};\n"]}
@@ -5,10 +5,9 @@ import "../css/styles.css";
5
5
  import { Story } from "@storybook/react/types-6-0";
6
6
  declare const _default: {
7
7
  title: string;
8
- component: ({ checked, onChange, label, enabled, textToggle }: FinsembleToggleProps) => JSX.Element;
8
+ component: ({ checked, onChange, label, enabled }: FinsembleToggleProps) => JSX.Element;
9
9
  };
10
10
  export default _default;
11
11
  export declare const Unchecked: Story<FinsembleToggleProps>;
12
12
  export declare const Checked: Story<FinsembleToggleProps>;
13
13
  export declare const Disabled: Story<FinsembleToggleProps>;
14
- export declare const TextLabels: Story<FinsembleToggleProps>;
@@ -25,11 +25,4 @@ Disabled.args = {
25
25
  enabled: false,
26
26
  label: "Pre-checked test",
27
27
  };
28
- export const TextLabels = Template.bind({});
29
- TextLabels.args = {
30
- checked: true,
31
- onChange: action("Selected values"),
32
- label: "Pre-checked test",
33
- textToggle: ["Daily", "Weekly"],
34
- };
35
28
  //# sourceMappingURL=FinsembleToggle.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FinsembleToggle.stories.js","sourceRoot":"","sources":["../../../../src/components/common/stories/FinsembleToggle.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAwB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,mCAAmC,CAAC;AAC3C,OAAO,mBAAmB,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,eAAe;IACd,KAAK,EAAE,wBAAwB;IAC/B,SAAS,EAAE,eAAe;CAC1B,CAAC;AAEF,MAAM,QAAQ,GAAgC,CAAC,IAA0B,EAAE,EAAE,CAAC,oBAAC,eAAe,oBAAK,IAAI,EAAI,CAAC;AAE5G,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3C,SAAS,CAAC,IAAI,GAAG;IAChB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC;IACnC,KAAK,EAAE,MAAM;CACb,CAAC;AACF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,IAAI,GAAG;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC;IACnC,KAAK,EAAE,kBAAkB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1C,QAAQ,CAAC,IAAI,GAAG;IACf,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,kBAAkB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5C,UAAU,CAAC,IAAI,GAAG;IACjB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC;IACnC,KAAK,EAAE,kBAAkB;IACzB,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;CAC/B,CAAC","sourcesContent":["import React from \"react\";\nimport { FinsembleToggle, FinsembleToggleProps } from \"../FinsembleToggle\";\nimport \"../../../assets/css/finsemble.css\";\nimport \"../css/styles.css\";\nimport { Story } from \"@storybook/react/types-6-0\";\nimport { action } from \"@storybook/addon-actions\";\n\nexport default {\n\ttitle: \"Common/FinsembleToggle\",\n\tcomponent: FinsembleToggle,\n};\n\nconst Template: Story<FinsembleToggleProps> = (args: FinsembleToggleProps) => <FinsembleToggle {...args} />;\n\nexport const Unchecked = Template.bind({});\nUnchecked.args = {\n\tchecked: false,\n\tonChange: action(\"Selected values\"),\n\tlabel: \"Test\",\n};\nexport const Checked = Template.bind({});\nChecked.args = {\n\tchecked: true,\n\tonChange: action(\"Selected values\"),\n\tlabel: \"Pre-checked test\",\n};\n\nexport const Disabled = Template.bind({});\nDisabled.args = {\n\tenabled: false,\n\tlabel: \"Pre-checked test\",\n};\n\nexport const TextLabels = Template.bind({});\nTextLabels.args = {\n\tchecked: true,\n\tonChange: action(\"Selected values\"),\n\tlabel: \"Pre-checked test\",\n\ttextToggle: [\"Daily\", \"Weekly\"],\n};\n"]}
1
+ {"version":3,"file":"FinsembleToggle.stories.js","sourceRoot":"","sources":["../../../../src/components/common/stories/FinsembleToggle.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAwB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,mCAAmC,CAAC;AAC3C,OAAO,mBAAmB,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,eAAe;IACd,KAAK,EAAE,wBAAwB;IAC/B,SAAS,EAAE,eAAe;CAC1B,CAAC;AAEF,MAAM,QAAQ,GAAgC,CAAC,IAA0B,EAAE,EAAE,CAAC,oBAAC,eAAe,oBAAK,IAAI,EAAI,CAAC;AAE5G,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3C,SAAS,CAAC,IAAI,GAAG;IAChB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC;IACnC,KAAK,EAAE,MAAM;CACb,CAAC;AACF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,IAAI,GAAG;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC;IACnC,KAAK,EAAE,kBAAkB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1C,QAAQ,CAAC,IAAI,GAAG;IACf,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,kBAAkB;CACzB,CAAC","sourcesContent":["import React from \"react\";\nimport { FinsembleToggle, FinsembleToggleProps } from \"../FinsembleToggle\";\nimport \"../../../assets/css/finsemble.css\";\nimport \"../css/styles.css\";\nimport { Story } from \"@storybook/react/types-6-0\";\nimport { action } from \"@storybook/addon-actions\";\n\nexport default {\n\ttitle: \"Common/FinsembleToggle\",\n\tcomponent: FinsembleToggle,\n};\n\nconst Template: Story<FinsembleToggleProps> = (args: FinsembleToggleProps) => <FinsembleToggle {...args} />;\n\nexport const Unchecked = Template.bind({});\nUnchecked.args = {\n\tchecked: false,\n\tonChange: action(\"Selected values\"),\n\tlabel: \"Test\",\n};\nexport const Checked = Template.bind({});\nChecked.args = {\n\tchecked: true,\n\tonChange: action(\"Selected values\"),\n\tlabel: \"Pre-checked test\",\n};\n\nexport const Disabled = Template.bind({});\nDisabled.args = {\n\tenabled: false,\n\tlabel: \"Pre-checked test\",\n};\n"]}
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { FinsembleToggleButtonBarProps } from "../FinsembleToggleButtonBar";
3
+ import "../../../assets/css/finsemble.css";
4
+ import "../css/styles.css";
5
+ import { Story } from "@storybook/react/types-6-0";
6
+ declare const _default: {
7
+ title: string;
8
+ component: ({ selected, options, onChange, enabled, }: FinsembleToggleButtonBarProps) => JSX.Element;
9
+ };
10
+ export default _default;
11
+ export declare const TextLabels: Story<FinsembleToggleButtonBarProps>;
12
+ export declare const Disabled: Story<FinsembleToggleButtonBarProps>;
13
+ export declare const MoreThanTwo: Story<FinsembleToggleButtonBarProps>;
14
+ export declare const LabelsWithChildren: Story<FinsembleToggleButtonBarProps>;
@@ -0,0 +1,97 @@
1
+ import React, { useState } from "react";
2
+ import { FinsembleToggleButtonBar } from "../FinsembleToggleButtonBar";
3
+ import "../../../assets/css/finsemble.css";
4
+ import "../css/styles.css";
5
+ import { action } from "@storybook/addon-actions";
6
+ import { FinsembleIcon } from "../FinsembleIcon";
7
+ export default {
8
+ title: "Common/FinsembleToggleButtonBar",
9
+ component: FinsembleToggleButtonBar,
10
+ };
11
+ const Template = (args) => {
12
+ var _a;
13
+ const [selected, setSelected] = useState(args.selected);
14
+ const doSetSelected = (newValue) => {
15
+ args.onChange(newValue);
16
+ setSelected(newValue);
17
+ };
18
+ return (React.createElement(FinsembleToggleButtonBar, { selected: selected, options: args.options, onChange: doSetSelected, enabled: (_a = args.enabled) !== null && _a !== void 0 ? _a : true }));
19
+ };
20
+ export const TextLabels = Template.bind({});
21
+ TextLabels.args = {
22
+ options: [
23
+ {
24
+ label: "Daily",
25
+ value: true,
26
+ },
27
+ {
28
+ label: "Weekly",
29
+ value: false,
30
+ },
31
+ ],
32
+ selected: true,
33
+ onChange: action("onChange"),
34
+ };
35
+ export const Disabled = Template.bind({});
36
+ Disabled.args = {
37
+ options: [
38
+ {
39
+ label: "Daily",
40
+ value: true,
41
+ },
42
+ {
43
+ label: "Weekly",
44
+ value: false,
45
+ },
46
+ ],
47
+ selected: true,
48
+ onChange: action("onChange"),
49
+ enabled: false,
50
+ };
51
+ export const MoreThanTwo = Template.bind({});
52
+ MoreThanTwo.args = {
53
+ options: [
54
+ {
55
+ label: "1",
56
+ value: 1,
57
+ },
58
+ {
59
+ label: "2",
60
+ value: 2,
61
+ },
62
+ {
63
+ label: "3",
64
+ value: 3,
65
+ },
66
+ {
67
+ label: "4",
68
+ value: 4,
69
+ },
70
+ ],
71
+ selected: 2,
72
+ onChange: action("onChange"),
73
+ };
74
+ export const LabelsWithChildren = Template.bind({});
75
+ LabelsWithChildren.args = {
76
+ options: [
77
+ {
78
+ label: (React.createElement("span", null,
79
+ React.createElement(FinsembleIcon, { icon: "linker" }),
80
+ " URL")),
81
+ value: "web",
82
+ },
83
+ {
84
+ label: (React.createElement("span", null,
85
+ React.createElement(FinsembleIcon, { icon: "folder" }),
86
+ " Path")),
87
+ value: "native",
88
+ },
89
+ {
90
+ label: "Citrix",
91
+ value: "citrix",
92
+ },
93
+ ],
94
+ selected: "web",
95
+ onChange: action("onChange"),
96
+ };
97
+ //# sourceMappingURL=FinsembleToggleButtonBar.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FinsembleToggleButtonBar.stories.js","sourceRoot":"","sources":["../../../../src/components/common/stories/FinsembleToggleButtonBar.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState } from \"react\";\nimport { FinsembleToggleButtonBar, FinsembleToggleButtonBarProps } from \"../FinsembleToggleButtonBar\";\nimport \"../../../assets/css/finsemble.css\";\nimport \"../css/styles.css\";\nimport { Story } from \"@storybook/react/types-6-0\";\nimport { action } from \"@storybook/addon-actions\";\nimport { FinsembleIcon } from \"../FinsembleIcon\";\n\nexport default {\n\ttitle: \"Common/FinsembleToggleButtonBar\",\n\tcomponent: FinsembleToggleButtonBar,\n};\n\nconst Template: Story<FinsembleToggleButtonBarProps> = (args: FinsembleToggleButtonBarProps) => {\n\tconst [selected, setSelected] = useState<any>(args.selected);\n\n\tconst doSetSelected = (newValue: any) => {\n\t\targs.onChange(newValue);\n\t\tsetSelected(newValue);\n\t};\n\n\treturn (\n\t\t<FinsembleToggleButtonBar\n\t\t\tselected={selected}\n\t\t\toptions={args.options}\n\t\t\tonChange={doSetSelected}\n\t\t\tenabled={args.enabled ?? true}\n\t\t/>\n\t);\n};\n\nexport const TextLabels = Template.bind({});\nTextLabels.args = {\n\toptions: [\n\t\t{\n\t\t\tlabel: \"Daily\",\n\t\t\tvalue: true,\n\t\t},\n\t\t{\n\t\t\tlabel: \"Weekly\",\n\t\t\tvalue: false,\n\t\t},\n\t],\n\tselected: true,\n\tonChange: action(\"onChange\"),\n};\n\nexport const Disabled = Template.bind({});\nDisabled.args = {\n\toptions: [\n\t\t{\n\t\t\tlabel: \"Daily\",\n\t\t\tvalue: true,\n\t\t},\n\t\t{\n\t\t\tlabel: \"Weekly\",\n\t\t\tvalue: false,\n\t\t},\n\t],\n\tselected: true,\n\tonChange: action(\"onChange\"),\n\tenabled: false,\n};\n\nexport const MoreThanTwo = Template.bind({});\nMoreThanTwo.args = {\n\toptions: [\n\t\t{\n\t\t\tlabel: \"1\",\n\t\t\tvalue: 1,\n\t\t},\n\t\t{\n\t\t\tlabel: \"2\",\n\t\t\tvalue: 2,\n\t\t},\n\t\t{\n\t\t\tlabel: \"3\",\n\t\t\tvalue: 3,\n\t\t},\n\t\t{\n\t\t\tlabel: \"4\",\n\t\t\tvalue: 4,\n\t\t},\n\t],\n\tselected: 2,\n\tonChange: action(\"onChange\"),\n};\n\nexport const LabelsWithChildren = Template.bind({});\nLabelsWithChildren.args = {\n\toptions: [\n\t\t{\n\t\t\tlabel: (\n\t\t\t\t<span>\n\t\t\t\t\t<FinsembleIcon icon=\"linker\" /> URL\n\t\t\t\t</span>\n\t\t\t),\n\t\t\tvalue: \"web\",\n\t\t},\n\t\t{\n\t\t\tlabel: (\n\t\t\t\t<span>\n\t\t\t\t\t<FinsembleIcon icon=\"folder\" /> Path\n\t\t\t\t</span>\n\t\t\t),\n\t\t\tvalue: \"native\",\n\t\t},\n\t\t{\n\t\t\tlabel: \"Citrix\",\n\t\t\tvalue: \"citrix\",\n\t\t},\n\t],\n\tselected: \"web\",\n\tonChange: action(\"onChange\"),\n};\n"]}
@@ -1,12 +1,13 @@
1
1
  /// <reference types="react" />
2
+ import { Story } from "@storybook/react/types-6-0";
2
3
  import { InputTableProps } from "../InputTable";
3
4
  import "../../../assets/css/finsemble.css";
4
5
  import "../css/styles.css";
5
6
  import "../css/tooltip.css";
6
7
  declare const _default: {
7
8
  title: string;
8
- component: ({ tableHeaders, onUpdate, startingData }: InputTableProps) => JSX.Element;
9
+ component: ({ tableHeaders, setData, data }: InputTableProps) => JSX.Element;
9
10
  };
10
11
  export default _default;
11
- export declare const Basic: import("@storybook/react").Story<InputTableProps>;
12
- export declare const StartingData: import("@storybook/react").Story<InputTableProps>;
12
+ export declare const Basic: Story<InputTableProps>;
13
+ export declare const StartingData: Story<InputTableProps>;
@@ -1,5 +1,4 @@
1
1
  import React from "react";
2
- import { createStory } from "../helpers";
3
2
  import { Tooltip } from "../Tooltip";
4
3
  import { InputTable } from "../InputTable";
5
4
  import { action } from "@storybook/addon-actions";
@@ -10,7 +9,16 @@ export default {
10
9
  title: "Common/InputTable",
11
10
  component: InputTable,
12
11
  };
13
- export const Basic = createStory(InputTable, {
12
+ const Template = (args) => {
13
+ const [data, setData] = React.useState(args.data);
14
+ const doSetData = (updateData) => {
15
+ args.setData(updateData);
16
+ setData(updateData);
17
+ };
18
+ return React.createElement(InputTable, { tableHeaders: args.tableHeaders, data: data, setData: doSetData });
19
+ };
20
+ export const Basic = Template.bind({});
21
+ Basic.args = {
14
22
  tableHeaders: [
15
23
  React.createElement(React.Fragment, null,
16
24
  "Contexts",
@@ -22,14 +30,16 @@ export const Basic = createStory(InputTable, {
22
30
  "Name",
23
31
  React.createElement(Tooltip, null, "Tooltip")),
24
32
  ],
25
- onUpdate: action("update"),
26
- });
27
- export const StartingData = createStory(InputTable, {
33
+ data: [],
34
+ setData: action("update"),
35
+ };
36
+ export const StartingData = Template.bind({});
37
+ StartingData.args = {
28
38
  tableHeaders: ["Letter", "Number"],
29
- startingData: [
39
+ data: [
30
40
  ["A", "1"],
31
41
  ["B", "2"],
32
42
  ],
33
- onUpdate: action("update"),
34
- });
43
+ setData: action("update"),
44
+ };
35
45
  //# sourceMappingURL=InputTable.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputTable.stories.js","sourceRoot":"","sources":["../../../../src/components/common/stories/InputTable.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,UAAU,EAAmB,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,mCAAmC,CAAC;AAC3C,OAAO,mBAAmB,CAAC;AAC3B,OAAO,oBAAoB,CAAC;AAE5B,eAAe;IACd,KAAK,EAAE,mBAAmB;IAC1B,SAAS,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAkB,UAAU,EAAE;IAC7D,YAAY,EAAE;QACb;;YAEC,oBAAC,OAAO,kBAAkB,CACxB;QACH;;YAEC,oBAAC,OAAO,kBAAkB,CACxB;QACH;;YAEC,oBAAC,OAAO,kBAAkB,CACxB;KACH;IACD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAkB,UAAU,EAAE;IACpE,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAClC,YAAY,EAAE;QACb,CAAC,GAAG,EAAE,GAAG,CAAC;QACV,CAAC,GAAG,EAAE,GAAG,CAAC;KACV;IACD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC1B,CAAC,CAAC","sourcesContent":["import React from \"react\";\nimport { createStory } from \"../helpers\";\nimport { Tooltip } from \"../Tooltip\";\nimport { InputTable, InputTableProps } from \"../InputTable\";\nimport { action } from \"@storybook/addon-actions\";\nimport \"../../../assets/css/finsemble.css\";\nimport \"../css/styles.css\";\nimport \"../css/tooltip.css\";\n\nexport default {\n\ttitle: \"Common/InputTable\",\n\tcomponent: InputTable,\n};\n\nexport const Basic = createStory<InputTableProps>(InputTable, {\n\ttableHeaders: [\n\t\t<>\n\t\t\tContexts\n\t\t\t<Tooltip>Tooltip</Tooltip>\n\t\t</>,\n\t\t<>\n\t\t\tDisplay name\n\t\t\t<Tooltip>Tooltip</Tooltip>\n\t\t</>,\n\t\t<>\n\t\t\tName\n\t\t\t<Tooltip>Tooltip</Tooltip>\n\t\t</>,\n\t],\n\tonUpdate: action(\"update\"),\n});\n\nexport const StartingData = createStory<InputTableProps>(InputTable, {\n\ttableHeaders: [\"Letter\", \"Number\"],\n\tstartingData: [\n\t\t[\"A\", \"1\"],\n\t\t[\"B\", \"2\"],\n\t],\n\tonUpdate: action(\"update\"),\n});\n"]}
1
+ {"version":3,"file":"InputTable.stories.js","sourceRoot":"","sources":["../../../../src/components/common/stories/InputTable.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,UAAU,EAAmB,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,mCAAmC,CAAC;AAC3C,OAAO,mBAAmB,CAAC;AAC3B,OAAO,oBAAoB,CAAC;AAE5B,eAAe;IACd,KAAK,EAAE,mBAAmB;IAC1B,SAAS,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,QAAQ,GAA2B,CAAC,IAAI,EAAE,EAAE;IACjD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,CAAC,UAAsB,EAAE,EAAE;QAC5C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzB,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC,CAAC;IACF,OAAO,oBAAC,UAAU,IAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,GAAI,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG;IACZ,YAAY,EAAE;QACb;;YAEC,oBAAC,OAAO,kBAAkB,CACxB;QACH;;YAEC,oBAAC,OAAO,kBAAkB,CACxB;QACH;;YAEC,oBAAC,OAAO,kBAAkB,CACxB;KACH;IACD,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9C,YAAY,CAAC,IAAI,GAAG;IACnB,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAClC,IAAI,EAAE;QACL,CAAC,GAAG,EAAE,GAAG,CAAC;QACV,CAAC,GAAG,EAAE,GAAG,CAAC;KACV;IACD,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC;CACzB,CAAC","sourcesContent":["import React from \"react\";\nimport { Story } from \"@storybook/react/types-6-0\";\nimport { Tooltip } from \"../Tooltip\";\nimport { InputTable, InputTableProps } from \"../InputTable\";\nimport { action } from \"@storybook/addon-actions\";\nimport \"../../../assets/css/finsemble.css\";\nimport \"../css/styles.css\";\nimport \"../css/tooltip.css\";\n\nexport default {\n\ttitle: \"Common/InputTable\",\n\tcomponent: InputTable,\n};\n\nconst Template: Story<InputTableProps> = (args) => {\n\tconst [data, setData] = React.useState(args.data);\n\tconst doSetData = (updateData: string[][]) => {\n\t\targs.setData(updateData);\n\t\tsetData(updateData);\n\t};\n\treturn <InputTable tableHeaders={args.tableHeaders} data={data} setData={doSetData} />;\n};\n\nexport const Basic = Template.bind({});\nBasic.args = {\n\ttableHeaders: [\n\t\t<>\n\t\t\tContexts\n\t\t\t<Tooltip>Tooltip</Tooltip>\n\t\t</>,\n\t\t<>\n\t\t\tDisplay name\n\t\t\t<Tooltip>Tooltip</Tooltip>\n\t\t</>,\n\t\t<>\n\t\t\tName\n\t\t\t<Tooltip>Tooltip</Tooltip>\n\t\t</>,\n\t],\n\tdata: [],\n\tsetData: action(\"update\"),\n};\n\nexport const StartingData = Template.bind({});\nStartingData.args = {\n\ttableHeaders: [\"Letter\", \"Number\"],\n\tdata: [\n\t\t[\"A\", \"1\"],\n\t\t[\"B\", \"2\"],\n\t],\n\tsetData: action(\"update\"),\n};\n"]}
@@ -3,7 +3,12 @@ import { mount } from "enzyme";
3
3
  import { describe, it } from "mocha";
4
4
  import { expect } from "chai";
5
5
  import ButtonRow from "../ButtonRow";
6
+ import { accessibilityAssessor } from "../../sdd/tests/a11y_helper";
6
7
  describe("<ButtonRow/>", () => {
8
+ it("should pass accessibility scans", async () => {
9
+ const wrapper = mount(React.createElement(ButtonRow, { onClick: () => { }, label: "Hello World" }));
10
+ expect(await accessibilityAssessor(wrapper)).to.be.true;
11
+ });
7
12
  it("should display the correct label", () => {
8
13
  const wrapper = mount(React.createElement(ButtonRow, { onClick: () => { }, label: "Hello World" }));
9
14
  expect(wrapper.find("span.row__lbl").text()).to.equal("Hello World");
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonRow.spec.js","sourceRoot":"","sources":["../../../../src/components/common/tests/ButtonRow.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,SAAS,IAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,KAAK,EAAE,aAAa,GAAI,CAAC,CAAC;QAC9E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,wFAAwF,EAAE,GAAG,EAAE;QACjG,MAAM,OAAO,GAAG,KAAK,CACpB,oBAAC,SAAS,IACT,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EACjB,eAAe,EAAE,IAAI,EACrB,GAAG,EAAE,8DAA8D,GAClE,CACF,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,SAAS,IAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,eAAe,EAAE,KAAK,GAAI,CAAC,CAAC;QAChF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,2GAA2G,EAAE,GAAG,EAAE;QACpH,MAAM,OAAO,GAAG,KAAK,CACpB,oBAAC,SAAS,IACT,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EACjB,eAAe,EAAE,KAAK,EACtB,GAAG,EAAE,8DAA8D,GAClE,CACF,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport ButtonRow from \"../ButtonRow\";\n\ndescribe(\"<ButtonRow/>\", () => {\n\tit(\"should display the correct label\", () => {\n\t\tconst wrapper = mount(<ButtonRow onClick={() => {}} label={\"Hello World\"} />);\n\t\texpect(wrapper.find(\"span.row__lbl\").text()).to.equal(\"Hello World\");\n\t});\n\tit(\"should display the Finsemble Icon if showDefaultIcon is true even if there is an image\", () => {\n\t\tconst wrapper = mount(\n\t\t\t<ButtonRow\n\t\t\t\tonClick={() => {}}\n\t\t\t\tshowDefaultIcon={true}\n\t\t\t\timg={\"https://cosaic.io/wp-content/uploads/2020/07/cosiac-blog.png\"}\n\t\t\t/>\n\t\t);\n\t\texpect(wrapper.find(\".ff-finsemble\")).to.have.lengthOf(1);\n\t});\n\tit(\"should not display the Finsemble Icon if showDefaultIcon is false\", () => {\n\t\tconst wrapper = mount(<ButtonRow onClick={() => {}} showDefaultIcon={false} />);\n\t\texpect(wrapper.find(\".ff-finsemble\")).to.have.lengthOf(0);\n\t});\n\tit(\"should display given image and not display the Finsemble Icon if image url given does not result in error\", () => {\n\t\tconst wrapper = mount(\n\t\t\t<ButtonRow\n\t\t\t\tonClick={() => {}}\n\t\t\t\tshowDefaultIcon={false}\n\t\t\t\timg={\"https://cosaic.io/wp-content/uploads/2020/07/cosiac-blog.png\"}\n\t\t\t/>\n\t\t);\n\t\texpect(wrapper.find(\".ff-finsemble\")).to.have.lengthOf(0);\n\t\texpect(wrapper.find(\"img\")).to.have.lengthOf(1);\n\t});\n});\n"]}
1
+ {"version":3,"file":"ButtonRow.spec.js","sourceRoot":"","sources":["../../../../src/components/common/tests/ButtonRow.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,SAAS,IAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,KAAK,EAAE,aAAa,GAAI,CAAC,CAAC;QAE9E,MAAM,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,SAAS,IAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,KAAK,EAAE,aAAa,GAAI,CAAC,CAAC;QAC9E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,wFAAwF,EAAE,GAAG,EAAE;QACjG,MAAM,OAAO,GAAG,KAAK,CACpB,oBAAC,SAAS,IACT,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EACjB,eAAe,EAAE,IAAI,EACrB,GAAG,EAAE,8DAA8D,GAClE,CACF,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,SAAS,IAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,eAAe,EAAE,KAAK,GAAI,CAAC,CAAC;QAChF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,2GAA2G,EAAE,GAAG,EAAE;QACpH,MAAM,OAAO,GAAG,KAAK,CACpB,oBAAC,SAAS,IACT,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EACjB,eAAe,EAAE,KAAK,EACtB,GAAG,EAAE,8DAA8D,GAClE,CACF,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport ButtonRow from \"../ButtonRow\";\nimport { accessibilityAssessor } from \"../../sdd/tests/a11y_helper\";\n\ndescribe(\"<ButtonRow/>\", () => {\n\tit(\"should pass accessibility scans\", async () => {\n\t\tconst wrapper = mount(<ButtonRow onClick={() => {}} label={\"Hello World\"} />);\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n\tit(\"should display the correct label\", () => {\n\t\tconst wrapper = mount(<ButtonRow onClick={() => {}} label={\"Hello World\"} />);\n\t\texpect(wrapper.find(\"span.row__lbl\").text()).to.equal(\"Hello World\");\n\t});\n\tit(\"should display the Finsemble Icon if showDefaultIcon is true even if there is an image\", () => {\n\t\tconst wrapper = mount(\n\t\t\t<ButtonRow\n\t\t\t\tonClick={() => {}}\n\t\t\t\tshowDefaultIcon={true}\n\t\t\t\timg={\"https://cosaic.io/wp-content/uploads/2020/07/cosiac-blog.png\"}\n\t\t\t/>\n\t\t);\n\t\texpect(wrapper.find(\".ff-finsemble\")).to.have.lengthOf(1);\n\t});\n\tit(\"should not display the Finsemble Icon if showDefaultIcon is false\", () => {\n\t\tconst wrapper = mount(<ButtonRow onClick={() => {}} showDefaultIcon={false} />);\n\t\texpect(wrapper.find(\".ff-finsemble\")).to.have.lengthOf(0);\n\t});\n\tit(\"should display given image and not display the Finsemble Icon if image url given does not result in error\", () => {\n\t\tconst wrapper = mount(\n\t\t\t<ButtonRow\n\t\t\t\tonClick={() => {}}\n\t\t\t\tshowDefaultIcon={false}\n\t\t\t\timg={\"https://cosaic.io/wp-content/uploads/2020/07/cosiac-blog.png\"}\n\t\t\t/>\n\t\t);\n\t\texpect(wrapper.find(\".ff-finsemble\")).to.have.lengthOf(0);\n\t\texpect(wrapper.find(\"img\")).to.have.lengthOf(1);\n\t});\n});\n"]}
@@ -3,7 +3,7 @@ import { mount } from "enzyme";
3
3
  import { describe, it } from "mocha";
4
4
  import { expect } from "chai";
5
5
  import sinon from "sinon";
6
- import { Checked, Unchecked, TextLabels } from "../stories/FinsembleToggle.stories";
6
+ import { Checked, Unchecked } from "../stories/FinsembleToggle.stories";
7
7
  import { accessibilityAssessor } from "../../sdd/tests/a11y_helper";
8
8
  import addons, { mockChannel } from "@storybook/addons";
9
9
  import { waitTime } from "../../sdd/sdd_helpers";
@@ -24,10 +24,5 @@ describe("<FinsembleToggle/>", () => {
24
24
  wrapper.update();
25
25
  expect(wrapper.find("input[type='checkbox']").at(0).prop("checked")).to.be.true;
26
26
  });
27
- it("should display checked labels", async () => {
28
- const wrapper = mount(React.createElement(TextLabels, Object.assign({}, TextLabels.args)));
29
- expect(wrapper.find(".toggle-text-label").at(0).text()).to.equal("Daily");
30
- expect(wrapper.find(".toggle-text-label").at(1).text()).to.equal("Weekly");
31
- });
32
27
  });
33
28
  //# sourceMappingURL=FinsembleToggle.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FinsembleToggle.spec.js","sourceRoot":"","sources":["../../../../src/components/common/tests/FinsembleToggle.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAEjC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACnC,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,SAAS,oBAAM,SAAS,CAAC,IAA6B,EAAI,CAAC,CAAC;QAEnF,MAAM,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;;QACxF,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,SAAS,oBAAM,SAAS,CAAC,IAA6B,EAAI,CAAC,CAAC;QAEnF,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEnB,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAA,OAAO,CAAC,IAAI,0CAAE,OAAO,EAAE,CAAC,CAAC;QAErD,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,UAAU,oBAAM,UAAU,CAAC,IAA6B,EAAI,CAAC,CAAC;QACrF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport { FinsembleToggleProps } from \"../FinsembleToggle\";\nimport { Checked, Unchecked, TextLabels } from \"../stories/FinsembleToggle.stories\";\nimport { accessibilityAssessor } from \"../../sdd/tests/a11y_helper\";\n\n// Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)\nimport addons, { mockChannel } from \"@storybook/addons\";\nimport { waitTime } from \"../../sdd/sdd_helpers\";\naddons.setChannel(mockChannel());\n\ndescribe(\"<FinsembleToggle/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\tit(\"should pass accessibility scans\", async () => {\n\t\tconst wrapper = mount(<Unchecked {...(Unchecked.args as FinsembleToggleProps)} />);\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n\n\tit(\"should be checked items if checked prop is updated after initial render\", async () => {\n\t\tconst wrapper = mount(<Unchecked {...(Unchecked.args as FinsembleToggleProps)} />);\n\n\t\tawait waitTime(10);\n\n\t\twrapper.setProps({ checked: Checked.args?.checked });\n\n\t\twrapper.update();\n\n\t\texpect(wrapper.find(\"input[type='checkbox']\").at(0).prop(\"checked\")).to.be.true;\n\t});\n\n\tit(\"should display checked labels\", async () => {\n\t\tconst wrapper = mount(<TextLabels {...(TextLabels.args as FinsembleToggleProps)} />);\n\t\texpect(wrapper.find(\".toggle-text-label\").at(0).text()).to.equal(\"Daily\");\n\t\texpect(wrapper.find(\".toggle-text-label\").at(1).text()).to.equal(\"Weekly\");\n\t});\n});\n"]}
1
+ {"version":3,"file":"FinsembleToggle.spec.js","sourceRoot":"","sources":["../../../../src/components/common/tests/FinsembleToggle.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAEjC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACnC,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,SAAS,oBAAM,SAAS,CAAC,IAA6B,EAAI,CAAC,CAAC;QAEnF,MAAM,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;;QACxF,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,SAAS,oBAAM,SAAS,CAAC,IAA6B,EAAI,CAAC,CAAC;QAEnF,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEnB,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAA,OAAO,CAAC,IAAI,0CAAE,OAAO,EAAE,CAAC,CAAC;QAErD,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACjF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport { FinsembleToggleProps } from \"../FinsembleToggle\";\nimport { Checked, Unchecked } from \"../stories/FinsembleToggle.stories\";\nimport { accessibilityAssessor } from \"../../sdd/tests/a11y_helper\";\n\n// Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)\nimport addons, { mockChannel } from \"@storybook/addons\";\nimport { waitTime } from \"../../sdd/sdd_helpers\";\naddons.setChannel(mockChannel());\n\ndescribe(\"<FinsembleToggle/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\tit(\"should pass accessibility scans\", async () => {\n\t\tconst wrapper = mount(<Unchecked {...(Unchecked.args as FinsembleToggleProps)} />);\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n\n\tit(\"should be checked items if checked prop is updated after initial render\", async () => {\n\t\tconst wrapper = mount(<Unchecked {...(Unchecked.args as FinsembleToggleProps)} />);\n\n\t\tawait waitTime(10);\n\n\t\twrapper.setProps({ checked: Checked.args?.checked });\n\n\t\twrapper.update();\n\n\t\texpect(wrapper.find(\"input[type='checkbox']\").at(0).prop(\"checked\")).to.be.true;\n\t});\n});\n"]}
@@ -0,0 +1,40 @@
1
+ import * as React from "react";
2
+ import { mount } from "enzyme";
3
+ import { describe, it } from "mocha";
4
+ import { expect } from "chai";
5
+ import sinon from "sinon";
6
+ import { TextLabels, MoreThanTwo, LabelsWithChildren } from "../stories/FinsembleToggleButtonBar.stories";
7
+ import { accessibilityAssessor } from "../../sdd/tests/a11y_helper";
8
+ import addons, { mockChannel } from "@storybook/addons";
9
+ addons.setChannel(mockChannel());
10
+ describe("<FinsembleToggleButtonBar/>", () => {
11
+ afterEach(() => {
12
+ sinon.restore();
13
+ });
14
+ it("should pass accessibility scans", async () => {
15
+ const wrapper = mount(React.createElement(TextLabels, Object.assign({}, TextLabels.args)));
16
+ expect(await accessibilityAssessor(wrapper)).to.be.true;
17
+ });
18
+ it("Initial item should display checked initially", async () => {
19
+ const wrapper = mount(React.createElement(TextLabels, Object.assign({}, TextLabels.args)));
20
+ expect(wrapper.find(".toggle-text-label").at(0).prop("aria-checked"), "The first toggle is checked").to.be.true;
21
+ expect(wrapper.find(".toggle-text-label").at(1).prop("aria-checked"), "The second toggle is not checked").to.be
22
+ .false;
23
+ });
24
+ it("Clicking an item returns the value presented", async () => {
25
+ const buttonSpy = sinon.spy(TextLabels.args, "onChange");
26
+ const wrapper = mount(React.createElement(TextLabels, Object.assign({}, TextLabels.args)));
27
+ wrapper.find(".toggle-text-label").at(1).simulate("click");
28
+ expect(buttonSpy.calledOnce, "The onChange callback was called").to.be.true;
29
+ expect(buttonSpy.args[0][0], "The value assigned to button #2 is the value returned when it's clicked").to.be.false;
30
+ });
31
+ it("More than 2 items should display", async () => {
32
+ const wrapper = mount(React.createElement(MoreThanTwo, Object.assign({}, MoreThanTwo.args)));
33
+ expect(wrapper.find(".toggle-text-label").length, "There are 4 toggle buttons").to.equal(4);
34
+ });
35
+ it("LabelsWithChildren should include icons in their display", async () => {
36
+ const wrapper = mount(React.createElement(LabelsWithChildren, Object.assign({}, LabelsWithChildren.args)));
37
+ expect(wrapper.find(".toggle-text-label").at(0).find(".finsemble-icon").exists(), "There's an icon in the first button").to.be.true;
38
+ });
39
+ });
40
+ //# sourceMappingURL=FinsembleToggleButtonBar.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FinsembleToggleButtonBar.spec.js","sourceRoot":"","sources":["../../../../src/components/common/tests/FinsembleToggleButtonBar.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport { FinsembleToggleButtonBarProps } from \"../FinsembleToggleButtonBar\";\nimport { TextLabels, MoreThanTwo, LabelsWithChildren } from \"../stories/FinsembleToggleButtonBar.stories\";\nimport { accessibilityAssessor } from \"../../sdd/tests/a11y_helper\";\n\n// Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)\nimport addons, { mockChannel } from \"@storybook/addons\";\naddons.setChannel(mockChannel());\n\ndescribe(\"<FinsembleToggleButtonBar/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\tit(\"should pass accessibility scans\", async () => {\n\t\tconst wrapper = mount(<TextLabels {...(TextLabels.args as FinsembleToggleButtonBarProps)} />);\n\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\n\t});\n\n\tit(\"Initial item should display checked initially\", async () => {\n\t\tconst wrapper = mount(<TextLabels {...(TextLabels.args as FinsembleToggleButtonBarProps)} />);\n\n\t\texpect(wrapper.find(\".toggle-text-label\").at(0).prop(\"aria-checked\"), \"The first toggle is checked\").to.be.true;\n\t\texpect(wrapper.find(\".toggle-text-label\").at(1).prop(\"aria-checked\"), \"The second toggle is not checked\").to.be\n\t\t\t.false;\n\t});\n\tit(\"Clicking an item returns the value presented\", async () => {\n\t\tconst buttonSpy = sinon.spy(TextLabels.args as FinsembleToggleButtonBarProps, \"onChange\");\n\t\tconst wrapper = mount(<TextLabels {...(TextLabels.args as FinsembleToggleButtonBarProps)} />);\n\n\t\twrapper.find(\".toggle-text-label\").at(1).simulate(\"click\");\n\t\texpect(buttonSpy.calledOnce, \"The onChange callback was called\").to.be.true;\n\t\texpect(buttonSpy.args[0][0], \"The value assigned to button #2 is the value returned when it's clicked\").to.be.false;\n\t});\n\tit(\"More than 2 items should display\", async () => {\n\t\tconst wrapper = mount(<MoreThanTwo {...(MoreThanTwo.args as FinsembleToggleButtonBarProps)} />);\n\n\t\texpect(wrapper.find(\".toggle-text-label\").length, \"There are 4 toggle buttons\").to.equal(4);\n\t});\n\tit(\"LabelsWithChildren should include icons in their display\", async () => {\n\t\tconst wrapper = mount(<LabelsWithChildren {...(LabelsWithChildren.args as FinsembleToggleButtonBarProps)} />);\n\n\t\texpect(\n\t\t\twrapper.find(\".toggle-text-label\").at(0).find(\".finsemble-icon\").exists(),\n\t\t\t\"There's an icon in the first button\"\n\t\t).to.be.true;\n\t});\n});\n"]}
@@ -93,7 +93,7 @@ describe("<InputTable/>", () => {
93
93
  expect(wrapper.find("input").at(2).props().value).to.equal("");
94
94
  });
95
95
  it("onUpdate is called after an input causes a new row to be added", () => {
96
- const buttonSpy = sinon.spy(StartingData.args, "onUpdate");
96
+ const buttonSpy = sinon.spy(StartingData.args, "setData");
97
97
  const wrapper = mount(React.createElement(StartingData, Object.assign({}, StartingData.args)));
98
98
  expect(buttonSpy.getCall(0).args[0]).to.deep.equal([
99
99
  ["A", "1"],
@@ -123,7 +123,7 @@ describe("<InputTable/>", () => {
123
123
  expect(buttonSpy.getCall(3)).to.be.null;
124
124
  });
125
125
  it("onUpdate is called after an input is edited", () => {
126
- const buttonSpy = sinon.spy(StartingData.args, "onUpdate");
126
+ const buttonSpy = sinon.spy(StartingData.args, "setData");
127
127
  const wrapper = mount(React.createElement(StartingData, Object.assign({}, StartingData.args)));
128
128
  expect(buttonSpy.getCall(0).args[0]).to.deep.equal([
129
129
  ["A", "1"],
@@ -147,7 +147,7 @@ describe("<InputTable/>", () => {
147
147
  expect(buttonSpy.getCall(2)).to.be.null;
148
148
  });
149
149
  it("onUpdate is called after a row is deleted", () => {
150
- const buttonSpy = sinon.spy(StartingData.args, "onUpdate");
150
+ const buttonSpy = sinon.spy(StartingData.args, "setData");
151
151
  const wrapper = mount(React.createElement(StartingData, Object.assign({}, StartingData.args)));
152
152
  expect(buttonSpy.getCall(0).args[0]).to.deep.equal([
153
153
  ["A", "1"],
@@ -1 +1 @@
1
- {"version":3,"file":"InputTable.spec.js","sourceRoot":"","sources":["../../../../src/components/common/tests/InputTable.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport { Basic, StartingData } from \"../stories/InputTable.stories\";\nimport { InputTableProps } from \"../InputTable\";\n\ndescribe(\"<InputTable/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\tit(\"string table headers display correctly\", () => {\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"th\").at(0).text(), \"First header\").to.equal(\"Letter\");\n\t\texpect(wrapper.find(\"th\").at(1).text(), \"Second header\").to.equal(\"Number\");\n\t});\n\tit(\"JSX table headers display correctly\", () => {\n\t\tconst wrapper = mount(<Basic {...(Basic.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"th\").at(0).text()).to.include(\"Contexts\");\n\t\texpect(wrapper.find(\"th .tooltip-content\").exists()).to.be.true;\n\t});\n\tit(\"providing 2 column headers creates a table with 2 columns of input fields\", () => {\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").at(1).find(\"td input\").length).to.equal(2);\n\t});\n\tit(\"providing 3 column headers creates a table with 3 columns\", () => {\n\t\tconst wrapper = mount(<Basic {...(Basic.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").at(1).find(\"td\").length).to.equal(3);\n\t});\n\tit(\"when a component has startingData, that data is displayed, plus an extra row\", () => {\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").length).to.equal(4);\n\t\texpect(wrapper.find(\"tr\").at(1).find(\"td input\").at(0).props().value).to.equal(\"A\");\n\t\texpect(wrapper.find(\"tr\").at(1).find(\"td input\").at(1).props().value).to.equal(\"1\");\n\t\texpect(wrapper.find(\"tr\").at(2).find(\"td input\").at(0).props().value).to.equal(\"B\");\n\t\texpect(wrapper.find(\"tr\").at(2).find(\"td input\").at(1).props().value).to.equal(\"2\");\n\t\texpect(wrapper.find(\"tr\").at(3).find(\"td input\").at(0).props().value).to.equal(\"\");\n\t\texpect(wrapper.find(\"tr\").at(3).find(\"td input\").at(1).props().value).to.equal(\"\");\n\t});\n\tit(\"when a component has no startingData, the table shows only 1 empty row\", () => {\n\t\tconst wrapper = mount(<Basic {...(Basic.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").length).to.equal(2);\n\t\texpect(wrapper.find(\"tr\").at(1).find(\"td input\").at(0).props().value).to.equal(\"\");\n\t\texpect(wrapper.find(\"tr\").at(1).find(\"td input\").at(1).props().value).to.equal(\"\");\n\t});\n\tit(\"show no X on the last row of a single-row table\", () => {\n\t\tconst wrapper = mount(<Basic {...(Basic.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").length).to.equal(2);\n\t\texpect(wrapper.find(\"tr\").at(1).find(\"td button\").exists()).to.be.false;\n\t});\n\tit(\"show X's on all but the last row of a multi-row table\", () => {\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").length).to.equal(4);\n\t\texpect(wrapper.find(\"tr\").at(1).find(\"td button\").exists()).to.be.true;\n\t\texpect(wrapper.find(\"tr\").at(2).find(\"td button\").exists()).to.be.true;\n\t\texpect(wrapper.find(\"tr\").at(3).find(\"td button\").exists()).to.be.false;\n\t});\n\tit(\"Typing in the last row causes a new row to be created\", () => {\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").length).to.equal(4);\n\t\texpect(wrapper.find(\"input\").length).to.equal(6);\n\t\twrapper\n\t\t\t.find(\"tr\")\n\t\t\t.at(3)\n\t\t\t.find(\"input\")\n\t\t\t.at(0)\n\t\t\t.simulate(\"change\", {\n\t\t\t\ttarget: {\n\t\t\t\t\tvalue: \"New text\",\n\t\t\t\t},\n\t\t\t});\n\t\texpect(wrapper.find(\"tr\").length).to.equal(5);\n\t\texpect(wrapper.find(\"input\").length).to.equal(8);\n\t});\n\tit(\"Clicking X on the first row deletes it\", () => {\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").length).to.equal(4);\n\t\texpect(wrapper.find(\"input\").at(0).props().value).to.equal(\"A\");\n\t\texpect(wrapper.find(\"input\").at(2).props().value).to.equal(\"B\");\n\n\t\twrapper.find(\"button\").at(0).simulate(\"click\");\n\t\texpect(wrapper.find(\"tr\").length).to.equal(3);\n\t\texpect(wrapper.find(\"input\").at(0).props().value).to.equal(\"B\");\n\t\texpect(wrapper.find(\"input\").at(2).props().value).to.equal(\"\");\n\t});\n\tit(\"Clicking X on a middle row deletes it\", () => {\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").length).to.equal(4);\n\t\texpect(wrapper.find(\"input\").at(0).props().value).to.equal(\"A\");\n\t\texpect(wrapper.find(\"input\").at(2).props().value).to.equal(\"B\");\n\t\texpect(wrapper.find(\"input\").at(4).props().value).to.equal(\"\");\n\n\t\twrapper.find(\"button\").at(1).simulate(\"click\");\n\t\texpect(wrapper.find(\"tr\").length).to.equal(3);\n\t\texpect(wrapper.find(\"input\").at(0).props().value).to.equal(\"A\");\n\t\texpect(wrapper.find(\"input\").at(2).props().value).to.equal(\"\");\n\t});\n\tit(\"onUpdate is called after an input causes a new row to be added\", () => {\n\t\tconst buttonSpy = sinon.spy(StartingData.args as InputTableProps, \"onUpdate\");\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\n\t\texpect(buttonSpy.getCall(0).args[0]).to.deep.equal([\n\t\t\t[\"A\", \"1\"],\n\t\t\t[\"B\", \"2\"],\n\t\t\t[\"\", \"\"],\n\t\t]);\n\t\texpect(buttonSpy.getCall(1)).to.be.null;\n\n\t\twrapper\n\t\t\t.find(\"input\")\n\t\t\t.at(4)\n\t\t\t.simulate(\"change\", {\n\t\t\t\ttarget: {\n\t\t\t\t\tvalue: \"New text\",\n\t\t\t\t},\n\t\t\t});\n\n\t\texpect(buttonSpy.getCall(1).args[0]).to.deep.equal([\n\t\t\t[\"A\", \"1\"],\n\t\t\t[\"B\", \"2\"],\n\t\t\t[\"New text\", \"\"],\n\t\t]);\n\n\t\texpect(buttonSpy.getCall(2).args[0]).to.deep.equal([\n\t\t\t[\"A\", \"1\"],\n\t\t\t[\"B\", \"2\"],\n\t\t\t[\"New text\", \"\"],\n\t\t\t[\"\", \"\"],\n\t\t]);\n\t\texpect(buttonSpy.getCall(3)).to.be.null;\n\t});\n\tit(\"onUpdate is called after an input is edited\", () => {\n\t\tconst buttonSpy = sinon.spy(StartingData.args as InputTableProps, \"onUpdate\");\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\n\t\texpect(buttonSpy.getCall(0).args[0]).to.deep.equal([\n\t\t\t[\"A\", \"1\"],\n\t\t\t[\"B\", \"2\"],\n\t\t\t[\"\", \"\"],\n\t\t]);\n\t\texpect(buttonSpy.getCall(1)).to.be.null;\n\n\t\twrapper\n\t\t\t.find(\"input\")\n\t\t\t.at(0)\n\t\t\t.simulate(\"change\", {\n\t\t\t\ttarget: {\n\t\t\t\t\tvalue: \"New text\",\n\t\t\t\t},\n\t\t\t});\n\n\t\texpect(buttonSpy.getCall(1).args[0]).to.deep.equal([\n\t\t\t[\"New text\", \"1\"],\n\t\t\t[\"B\", \"2\"],\n\t\t\t[\"\", \"\"],\n\t\t]);\n\t\texpect(buttonSpy.getCall(2)).to.be.null;\n\t});\n\tit(\"onUpdate is called after a row is deleted\", () => {\n\t\tconst buttonSpy = sinon.spy(StartingData.args as InputTableProps, \"onUpdate\");\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\n\t\texpect(buttonSpy.getCall(0).args[0]).to.deep.equal([\n\t\t\t[\"A\", \"1\"],\n\t\t\t[\"B\", \"2\"],\n\t\t\t[\"\", \"\"],\n\t\t]);\n\t\texpect(buttonSpy.getCall(1)).to.be.null;\n\n\t\twrapper.find(\"button\").at(1).simulate(\"click\");\n\n\t\texpect(buttonSpy.getCall(1).args[0]).to.deep.equal([\n\t\t\t[\"A\", \"1\"],\n\t\t\t[\"\", \"\"],\n\t\t]);\n\t\texpect(buttonSpy.getCall(2)).to.be.null;\n\t});\n});\n"]}
1
+ {"version":3,"file":"InputTable.spec.js","sourceRoot":"","sources":["../../../../src/components/common/tests/InputTable.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport { Basic, StartingData } from \"../stories/InputTable.stories\";\nimport { InputTableProps } from \"../InputTable\";\n\ndescribe(\"<InputTable/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\tit(\"string table headers display correctly\", () => {\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"th\").at(0).text(), \"First header\").to.equal(\"Letter\");\n\t\texpect(wrapper.find(\"th\").at(1).text(), \"Second header\").to.equal(\"Number\");\n\t});\n\tit(\"JSX table headers display correctly\", () => {\n\t\tconst wrapper = mount(<Basic {...(Basic.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"th\").at(0).text()).to.include(\"Contexts\");\n\t\texpect(wrapper.find(\"th .tooltip-content\").exists()).to.be.true;\n\t});\n\tit(\"providing 2 column headers creates a table with 2 columns of input fields\", () => {\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").at(1).find(\"td input\").length).to.equal(2);\n\t});\n\tit(\"providing 3 column headers creates a table with 3 columns\", () => {\n\t\tconst wrapper = mount(<Basic {...(Basic.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").at(1).find(\"td\").length).to.equal(3);\n\t});\n\tit(\"when a component has startingData, that data is displayed, plus an extra row\", () => {\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").length).to.equal(4);\n\t\texpect(wrapper.find(\"tr\").at(1).find(\"td input\").at(0).props().value).to.equal(\"A\");\n\t\texpect(wrapper.find(\"tr\").at(1).find(\"td input\").at(1).props().value).to.equal(\"1\");\n\t\texpect(wrapper.find(\"tr\").at(2).find(\"td input\").at(0).props().value).to.equal(\"B\");\n\t\texpect(wrapper.find(\"tr\").at(2).find(\"td input\").at(1).props().value).to.equal(\"2\");\n\t\texpect(wrapper.find(\"tr\").at(3).find(\"td input\").at(0).props().value).to.equal(\"\");\n\t\texpect(wrapper.find(\"tr\").at(3).find(\"td input\").at(1).props().value).to.equal(\"\");\n\t});\n\tit(\"when a component has no startingData, the table shows only 1 empty row\", () => {\n\t\tconst wrapper = mount(<Basic {...(Basic.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").length).to.equal(2);\n\t\texpect(wrapper.find(\"tr\").at(1).find(\"td input\").at(0).props().value).to.equal(\"\");\n\t\texpect(wrapper.find(\"tr\").at(1).find(\"td input\").at(1).props().value).to.equal(\"\");\n\t});\n\tit(\"show no X on the last row of a single-row table\", () => {\n\t\tconst wrapper = mount(<Basic {...(Basic.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").length).to.equal(2);\n\t\texpect(wrapper.find(\"tr\").at(1).find(\"td button\").exists()).to.be.false;\n\t});\n\tit(\"show X's on all but the last row of a multi-row table\", () => {\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").length).to.equal(4);\n\t\texpect(wrapper.find(\"tr\").at(1).find(\"td button\").exists()).to.be.true;\n\t\texpect(wrapper.find(\"tr\").at(2).find(\"td button\").exists()).to.be.true;\n\t\texpect(wrapper.find(\"tr\").at(3).find(\"td button\").exists()).to.be.false;\n\t});\n\tit(\"Typing in the last row causes a new row to be created\", () => {\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").length).to.equal(4);\n\t\texpect(wrapper.find(\"input\").length).to.equal(6);\n\t\twrapper\n\t\t\t.find(\"tr\")\n\t\t\t.at(3)\n\t\t\t.find(\"input\")\n\t\t\t.at(0)\n\t\t\t.simulate(\"change\", {\n\t\t\t\ttarget: {\n\t\t\t\t\tvalue: \"New text\",\n\t\t\t\t},\n\t\t\t});\n\t\texpect(wrapper.find(\"tr\").length).to.equal(5);\n\t\texpect(wrapper.find(\"input\").length).to.equal(8);\n\t});\n\tit(\"Clicking X on the first row deletes it\", () => {\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").length).to.equal(4);\n\t\texpect(wrapper.find(\"input\").at(0).props().value).to.equal(\"A\");\n\t\texpect(wrapper.find(\"input\").at(2).props().value).to.equal(\"B\");\n\n\t\twrapper.find(\"button\").at(0).simulate(\"click\");\n\t\texpect(wrapper.find(\"tr\").length).to.equal(3);\n\t\texpect(wrapper.find(\"input\").at(0).props().value).to.equal(\"B\");\n\t\texpect(wrapper.find(\"input\").at(2).props().value).to.equal(\"\");\n\t});\n\tit(\"Clicking X on a middle row deletes it\", () => {\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\t\texpect(wrapper.find(\"tr\").length).to.equal(4);\n\t\texpect(wrapper.find(\"input\").at(0).props().value).to.equal(\"A\");\n\t\texpect(wrapper.find(\"input\").at(2).props().value).to.equal(\"B\");\n\t\texpect(wrapper.find(\"input\").at(4).props().value).to.equal(\"\");\n\n\t\twrapper.find(\"button\").at(1).simulate(\"click\");\n\t\texpect(wrapper.find(\"tr\").length).to.equal(3);\n\t\texpect(wrapper.find(\"input\").at(0).props().value).to.equal(\"A\");\n\t\texpect(wrapper.find(\"input\").at(2).props().value).to.equal(\"\");\n\t});\n\tit(\"onUpdate is called after an input causes a new row to be added\", () => {\n\t\tconst buttonSpy = sinon.spy(StartingData.args as InputTableProps, \"setData\");\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\n\t\texpect(buttonSpy.getCall(0).args[0]).to.deep.equal([\n\t\t\t[\"A\", \"1\"],\n\t\t\t[\"B\", \"2\"],\n\t\t\t[\"\", \"\"],\n\t\t]);\n\t\texpect(buttonSpy.getCall(1)).to.be.null;\n\n\t\twrapper\n\t\t\t.find(\"input\")\n\t\t\t.at(4)\n\t\t\t.simulate(\"change\", {\n\t\t\t\ttarget: {\n\t\t\t\t\tvalue: \"New text\",\n\t\t\t\t},\n\t\t\t});\n\n\t\texpect(buttonSpy.getCall(1).args[0]).to.deep.equal([\n\t\t\t[\"A\", \"1\"],\n\t\t\t[\"B\", \"2\"],\n\t\t\t[\"New text\", \"\"],\n\t\t]);\n\n\t\texpect(buttonSpy.getCall(2).args[0]).to.deep.equal([\n\t\t\t[\"A\", \"1\"],\n\t\t\t[\"B\", \"2\"],\n\t\t\t[\"New text\", \"\"],\n\t\t\t[\"\", \"\"],\n\t\t]);\n\t\texpect(buttonSpy.getCall(3)).to.be.null;\n\t});\n\tit(\"onUpdate is called after an input is edited\", () => {\n\t\tconst buttonSpy = sinon.spy(StartingData.args as InputTableProps, \"setData\");\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\n\t\texpect(buttonSpy.getCall(0).args[0]).to.deep.equal([\n\t\t\t[\"A\", \"1\"],\n\t\t\t[\"B\", \"2\"],\n\t\t\t[\"\", \"\"],\n\t\t]);\n\t\texpect(buttonSpy.getCall(1)).to.be.null;\n\n\t\twrapper\n\t\t\t.find(\"input\")\n\t\t\t.at(0)\n\t\t\t.simulate(\"change\", {\n\t\t\t\ttarget: {\n\t\t\t\t\tvalue: \"New text\",\n\t\t\t\t},\n\t\t\t});\n\n\t\texpect(buttonSpy.getCall(1).args[0]).to.deep.equal([\n\t\t\t[\"New text\", \"1\"],\n\t\t\t[\"B\", \"2\"],\n\t\t\t[\"\", \"\"],\n\t\t]);\n\t\texpect(buttonSpy.getCall(2)).to.be.null;\n\t});\n\tit(\"onUpdate is called after a row is deleted\", () => {\n\t\tconst buttonSpy = sinon.spy(StartingData.args as InputTableProps, \"setData\");\n\t\tconst wrapper = mount(<StartingData {...(StartingData.args as InputTableProps)} />);\n\n\t\texpect(buttonSpy.getCall(0).args[0]).to.deep.equal([\n\t\t\t[\"A\", \"1\"],\n\t\t\t[\"B\", \"2\"],\n\t\t\t[\"\", \"\"],\n\t\t]);\n\t\texpect(buttonSpy.getCall(1)).to.be.null;\n\n\t\twrapper.find(\"button\").at(1).simulate(\"click\");\n\n\t\texpect(buttonSpy.getCall(1).args[0]).to.deep.equal([\n\t\t\t[\"A\", \"1\"],\n\t\t\t[\"\", \"\"],\n\t\t]);\n\t\texpect(buttonSpy.getCall(2)).to.be.null;\n\t});\n});\n"]}
@@ -26,6 +26,6 @@ export const FavoriteMaker = ({ id, category, icon, name, children, className =
26
26
  const active = isFavorited(id) ? "favorited" : "not-favorited";
27
27
  const classes = `favorite-maker ${active} ${className}`;
28
28
  const title = isFavorited(id) ? "Unfavorite" : "Favorite";
29
- return (React.createElement("div", { onClick: toggleFavorite, className: classes, style: style, title: title }, children || React.createElement("i", { className: "ff-favorite" })));
29
+ return (React.createElement("div", { role: "button", tabIndex: 0, onClick: toggleFavorite, className: classes, style: style, title: title }, children || React.createElement("i", { className: "ff-favorite" })));
30
30
  };
31
31
  //# sourceMappingURL=FavoriteMaker.js.map