@fortanix/baklava 1.0.0-beta-20241114

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/LICENSE +373 -0
  3. package/README.md +43 -0
  4. package/app/Demo.tsx +33 -0
  5. package/app/index.html +12 -0
  6. package/app/lib.ts +54 -0
  7. package/app/main.tsx +32 -0
  8. package/dist/baklava.d.ts +752 -0
  9. package/dist/baklava.js +4962 -0
  10. package/dist/lib.css +1 -0
  11. package/package.json +102 -0
  12. package/src/assets/fonts/montserrat/montserrat-v25-latin_latin-ext-100.woff2 +0 -0
  13. package/src/assets/fonts/montserrat/montserrat-v25-latin_latin-ext-200.woff2 +0 -0
  14. package/src/assets/fonts/montserrat/montserrat-v25-latin_latin-ext-300.woff2 +0 -0
  15. package/src/assets/fonts/montserrat/montserrat-v25-latin_latin-ext-500.woff2 +0 -0
  16. package/src/assets/fonts/montserrat/montserrat-v25-latin_latin-ext-600.woff2 +0 -0
  17. package/src/assets/fonts/montserrat/montserrat-v25-latin_latin-ext-700.woff2 +0 -0
  18. package/src/assets/fonts/montserrat/montserrat-v25-latin_latin-ext-regular.woff2 +0 -0
  19. package/src/assets/fonts/open-sans/open-sans-v23-latin-600.woff2 +0 -0
  20. package/src/assets/fonts/open-sans/open-sans-v23-latin-700.woff2 +0 -0
  21. package/src/assets/fonts/open-sans/open-sans-v23-latin-regular.woff2 +0 -0
  22. package/src/assets/fonts/source-code-pro/source-code-pro-v14-latin-regular.woff2 +0 -0
  23. package/src/assets/icons/_icons.ts +58 -0
  24. package/src/assets/icons/accounts.svg +11 -0
  25. package/src/assets/icons/alert.svg +3 -0
  26. package/src/assets/icons/apache.svg +3 -0
  27. package/src/assets/icons/apps.svg +5 -0
  28. package/src/assets/icons/assessment.svg +11 -0
  29. package/src/assets/icons/audit-log.svg +12 -0
  30. package/src/assets/icons/authentication.svg +12 -0
  31. package/src/assets/icons/calendar.svg +10 -0
  32. package/src/assets/icons/caret-down.svg +3 -0
  33. package/src/assets/icons/check.svg +3 -0
  34. package/src/assets/icons/cloud-accounts.svg +15 -0
  35. package/src/assets/icons/copy.svg +4 -0
  36. package/src/assets/icons/cross.svg +4 -0
  37. package/src/assets/icons/dashboard.svg +12 -0
  38. package/src/assets/icons/dataverse.svg +12 -0
  39. package/src/assets/icons/delete.svg +5 -0
  40. package/src/assets/icons/docs.svg +10 -0
  41. package/src/assets/icons/download.svg +11 -0
  42. package/src/assets/icons/edit-params.svg +3 -0
  43. package/src/assets/icons/edit.svg +10 -0
  44. package/src/assets/icons/email.svg +3 -0
  45. package/src/assets/icons/eye.svg +11 -0
  46. package/src/assets/icons/file-error.svg +17 -0
  47. package/src/assets/icons/file.svg +15 -0
  48. package/src/assets/icons/folder.svg +14 -0
  49. package/src/assets/icons/fortanix-ki.svg +13 -0
  50. package/src/assets/icons/graph.svg +9 -0
  51. package/src/assets/icons/groups.svg +10 -0
  52. package/src/assets/icons/hide.svg +3 -0
  53. package/src/assets/icons/home.svg +11 -0
  54. package/src/assets/icons/iam.svg +11 -0
  55. package/src/assets/icons/info.svg +4 -0
  56. package/src/assets/icons/infrastructure.svg +5 -0
  57. package/src/assets/icons/integrations.svg +3 -0
  58. package/src/assets/icons/key-link.svg +12 -0
  59. package/src/assets/icons/key.svg +4 -0
  60. package/src/assets/icons/no-login.svg +10 -0
  61. package/src/assets/icons/page-forward.svg +4 -0
  62. package/src/assets/icons/plugins.svg +4 -0
  63. package/src/assets/icons/policy.svg +13 -0
  64. package/src/assets/icons/print.svg +11 -0
  65. package/src/assets/icons/scripts.svg +4 -0
  66. package/src/assets/icons/search.svg +3 -0
  67. package/src/assets/icons/security-object.svg +5 -0
  68. package/src/assets/icons/services.svg +10 -0
  69. package/src/assets/icons/settings.svg +12 -0
  70. package/src/assets/icons/solutions.svg +3 -0
  71. package/src/assets/icons/success.svg +3 -0
  72. package/src/assets/icons/tasks.svg +10 -0
  73. package/src/assets/icons/user-profile.svg +3 -0
  74. package/src/assets/icons/user.svg +10 -0
  75. package/src/assets/icons/warning.svg +3 -0
  76. package/src/assets/icons/workflows.svg +11 -0
  77. package/src/assets/icons_new/Accounts.svg +11 -0
  78. package/src/assets/icons_new/Alert.svg +3 -0
  79. package/src/assets/icons_new/Apache.svg +3 -0
  80. package/src/assets/icons_new/Apps.svg +5 -0
  81. package/src/assets/icons_new/Assessment.svg +11 -0
  82. package/src/assets/icons_new/Audit Log.svg +12 -0
  83. package/src/assets/icons_new/Authentication.svg +12 -0
  84. package/src/assets/icons_new/Calendar.svg +10 -0
  85. package/src/assets/icons_new/Carrot Down.svg +3 -0
  86. package/src/assets/icons_new/Cloud Accounts.svg +15 -0
  87. package/src/assets/icons_new/Copy.svg +4 -0
  88. package/src/assets/icons_new/Dashboard.svg +12 -0
  89. package/src/assets/icons_new/Dataverse.svg +12 -0
  90. package/src/assets/icons_new/Delete.svg +5 -0
  91. package/src/assets/icons_new/Docs.svg +10 -0
  92. package/src/assets/icons_new/Download.svg +11 -0
  93. package/src/assets/icons_new/Edit Params.svg +3 -0
  94. package/src/assets/icons_new/Edit.svg +10 -0
  95. package/src/assets/icons_new/Email.svg +3 -0
  96. package/src/assets/icons_new/Eye.svg +11 -0
  97. package/src/assets/icons_new/Groups.svg +10 -0
  98. package/src/assets/icons_new/Hide.svg +3 -0
  99. package/src/assets/icons_new/Home.svg +11 -0
  100. package/src/assets/icons_new/IAM.svg +11 -0
  101. package/src/assets/icons_new/Info.svg +4 -0
  102. package/src/assets/icons_new/Infrastructure.svg +5 -0
  103. package/src/assets/icons_new/Integrations.svg +3 -0
  104. package/src/assets/icons_new/KI.svg +13 -0
  105. package/src/assets/icons_new/Key Link.svg +12 -0
  106. package/src/assets/icons_new/Key.svg +4 -0
  107. package/src/assets/icons_new/No Login.svg +10 -0
  108. package/src/assets/icons_new/Page FWD.svg +4 -0
  109. package/src/assets/icons_new/Plugins.svg +4 -0
  110. package/src/assets/icons_new/Policy.svg +13 -0
  111. package/src/assets/icons_new/Print.svg +11 -0
  112. package/src/assets/icons_new/Scripts.svg +4 -0
  113. package/src/assets/icons_new/Search.svg +3 -0
  114. package/src/assets/icons_new/Security Objects.svg +5 -0
  115. package/src/assets/icons_new/Services.svg +10 -0
  116. package/src/assets/icons_new/Settings.svg +12 -0
  117. package/src/assets/icons_new/Solutions.svg +3 -0
  118. package/src/assets/icons_new/Tasks.svg +10 -0
  119. package/src/assets/icons_new/User Account.svg +3 -0
  120. package/src/assets/icons_new/Users.svg +10 -0
  121. package/src/assets/icons_new/Workflows.svg +11 -0
  122. package/src/assets/icons_old/_icons.ts +172 -0
  123. package/src/assets/icons_old/account.svg +4 -0
  124. package/src/assets/icons_old/accounts.svg +4 -0
  125. package/src/assets/icons_old/add.svg +4 -0
  126. package/src/assets/icons_old/alert.svg +4 -0
  127. package/src/assets/icons_old/app.svg +4 -0
  128. package/src/assets/icons_old/arrow-drop-down.svg +4 -0
  129. package/src/assets/icons_old/arrow-drop-up.svg +4 -0
  130. package/src/assets/icons_old/arrow-expand.svg +4 -0
  131. package/src/assets/icons_old/arrow-left.svg +5 -0
  132. package/src/assets/icons_old/arrow-right.svg +4 -0
  133. package/src/assets/icons_old/audit-log.svg +4 -0
  134. package/src/assets/icons_old/bell.svg +4 -0
  135. package/src/assets/icons_old/billing.svg +4 -0
  136. package/src/assets/icons_old/bug.svg +4 -0
  137. package/src/assets/icons_old/builds.svg +4 -0
  138. package/src/assets/icons_old/calendar.svg +4 -0
  139. package/src/assets/icons_old/certificate.svg +4 -0
  140. package/src/assets/icons_old/check.svg +4 -0
  141. package/src/assets/icons_old/checkbox-checked.svg +4 -0
  142. package/src/assets/icons_old/checkbox-disabled.svg +4 -0
  143. package/src/assets/icons_old/checkbox-unchecked.svg +4 -0
  144. package/src/assets/icons_old/chevron-left.svg +4 -0
  145. package/src/assets/icons_old/chevron-right.svg +4 -0
  146. package/src/assets/icons_old/clear-all.svg +4 -0
  147. package/src/assets/icons_old/color-picker.svg +10 -0
  148. package/src/assets/icons_old/connection.svg +4 -0
  149. package/src/assets/icons_old/copy.svg +4 -0
  150. package/src/assets/icons_old/cross-thin.svg +4 -0
  151. package/src/assets/icons_old/cross.svg +4 -0
  152. package/src/assets/icons_old/crypto-policy.svg +4 -0
  153. package/src/assets/icons_old/customers.svg +4 -0
  154. package/src/assets/icons_old/dashboard.svg +4 -0
  155. package/src/assets/icons_old/data-center.svg +4 -0
  156. package/src/assets/icons_old/data-connector-read.svg +6 -0
  157. package/src/assets/icons_old/data-connector-write.svg +6 -0
  158. package/src/assets/icons_old/dataset.svg +3 -0
  159. package/src/assets/icons_old/dataverse.svg +6 -0
  160. package/src/assets/icons_old/delete.svg +4 -0
  161. package/src/assets/icons_old/deployment-deployed.svg +4 -0
  162. package/src/assets/icons_old/deployment-none.svg +4 -0
  163. package/src/assets/icons_old/derive.svg +4 -0
  164. package/src/assets/icons_old/docs.svg +4 -0
  165. package/src/assets/icons_old/document-blank.svg +4 -0
  166. package/src/assets/icons_old/domain.svg +4 -0
  167. package/src/assets/icons_old/download-cloud.svg +4 -0
  168. package/src/assets/icons_old/download.svg +4 -0
  169. package/src/assets/icons_old/edit-params.svg +4 -0
  170. package/src/assets/icons_old/edit.svg +4 -0
  171. package/src/assets/icons_old/em-app.svg +4 -0
  172. package/src/assets/icons_old/em-dashboard.svg +4 -0
  173. package/src/assets/icons_old/email.svg +4 -0
  174. package/src/assets/icons_old/empty-credential.svg +4 -0
  175. package/src/assets/icons_old/enterprise-badge.svg +6 -0
  176. package/src/assets/icons_old/environment-production.svg +4 -0
  177. package/src/assets/icons_old/environment-test.svg +4 -0
  178. package/src/assets/icons_old/event-critical.svg +4 -0
  179. package/src/assets/icons_old/event-error.svg +4 -0
  180. package/src/assets/icons_old/event-success.svg +4 -0
  181. package/src/assets/icons_old/event-warning.svg +4 -0
  182. package/src/assets/icons_old/expiration.svg +4 -0
  183. package/src/assets/icons_old/export.svg +4 -0
  184. package/src/assets/icons_old/external.svg +4 -0
  185. package/src/assets/icons_old/eye-closed.svg +4 -0
  186. package/src/assets/icons_old/eye.svg +4 -0
  187. package/src/assets/icons_old/file.svg +7 -0
  188. package/src/assets/icons_old/flag.svg +4 -0
  189. package/src/assets/icons_old/forbid.svg +4 -0
  190. package/src/assets/icons_old/fortanix-app-aci.svg +6 -0
  191. package/src/assets/icons_old/fortanix-app-edp.svg +4 -0
  192. package/src/assets/icons_old/fortanix-app-enclave-os.svg +4 -0
  193. package/src/assets/icons_old/frame-expand.svg +4 -0
  194. package/src/assets/icons_old/fresh.svg +4 -0
  195. package/src/assets/icons_old/generated.svg +4 -0
  196. package/src/assets/icons_old/gift.svg +4 -0
  197. package/src/assets/icons_old/global.svg +4 -0
  198. package/src/assets/icons_old/group.svg +4 -0
  199. package/src/assets/icons_old/help.svg +4 -0
  200. package/src/assets/icons_old/home-info.svg +5 -0
  201. package/src/assets/icons_old/home.svg +4 -0
  202. package/src/assets/icons_old/horizontal-collapse.svg +5 -0
  203. package/src/assets/icons_old/horizontal-expand.svg +5 -0
  204. package/src/assets/icons_old/hsm.svg +4 -0
  205. package/src/assets/icons_old/info.svg +4 -0
  206. package/src/assets/icons_old/install.svg +4 -0
  207. package/src/assets/icons_old/integration.svg +7 -0
  208. package/src/assets/icons_old/key-clone.svg +4 -0
  209. package/src/assets/icons_old/key-custodian-policy.svg +10 -0
  210. package/src/assets/icons_old/key-destroy.svg +4 -0
  211. package/src/assets/icons_old/key-download.svg +4 -0
  212. package/src/assets/icons_old/key-justification-policy.svg +5 -0
  213. package/src/assets/icons_old/key-link.svg +4 -0
  214. package/src/assets/icons_old/key-metadata-policy.svg +5 -0
  215. package/src/assets/icons_old/key-primary.svg +11 -0
  216. package/src/assets/icons_old/key-remove.svg +4 -0
  217. package/src/assets/icons_old/key-rotation.svg +4 -0
  218. package/src/assets/icons_old/key-undo-policy.svg +10 -0
  219. package/src/assets/icons_old/key-wrapping.svg +6 -0
  220. package/src/assets/icons_old/key.svg +4 -0
  221. package/src/assets/icons_old/leave-account.svg +4 -0
  222. package/src/assets/icons_old/link.svg +4 -0
  223. package/src/assets/icons_old/lock-closed.svg +4 -0
  224. package/src/assets/icons_old/lock.svg +4 -0
  225. package/src/assets/icons_old/locked-user.svg +4 -0
  226. package/src/assets/icons_old/marketplace.svg +4 -0
  227. package/src/assets/icons_old/minus.svg +4 -0
  228. package/src/assets/icons_old/monitoring.svg +4 -0
  229. package/src/assets/icons_old/no-logging.svg +4 -0
  230. package/src/assets/icons_old/node-cluster.svg +4 -0
  231. package/src/assets/icons_old/node.svg +4 -0
  232. package/src/assets/icons_old/operations.svg +13 -0
  233. package/src/assets/icons_old/options.svg +4 -0
  234. package/src/assets/icons_old/play.svg +4 -0
  235. package/src/assets/icons_old/plug.svg +4 -0
  236. package/src/assets/icons_old/plugin-clone.svg +4 -0
  237. package/src/assets/icons_old/plugin.svg +4 -0
  238. package/src/assets/icons_old/plugins.svg +4 -0
  239. package/src/assets/icons_old/pod.svg +4 -0
  240. package/src/assets/icons_old/print.svg +4 -0
  241. package/src/assets/icons_old/projects.svg +11 -0
  242. package/src/assets/icons_old/python.svg +4 -0
  243. package/src/assets/icons_old/quorum.svg +4 -0
  244. package/src/assets/icons_old/refresh.svg +4 -0
  245. package/src/assets/icons_old/regenerate.svg +4 -0
  246. package/src/assets/icons_old/region.svg +4 -0
  247. package/src/assets/icons_old/reports.svg +3 -0
  248. package/src/assets/icons_old/request-approve.svg +4 -0
  249. package/src/assets/icons_old/request-decline.svg +4 -0
  250. package/src/assets/icons_old/reseller.svg +4 -0
  251. package/src/assets/icons_old/script.svg +7 -0
  252. package/src/assets/icons_old/search.svg +4 -0
  253. package/src/assets/icons_old/service-account.svg +4 -0
  254. package/src/assets/icons_old/settings.svg +4 -0
  255. package/src/assets/icons_old/sidebar-closed.svg +8 -0
  256. package/src/assets/icons_old/sidebar-open.svg +8 -0
  257. package/src/assets/icons_old/sign-out.svg +4 -0
  258. package/src/assets/icons_old/sign.svg +4 -0
  259. package/src/assets/icons_old/software.svg +4 -0
  260. package/src/assets/icons_old/sql-aggregate.svg +7 -0
  261. package/src/assets/icons_old/sql.svg +7 -0
  262. package/src/assets/icons_old/stack.svg +4 -0
  263. package/src/assets/icons_old/star-empty.svg +4 -0
  264. package/src/assets/icons_old/star-fill.svg +4 -0
  265. package/src/assets/icons_old/subscription.svg +5 -0
  266. package/src/assets/icons_old/support.svg +11 -0
  267. package/src/assets/icons_old/switcher.svg +4 -0
  268. package/src/assets/icons_old/sysadmin.svg +4 -0
  269. package/src/assets/icons_old/tag.svg +4 -0
  270. package/src/assets/icons_old/target.svg +4 -0
  271. package/src/assets/icons_old/tasks.svg +4 -0
  272. package/src/assets/icons_old/tfa-user.svg +4 -0
  273. package/src/assets/icons_old/tfa.svg +4 -0
  274. package/src/assets/icons_old/tokenization.svg +4 -0
  275. package/src/assets/icons_old/tools.svg +4 -0
  276. package/src/assets/icons_old/transition-from.svg +4 -0
  277. package/src/assets/icons_old/transition-to.svg +4 -0
  278. package/src/assets/icons_old/upload.svg +4 -0
  279. package/src/assets/icons_old/user-remove.svg +3 -0
  280. package/src/assets/icons_old/user.svg +4 -0
  281. package/src/assets/icons_old/view-type-cards.svg +4 -0
  282. package/src/assets/icons_old/view-type-list.svg +4 -0
  283. package/src/assets/icons_old/view-type-table.svg +4 -0
  284. package/src/assets/icons_old/warning.svg +4 -0
  285. package/src/assets/icons_old/workflow.svg +3 -0
  286. package/src/assets/icons_old/wrap.svg +4 -0
  287. package/src/assets/icons_old/wrench.svg +4 -0
  288. package/src/assets/images/fortanix_logo_icon.svg +20 -0
  289. package/src/components/actions/Button/Button.module.scss +81 -0
  290. package/src/components/actions/Button/Button.stories.tsx +262 -0
  291. package/src/components/actions/Button/Button.tsx +133 -0
  292. package/src/components/actions/ButtonAsLink/ButtonAsLink.module.scss +13 -0
  293. package/src/components/actions/ButtonAsLink/ButtonAsLink.stories.tsx +49 -0
  294. package/src/components/actions/ButtonAsLink/ButtonAsLink.tsx +56 -0
  295. package/src/components/actions/Link/Link.module.scss +38 -0
  296. package/src/components/actions/Link/Link.stories.tsx +54 -0
  297. package/src/components/actions/Link/Link.tsx +59 -0
  298. package/src/components/actions/LinkAsButton/LinkAsButton.stories.tsx +70 -0
  299. package/src/components/actions/LinkAsButton/LinkAsButton.tsx +59 -0
  300. package/src/components/containers/Alert/Alert.module.scss +41 -0
  301. package/src/components/containers/Alert/Alert.stories.tsx +47 -0
  302. package/src/components/containers/Alert/Alert.tsx +65 -0
  303. package/src/components/containers/Banner/Banner.module.scss +100 -0
  304. package/src/components/containers/Banner/Banner.stories.tsx +198 -0
  305. package/src/components/containers/Banner/Banner.tsx +121 -0
  306. package/src/components/containers/Card/Card.module.scss +32 -0
  307. package/src/components/containers/Card/Card.stories.tsx +67 -0
  308. package/src/components/containers/Card/Card.tsx +48 -0
  309. package/src/components/containers/Dialog/Dialog.module.scss +166 -0
  310. package/src/components/containers/Dialog/Dialog.stories.tsx +32 -0
  311. package/src/components/containers/Dialog/Dialog.tsx +130 -0
  312. package/src/components/containers/Panel/Panel.module.scss +32 -0
  313. package/src/components/containers/Panel/Panel.stories.tsx +46 -0
  314. package/src/components/containers/Panel/Panel.tsx +48 -0
  315. package/src/components/forms/context/Form/Form.module.scss +11 -0
  316. package/src/components/forms/context/Form/Form.stories.tsx +99 -0
  317. package/src/components/forms/context/Form/Form.tsx +106 -0
  318. package/src/components/forms/context/Form/FormOptics.tsx +109 -0
  319. package/src/components/forms/context/SubmitButton/SubmitButton.module.scss +9 -0
  320. package/src/components/forms/context/SubmitButton/SubmitButton.stories.tsx +132 -0
  321. package/src/components/forms/context/SubmitButton/SubmitButton.tsx +98 -0
  322. package/src/components/forms/controls/Checkbox/Checkbox.module.scss +67 -0
  323. package/src/components/forms/controls/Checkbox/Checkbox.stories.tsx +119 -0
  324. package/src/components/forms/controls/Checkbox/Checkbox.tsx +53 -0
  325. package/src/components/forms/controls/Input/Input.module.scss +40 -0
  326. package/src/components/forms/controls/Input/Input.stories.tsx +55 -0
  327. package/src/components/forms/controls/Input/Input.tsx +44 -0
  328. package/src/components/forms/controls/SegmentedControl/SegmentedControl.module.scss +76 -0
  329. package/src/components/forms/controls/SegmentedControl/SegmentedControl.stories.tsx +92 -0
  330. package/src/components/forms/controls/SegmentedControl/SegmentedControl.tsx +103 -0
  331. package/src/components/forms/controls/Select/Select.module.scss +105 -0
  332. package/src/components/forms/controls/Select/Select.stories.tsx +43 -0
  333. package/src/components/forms/controls/Select/Select.tsx +166 -0
  334. package/src/components/forms/controls/Switch/Switch.module.scss +63 -0
  335. package/src/components/forms/controls/Switch/Switch.stories.tsx +50 -0
  336. package/src/components/forms/controls/Switch/Switch.tsx +46 -0
  337. package/src/components/forms/fields/CheckboxField/CheckboxField.module.scss +46 -0
  338. package/src/components/forms/fields/CheckboxField/CheckboxField.stories.tsx +74 -0
  339. package/src/components/forms/fields/CheckboxField/CheckboxField.tsx +118 -0
  340. package/src/components/forms/fields/CheckboxGroup/CheckboxGroup.module.scss +22 -0
  341. package/src/components/forms/fields/CheckboxGroup/CheckboxGroup.stories.tsx +36 -0
  342. package/src/components/forms/fields/CheckboxGroup/CheckboxGroup.tsx +37 -0
  343. package/src/components/forms/fields/InputField/InputField.module.scss +24 -0
  344. package/src/components/forms/fields/InputField/InputField.stories.tsx +57 -0
  345. package/src/components/forms/fields/InputField/InputField.tsx +72 -0
  346. package/src/components/graphics/Icon/Icon.module.scss +42 -0
  347. package/src/components/graphics/Icon/Icon.stories.tsx +67 -0
  348. package/src/components/graphics/Icon/Icon.tsx +50 -0
  349. package/src/components/graphics/PlaceholderEmpty/PlaceholderEmpty.module.scss +76 -0
  350. package/src/components/graphics/PlaceholderEmpty/PlaceholderEmpty.stories.tsx +101 -0
  351. package/src/components/graphics/PlaceholderEmpty/PlaceholderEmpty.tsx +91 -0
  352. package/src/components/graphics/ProgressBar/ProgressBar.module.scss +43 -0
  353. package/src/components/graphics/ProgressBar/ProgressBar.stories.tsx +70 -0
  354. package/src/components/graphics/ProgressBar/ProgressBar.tsx +58 -0
  355. package/src/components/graphics/Spinner/Spinner.module.scss +61 -0
  356. package/src/components/graphics/Spinner/Spinner.stories.tsx +56 -0
  357. package/src/components/graphics/Spinner/Spinner.tsx +41 -0
  358. package/src/components/lists/PropertyList/PropertyList.module.scss +33 -0
  359. package/src/components/lists/PropertyList/PropertyList.stories.tsx +45 -0
  360. package/src/components/lists/PropertyList/PropertyList.tsx +60 -0
  361. package/src/components/navigations/Stepper/Stepper.module.scss +88 -0
  362. package/src/components/navigations/Stepper/Stepper.stories.tsx +68 -0
  363. package/src/components/navigations/Stepper/Stepper.tsx +95 -0
  364. package/src/components/navigations/Tabs/Tabs.module.scss +71 -0
  365. package/src/components/navigations/Tabs/Tabs.stories.tsx +106 -0
  366. package/src/components/navigations/Tabs/Tabs.tsx +121 -0
  367. package/src/components/overlays/DropdownMenu/DropdownMenu.module.scss +113 -0
  368. package/src/components/overlays/DropdownMenu/DropdownMenu.stories.tsx +91 -0
  369. package/src/components/overlays/DropdownMenu/DropdownMenu.tsx +155 -0
  370. package/src/components/overlays/DropdownMenu/DropdownMenuProvider.module.scss +105 -0
  371. package/src/components/overlays/DropdownMenu/DropdownMenuProvider.stories.tsx +71 -0
  372. package/src/components/overlays/DropdownMenu/DropdownMenuProvider.tsx +168 -0
  373. package/src/components/overlays/Modal/Modal.module.scss +185 -0
  374. package/src/components/overlays/Modal/Modal.stories.tsx +144 -0
  375. package/src/components/overlays/Modal/Modal.tsx +202 -0
  376. package/src/components/overlays/Toast/Toast.module.scss +123 -0
  377. package/src/components/overlays/Toast/Toast.stories.tsx +219 -0
  378. package/src/components/overlays/Toast/Toast.tsx +233 -0
  379. package/src/components/overlays/Toast/ToastyOverride.scss +27 -0
  380. package/src/components/overlays/Tooltip/Tooltip.module.scss +162 -0
  381. package/src/components/overlays/Tooltip/Tooltip.stories.tsx +115 -0
  382. package/src/components/overlays/Tooltip/Tooltip.tsx +75 -0
  383. package/src/components/overlays/Tooltip/TooltipProvider.stories.tsx +169 -0
  384. package/src/components/overlays/Tooltip/TooltipProvider.tsx +164 -0
  385. package/src/components/util/Clipboard/Clipboard.tsx +11 -0
  386. package/src/components/util/Popover/Popover.tsx +219 -0
  387. package/src/docs/Changelog.mdx +7 -0
  388. package/src/docs/Colors.mdx +113 -0
  389. package/src/docs/Colors.module.scss +56 -0
  390. package/src/docs/Iconography.mdx +70 -0
  391. package/src/docs/Iconography.module.scss +37 -0
  392. package/src/docs/Introduction.mdx +26 -0
  393. package/src/docs/Typography.mdx +109 -0
  394. package/src/docs/Typography.module.scss +22 -0
  395. package/src/layouts/AppLayout/AppLayout.module.scss +110 -0
  396. package/src/layouts/AppLayout/AppLayout.stories.tsx +112 -0
  397. package/src/layouts/AppLayout/AppLayout.tsx +31 -0
  398. package/src/layouts/AppLayout/Breadcrumbs/Breadcrumbs.module.scss +47 -0
  399. package/src/layouts/AppLayout/Breadcrumbs/Breadcrumbs.stories.tsx +66 -0
  400. package/src/layouts/AppLayout/Breadcrumbs/Breadcrumbs.tsx +63 -0
  401. package/src/layouts/AppLayout/Header/AccountSelector.module.scss +24 -0
  402. package/src/layouts/AppLayout/Header/AccountSelector.stories.tsx +31 -0
  403. package/src/layouts/AppLayout/Header/AccountSelector.tsx +51 -0
  404. package/src/layouts/AppLayout/Header/Header.module.scss +74 -0
  405. package/src/layouts/AppLayout/Header/Header.stories.tsx +30 -0
  406. package/src/layouts/AppLayout/Header/Header.tsx +31 -0
  407. package/src/layouts/AppLayout/Header/SolutionSelector.module.scss +24 -0
  408. package/src/layouts/AppLayout/Header/SolutionSelector.stories.tsx +31 -0
  409. package/src/layouts/AppLayout/Header/SolutionSelector.tsx +50 -0
  410. package/src/layouts/AppLayout/Header/UserMenu.module.scss +31 -0
  411. package/src/layouts/AppLayout/Header/UserMenu.stories.tsx +32 -0
  412. package/src/layouts/AppLayout/Header/UserMenu.tsx +67 -0
  413. package/src/layouts/AppLayout/Logo/Logo.module.scss +78 -0
  414. package/src/layouts/AppLayout/Logo/Logo.tsx +38 -0
  415. package/src/layouts/AppLayout/Nav/Nav.module.scss +73 -0
  416. package/src/layouts/AppLayout/Nav/Nav.stories.tsx +32 -0
  417. package/src/layouts/AppLayout/Nav/Nav.tsx +75 -0
  418. package/src/layouts/AppLayout/Sidebar/Sidebar.module.scss +46 -0
  419. package/src/layouts/AppLayout/Sidebar/Sidebar.stories.tsx +30 -0
  420. package/src/layouts/AppLayout/Sidebar/Sidebar.tsx +33 -0
  421. package/src/layouts/FormLayout/FormLayout.module.scss +19 -0
  422. package/src/layouts/FormLayout/FormLayout.stories.tsx +64 -0
  423. package/src/layouts/FormLayout/FormLayout.tsx +32 -0
  424. package/src/styling/accessibility.css +24 -0
  425. package/src/styling/context/theming.scss +26 -0
  426. package/src/styling/context/theming_mixins.scss +79 -0
  427. package/src/styling/defs.scss +60 -0
  428. package/src/styling/fonts.css +126 -0
  429. package/src/styling/fonts_mixins.scss +16 -0
  430. package/src/styling/global.scss +49 -0
  431. package/src/styling/lib/normalize.css +78 -0
  432. package/src/styling/lib/reset-custom.css +58 -0
  433. package/src/styling/lib/reset.css +115 -0
  434. package/src/styling/main.scss +29 -0
  435. package/src/styling/variables.css +18 -0
  436. package/src/styling/variables.scss +928 -0
  437. package/src/styling/variables.ts +64 -0
  438. package/src/types/globals.d.ts +14 -0
  439. package/src/types/vite-env.d.ts +1 -0
  440. package/src/typography/BodyText/BodyText.mixins.scss +224 -0
  441. package/src/typography/BodyText/BodyText.module.scss +28 -0
  442. package/src/typography/BodyText/BodyText.stories.tsx +109 -0
  443. package/src/typography/BodyText/BodyText.tsx +30 -0
  444. package/src/typography/Heading/Heading.mixins.scss +42 -0
  445. package/src/typography/Heading/Heading.module.scss +15 -0
  446. package/src/typography/Heading/Heading.stories.tsx +112 -0
  447. package/src/typography/Heading/Heading.tsx +57 -0
  448. package/src/util/componentUtil.ts +19 -0
  449. package/src/util/drag.ts +197 -0
  450. package/src/util/reactUtil.ts +40 -0
  451. package/src/util/storybook/OverflowTester.css +13 -0
  452. package/src/util/storybook/OverflowTester.tsx +30 -0
  453. package/src/util/time.ts +12 -0
  454. package/src/util/types.ts +8 -0
@@ -0,0 +1,4 @@
1
+ <!-- Generated by IcoMoon.io -->
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="tasks">
3
+ <path d="M16.018 6.998c-6.906 0-12.466 5.56-12.466 12.467 0 4.030 1.893 7.604 4.842 9.877l-1.449 1.449c-0.278 0.278-0.278 0.724 0 1.002s0.724 0.278 1.002 0l1.636-1.636c1.874 1.126 4.075 1.775 6.432 1.775s4.558-0.646 6.432-1.775l1.636 1.636c0.278 0.278 0.724 0.278 1.002 0s0.278-0.724 0-1.002l-1.449-1.449c2.949-2.276 4.842-5.847 4.842-9.877 0.003-6.906-5.554-12.466-12.46-12.466zM16.018 30.512c-6.125 0-11.048-4.923-11.048-11.048s4.923-11.048 11.048-11.048 11.048 4.923 11.048 11.048c0 6.125-4.923 11.048-11.048 11.048zM28.482 19.464v0 0zM16.619 11.957c-0.392 0-0.709 0.317-0.709 0.709v0 6.659h-4.247c-0.392 0-0.709 0.317-0.709 0.709s0.317 0.709 0.709 0.709h4.956c0.392 0 0.709-0.317 0.709-0.709v-7.365c0-0.395-0.317-0.712-0.709-0.712zM4.231 13.165c0.278-0.278 0.278-0.724 0-1.002v0c-1.705-1.705-1.705-4.090 0-5.799 1.705-1.705 4.090-1.705 5.799 0 0.278 0.278 0.724 0.278 1.002 0s0.278-0.724 0-1.002c-2.261-2.258-5.542-2.258-7.803 0.003s-2.261 5.542 0 7.8c0.278 0.278 0.724 0.278 1.002 0zM3.73 13.388c0 0 0 0 0 0-0.193 0-0.374-0.075-0.51-0.211-1.096-1.096-1.699-2.484-1.699-3.912s0.604-2.816 1.699-3.912c2.267-2.267 5.557-2.267 7.821 0 0.281 0.281 0.281 0.74 0 1.023-0.281 0.281-0.74 0.281-1.023 0-0.821-0.821-1.847-1.277-2.889-1.277s-2.065 0.453-2.889 1.277c-1.696 1.696-1.699 4.069-0.009 5.768l0.009 0.009c0.281 0.281 0.281 0.74 0 1.023v0c-0.136 0.136-0.317 0.211-0.51 0.211zM7.129 3.686c-1.383 0-2.762 0.564-3.891 1.69-1.090 1.090-1.69 2.472-1.69 3.891s0.601 2.798 1.69 3.891c0.272 0.272 0.709 0.272 0.981 0 0.269-0.269 0.272-0.703 0.006-0.975l-0.006-0.006c-1.715-1.711-1.715-4.105 0-5.82 0.827-0.827 1.862-1.283 2.91-1.283s2.080 0.456 2.91 1.283c0.272 0.272 0.709 0.272 0.981 0s0.272-0.709 0-0.981c-1.126-1.129-2.508-1.69-3.891-1.69zM28.895 5.383c-2.276-2.279-5.56-2.279-7.818-0.018-0.278 0.278-0.278 0.724 0 1.002s0.724 0.278 1.002 0c1.705-1.705 4.090-1.705 5.799 0 1.57 1.693 1.57 4.105-0.018 5.817-0.266 0.287-0.251 0.733 0.036 1.002 0.287 0.266 0.733 0.251 1.002-0.036v0c2.092-2.258 2.092-5.512-0.003-7.767zM28.376 13.388c-0.184 0-0.356-0.069-0.492-0.193-0.142-0.133-0.223-0.311-0.229-0.504s0.060-0.377 0.193-0.519c0.764-0.824 1.186-1.856 1.189-2.904s-0.414-2.074-1.171-2.892c-0.821-0.821-1.847-1.274-2.889-1.274s-2.065 0.453-2.889 1.277c-0.281 0.281-0.74 0.281-1.023 0-0.281-0.281-0.281-0.74 0-1.023 1.096-1.096 2.481-1.696 3.906-1.696 0.003 0 0.006 0 0.009 0 1.428 0.003 2.822 0.613 3.927 1.715v0c1.014 1.093 1.576 2.475 1.576 3.891s-0.558 2.798-1.576 3.891l-0.003 0.003c-0.13 0.139-0.308 0.22-0.501 0.226-0.009 0.003-0.018 0.003-0.027 0.003zM24.977 5.072c1.047 0 2.080 0.456 2.91 1.283 0.764 0.824 1.183 1.856 1.18 2.913s-0.429 2.095-1.198 2.925c-0.127 0.136-0.19 0.311-0.184 0.498 0.006 0.184 0.084 0.356 0.22 0.483s0.311 0.19 0.498 0.184c0.184-0.006 0.356-0.085 0.483-0.22l0.003-0.003c1.008-1.087 1.564-2.46 1.564-3.867 0-1.41-0.555-2.783-1.567-3.87-1.099-1.099-2.484-1.705-3.906-1.705-1.419-0.003-2.801 0.598-3.891 1.687-0.272 0.272-0.272 0.709 0 0.981s0.709 0.272 0.981 0c0.824-0.833 1.859-1.289 2.907-1.289z"></path>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <!-- Generated by IcoMoon.io -->
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="tfa-user">
3
+ <path d="M9.803 17.253c0 0 0 0 0 0 0-0.178-0.069-0.344-0.194-0.469s-0.291-0.194-0.466-0.194h-0.744v-2.847c0-0.175-0.069-0.341-0.194-0.466s-0.291-0.194-0.466-0.194h-4.206c-0.175 0-0.341 0.069-0.466 0.194s-0.194 0.291-0.194 0.466v2.847h-0.744c-0.363 0-0.659 0.297-0.659 0.659 0 0 0 0 0 0s0 0 0 0v9.813c0 0.956 0.387 1.822 1.016 2.447 0.628 0.628 1.494 1.016 2.447 1.016h1.403c1.909 0 3.462-1.553 3.462-3.462l0.003-9.809zM4.194 14.406h2.888v2.188h-2.888v-2.188zM6.338 29.212h-1.4c-0.569 0-1.109-0.225-1.516-0.631s-0.631-0.944-0.631-1.516v-9.153h4.95c0.003 0 0.006 0 0.009 0h0.734v9.153c0 1.184-0.963 2.147-2.147 2.147zM7.181 21.306c-0.412-0.413-0.959-0.637-1.544-0.637v0c-1.203 0-2.181 0.978-2.181 2.181 0 0.6 0.244 1.147 0.641 1.541 0.394 0.394 0.941 0.641 1.541 0.641 0.581 0 1.131-0.228 1.544-0.637 0.412-0.413 0.638-0.959 0.638-1.544s-0.228-1.131-0.638-1.544zM5.638 23.903c-0.581 0-1.053-0.472-1.053-1.053s0.472-1.053 1.053-1.053c0.281 0 0.547 0.109 0.744 0.309 0.2 0.2 0.309 0.462 0.309 0.744s-0.109 0.544-0.309 0.744c-0.197 0.2-0.463 0.309-0.744 0.309zM17.197 1.409v0c-6.478 0-11.931 4.166-13.844 9.981h1.487c1.862-5.019 6.688-8.584 12.356-8.584 7.288 0 13.178 5.888 13.178 13.175 0 3.094-1.097 5.987-2.994 8.284v0c-0.3-0.2-0.7-0.5-0.997-0.6l-5.391-1.897v-2.497c1.697-1.397 2.794-3.694 2.794-6.287 0-4.291-2.894-7.688-6.587-7.688-3.594 0-6.588 3.494-6.588 7.688 0 2.694 1.197 5.191 3.094 6.487v2.297l-1.8 0.634v1.641l2.7-0.978c0.3-0.1 0.5-0.4 0.5-0.7v-1.997c0.6 0.2 1.297 0.4 1.997 0.4 0.8 0 1.597-0.2 2.297-0.5v2.097c0 0.3 0.2 0.6 0.5 0.7l5.791 2.097c0.1 0 0.3 0.2 0.5 0.3-2.497 2.397-5.791 3.794-9.184 3.794-1.738-0.053-3.472-0.462-5.097-1.194v1.512c1.675 0.644 3.475 0.978 5.294 0.978 4.094 0 8.084-1.797 10.881-4.791 2.397-2.694 3.794-6.188 3.794-9.781-0.106-8.084-6.597-14.572-14.681-14.572zM17.197 6.697c2.497 0 4.491 2.097 4.991 4.991-1.597 0.3-2.497-0.3-3.494-1.897-0.1-0.2-0.4-0.4-0.6-0.4-0.3 0-0.5 0.2-0.6 0.4-0.5 0.997-2.297 1.897-3.794 1.897-0.5 0-0.997-0.1-1.397-0.3 0.603-2.694 2.6-4.691 4.894-4.691zM17.097 19.175c-2.694 0.1-4.991-2.794-4.991-6.287v0c0.5 0.1 0.997 0.2 1.597 0.2 1.597 0 3.294-0.7 4.291-1.697 0.897 1.197 1.997 1.797 3.394 1.797 0.3 0 0.5 0 0.8-0.1-0.1 3.394-2.294 6.088-5.091 6.088z"></path>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <!-- Generated by IcoMoon.io -->
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="tfa">
3
+ <path d="M26.742 14.224l-14.407 14.407c-1.933 1.933-5.099 1.933-7.033 0l-2.058-2.058c-1.932-1.932-1.933-5.1 0-7.033l14.407-14.407c0.332-0.332 0.332-0.869 0-1.201s-0.869-0.332-1.201 0l-14.407 14.407c-2.596 2.596-2.595 6.839 0 9.434l2.058 2.058c2.596 2.596 6.838 2.596 9.434 0l14.407-14.407c0.332-0.332 0.332-0.869 0-1.201s-0.869-0.332-1.201 0zM29.23 7.621l-4.975-4.975-3.946 3.946 4.975 4.973 3.946-3.944zM24.684 13.366l-6.175-6.174c-0.332-0.332-0.332-0.869-0-1.201l5.146-5.146c0.332-0.332 0.869-0.332 1.201 0l6.175 6.175c0.332 0.332 0.332 0.869-0 1.201l-5.146 5.145c-0.332 0.331-0.869 0.331-1.2 0zM23.655 4.962l-1.029 1.030c-0.331 0.332-0.331 0.869 0.001 1.201s0.869 0.331 1.201-0.001l1.029-1.030c0.331-0.332 0.331-0.869-0.001-1.201s-0.869-0.331-1.201 0.001zM25.713 7.021l-1.029 1.029c-0.332 0.332-0.332 0.869 0 1.201s0.869 0.332 1.201 0l1.029-1.029c0.332-0.332 0.332-0.869 0-1.201s-0.869-0.332-1.201 0zM16.451 5.133l10.291 10.291c0.332 0.332 0.869 0.332 1.201 0s0.332-0.869 0-1.201l-10.291-10.291c-0.332-0.332-0.869-0.332-1.201 0s-0.332 0.869 0 1.201zM16.451 9.25l6.175 6.175c0.332 0.332 0.869 0.332 1.201 0s0.332-0.869 0-1.201l-6.175-6.175c-0.332-0.332-0.869-0.332-1.201 0s-0.332 0.869 0 1.201zM15.262 16.615c-1.374-1.374-3.6-1.374-4.975 0-1.374 1.373-1.374 3.6 0 4.974s3.601 1.373 4.975 0.001c1.373-1.374 1.373-3.602 0-4.975zM16.462 15.414c2.036 2.036 2.036 5.338-0 7.376-2.037 2.036-5.338 2.036-7.376-0-2.037-2.037-2.037-5.34 0-7.376 2.037-2.037 5.339-2.037 7.376 0z"></path>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <!-- Generated by IcoMoon.io -->
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="tokenization">
3
+ <path d="M2.017 16.289c0 0.71 0.183 1.42 0.548 2.052l4.933 8.545c0.731 1.266 2.093 2.052 3.555 2.052h9.866c1.462 0 2.824-0.786 3.555-2.052l4.933-8.545c0.731-1.266 0.731-2.839 0-4.105l-4.933-8.545c-0.731-1.266-2.093-2.052-3.555-2.052h-9.866c-1.462 0-2.824 0.786-3.555 2.052l-4.933 8.545c-0.365 0.633-0.548 1.343-0.548 2.053zM31.973 16.289c0 1.059-0.272 2.117-0.818 3.061l-4.933 8.545c-1.090 1.888-3.122 3.061-5.303 3.061h-9.866c-2.181 0-4.212-1.173-5.303-3.061l-4.933-8.545c-1.090-1.888-1.090-4.234 0-6.123l4.933-8.545c1.090-1.888 3.122-3.061 5.303-3.061h9.866c2.181 0 4.212 1.173 5.303 3.061l4.933 8.545c0.545 0.944 0.818 2.003 0.818 3.062zM25.873 16.008c-0.696-0.728-1.487-1.458-2.357-2.137-2.441-1.906-4.997-3.038-7.517-3.038s-5.075 1.132-7.517 3.038c-0.87 0.679-1.661 1.408-2.357 2.137-0.111 0.116-0.212 0.225-0.304 0.325 0.092 0.1 0.194 0.209 0.304 0.325 0.696 0.728 1.487 1.458 2.357 2.137 2.441 1.906 4.997 3.038 7.517 3.038s5.075-1.132 7.517-3.038c0.87-0.679 1.661-1.408 2.357-2.137 0.111-0.116 0.212-0.225 0.304-0.325-0.092-0.1-0.194-0.209-0.304-0.325zM28.284 16.954c-0.179 0.226-0.505 0.605-0.964 1.085-0.759 0.795-1.621 1.589-2.572 2.332-2.761 2.156-5.709 3.462-8.747 3.462s-5.986-1.306-8.747-3.462c-0.951-0.743-1.813-1.537-2.572-2.332-0.459-0.481-0.785-0.859-0.964-1.085-0.288-0.364-0.288-0.878 0-1.242 0.179-0.226 0.505-0.605 0.964-1.085 0.759-0.795 1.621-1.589 2.572-2.332 2.761-2.156 5.709-3.462 8.747-3.462s5.986 1.306 8.747 3.462c0.951 0.743 1.813 1.537 2.572 2.332 0.459 0.481 0.785 0.859 0.964 1.085 0.288 0.364 0.288 0.878 0 1.242zM19 16.333c0-1.657-1.343-3-3-3s-3 1.343-3 3c0 1.657 1.343 3 3 3s3-1.343 3-3zM21 16.333c0 2.762-2.238 5-5 5s-5-2.238-5-5c0-2.762 2.238-5 5-5s5 2.238 5 5zM16 15.333c-0.552 0-1-0.448-1-1s0.448-1 1-1c1.656 0 3 1.344 3 3s-1.344 3-3 3c-1.656 0-3-1.344-3-3 0-0.552 0.448-1 1-1s1 0.448 1 1c0 0.552 0.448 1 1 1s1-0.448 1-1c0-0.552-0.448-1-1-1z"></path>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <!-- Generated by IcoMoon.io -->
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="tools">
3
+ <path d="M22.425 0.146l9.302 7.893c0.26 0.22 0.293 0.61 0.073 0.87l-3.934 4.665c-0.106 0.126-0.256 0.204-0.418 0.216-0.017 0.002-0.034 0.002-0.052 0.002-0.144 0-0.286-0.051-0.398-0.146l-3.185-2.703-5.453 6.467 3.691 3.704c1.99-0.674 4.181-0.172 5.682 1.336 1.602 1.607 2.066 4 1.183 6.095-0.080 0.189-0.249 0.326-0.449 0.365s-0.407-0.025-0.553-0.169l-2.176-2.181h-1.74v1.746l2.177 2.183c0.145 0.144 0.208 0.353 0.169 0.554s-0.176 0.37-0.364 0.451c-0.704 0.298-1.441 0.443-2.171 0.443-1.438 0-2.846-0.564-3.906-1.63-1.503-1.506-2.004-3.704-1.332-5.7l-3.401-3.413-6.975 8.275c-0.122 0.144-0.295 0.219-0.47 0.219-0.14 0-0.282-0.047-0.398-0.146l-3.322-2.819c-0.126-0.106-0.203-0.257-0.217-0.42s0.038-0.326 0.144-0.451l7.271-8.625-3.901-3.902c-1.998 0.679-4.19 0.185-5.682-1.315-1.594-1.599-2.058-3.973-1.183-6.049 0.081-0.19 0.251-0.328 0.455-0.367 0.201-0.037 0.411 0.030 0.555 0.179l2.175 2.267h1.915v-1.922l-2.258-2.181c-0.149-0.144-0.215-0.353-0.178-0.557 0.038-0.205 0.175-0.375 0.366-0.457 2.084-0.884 4.375-0.427 5.985 1.188 1.503 1.505 2.004 3.702 1.332 5.699l3.616 3.627 5.152-6.109-5.176-4.392c-0.26-0.22-0.293-0.61-0.073-0.87l1.124-1.333c0.105-0.125 0.256-0.202 0.418-0.216 0.156-0.021 0.324 0.038 0.449 0.144 0.752 0.639 1.722 0.943 2.72 0.861 1.003-0.084 1.908-0.547 2.545-1.302 0.218-0.259 0.608-0.294 0.866-0.073zM17.563 18.356l-1.595 1.892 3.755 3.768c0.177 0.179 0.229 0.446 0.132 0.678-0.688 1.631-0.327 3.491 0.918 4.741 1.014 1.017 2.431 1.446 3.806 1.198l-1.63-1.633c-0.116-0.116-0.181-0.273-0.181-0.437v-2.619c0-0.342 0.276-0.617 0.615-0.617h2.61c0.164 0 0.32 0.064 0.436 0.18l1.63 1.633c0.247-1.374-0.18-2.798-1.195-3.816-1.246-1.251-3.1-1.612-4.726-0.921-0.23 0.099-0.497 0.046-0.674-0.132l-3.9-3.914zM20.492 8.126l-15.223 18.053 2.383 2.022 6.646-7.883-0.057-0.057 0.685-0.688 7.949-9.425-2.383-2.022zM4.891 3.781l1.689 1.631c0.121 0.116 0.188 0.277 0.188 0.444v2.802c0 0.341-0.274 0.617-0.615 0.617h-2.793c-0.167 0-0.327-0.068-0.444-0.189l-1.623-1.693c-0.229 1.348 0.198 2.742 1.198 3.744 1.234 1.241 3.090 1.594 4.726 0.901 0.231-0.099 0.496-0.046 0.674 0.131l4.11 4.11 1.601-1.897-3.97-3.982c-0.178-0.179-0.23-0.446-0.132-0.678 0.688-1.631 0.327-3.491-0.919-4.739-1.007-1.011-2.357-1.437-3.69-1.204zM22.071 1.463c-0.805 0.742-1.834 1.194-2.955 1.289-1.121 0.090-2.209-0.181-3.122-0.78l-0.354 0.42 11.685 9.915 3.14-3.723-8.393-7.12z"></path>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <!-- Generated by IcoMoon.io -->
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="37" height="32" viewBox="0 0 37 32" aria-labelledby="transition-from">
3
+ <path d="M34.909 0c0.918 0 1.662 0.744 1.662 1.662s-0.744 1.662-1.662 1.662h-17.902c-3.317 0-6.010 2.693-6.010 6.010l-0.001 17.353 5.089-3.392c0.764-0.509 1.796-0.303 2.305 0.461s0.303 1.796-0.461 2.305l-7.71 5.14c-0.039 0.025-0.079 0.047-0.12 0.069l0.158-0.094c-0.066 0.044-0.135 0.083-0.205 0.117-0.119 0.057-0.246 0.101-0.38 0.128-0.029 0.006-0.058 0.011-0.087 0.015-0.031 0.005-0.062 0.009-0.094 0.012-0.035 0.003-0.070 0.005-0.105 0.006-0.016 0.001-0.034 0.001-0.051 0.001l-0.052-0.001c-0.034-0.001-0.068-0.003-0.102-0.006l0.155 0.007c-0.086 0-0.17-0.007-0.253-0.019-0.027-0.004-0.055-0.009-0.082-0.015-0.134-0.027-0.262-0.071-0.383-0.128-0.014-0.007-0.030-0.015-0.045-0.023-0.042-0.022-0.082-0.045-0.121-0.069-0.012-0.008-0.025-0.016-0.038-0.025l-7.672-5.115c-0.764-0.509-0.97-1.541-0.461-2.305s1.541-0.97 2.305-0.461l5.088 3.392 0-17.353c0-5.153 4.181-9.335 9.335-9.335h17.902z"></path>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <!-- Generated by IcoMoon.io -->
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="28" height="32" viewBox="0 0 28 32" aria-labelledby="transition-to">
3
+ <path d="M0.64 2.036c0-0.771 0.625-1.396 1.396-1.396s1.396 0.625 1.396 1.396v15.038c0 2.786 2.262 5.048 5.048 5.048l14.577 0.001-2.849-4.275c-0.428-0.642-0.254-1.509 0.387-1.936s1.509-0.254 1.936 0.387l4.317 6.477c0.021 0.033 0.040 0.066 0.058 0.101l-0.079-0.133c0.037 0.056 0.070 0.113 0.098 0.172 0.048 0.1 0.085 0.207 0.108 0.319 0.005 0.024 0.009 0.049 0.013 0.073 0.004 0.026 0.007 0.052 0.010 0.079 0.003 0.030 0.005 0.059 0.005 0.088 0.001 0.014 0.001 0.028 0.001 0.043l-0.001 0.044c-0.001 0.029-0.003 0.057-0.005 0.086l0.006-0.13c0 0.072-0.006 0.143-0.016 0.212-0.004 0.023-0.008 0.046-0.013 0.069-0.023 0.112-0.059 0.22-0.108 0.321-0.006 0.012-0.012 0.025-0.019 0.038-0.018 0.035-0.037 0.069-0.058 0.102-0.007 0.010-0.014 0.021-0.021 0.032l-4.297 6.445c-0.428 0.642-1.295 0.815-1.936 0.387s-0.815-1.295-0.387-1.936l2.849-4.274h-14.577c-4.329 0-7.841-3.512-7.841-7.841v-15.038z"></path>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <!-- Generated by IcoMoon.io -->
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="upload">
3
+ <path d="M30.634 22.934c-0.4 0-0.666 0.266-0.666 0.666v2.534c0 1.734-1.466 3.2-3.2 3.2h-21.603c-1.734 0-3.2-1.466-3.2-3.2v-2.534c0-0.4-0.266-0.666-0.666-0.666s-0.666 0.266-0.666 0.666v2.534c0 2.534 2 4.534 4.534 4.534h21.734c2.534 0 4.534-2 4.534-4.534v-2.534c-0.137-0.4-0.403-0.666-0.803-0.666v0zM15.566 0.234v0c0.134 0 0.134-0.134 0.266-0.134 0.134-0.134 0.4-0.134 0.534 0 0.134 0 0.134 0.134 0.266 0.134v0l9.334 9.334c0.266 0.266 0.266 0.666 0 0.934-0.266 0.266-0.666 0.266-0.934 0l-8.131-8.137v21.2c0 0.4-0.266 0.666-0.666 0.666s-0.666-0.266-0.666-0.666v-21.2l-8.403 8.134c-0.266 0.266-0.666 0.266-0.934 0-0.266-0.266-0.266-0.666 0-0.934l9.334-9.331z"></path>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="18" height="19" viewBox="0 0 18 19" xmlns="http://www.w3.org/2000/svg" aria-labelledby="user-remove">
2
+ <path d="M7.5 0.5C9.75 0.5 11.625 2.675 11.625 5.375C11.625 7.1 10.875 8.59999 9.74998 9.42499V11.375H8.99997V9.87499C8.54997 10.1 8.02497 10.25 7.49998 10.25C6.97499 10.25 6.44998 10.175 5.99998 9.94997V11.375C5.99998 11.525 5.92498 11.675 5.77498 11.675L2.02498 13.025C1.275 13.325 0.749989 14 0.749989 14.825V16.25H9.375V17H0.374995C0.149994 17 0 16.85 0 16.625V14.825C0 13.7 0.675001 12.725 1.725 12.425L5.24999 11.15V9.50001C4.12499 8.60001 3.37499 7.09999 3.37499 5.375C3.37499 2.675 5.17499 0.5 7.5 0.5ZM10.8 4.62501C10.5 2.67501 9.15001 1.25001 7.5 1.25001C5.925 1.25001 4.575 2.60001 4.20001 4.40001C4.5 4.55 4.87501 4.62501 5.25 4.62501C6.22501 4.62501 7.425 4.02501 7.72501 3.35001C7.875 3.12501 8.25001 3.12501 8.40001 3.35001C9 4.47501 9.675 4.85001 10.8 4.62501ZM4.12501 5.375V5.22501C4.5 5.30001 4.87501 5.375 5.25001 5.375C6.22502 5.375 7.425 4.925 8.02502 4.25C8.77502 5.22501 9.67502 5.6 10.875 5.45001C10.875 7.77501 9.37502 9.57502 7.50001 9.57502C5.625 9.50001 4.12501 7.69999 4.12501 5.375ZM13.7636 18.5C16.0617 18.5 17.9251 16.6369 17.9251 14.3386C17.9251 12.0402 16.0617 10.1771 13.7636 10.1771C11.4649 10.1771 9.60219 12.0399 9.60219 14.3386C9.60219 16.6372 11.4649 18.5 13.7636 18.5ZM13.7636 10.9792C15.6188 10.9792 17.123 12.4833 17.123 14.3385C17.123 16.1938 15.6187 17.6979 13.7636 17.6979C11.9078 17.6979 10.4043 16.1943 10.4043 14.3385C10.4043 12.4828 11.9079 10.9792 13.7636 10.9792ZM16.1937 14.3386C16.1937 14.5558 16.0176 14.7319 15.8004 14.7319H11.7269C11.5096 14.7319 11.3335 14.5558 11.3335 14.3386C11.3335 14.1213 11.5096 13.9453 11.7269 13.9453L15.8004 13.9453C16.0176 13.9453 16.1937 14.1213 16.1937 14.3386Z"/>
3
+ </svg>
@@ -0,0 +1,4 @@
1
+ <!-- Generated by IcoMoon.io -->
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="34" height="34" viewBox="0 0 34 34" aria-labelledby="user">
3
+ <path d="M16.61 1.371c-8.381 0-15.238 6.857-15.238 15.238 0 3.962 1.524 7.619 4.114 10.514 2.895 3.048 7.010 4.876 11.124 4.876 4.267 0 8.381-1.829 11.276-5.029 2.59-2.743 3.962-6.4 3.962-10.21 0.152-8.533-6.705-15.39-15.238-15.39zM7.162 26.667c0.305-0.305 0.61-0.457 0.762-0.457l6.095-2.133c0.305-0.152 0.457-0.457 0.457-0.762v-2.133c0.61 0.305 1.371 0.457 2.133 0.457 0.914 0 1.676-0.152 2.438-0.61v2.286c0 0.305 0.152 0.61 0.457 0.762l6.095 2.133c0.152 0 0.305 0.152 0.61 0.305-2.438 2.438-5.943 3.962-9.6 3.962-3.505 0-6.857-1.371-9.448-3.81zM11.276 13.41c0.61 0.152 1.067 0.305 1.676 0.305 1.676 0 3.505-0.762 4.571-1.829 1.067 1.219 2.133 1.829 3.657 1.829 0.152 0 0.457 0 0.762 0 0 3.505-2.438 6.4-5.333 6.4s-5.333-3.048-5.333-6.705c0 0.152 0 0 0 0zM11.581 11.886c0.61-2.895 2.59-4.876 5.029-4.876 2.59 0 4.724 2.133 5.333 5.181-1.676 0.305-2.59-0.305-3.657-1.981-0.152-0.305-0.457-0.457-0.61-0.457 0 0 0 0 0 0-0.305 0-0.457 0.152-0.61 0.457-0.61 1.067-2.59 1.981-4.114 1.981-0.457 0-0.914-0.152-1.371-0.305zM27.276 25.448c-0.305-0.305-0.762-0.457-1.067-0.61l-5.638-1.981v-2.59c1.676-1.524 2.895-3.81 2.895-6.552 0-4.419-3.048-8.076-6.857-8.076s-6.857 3.505-6.857 7.924c0 2.895 1.219 5.333 3.2 6.857v2.438l-5.638 1.981c-0.457 0.152-0.914 0.457-1.219 0.762-2.133-2.438-3.2-5.638-3.2-8.838 0-7.619 6.248-13.714 13.714-13.714 7.619 0 13.714 6.248 13.714 13.714 0.152 3.048-1.067 6.095-3.048 8.686z"></path>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <!-- Generated by IcoMoon.io -->
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="view-type-cards">
3
+ <path d="M0.889 15.034v-14.145h14.145v14.145h-14.145zM2.667 13.256h10.589v-10.589h-10.589v10.589zM16.966 15.034v-14.145h14.145v14.145h-14.145zM29.333 13.256v-10.589h-10.589v10.589h10.589zM0.889 31.111v-14.145h14.145v14.145h-14.145zM2.667 29.333h10.589v-10.589h-10.589v10.589zM16.966 31.111v-14.145h14.145v14.145h-14.145zM29.333 29.333v-10.589h-10.589v10.589h10.589z"></path>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <!-- Generated by IcoMoon.io -->
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="34" height="32" viewBox="0 0 34 32" aria-labelledby="view-type-list">
3
+ <path d="M11.417 9.546v-8.605h21.524v8.605h-21.524zM13.299 7.664h17.76v-4.84h-17.76v4.84zM11.417 20.303v-8.605h21.524v8.605h-21.524zM13.299 18.42h17.76v-4.84h-17.76v4.84zM11.417 31.059v-8.605h21.524v8.605h-21.524zM13.299 29.176h17.76v-4.84h-17.76v4.84zM0.941 9.546v-8.605h8.43v8.605h-8.43zM2.824 7.664h4.665v-4.84h-4.665v4.84zM0.941 20.303v-8.605h8.43v8.605h-8.43zM2.824 18.42h4.665v-4.84h-4.665v4.84zM0.941 31.059v-8.605h8.43v8.605h-8.43zM2.824 29.176h4.665v-4.84h-4.665v4.84z"></path>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <!-- Generated by IcoMoon.io -->
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="34" height="32" viewBox="0 0 34 32" aria-labelledby="view-type-table">
3
+ <path d="M0.906 8.702c-0.501 0-0.906-0.402-0.906-0.898v-6.906c0-0.496 0.406-0.898 0.906-0.898h32.070c0.501 0 0.906 0.402 0.906 0.898v6.906c0 0.496-0.406 0.898-0.906 0.898h-32.070zM1.813 6.906h30.257v-5.111h-30.257v5.111zM0.906 19.752c-0.501 0-0.906-0.402-0.906-0.898v-6.906c0-0.496 0.406-0.898 0.906-0.898h32.070c0.501 0 0.906 0.402 0.906 0.898v6.906c0 0.496-0.406 0.898-0.906 0.898h-32.070zM1.813 12.846v5.111h30.257v-5.111h-30.257zM0.906 30.802c-0.501 0-0.906-0.402-0.906-0.898v-6.906c0-0.496 0.406-0.898 0.906-0.898h32.070c0.501 0 0.906 0.402 0.906 0.898v6.906c0 0.496-0.406 0.898-0.906 0.898h-32.070zM1.813 29.006h30.257v-5.111h-30.257v5.111z"></path>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <!-- Generated by IcoMoon.io -->
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="warning">
3
+ <path d="M29.201 28.097l-12.47-24.939c-0.372-0.744-1.303-0.744-1.675 0l-12.283 24.939c-0.372 0.558 0.186 1.303 0.744 1.303h24.939c0.744 0 1.117-0.744 0.744-1.303zM15.987 27.167c-1.117 0-1.861-0.744-1.861-1.861s0.745-1.861 1.861-1.861 1.861 0.744 1.861 1.861-0.744 1.861-1.861 1.861zM17.848 19.908c0 0.93-0.744 1.675-1.861 1.675s-1.861-0.744-1.861-1.675v-9.678c0-0.931 0.745-1.675 1.861-1.675s1.861 0.745 1.861 1.675v9.678z"></path>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" aria-labelledby="workflow">
2
+ <path d="M12.9861316,0.142785444 C13.176501,-0.0475839495 13.4851468,-0.0475967872 13.675532,0.142756769 L13.675532,0.142756769 L17.8369936,4.303526 C18.0274124,4.49391315 18.0274124,4.80262531 17.8369936,4.99301246 L17.8369936,4.99301246 L13.843,8.985 L13.8438326,10.8636074 C15.4344443,11.1019852 16.6674067,12.4323148 16.7557876,14.0671628 L16.7608615,14.2553538 C16.7608615,16.1501311 15.2258311,17.6851615 13.3310538,17.6851615 C11.6109126,17.6851615 10.1866315,16.4192383 9.93927141,14.7678924 L6.859,14.767 L6.85996154,17.1980077 C6.85996154,17.4373311 6.68750826,17.6363759 6.46009028,17.6776534 L6.37246154,17.6855077 L0.487846154,17.6855077 C0.218607338,17.6855077 0.000346153846,17.4672465 0.000346153846,17.1980077 L0.000346153846,17.1980077 L0.000346153846,11.3133923 C0.000346153846,11.0441535 0.218607338,10.8258923 0.487846154,10.8258923 L0.487846154,10.8258923 L2.942,10.825 L2.9420037,8.04364524 C1.33966792,7.8154472 0.0939426821,6.47962949 0.0050754698,4.83643958 L1.33226763e-15,4.64826923 C1.33226763e-15,2.75418426 1.53572272,1.21846154 3.42980769,1.21846154 C5.15871938,1.21846154 6.58840943,2.49719773 6.82519355,4.16041688 L8.968,4.16 Z M13.3310538,11.8005462 C11.9754465,11.8005462 10.8762462,12.8997465 10.8762462,14.2553538 C10.8762462,15.6113967 11.9751896,16.7101615 13.3310538,16.7101615 C14.6873535,16.7101615 15.7858615,15.6116535 15.7858615,14.2553538 C15.7858615,12.8994896 14.6870967,11.8005462 13.3310538,11.8005462 Z M5.88484615,11.8001538 L0.975346154,11.8001538 L0.975346154,16.7104038 L5.88484615,16.7104038 L5.88484615,11.8001538 Z M8.993,5.16 L6.82155988,5.16099124 C6.59919886,6.64480991 5.42653904,7.81762235 3.94258648,8.04001567 L3.942,10.825 L6.37246154,10.8258923 C6.61178493,10.8258923 6.8108297,10.9983456 6.85210726,11.2257636 L6.85996154,11.3133923 L6.859,13.767 L9.93576673,13.7669261 C10.1501641,12.2634751 11.339712,11.0741055 12.8432499,10.8599778 L12.843,9.01 L8.993,5.16 Z M13.3308462,1.17640385 L9.85909615,4.64815385 L13.3308462,8.11990385 L16.8025962,4.64815385 L13.3308462,1.17640385 Z M3.42980769,2.19346154 C2.07420035,2.19346154 0.975,3.29266189 0.975,4.64826923 C0.975,6.00387657 2.07420035,7.10307692 3.42980769,7.10307692 C4.7858505,7.10307692 5.88461538,6.00413344 5.88461538,4.64826923 C5.88461538,3.29240502 4.7858505,2.19346154 3.42980769,2.19346154 Z"></path>
3
+ </svg>
@@ -0,0 +1,4 @@
1
+ <!-- Generated by IcoMoon.io -->
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="35" height="32" viewBox="0 0 35 32" aria-labelledby="wrap">
3
+ <path d="M18.526 13.474v-5.053l8.421 6.737-8.421 6.737v-5.053h-18.526v-3.368zM8.441 27.688l2.301-2.46c0.726 0.679 1.53 1.272 2.394 1.763l-1.665 2.928c-1.094-0.622-2.112-1.371-3.031-2.231zM14.996 31.395l0.919-3.241c0.95 0.269 1.933 0.427 2.935 0.467l-0.136 3.366c-1.268-0.051-2.514-0.251-3.718-0.592zM22.451 31.703l-0.646-3.306c0.978-0.191 1.926-0.497 2.826-0.91l1.405 3.061c-1.142 0.524-2.344 0.912-3.585 1.155zM29.272 28.568l-2.086-2.644c0.781-0.616 1.487-1.322 2.104-2.103l2.644 2.087c-0.78 0.988-1.673 1.881-2.661 2.66zM33.98 22.529l-3.075-1.376c0.405-0.904 0.701-1.854 0.883-2.835l3.312 0.614c-0.231 1.244-0.607 2.45-1.121 3.597zM35.353 15.287l-3.365 0.148c-0.044-1.002-0.205-1.984-0.478-2.933l3.237-0.931c0.346 1.203 0.55 2.448 0.606 3.716zM33.247 8.034l-2.92 1.679c-0.496-0.862-1.092-1.663-1.775-2.386l2.449-2.313c0.864 0.915 1.619 1.929 2.246 3.020zM28.070 2.571l-1.834 2.825c-0.833-0.541-1.727-0.982-2.665-1.313l1.12-3.177c1.19 0.42 2.323 0.979 3.379 1.664zM21.068 0.089l-0.354 3.35c-0.436-0.046-0.877-0.070-1.318-0.071-0.58-0-1.131 0.035-1.677 0.107l-0.435-3.34c0.692-0.090 1.388-0.135 2.115-0.135 0.56 0.001 1.117 0.031 1.669 0.089zM13.61 1.068l1.213 3.143c-0.928 0.358-1.809 0.825-2.626 1.39l-1.915-2.771c1.035-0.716 2.152-1.307 3.329-1.761z"></path>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <!-- Generated by IcoMoon.io -->
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-labelledby="wrench">
3
+ <path d="M25.461 9.37l4.155-4.143c0.315-0.314 0.845-0.23 1.048 0.166 1.802 3.522 1.157 7.855-1.683 10.696-2.722 2.722-6.808 3.425-10.244 1.888l-12.559 12.562c-1.282 1.284-3.358 1.284-4.638 0.001-1.283-1.279-1.277-3.359 0.006-4.641l12.574-12.563c-1.531-3.428-0.81-7.517 1.919-10.245 2.838-2.837 7.213-3.485 10.735-1.684 0.394 0.201 0.48 0.726 0.171 1.043l-4.053 4.157v2.763h2.57zM16.966 4.019c-2.44 2.44-3.009 6.147-1.47 9.153 0.13 0.254 0.081 0.562-0.12 0.764l-12.903 12.892c-0.771 0.77-0.774 2.017-0.006 2.783 0.769 0.77 2.012 0.77 2.782-0l12.888-12.891c0.201-0.201 0.51-0.25 0.763-0.12 3.018 1.544 6.721 0.992 9.152-1.44 2.211-2.213 2.87-5.484 1.812-8.328l-3.67 3.658c-0.123 0.123-0.29 0.192-0.463 0.192h-3.498c-0.363 0-0.656-0.294-0.656-0.656v-3.687c0-0.171 0.067-0.336 0.186-0.458l3.58-3.672c-2.853-1.063-6.165-0.403-8.378 1.809z"></path>
4
+ </svg>
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 28.8 42.1" style="enable-background:new 0 0 28.8 42.1;" xml:space="preserve" aria-labelledby="logo-small">
4
+ <style type="text/css">
5
+ .st0{ fill:url(#Fill-1_1_); }
6
+ .st1{ fill:#FFFFFF; }
7
+ </style>
8
+ <g id="Group-3">
9
+ <linearGradient id="Fill-1_1_" gradientUnits="userSpaceOnUse" x1="-536.7165" y1="106.2919" x2="-535.7165" y2="106.2919" gradientTransform="matrix(28.8323 0 0 41.5823 15474.7715 -4398.7603)">
10
+ <stop offset="0" style="stop-color:#7C59A4"/>
11
+ <stop offset="0.5244" style="stop-color:#647ABA"/>
12
+ <stop offset="1" style="stop-color:#3BC5F3"/>
13
+ </linearGradient>
14
+ <path id="Fill-1" class="st0" d="M24.6,4.5h4.2V0.3h-4.2C24.6,0.3,24.6,4.5,24.6,4.5z M12.3,4.5h4.2V0.3h-4.2V4.5z M0,4.5h4.2V0.3
15
+ H0V4.5z M24.6,10.8h4.2V6.6h-4.2C24.6,6.6,24.6,10.8,24.6,10.8z M18.8,10.8H23V6.6h-4.2V10.8z M12.3,17.1h4.2V6.6h-4.2V17.1z
16
+ M5.9,36.4h4.2V6.6H5.9V36.4z M0,10.8h4.2V6.6H0V10.8z M24.6,17.1h4.2v-4.2h-4.2C24.6,12.9,24.6,17.1,24.6,17.1z M18.8,36.4H23
17
+ V12.9h-4.2V36.4z M0,29.4h4.2V12.9H0V29.4z M24.6,29.4h4.2V19.2h-4.2C24.6,19.2,24.6,29.4,24.6,29.4z M12.3,23.5h4.2v-4.2h-4.2
18
+ V23.5z M12.3,41.9h4.2V25.2h-4.2V41.9z"/>
19
+ </g>
20
+ </svg>
@@ -0,0 +1,81 @@
1
+ /* Copyright (c) Fortanix, Inc.
2
+ |* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of
3
+ |* the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
+
5
+ @use '../../../styling/defs.scss' as bk;
6
+
7
+ @layer baklava.components {
8
+ .bk-button {
9
+ @include bk.component-base(bk-button);
10
+
11
+ --bk-button-color-accent: #{bk.$theme-button-primary-background-default};
12
+ --bk-button-color-contrast: #{bk.$theme-button-primary-text-default};
13
+
14
+ align-self: flex-start;
15
+
16
+ cursor: pointer;
17
+
18
+ margin: 0;
19
+ padding: calc(bk.$spacing-2 - 0.125lh) bk.$spacing-3; /* Note: compensate for line-height difference with Figma */
20
+
21
+ /* Transparent border for consistency with other variants that have a border */
22
+ border: bk.$size-1 solid transparent;
23
+ border-radius: bk.$radius-s;
24
+ background: transparent;
25
+
26
+ display: inline-flex;
27
+ flex-flow: row wrap;
28
+ align-items: center;
29
+ gap: 0.3ch;
30
+
31
+ @include bk.font(bk.$font-family-display, bk.$font-weight-medium);
32
+ /* letter-spacing: 0.1ch; */
33
+ text-transform: uppercase;
34
+
35
+ /* Tertiary (default) */
36
+ border-color: transparent;
37
+ background-color: transparent;
38
+ color: var(--bk-button-color-accent);
39
+
40
+ &.bk-button--secondary {
41
+ border-color: var(--bk-button-color-accent);
42
+ background-color: transparent;
43
+ color: var(--bk-button-color-accent);
44
+ }
45
+ &.bk-button--primary {
46
+ border-color: var(--bk-button-color-accent);
47
+ background-color: var(--bk-button-color-accent);
48
+ color: var(--bk-button-color-contrast);
49
+ }
50
+
51
+ /* States */
52
+ /* NOTE: the ordering here is important, more important rules must come later (in case of multiple states) */
53
+ &:is(:focus-visible, :global(.pseudo-focus-visible)) {
54
+ --bk-button-color-accent: #{bk.$theme-button-primary-background-focused};
55
+ @include bk.focus-outline-close;
56
+ }
57
+ &:is(:hover, :global(.pseudo-hover)) {
58
+ --bk-button-color-accent: #{bk.$theme-button-primary-background-hover};
59
+ }
60
+ &:is(:disabled, .bk-button--disabled) {
61
+ --bk-button-color-accent: #{bk.$theme-button-primary-background-disabled};
62
+ --bk-button-color-contrast: #{bk.$theme-button-primary-text-disabled};
63
+ cursor: not-allowed;
64
+ }
65
+ &.bk-button--nonactive {
66
+ --bk-button-color-accent: #{bk.$theme-button-primary-background-non-active};
67
+ --bk-button-color-contrast: #{bk.$theme-button-primary-text-non-active};
68
+ cursor: not-allowed;
69
+ }
70
+
71
+ @media (prefers-reduced-motion: no-preference) {
72
+ transition: none 150ms ease-in-out;
73
+ transition-property: border, background, color;
74
+ }
75
+
76
+ /* & > :global(.icon) { font-size: 1.2rem; } */
77
+
78
+ /* https://css-tricks.com/css-cascade-layers/#aa-reverting-important-layers */
79
+ /* &:is(:global(.unstyled), #specificity#hack) { all: revert-layer; } */
80
+ }
81
+ }
@@ -0,0 +1,262 @@
1
+ /* Copyright (c) Fortanix, Inc.
2
+ |* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of
3
+ |* the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
+
5
+ import type { Meta, StoryObj } from '@storybook/react';
6
+ import { userEvent, within } from '@storybook/test';
7
+
8
+ import { delay } from '../../../util/time.ts';
9
+ import * as React from 'react';
10
+ import { ErrorBoundary } from 'react-error-boundary';
11
+
12
+ import { Icon } from '../../graphics/Icon/Icon.tsx';
13
+ import { Alert } from '../../containers/Alert/Alert.tsx';
14
+
15
+ import { Button } from './Button.tsx';
16
+
17
+
18
+ type ButtonArgs = React.ComponentProps<typeof Button>;
19
+ type Story = StoryObj<typeof Button>;
20
+
21
+ export default {
22
+ component: Button,
23
+ parameters: {
24
+ layout: 'centered',
25
+ design: { type: 'figma', url: 'https://www.figma.com/embed?embed_host=share&url=https%3A%2F%2Fwww.figma.com%2Fdesign%2FnOF5w9LfPiJabQD5yPzCEp%2F2024-Design-System-UX%3Fnode-id%3D327%253A6150%26t%3DjsTF1ykn6P4yp2et-1' },
26
+ },
27
+ tags: ['autodocs'],
28
+ argTypes: {},
29
+ args: {
30
+ unstyled: false,
31
+ label: 'Button',
32
+ variant: 'primary',
33
+ nonactive: false,
34
+ disabled: false,
35
+ onPress() {
36
+ alert('Click');
37
+ },
38
+ },
39
+ decorators: [
40
+ Story => (
41
+ <ErrorBoundary
42
+ FallbackComponent={({ error, resetErrorBoundary }) =>
43
+ <Alert kind="error" style={{ width: '80cqi' }}>
44
+ <p>Error: {error?.message}</p>
45
+ <p><Button variant="tertiary" label="Reset" onClick={resetErrorBoundary}/></p>
46
+ </Alert>
47
+ }
48
+ >
49
+ <Story/>
50
+ </ErrorBoundary>
51
+ ),
52
+ ],
53
+ } satisfies Meta<ButtonArgs>;
54
+
55
+
56
+ const BaseStory: Story = {
57
+ args: {},
58
+ render: (args) => <Button {...args}/>,
59
+ };
60
+
61
+ const PrimaryStory: Story = {
62
+ ...BaseStory,
63
+ args: { ...BaseStory.args, variant: 'primary' },
64
+ };
65
+
66
+ export const PrimaryStandard: Story = {
67
+ ...PrimaryStory,
68
+ name: 'Primary [standard]',
69
+ };
70
+
71
+ export const PrimaryHover: Story = {
72
+ ...PrimaryStory,
73
+ name: 'Primary [hover]',
74
+ args: { ...PrimaryStory.args, className: 'pseudo-hover' },
75
+ };
76
+
77
+ export const PrimaryFocus: Story = {
78
+ ...PrimaryStory,
79
+ name: 'Primary [focus]',
80
+ args: { ...PrimaryStory.args, className: 'pseudo-focus-visible' },
81
+ };
82
+
83
+ export const PrimaryNonactive: Story = {
84
+ ...PrimaryStory,
85
+ name: 'Primary [nonactive]',
86
+ args: { ...PrimaryStory.args, nonactive: true },
87
+ };
88
+
89
+ export const PrimaryDisabled: Story = {
90
+ ...PrimaryStory,
91
+ name: 'Primary [disabled]',
92
+ args: { ...PrimaryStory.args, disabled: true },
93
+ };
94
+
95
+ export const Secondary: Story = {
96
+ ...BaseStory,
97
+ name: 'Secondary [standard]',
98
+ args: { ...BaseStory.args, variant: 'secondary' },
99
+ };
100
+
101
+ export const SecondaryHover: Story = {
102
+ ...Secondary,
103
+ name: 'Secondary [hover]',
104
+ args: { ...Secondary.args, className: 'pseudo-hover' },
105
+ };
106
+
107
+ export const SecondaryFocus: Story = {
108
+ ...Secondary,
109
+ name: 'Secondary [focus]',
110
+ args: { ...Secondary.args, className: 'pseudo-focus-visible' },
111
+ };
112
+
113
+ export const SecondaryNonactive: Story = {
114
+ ...Secondary,
115
+ name: 'Secondary [nonactive]',
116
+ args: { ...Secondary.args, nonactive: true },
117
+ };
118
+
119
+ export const SecondaryDisabled: Story = {
120
+ ...Secondary,
121
+ name: 'Secondary [disabled]',
122
+ args: { ...Secondary.args, disabled: true },
123
+ };
124
+
125
+ export const Tertiary: Story = {
126
+ ...BaseStory,
127
+ name: 'Tertiary [standard]',
128
+ args: { ...BaseStory.args, variant: 'tertiary' },
129
+ };
130
+
131
+ export const TertiaryHover: Story = {
132
+ ...Tertiary,
133
+ name: 'Tertiary [hover]',
134
+ args: { ...Tertiary.args, className: 'pseudo-hover' },
135
+ };
136
+
137
+ export const TertiaryFocus: Story = {
138
+ ...Tertiary,
139
+ name: 'Tertiary [focus]',
140
+ args: { ...Tertiary.args, className: 'pseudo-focus-visible' },
141
+ };
142
+
143
+ export const TertiaryNonactive: Story = {
144
+ ...Tertiary,
145
+ name: 'Tertiary [nonactive]',
146
+ args: { ...Tertiary.args, nonactive: true },
147
+ };
148
+
149
+ export const TertiaryDisabled: Story = {
150
+ ...Tertiary,
151
+ name: 'Tertiary [disabled]',
152
+ args: { ...Tertiary.args, disabled: true },
153
+ };
154
+
155
+ export const AsyncButton: Story = {
156
+ ...PrimaryStory,
157
+ args: {
158
+ ...PrimaryStory.args,
159
+ label: 'Trigger async action',
160
+ async onPress() {
161
+ await delay(1000);
162
+ console.log('Done!');
163
+ },
164
+ },
165
+ };
166
+
167
+ // Note: an infinite `onPress` will cause all React transition to get stuck, due to batching behavior.
168
+ // Adding a timeout prevents the rest of the application getting stuck.
169
+ export const AsyncButtonInfinite: Story = {
170
+ ...AsyncButton,
171
+ name: 'Async Button [timeout]',
172
+ args: {
173
+ ...PrimaryStory.args,
174
+ label: 'Infinitely pending...',
175
+ async onPress() {
176
+ await new Promise(() => {}); // Infinite wait
177
+ },
178
+ asyncTimeout: 5000,
179
+ },
180
+ async play({ canvasElement }) {
181
+ const canvas = within(canvasElement);
182
+ const button = canvas.getByRole('button');
183
+ await userEvent.click(button);
184
+ },
185
+ };
186
+
187
+ export const AsyncButtonFailure: Story = {
188
+ ...AsyncButton,
189
+ name: 'Async Button [failure]',
190
+ args: {
191
+ ...PrimaryStory.args,
192
+ label: 'Trigger failure',
193
+ async onPress() {
194
+ await delay(1000);
195
+ await new Promise((_, reject) => { reject(new Error('Something went wrong')); });
196
+ },
197
+ },
198
+ };
199
+
200
+ const Form = (props: React.ComponentPropsWithRef<'form'>) => {
201
+ const [error, submitAction, isPending] = React.useActionState(
202
+ async (previousState: unknown, formData: FormData) => {
203
+ const delay = (timeMs: number) => new Promise(resolve => window.setTimeout(resolve, timeMs));
204
+ await delay(2000);
205
+ //console.log([...formData.keys()]);
206
+ return null;
207
+ },
208
+ null,
209
+ );
210
+
211
+ return <form action={submitAction} {...props}/>;
212
+ };
213
+ export const FormActionButton: Story = {
214
+ ...PrimaryStory,
215
+ args: {
216
+ ...PrimaryStory.args,
217
+ label: 'Submit form',
218
+ onPress: undefined,
219
+ },
220
+ render: (args) => (
221
+ <Form>
222
+ <label>Name: <input type="text" name="name"/></label>
223
+ <Button {...args}/>
224
+ </Form>
225
+ ),
226
+ };
227
+
228
+ export const CustomContent: Story = {
229
+ ...PrimaryStory,
230
+ args: {
231
+ ...PrimaryStory.args,
232
+ children: (
233
+ <span style={{ textDecoration: 'underline' }}>
234
+ Custom content
235
+ </span>
236
+ ),
237
+ },
238
+ };
239
+
240
+ export const CustomContentWithIconBefore: Story = {
241
+ ...PrimaryStory,
242
+ name: 'Custom Content – With icon (before)',
243
+ args: {
244
+ ...PrimaryStory.args,
245
+ children: <>
246
+ <Icon icon="success" className="icon"/>
247
+ Button with icon
248
+ </>,
249
+ },
250
+ };
251
+
252
+ export const CustomContentWithIconAfter: Story = {
253
+ ...PrimaryStory,
254
+ name: 'Custom Content – With icon (after)',
255
+ args: {
256
+ ...PrimaryStory.args,
257
+ children: <>
258
+ Button with icon
259
+ <Icon icon="caret-down" className="icon"/>
260
+ </>,
261
+ },
262
+ };
@@ -0,0 +1,133 @@
1
+ /* Copyright (c) Fortanix, Inc.
2
+ |* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of
3
+ |* the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
+
5
+ import { timeout } from '../../../util/time.ts';
6
+
7
+ import { classNames as cx, type ComponentProps } from '../../../util/componentUtil.ts';
8
+ import * as React from 'react';
9
+
10
+ import { Spinner } from '../../graphics/Spinner/Spinner.tsx';
11
+
12
+ import cl from './Button.module.scss';
13
+
14
+
15
+ export const internalSubmitSymbol = Symbol('baklava.Button.internalSubmit');
16
+
17
+ export { cl as ButtonClassNames };
18
+
19
+ export type ButtonProps = React.PropsWithChildren<Omit<ComponentProps<'button'>, 'type'> & {
20
+ /** Whether this component should be unstyled. */
21
+ unstyled?: undefined | boolean,
22
+
23
+ /**
24
+ * The label of the button. Additional UI elements may be added, e.g. a loading indicator. If full control over
25
+ * the button content is desired, use `children` instead, this overrides the `label`.
26
+ */
27
+ label?: undefined | string,
28
+
29
+ /** What variant the button is, from higher prominance to lower. */
30
+ variant?: undefined | 'primary' | 'secondary' | 'tertiary',
31
+
32
+ /**
33
+ * Whether the button is in "nonactive" state. This is a variant of `disabled`, but instead of completely graying
34
+ * out the button, it only becomes a muted variation of the button's appearance. When true, also implies `disabled`.
35
+ */
36
+ nonactive?: undefined | boolean,
37
+
38
+ /** Time (in ms) after which async actions will trigger a failure */
39
+ asyncTimeout?: number,
40
+
41
+ /** Event handler for button press events. */
42
+ onPress?: undefined | (() => void | Promise<void>),
43
+ }>;
44
+ /**
45
+ * Button component.
46
+ */
47
+ export const Button = (props: ButtonProps) => {
48
+ const {
49
+ children,
50
+ unstyled = false,
51
+ label,
52
+ nonactive = false,
53
+ variant = 'tertiary',
54
+ onPress,
55
+ asyncTimeout = 30_000,
56
+ ...propsRest
57
+ } = props;
58
+
59
+ const [isPressPending, startPressTransition] = React.useTransition();
60
+
61
+ const isPending = isPressPending;
62
+ const isInteractive = !propsRest.disabled && !nonactive && !isPending;
63
+ const isNonactive = nonactive || isPending;
64
+
65
+ const handlePress = React.useCallback(() => {
66
+ if (typeof onPress !== 'function') { return; }
67
+
68
+ startPressTransition(async () => {
69
+ await Promise.race([onPress(), timeout(asyncTimeout)]);
70
+ });
71
+ }, [onPress, asyncTimeout]);
72
+
73
+ const handleClick = React.useCallback(async (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
74
+ // `onClick` should not be used in most cases, only if the consumer needs low level control over click events.
75
+ // Instead, use `onPress` or a `<form>` component with `action`.
76
+ props.onClick?.(event); // Call this first, to allow cancellation
77
+
78
+ if (!isInteractive) { return; }
79
+
80
+ if (typeof onPress === 'function') {
81
+ event.preventDefault();
82
+ handlePress();
83
+ }
84
+
85
+ // Fallback: trigger default browser action (e.g. form submit)
86
+ }, [props.onClick, isInteractive, onPress, handlePress]);
87
+
88
+ const renderContent = (): React.ReactNode => {
89
+ // If `children` is specified, that overrides the button content
90
+ if (children) {
91
+ return children;
92
+ }
93
+
94
+ return (
95
+ <>
96
+ {isPending && <Spinner className="icon" inline/>}
97
+ {label}
98
+ </>
99
+ );
100
+ };
101
+
102
+ // We do not support `type="submit"`, because we want to prevent accidental form submission without a proper form
103
+ // context. Use `SubmitButton` instead.
104
+ // biome-ignore lint/suspicious/noExplicitAny: `type` is not in the public type but can be there for internal use
105
+ const type: unknown = (propsRest as any).type;
106
+ let buttonType: undefined | 'submit' = undefined;
107
+
108
+ if (type === 'submit') {
109
+ throw new Error(`Button component cannot have type 'submit', use SubmitButton instead.`);
110
+ }
111
+ if (type === internalSubmitSymbol) { // Internal use only
112
+ buttonType = 'submit';
113
+ }
114
+
115
+ return (
116
+ <button
117
+ {...propsRest}
118
+ type={buttonType} // Not overridable
119
+ disabled={!isInteractive}
120
+ className={cx({
121
+ bk: true,
122
+ [cl['bk-button']]: !unstyled,
123
+ [cl['bk-button--primary']]: variant === 'primary',
124
+ [cl['bk-button--secondary']]: variant === 'secondary',
125
+ [cl['bk-button--nonactive']]: isNonactive,
126
+ [cl['bk-button--disabled']]: !isInteractive,
127
+ }, props.className)}
128
+ onClick={handleClick}
129
+ >
130
+ {renderContent()}
131
+ </button>
132
+ );
133
+ };
@@ -0,0 +1,13 @@
1
+ /* Copyright (c) Fortanix, Inc.
2
+ |* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of
3
+ |* the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
+
5
+ @use '../../../styling/defs.scss' as bk;
6
+
7
+ @layer baklava.components {
8
+ .bk-button-as-link {
9
+ /* appearance: none; */
10
+ /* -webkit-appearance: none; */
11
+ vertical-align: bottom; /* Buttons by default seem to have `vertical-align: baseline`, even with reset */
12
+ }
13
+ }