@lateralus-ai/shipping-ui 1.4.15 → 2.0.0-dev.0

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 (438) hide show
  1. package/README.md +70 -53
  2. package/dist/components/Checkbox.d.ts +9 -0
  3. package/dist/components/Chip.d.ts +15 -0
  4. package/dist/components/EmptyState.d.ts +10 -0
  5. package/dist/components/Entry.d.ts +13 -0
  6. package/dist/components/Header.d.ts +9 -0
  7. package/dist/components/Input.d.ts +11 -0
  8. package/dist/components/InputType.d.ts +10 -0
  9. package/dist/components/ModalPanel.d.ts +7 -7
  10. package/dist/components/PdfViewer/ImageViewer.d.ts +2 -2
  11. package/dist/components/PdfViewer/PdfViewer.d.ts +2 -2
  12. package/dist/components/ReportInput.d.ts +10 -0
  13. package/dist/components/Tab.d.ts +7 -0
  14. package/dist/components/Tabs.d.ts +11 -12
  15. package/dist/components/index.d.ts +11 -4
  16. package/dist/domain/Filters/FilterPill.d.ts +6 -0
  17. package/dist/domain/Filters/FilteredPill.d.ts +8 -0
  18. package/dist/domain/Filters/FiltersBar.d.ts +12 -0
  19. package/dist/domain/Filters/index.d.ts +3 -0
  20. package/dist/domain/Forms/FormCard.d.ts +12 -0
  21. package/dist/domain/Forms/FormHeader.d.ts +8 -0
  22. package/dist/domain/Forms/ListRow.d.ts +8 -0
  23. package/dist/domain/Forms/RiskMeter.d.ts +8 -0
  24. package/dist/domain/Forms/index.d.ts +4 -0
  25. package/dist/domain/Library/File.d.ts +8 -0
  26. package/dist/domain/Library/Folder.d.ts +8 -0
  27. package/dist/domain/Library/Folders.d.ts +11 -0
  28. package/dist/domain/Library/ListRow.d.ts +8 -0
  29. package/dist/domain/Library/Navigation.d.ts +7 -0
  30. package/dist/domain/Library/index.d.ts +5 -0
  31. package/dist/domain/Report/InfoHeading.d.ts +7 -0
  32. package/dist/domain/Report/InfoRow.d.ts +8 -0
  33. package/dist/domain/Report/Report.d.ts +7 -0
  34. package/dist/domain/Report/SectionHeader.d.ts +10 -0
  35. package/dist/domain/Report/TaskRow.d.ts +11 -0
  36. package/dist/domain/Report/index.d.ts +5 -0
  37. package/dist/domain/Settings/EquipmentRow.d.ts +8 -0
  38. package/dist/domain/Settings/MemberRow.d.ts +11 -0
  39. package/dist/domain/Settings/SettingRow.d.ts +10 -0
  40. package/dist/domain/Settings/index.d.ts +3 -0
  41. package/dist/domain/Ships/ShipRow.d.ts +10 -0
  42. package/dist/domain/Ships/index.d.ts +1 -0
  43. package/dist/domain/Workflows/GroupHeader.d.ts +8 -0
  44. package/dist/domain/Workflows/Importance.d.ts +8 -0
  45. package/dist/domain/Workflows/Progress.d.ts +7 -0
  46. package/dist/domain/Workflows/Question.d.ts +9 -0
  47. package/dist/domain/Workflows/StatusPopover.d.ts +7 -0
  48. package/dist/domain/Workflows/Task.d.ts +9 -0
  49. package/dist/domain/Workflows/TaskHeader.d.ts +9 -0
  50. package/dist/domain/Workflows/WorkflowFilters.d.ts +6 -0
  51. package/dist/domain/Workflows/WorkflowForm.d.ts +8 -0
  52. package/dist/domain/Workflows/WorkflowHeader.d.ts +11 -0
  53. package/dist/domain/Workflows/WorkflowListItem.d.ts +11 -0
  54. package/dist/domain/Workflows/WorkflowProgress.d.ts +6 -0
  55. package/dist/domain/Workflows/WorkflowRow.d.ts +10 -0
  56. package/dist/domain/Workflows/index.d.ts +13 -0
  57. package/dist/domain/index.d.ts +7 -0
  58. package/dist/icons/ArrowIcon.d.ts +8 -0
  59. package/dist/icons/ChevronIcon.d.ts +8 -0
  60. package/dist/icons/Icon.d.ts +96 -0
  61. package/dist/icons/arrow-paths.d.ts +12 -0
  62. package/dist/icons/chevron-paths.d.ts +27 -0
  63. package/dist/icons/createIcon.d.ts +34 -0
  64. package/dist/icons/generated.d.ts +68 -0
  65. package/dist/icons/icon-sizes.d.ts +5 -0
  66. package/dist/icons/icons-data.d.ts +1023 -0
  67. package/dist/icons/index.d.ts +13 -0
  68. package/dist/icons/types.d.ts +10 -0
  69. package/dist/illustrations/AuditPreparation.d.ts +4 -0
  70. package/dist/illustrations/CompletedTasks.d.ts +4 -0
  71. package/dist/illustrations/Creation.d.ts +4 -0
  72. package/dist/illustrations/InternalAudit.d.ts +4 -0
  73. package/dist/illustrations/Invite.d.ts +4 -0
  74. package/dist/illustrations/PortStateControl.d.ts +4 -0
  75. package/dist/illustrations/Processing.d.ts +4 -0
  76. package/dist/illustrations/QuestionsDone.d.ts +4 -0
  77. package/dist/illustrations/RightShipInspection.d.ts +4 -0
  78. package/dist/illustrations/Upload.d.ts +4 -0
  79. package/dist/illustrations/WorkflowCreated.d.ts +4 -0
  80. package/dist/illustrations/Workflows.d.ts +4 -0
  81. package/dist/illustrations/createIllustration.d.ts +11 -0
  82. package/dist/illustrations/index.d.ts +13 -0
  83. package/dist/index.cjs +64 -80
  84. package/dist/index.d.ts +9 -3
  85. package/dist/index.esm.js +10964 -36537
  86. package/dist/patterns/Chat/Attachment.d.ts +6 -0
  87. package/dist/patterns/Chat/ChatEntry.d.ts +10 -0
  88. package/dist/patterns/Chat/ChatHeader.d.ts +7 -0
  89. package/dist/patterns/Chat/ChatInput.d.ts +5 -0
  90. package/dist/patterns/Chat/ChatStatus.d.ts +6 -0
  91. package/dist/patterns/Chat/ChatTile.d.ts +9 -0
  92. package/dist/patterns/Chat/Copilot.d.ts +8 -0
  93. package/dist/patterns/Chat/Draft.d.ts +5 -0
  94. package/dist/patterns/Chat/Greeting.d.ts +7 -0
  95. package/dist/patterns/Chat/Reference.d.ts +6 -0
  96. package/dist/patterns/Chat/Source.d.ts +6 -0
  97. package/dist/patterns/Chat/Sources.d.ts +5 -0
  98. package/dist/patterns/Chat/Suggestion.d.ts +5 -0
  99. package/dist/patterns/Chat/Suggestions.d.ts +4 -0
  100. package/dist/patterns/Chat/index.d.ts +14 -0
  101. package/dist/patterns/Modal/Invitee.d.ts +8 -0
  102. package/dist/patterns/Modal/ModalFooter.d.ts +6 -0
  103. package/dist/patterns/Modal/ModalHeader.d.ts +10 -0
  104. package/dist/patterns/Modal/index.d.ts +3 -0
  105. package/dist/patterns/Search/Pill.d.ts +10 -0
  106. package/dist/patterns/Search/PillInfo.d.ts +8 -0
  107. package/dist/patterns/Search/ResultRow.d.ts +10 -0
  108. package/dist/patterns/Search/SearchModal.d.ts +6 -0
  109. package/dist/patterns/Search/SectionHeader.d.ts +5 -0
  110. package/dist/patterns/Search/index.d.ts +5 -0
  111. package/dist/patterns/Sidebar/Account.d.ts +22 -0
  112. package/dist/patterns/Sidebar/ActivityNavGroup.d.ts +17 -0
  113. package/dist/patterns/Sidebar/CollapsibleNavGroup.d.ts +24 -0
  114. package/dist/patterns/Sidebar/Indicator.d.ts +6 -0
  115. package/dist/patterns/Sidebar/NewChat.d.ts +10 -0
  116. package/dist/patterns/Sidebar/Sidebar.d.ts +13 -0
  117. package/dist/patterns/Sidebar/SidebarAction.d.ts +11 -0
  118. package/dist/patterns/Sidebar/SidebarEntry.d.ts +25 -0
  119. package/dist/patterns/Sidebar/SidebarHeading.d.ts +11 -0
  120. package/dist/patterns/Sidebar/SidebarLink.d.ts +22 -0
  121. package/dist/patterns/Sidebar/SidebarShell.d.ts +11 -0
  122. package/dist/patterns/Sidebar/Switcher.d.ts +8 -0
  123. package/dist/patterns/Sidebar/constants.d.ts +2 -0
  124. package/dist/patterns/Sidebar/figma-assets.d.ts +3 -0
  125. package/dist/patterns/Sidebar/figma-demo-content.d.ts +75 -0
  126. package/dist/patterns/Sidebar/figma-sidebar-nav.d.ts +12 -0
  127. package/dist/patterns/Sidebar/index.d.ts +13 -0
  128. package/dist/patterns/Sidebar/sidebar-styles.d.ts +45 -0
  129. package/dist/patterns/Skeleton/Skeleton.d.ts +6 -0
  130. package/dist/patterns/Skeleton/index.d.ts +1 -0
  131. package/dist/patterns/index.d.ts +5 -0
  132. package/dist/primitives/Avatar.d.ts +10 -0
  133. package/dist/primitives/Badge.d.ts +11 -0
  134. package/dist/primitives/Button.d.ts +13 -0
  135. package/dist/primitives/Callout.d.ts +7 -0
  136. package/dist/primitives/Count.d.ts +5 -0
  137. package/dist/primitives/DropdownMenu.d.ts +15 -0
  138. package/dist/primitives/GroupedAvatars.d.ts +7 -0
  139. package/dist/primitives/IconButton.d.ts +16 -0
  140. package/dist/primitives/Logo.d.ts +8 -0
  141. package/dist/primitives/MenuItem.d.ts +7 -0
  142. package/dist/primitives/Switch.d.ts +7 -0
  143. package/dist/primitives/ThinkingDot.d.ts +4 -0
  144. package/dist/primitives/Tooltip.d.ts +12 -0
  145. package/dist/primitives/index.d.ts +13 -0
  146. package/dist/style.css +1 -1
  147. package/dist/tailwind-theme.d.ts +234 -198
  148. package/dist/tokens/colors.d.ts +148 -0
  149. package/dist/tokens/elevation.d.ts +11 -0
  150. package/dist/tokens/index.d.ts +4 -0
  151. package/dist/tokens/semantic.d.ts +89 -0
  152. package/dist/tokens/typography.d.ts +85 -0
  153. package/package.json +27 -5
  154. package/src/components/Checkbox.tsx +77 -0
  155. package/src/components/Chip.tsx +69 -0
  156. package/src/components/EmptyState.tsx +44 -0
  157. package/src/components/Entry.tsx +64 -0
  158. package/src/components/Header.tsx +39 -0
  159. package/src/components/Input.tsx +69 -0
  160. package/src/components/InputType.tsx +76 -0
  161. package/src/components/ModalPanel.tsx +22 -37
  162. package/src/components/PdfViewer/ImageViewer.tsx +121 -182
  163. package/src/components/PdfViewer/PdfViewer.tsx +103 -155
  164. package/src/components/ReportInput.tsx +65 -0
  165. package/src/components/Tab.tsx +33 -0
  166. package/src/components/Tabs.tsx +43 -38
  167. package/src/components/index.ts +11 -4
  168. package/src/domain/Filters/FilterPill.tsx +25 -0
  169. package/src/domain/Filters/FilteredPill.tsx +39 -0
  170. package/src/domain/Filters/FiltersBar.tsx +76 -0
  171. package/src/domain/Filters/index.ts +3 -0
  172. package/src/domain/Forms/FormCard.tsx +61 -0
  173. package/src/domain/Forms/FormHeader.tsx +34 -0
  174. package/src/domain/Forms/ListRow.tsx +40 -0
  175. package/src/domain/Forms/RiskMeter.tsx +50 -0
  176. package/src/domain/Forms/index.ts +4 -0
  177. package/src/domain/Library/File.tsx +59 -0
  178. package/src/domain/Library/Folder.tsx +55 -0
  179. package/src/domain/Library/Folders.tsx +43 -0
  180. package/src/domain/Library/ListRow.tsx +40 -0
  181. package/src/domain/Library/Navigation.tsx +31 -0
  182. package/src/domain/Library/index.ts +5 -0
  183. package/src/domain/Report/InfoHeading.tsx +25 -0
  184. package/src/domain/Report/InfoRow.tsx +35 -0
  185. package/src/domain/Report/Report.tsx +53 -0
  186. package/src/domain/Report/SectionHeader.tsx +43 -0
  187. package/src/domain/Report/TaskRow.tsx +57 -0
  188. package/src/domain/Report/index.ts +5 -0
  189. package/src/domain/Settings/EquipmentRow.tsx +39 -0
  190. package/src/domain/Settings/MemberRow.tsx +53 -0
  191. package/src/domain/Settings/SettingRow.tsx +66 -0
  192. package/src/domain/Settings/index.ts +3 -0
  193. package/src/domain/Ships/ShipRow.tsx +49 -0
  194. package/src/domain/Ships/index.ts +1 -0
  195. package/src/domain/Workflows/GroupHeader.tsx +48 -0
  196. package/src/domain/Workflows/Importance.tsx +48 -0
  197. package/src/domain/Workflows/Progress.tsx +55 -0
  198. package/src/domain/Workflows/Question.tsx +42 -0
  199. package/src/domain/Workflows/StatusPopover.tsx +53 -0
  200. package/src/domain/Workflows/Task.tsx +46 -0
  201. package/src/domain/Workflows/TaskHeader.tsx +51 -0
  202. package/src/domain/Workflows/WorkflowFilters.tsx +40 -0
  203. package/src/domain/Workflows/WorkflowForm.tsx +40 -0
  204. package/src/domain/Workflows/WorkflowHeader.tsx +62 -0
  205. package/src/domain/Workflows/WorkflowListItem.tsx +45 -0
  206. package/src/domain/Workflows/WorkflowProgress.tsx +36 -0
  207. package/src/domain/Workflows/WorkflowRow.tsx +43 -0
  208. package/src/domain/Workflows/index.ts +13 -0
  209. package/src/domain/index.ts +37 -0
  210. package/src/icons/ArrowIcon.tsx +42 -0
  211. package/src/icons/ChevronIcon.tsx +42 -0
  212. package/src/icons/Icon.tsx +184 -0
  213. package/src/icons/arrow-paths.ts +8 -0
  214. package/src/icons/chevron-paths.ts +17 -0
  215. package/src/icons/createIcon.tsx +128 -0
  216. package/src/icons/generated.tsx +71 -0
  217. package/src/icons/icon-sizes.ts +20 -0
  218. package/src/icons/icons-data.ts +656 -0
  219. package/src/icons/index.ts +25 -0
  220. package/src/icons/types.ts +18 -0
  221. package/src/illustrations/AuditPreparation.tsx +15 -0
  222. package/src/illustrations/CompletedTasks.tsx +16 -0
  223. package/src/illustrations/Creation.tsx +13 -0
  224. package/src/illustrations/InternalAudit.tsx +13 -0
  225. package/src/illustrations/Invite.tsx +13 -0
  226. package/src/illustrations/PortStateControl.tsx +13 -0
  227. package/src/illustrations/Processing.tsx +17 -0
  228. package/src/illustrations/QuestionsDone.tsx +16 -0
  229. package/src/illustrations/RightShipInspection.tsx +18 -0
  230. package/src/illustrations/Upload.tsx +12 -0
  231. package/src/illustrations/WorkflowCreated.tsx +13 -0
  232. package/src/illustrations/Workflows.tsx +13 -0
  233. package/src/illustrations/createIllustration.tsx +30 -0
  234. package/src/illustrations/index.ts +14 -0
  235. package/src/index.ts +49 -3
  236. package/src/patterns/Chat/Attachment.tsx +27 -0
  237. package/src/patterns/Chat/ChatEntry.tsx +41 -0
  238. package/src/patterns/Chat/ChatHeader.tsx +39 -0
  239. package/src/patterns/Chat/ChatInput.tsx +35 -0
  240. package/src/patterns/Chat/ChatStatus.tsx +26 -0
  241. package/src/patterns/Chat/ChatTile.tsx +40 -0
  242. package/src/patterns/Chat/Copilot.tsx +50 -0
  243. package/src/patterns/Chat/Draft.tsx +23 -0
  244. package/src/patterns/Chat/Greeting.tsx +32 -0
  245. package/src/patterns/Chat/Reference.tsx +26 -0
  246. package/src/patterns/Chat/Source.tsx +27 -0
  247. package/src/patterns/Chat/Sources.tsx +23 -0
  248. package/src/patterns/Chat/Suggestion.tsx +23 -0
  249. package/src/patterns/Chat/Suggestions.tsx +21 -0
  250. package/src/patterns/Chat/index.ts +14 -0
  251. package/src/patterns/Modal/Invitee.tsx +44 -0
  252. package/src/patterns/Modal/ModalFooter.tsx +39 -0
  253. package/src/patterns/Modal/ModalHeader.tsx +77 -0
  254. package/src/patterns/Modal/index.ts +3 -0
  255. package/src/patterns/Search/Pill.tsx +44 -0
  256. package/src/patterns/Search/PillInfo.tsx +41 -0
  257. package/src/patterns/Search/ResultRow.tsx +52 -0
  258. package/src/patterns/Search/SearchModal.tsx +88 -0
  259. package/src/patterns/Search/SectionHeader.tsx +20 -0
  260. package/src/patterns/Search/index.ts +5 -0
  261. package/src/patterns/Sidebar/Account.tsx +193 -0
  262. package/src/patterns/Sidebar/ActivityNavGroup.tsx +71 -0
  263. package/src/patterns/Sidebar/CollapsibleNavGroup.tsx +106 -0
  264. package/src/patterns/Sidebar/Indicator.tsx +14 -0
  265. package/src/patterns/Sidebar/NewChat.tsx +71 -0
  266. package/src/patterns/Sidebar/Sidebar.tsx +363 -0
  267. package/src/patterns/Sidebar/SidebarAction.tsx +55 -0
  268. package/src/patterns/Sidebar/SidebarEntry.tsx +129 -0
  269. package/src/patterns/Sidebar/SidebarHeading.tsx +38 -0
  270. package/src/patterns/Sidebar/SidebarLink.tsx +125 -0
  271. package/src/patterns/Sidebar/SidebarShell.tsx +32 -0
  272. package/src/patterns/Sidebar/Switcher.tsx +116 -0
  273. package/src/patterns/Sidebar/assets/account-avatar-24.jpg +0 -0
  274. package/src/patterns/Sidebar/assets/account-avatar.jpg +0 -0
  275. package/src/patterns/Sidebar/assets/indicator-compliance.png +0 -0
  276. package/src/patterns/Sidebar/assets/indicator-technical.png +0 -0
  277. package/src/patterns/Sidebar/assets/logo-compliance-mark.png +5 -0
  278. package/src/patterns/Sidebar/assets/logo-compliance-mask.png +13 -0
  279. package/src/patterns/Sidebar/assets/logo-compliance.svg +17 -0
  280. package/src/patterns/Sidebar/assets/logo-technical-avatar.svg +17 -0
  281. package/src/patterns/Sidebar/assets/logo-technical-mark.png +5 -0
  282. package/src/patterns/Sidebar/assets/logo-technical.svg +16 -0
  283. package/src/patterns/Sidebar/constants.ts +2 -0
  284. package/src/patterns/Sidebar/figma-assets.ts +4 -0
  285. package/src/patterns/Sidebar/figma-demo-content.ts +30 -0
  286. package/src/patterns/Sidebar/figma-sidebar-nav.ts +79 -0
  287. package/src/patterns/Sidebar/index.ts +13 -0
  288. package/src/patterns/Sidebar/sidebar-styles.ts +101 -0
  289. package/src/patterns/Skeleton/Skeleton.tsx +57 -0
  290. package/src/patterns/Skeleton/index.ts +1 -0
  291. package/src/patterns/index.ts +5 -0
  292. package/src/primitives/Avatar.tsx +71 -0
  293. package/src/primitives/Badge.tsx +34 -0
  294. package/src/primitives/Button.tsx +67 -0
  295. package/src/primitives/Callout.tsx +21 -0
  296. package/src/primitives/Count.tsx +18 -0
  297. package/src/primitives/DropdownMenu.tsx +60 -0
  298. package/src/primitives/GroupedAvatars.tsx +36 -0
  299. package/src/primitives/IconButton.tsx +56 -0
  300. package/src/primitives/Logo.tsx +43 -0
  301. package/src/primitives/MenuItem.tsx +35 -0
  302. package/src/primitives/Switch.tsx +38 -0
  303. package/src/primitives/ThinkingDot.tsx +34 -0
  304. package/src/primitives/Tooltip.tsx +42 -0
  305. package/src/primitives/index.ts +13 -0
  306. package/src/stories/_layout/FigmaPage.tsx +94 -0
  307. package/src/stories/_layout/index.ts +8 -0
  308. package/src/stories/canvases/ButtonsCanvas.tsx +57 -0
  309. package/src/stories/canvases/ButtonsMatrixCanvas.tsx +64 -0
  310. package/src/stories/canvases/ChatCanvas.tsx +130 -0
  311. package/src/stories/canvases/ColorTokensCanvas.tsx +16 -0
  312. package/src/stories/canvases/ColorsCanvas.tsx +101 -0
  313. package/src/stories/canvases/ContentCanvas.tsx +88 -0
  314. package/src/stories/canvases/CoreCanvas.tsx +125 -0
  315. package/src/stories/canvases/DomainFormsCanvas.tsx +67 -0
  316. package/src/stories/canvases/FiltersCanvas.tsx +41 -0
  317. package/src/stories/canvases/FormsCanvas.tsx +71 -0
  318. package/src/stories/canvases/IconsCanvas.tsx +99 -0
  319. package/src/stories/canvases/IllustrationsCanvas.tsx +50 -0
  320. package/src/stories/canvases/LibraryCanvas.tsx +67 -0
  321. package/src/stories/canvases/ModalsCanvas.tsx +54 -0
  322. package/src/stories/canvases/RaiseLevelsCanvas.tsx +27 -0
  323. package/src/stories/canvases/ReportCanvas.tsx +33 -0
  324. package/src/stories/canvases/ReportLayoutCanvas.tsx +19 -0
  325. package/src/stories/canvases/SearchCanvas.tsx +65 -0
  326. package/src/stories/canvases/SettingsCanvas.tsx +41 -0
  327. package/src/stories/canvases/ShipsCanvas.tsx +38 -0
  328. package/src/stories/canvases/SidebarCanvas.tsx +147 -0
  329. package/src/stories/canvases/SidebarLayoutsCanvas.tsx +71 -0
  330. package/src/stories/canvases/SidebarPlayground.tsx +35 -0
  331. package/src/stories/canvases/SkeletonsCanvas.tsx +30 -0
  332. package/src/stories/canvases/TypographyCanvas.tsx +53 -0
  333. package/src/stories/canvases/WorkflowsCanvas.tsx +129 -0
  334. package/src/stories/canvases/figma-icons-layout.ts +318 -0
  335. package/src/stories/canvases/figma-sidebar-layout.ts +212 -0
  336. package/src/stories/canvases/figma-sidebar-layouts-layout.ts +84 -0
  337. package/src/stories/canvases/figma-widths.ts +28 -0
  338. package/src/stories/canvases/helpers.tsx +163 -0
  339. package/src/stories/components/Buttons.stories.tsx +12 -0
  340. package/src/stories/components/Chat.stories.tsx +12 -0
  341. package/src/stories/components/Content.stories.tsx +12 -0
  342. package/src/stories/components/Core.stories.tsx +12 -0
  343. package/src/stories/components/DomainForms.stories.tsx +12 -0
  344. package/src/stories/components/Filters.stories.tsx +12 -0
  345. package/src/stories/components/Forms.stories.tsx +12 -0
  346. package/src/stories/components/Icons.stories.tsx +12 -0
  347. package/src/stories/components/Illustrations.stories.tsx +12 -0
  348. package/src/stories/components/Library.stories.tsx +12 -0
  349. package/src/stories/components/Modals.stories.tsx +12 -0
  350. package/src/stories/components/Report.stories.tsx +12 -0
  351. package/src/stories/components/ReportLayout.stories.tsx +12 -0
  352. package/src/stories/components/Search.stories.tsx +12 -0
  353. package/src/stories/components/Settings.stories.tsx +12 -0
  354. package/src/stories/components/Ships.stories.tsx +12 -0
  355. package/src/stories/components/Sidebar.stories.tsx +37 -0
  356. package/src/stories/components/SidebarLayouts.stories.tsx +12 -0
  357. package/src/stories/components/Skeletons.stories.tsx +12 -0
  358. package/src/stories/components/Workflows.stories.tsx +12 -0
  359. package/src/stories/style-guide/Buttons.stories.tsx +12 -0
  360. package/src/stories/style-guide/ColorTokens.stories.tsx +12 -0
  361. package/src/stories/style-guide/Colors.stories.tsx +12 -0
  362. package/src/stories/style-guide/RaiseLevels.stories.tsx +12 -0
  363. package/src/stories/style-guide/Typography.stories.tsx +12 -0
  364. package/src/style.css +169 -2
  365. package/src/tailwind-theme.ts +164 -240
  366. package/src/tokens/colors.ts +82 -0
  367. package/src/tokens/elevation.ts +12 -0
  368. package/src/tokens/index.ts +4 -0
  369. package/src/tokens/semantic.ts +89 -0
  370. package/src/tokens/typography.ts +21 -0
  371. package/dist/components/HelloWorld.d.ts +0 -1
  372. package/dist/components/InputPrompt.d.ts +0 -20
  373. package/dist/components/SearchModal.d.ts +0 -24
  374. package/dist/components/Sidebar/Button.d.ts +0 -7
  375. package/dist/components/Sidebar/Container.d.ts +0 -5
  376. package/dist/components/Sidebar/Item.d.ts +0 -9
  377. package/dist/components/Sidebar/Layout.d.ts +0 -10
  378. package/dist/components/Sidebar/Provider.d.ts +0 -14
  379. package/dist/components/Sidebar/SecondaryItem.d.ts +0 -9
  380. package/dist/components/Sidebar/SideContainer.d.ts +0 -5
  381. package/dist/components/Sidebar/ToggleCollapseButton.d.ts +0 -1
  382. package/dist/components/Sidebar/index.d.ts +0 -8
  383. package/dist/components/icons/CloseSidebarIcon.d.ts +0 -2
  384. package/dist/components/icons/CloseSidebarMidIcon.d.ts +0 -1
  385. package/dist/components/icons/ExpandIcon.d.ts +0 -3
  386. package/dist/components/icons/SendArrowIcon.d.ts +0 -4
  387. package/dist/components/icons/SendArrowIconGreen.d.ts +0 -4
  388. package/dist/components/icons/SettingsIcon.d.ts +0 -3
  389. package/dist/components/icons/XIcon.d.ts +0 -3
  390. package/dist/material-theme.d.ts +0 -442
  391. package/dist/stories/Buttons.d.ts +0 -1
  392. package/dist/stories/Checkbox.d.ts +0 -1
  393. package/dist/stories/ColorPalette.d.ts +0 -1
  394. package/dist/stories/Dropdowns.d.ts +0 -1
  395. package/dist/stories/InputPrompt.d.ts +0 -1
  396. package/dist/stories/SearchModal.d.ts +0 -1
  397. package/dist/stories/Sidebar.d.ts +0 -1
  398. package/dist/stories/Typography.d.ts +0 -1
  399. package/src/components/HelloWorld.tsx +0 -3
  400. package/src/components/InputPrompt.tsx +0 -96
  401. package/src/components/SearchModal.tsx +0 -320
  402. package/src/components/Sidebar/Button.tsx +0 -20
  403. package/src/components/Sidebar/Container.tsx +0 -31
  404. package/src/components/Sidebar/Item.tsx +0 -39
  405. package/src/components/Sidebar/Layout.tsx +0 -32
  406. package/src/components/Sidebar/Provider.tsx +0 -47
  407. package/src/components/Sidebar/SecondaryItem.tsx +0 -39
  408. package/src/components/Sidebar/SideContainer.tsx +0 -31
  409. package/src/components/Sidebar/ToggleCollapseButton.tsx +0 -24
  410. package/src/components/Sidebar/index.ts +0 -8
  411. package/src/components/icons/CloseSidebarIcon.tsx +0 -19
  412. package/src/components/icons/CloseSidebarMidIcon.tsx +0 -19
  413. package/src/components/icons/ExpandIcon.tsx +0 -21
  414. package/src/components/icons/SendArrowIcon.tsx +0 -23
  415. package/src/components/icons/SendArrowIconGreen.tsx +0 -17
  416. package/src/components/icons/SettingsIcon.tsx +0 -33
  417. package/src/components/icons/XIcon.tsx +0 -21
  418. package/src/material-theme.ts +0 -477
  419. package/src/stories/Buttons.stories.tsx +0 -15
  420. package/src/stories/Buttons.tsx +0 -52
  421. package/src/stories/Checkbox.stories.tsx +0 -15
  422. package/src/stories/Checkbox.tsx +0 -56
  423. package/src/stories/ColorPalette.stories.tsx +0 -15
  424. package/src/stories/ColorPalette.tsx +0 -85
  425. package/src/stories/DocumentEditor.stories.tsx +0 -287
  426. package/src/stories/Dropdowns.stories.tsx +0 -15
  427. package/src/stories/Dropdowns.tsx +0 -52
  428. package/src/stories/InputPrompt.stories.tsx +0 -15
  429. package/src/stories/InputPrompt.tsx +0 -63
  430. package/src/stories/ModalHeader.stories.tsx +0 -36
  431. package/src/stories/PDFViewer.stories.tsx +0 -39
  432. package/src/stories/SearchModal.stories.tsx +0 -132
  433. package/src/stories/SearchModal.tsx +0 -82
  434. package/src/stories/Sidebar.stories.tsx +0 -15
  435. package/src/stories/Sidebar.tsx +0 -108
  436. package/src/stories/Tabs.stories.tsx +0 -51
  437. package/src/stories/Typography.stories.tsx +0 -15
  438. package/src/stories/Typography.tsx +0 -110
@@ -0,0 +1,40 @@
1
+ import { cn } from "../../utils/cn";
2
+ import { FormIcon } from "../../icons/generated";
3
+
4
+ export type WorkflowFormState = "idle" | "hover";
5
+
6
+ export type WorkflowFormProps = {
7
+ name?: string;
8
+ description?: string;
9
+ state?: WorkflowFormState;
10
+ className?: string;
11
+ };
12
+
13
+ const stateStyles: Record<WorkflowFormState, string> = {
14
+ idle: "bg-background-primary",
15
+ hover: "bg-background-secondary",
16
+ };
17
+
18
+ export const WorkflowForm = ({
19
+ name = "Safety Management Form",
20
+ description = "ISM Code compliance checklist",
21
+ state = "idle",
22
+ className,
23
+ }: WorkflowFormProps) => (
24
+ <div
25
+ className={cn(
26
+ "flex w-full items-center gap-4 rounded-control border border-divider-primary px-4 py-3 transition-colors",
27
+ stateStyles[state],
28
+ state === "idle" && "hover:bg-background-secondary",
29
+ className,
30
+ )}
31
+ >
32
+ <span className="flex size-10 shrink-0 items-center justify-center rounded-control bg-background-secondary">
33
+ <FormIcon size="small" />
34
+ </span>
35
+ <div className="min-w-0 flex-1">
36
+ <p className="text-caption-1-em text-display-on-light-primary">{name}</p>
37
+ <p className="text-caption-2 text-display-on-light-tertiary">{description}</p>
38
+ </div>
39
+ </div>
40
+ );
@@ -0,0 +1,62 @@
1
+ import { cn } from "../../utils/cn";
2
+ import { Badge } from "../../primitives/Badge";
3
+ import { WorkflowIcon } from "../../icons/generated";
4
+
5
+ export type WorkflowHeaderWorkflow = "audit-response" | "audit-preparation" | "monthly-forms";
6
+ export type WorkflowHeaderVariant = "created" | "pending";
7
+
8
+ export type WorkflowHeaderProps = {
9
+ workflow?: WorkflowHeaderWorkflow;
10
+ variant?: WorkflowHeaderVariant;
11
+ title?: string;
12
+ description?: string;
13
+ dueDate?: string;
14
+ className?: string;
15
+ };
16
+
17
+ const workflowTitles: Record<WorkflowHeaderWorkflow, string> = {
18
+ "audit-response": "Audit Response",
19
+ "audit-preparation": "Audit Preparation",
20
+ "monthly-forms": "Monthly Forms",
21
+ };
22
+
23
+ export const WorkflowHeader = ({
24
+ workflow = "audit-response",
25
+ variant = "created",
26
+ title,
27
+ description = "Prepare documentation and assign tasks for the upcoming inspection.",
28
+ dueDate = "Due 14 Jul 2026",
29
+ className,
30
+ }: WorkflowHeaderProps) => {
31
+ const displayTitle = title ?? workflowTitles[workflow];
32
+ const isPending = variant === "pending";
33
+
34
+ return (
35
+ <div
36
+ className={cn(
37
+ "w-full rounded-2xl border border-divider-primary bg-background-primary p-4",
38
+ className,
39
+ )}
40
+ >
41
+ <div className="flex items-start gap-4">
42
+ <span className="flex size-[46px] shrink-0 items-center justify-center rounded-control bg-background-secondary">
43
+ <WorkflowIcon size="large" />
44
+ </span>
45
+ <div className="min-w-0 flex-1">
46
+ <div className="flex flex-wrap items-center gap-2">
47
+ <h3 className="text-body-em text-display-on-light-primary">{displayTitle}</h3>
48
+ <Badge color={isPending ? "orange" : "green"}>
49
+ {isPending ? "Pending" : "Created"}
50
+ </Badge>
51
+ </div>
52
+ {!isPending && (
53
+ <>
54
+ <p className="mt-1 text-caption-2 text-display-on-light-secondary">{description}</p>
55
+ <p className="mt-2 text-caption-2-em text-display-on-light-tertiary">{dueDate}</p>
56
+ </>
57
+ )}
58
+ </div>
59
+ </div>
60
+ </div>
61
+ );
62
+ };
@@ -0,0 +1,45 @@
1
+ import { cn } from "../../utils/cn";
2
+ import { Avatar } from "../../primitives/Avatar";
3
+ import { WorkflowProgress } from "./WorkflowProgress";
4
+
5
+ export type WorkflowListItemHover = "on" | "off";
6
+ export type WorkflowListItemChief = "technical" | "compliance";
7
+
8
+ export type WorkflowListItemProps = {
9
+ title?: string;
10
+ subtitle?: string;
11
+ chief?: WorkflowListItemChief;
12
+ hover?: WorkflowListItemHover;
13
+ progress?: "37%" | "54%" | "91%";
14
+ className?: string;
15
+ };
16
+
17
+ const hoverStyles: Record<WorkflowListItemHover, string> = {
18
+ off: "bg-transparent",
19
+ on: "bg-background-secondary",
20
+ };
21
+
22
+ export const WorkflowListItem = ({
23
+ title = "Monthly safety review",
24
+ subtitle = "Updated 2 hours ago",
25
+ chief = "technical",
26
+ hover = "off",
27
+ progress = "37%",
28
+ className,
29
+ }: WorkflowListItemProps) => (
30
+ <div
31
+ className={cn(
32
+ "flex w-full items-center gap-4 rounded-control px-3 py-2 transition-colors",
33
+ hoverStyles[hover],
34
+ hover === "off" && "hover:bg-background-secondary",
35
+ className,
36
+ )}
37
+ >
38
+ <Avatar chief={chief} size={32} />
39
+ <div className="min-w-0 flex-1">
40
+ <p className="truncate text-caption-1-em text-display-on-light-primary">{title}</p>
41
+ <p className="truncate text-caption-2 text-display-on-light-tertiary">{subtitle}</p>
42
+ </div>
43
+ <WorkflowProgress progress={progress} />
44
+ </div>
45
+ );
@@ -0,0 +1,36 @@
1
+ import { cn } from "../../utils/cn";
2
+
3
+ export type WorkflowProgressValue = "7%" | "37%" | "54%" | "91%" | "100%";
4
+
5
+ export type WorkflowProgressProps = {
6
+ progress?: WorkflowProgressValue;
7
+ className?: string;
8
+ };
9
+
10
+ const progressValues: Record<WorkflowProgressValue, number> = {
11
+ "7%": 7,
12
+ "37%": 37,
13
+ "54%": 54,
14
+ "91%": 91,
15
+ "100%": 100,
16
+ };
17
+
18
+ export const WorkflowProgress = ({
19
+ progress = "7%",
20
+ className,
21
+ }: WorkflowProgressProps) => {
22
+ const value = progressValues[progress];
23
+ const isComplete = progress === "100%";
24
+
25
+ return (
26
+ <div className={cn("flex w-full max-w-[200px] flex-col gap-1", className)}>
27
+ <div className="h-1.5 overflow-hidden rounded-full bg-grey-200">
28
+ <div
29
+ className={cn("h-full rounded-full", isComplete ? "bg-meta-green" : "bg-blue-600")}
30
+ style={{ width: `${value}%` }}
31
+ />
32
+ </div>
33
+ <span className="text-footnote text-display-on-light-tertiary">{value}%</span>
34
+ </div>
35
+ );
36
+ };
@@ -0,0 +1,43 @@
1
+ import { type ReactNode } from "react";
2
+ import { cn } from "../../utils/cn";
3
+ import { WorkflowIcon } from "../../icons/generated";
4
+
5
+ export type WorkflowRowState = "idle" | "hover";
6
+
7
+ export type WorkflowRowProps = {
8
+ name?: string;
9
+ description?: string;
10
+ state?: WorkflowRowState;
11
+ icon?: ReactNode;
12
+ className?: string;
13
+ };
14
+
15
+ const stateStyles: Record<WorkflowRowState, string> = {
16
+ idle: "bg-background-primary",
17
+ hover: "bg-background-secondary",
18
+ };
19
+
20
+ export const WorkflowRow = ({
21
+ name = "Name",
22
+ description = "Description",
23
+ state = "idle",
24
+ icon,
25
+ className,
26
+ }: WorkflowRowProps) => (
27
+ <div
28
+ className={cn(
29
+ "flex w-full items-center gap-4 rounded-2xl border border-divider-primary p-3 transition-colors",
30
+ stateStyles[state],
31
+ state === "idle" && "hover:bg-background-secondary",
32
+ className,
33
+ )}
34
+ >
35
+ <span className="flex size-[46px] shrink-0 items-center justify-center rounded-control bg-background-secondary text-display-on-light-primary">
36
+ {icon ?? <WorkflowIcon size="large" />}
37
+ </span>
38
+ <div className="min-w-0 flex-1">
39
+ <p className="text-body-em text-display-on-light-primary">{name}</p>
40
+ <p className="text-caption-2 text-display-on-light-secondary">{description}</p>
41
+ </div>
42
+ </div>
43
+ );
@@ -0,0 +1,13 @@
1
+ export { WorkflowRow, type WorkflowRowProps, type WorkflowRowState } from "./WorkflowRow";
2
+ export { Progress, type ProgressProps, type ProgressState } from "./Progress";
3
+ export { WorkflowHeader, type WorkflowHeaderProps, type WorkflowHeaderVariant, type WorkflowHeaderWorkflow } from "./WorkflowHeader";
4
+ export { Task, type TaskProps, type TaskState, type TaskStatus } from "./Task";
5
+ export { Importance, type ImportanceLevel, type ImportanceProps, type ImportanceStatus } from "./Importance";
6
+ export { Question, type QuestionExpanded, type QuestionProps, type QuestionState } from "./Question";
7
+ export { WorkflowForm, type WorkflowFormProps, type WorkflowFormState } from "./WorkflowForm";
8
+ export { TaskHeader, type TaskHeaderProperty, type TaskHeaderProps } from "./TaskHeader";
9
+ export { WorkflowProgress, type WorkflowProgressProps, type WorkflowProgressValue } from "./WorkflowProgress";
10
+ export { WorkflowListItem, type WorkflowListItemChief, type WorkflowListItemHover, type WorkflowListItemProps } from "./WorkflowListItem";
11
+ export { GroupHeader, type GroupHeaderGroup, type GroupHeaderProps } from "./GroupHeader";
12
+ export { StatusPopover, type StatusPopoverProps, type StatusPopoverState } from "./StatusPopover";
13
+ export { WorkflowFilters, type WorkflowFiltersProps } from "./WorkflowFilters";
@@ -0,0 +1,37 @@
1
+ export * from "./Ships";
2
+ export * from "./Report";
3
+ export * from "./Settings";
4
+ export * from "./Workflows";
5
+ export * from "./Filters";
6
+
7
+ export {
8
+ FormCard,
9
+ FormHeader,
10
+ RiskMeter,
11
+ ListRow as FormListRow,
12
+ type FormCardProps,
13
+ type FormCardState,
14
+ type FormHeaderProps,
15
+ type RiskMeterLevel,
16
+ type RiskMeterProps,
17
+ type ListRowProps as FormListRowProps,
18
+ type ListRowState as FormListRowState,
19
+ } from "./Forms";
20
+
21
+ export {
22
+ Folder,
23
+ File,
24
+ Navigation,
25
+ Folders,
26
+ ListRow as LibraryListRow,
27
+ type FolderProps,
28
+ type FolderState,
29
+ type FileProps,
30
+ type FileState,
31
+ type NavigationNested,
32
+ type NavigationProps,
33
+ type FoldersLayout,
34
+ type FoldersProps,
35
+ type ListRowProps as LibraryListRowProps,
36
+ type ListRowState as LibraryListRowState,
37
+ } from "./Library";
@@ -0,0 +1,42 @@
1
+ import { forwardRef, type SVGProps } from "react";
2
+ import { cn } from "../utils/cn";
3
+ import { ARROW_PATHS } from "./arrow-paths";
4
+ import { ICON_BOX, type ArrowDirection, type IconProps } from "./types";
5
+
6
+ export type ArrowIconProps = IconProps & {
7
+ direction?: ArrowDirection;
8
+ };
9
+
10
+ export const ArrowIcon = forwardRef<
11
+ SVGSVGElement,
12
+ ArrowIconProps & SVGProps<SVGSVGElement>
13
+ >(({ size = "large", direction = "right", className, ...props }, ref) => {
14
+ const box = ICON_BOX[size];
15
+ const paths = ARROW_PATHS[direction];
16
+ const path = paths[size];
17
+
18
+ if (!path) return null;
19
+
20
+ const useStroke = path.strokeWidth !== undefined;
21
+
22
+ return (
23
+ <svg
24
+ ref={ref}
25
+ width={box}
26
+ height={box}
27
+ viewBox={`0 0 ${box} ${box}`}
28
+ fill={useStroke ? "none" : "currentColor"}
29
+ stroke={useStroke ? "currentColor" : undefined}
30
+ strokeWidth={path.strokeWidth}
31
+ strokeLinecap="round"
32
+ strokeLinejoin="round"
33
+ className={cn("shrink-0", className)}
34
+ aria-hidden={props["aria-label"] ? undefined : true}
35
+ {...props}
36
+ >
37
+ <path d={path.d} fillRule={path.fillRule} />
38
+ </svg>
39
+ );
40
+ });
41
+
42
+ ArrowIcon.displayName = "ArrowIcon";
@@ -0,0 +1,42 @@
1
+ import { forwardRef, type SVGProps } from "react";
2
+ import { cn } from "../utils/cn";
3
+ import { CHEVRON_PATHS } from "./chevron-paths";
4
+ import { ICON_BOX, type ChevronDirection, type IconProps } from "./types";
5
+
6
+ export type ChevronIconProps = IconProps & {
7
+ direction?: ChevronDirection;
8
+ };
9
+
10
+ export const ChevronIcon = forwardRef<
11
+ SVGSVGElement,
12
+ ChevronIconProps & SVGProps<SVGSVGElement>
13
+ >(({ size = "small", direction = "right", className, ...props }, ref) => {
14
+ const box = ICON_BOX[size];
15
+ const paths = CHEVRON_PATHS[direction];
16
+ const path = paths[size];
17
+
18
+ if (!path) return null;
19
+
20
+ const useStroke = path.strokeWidth !== undefined;
21
+
22
+ return (
23
+ <svg
24
+ ref={ref}
25
+ width={box}
26
+ height={box}
27
+ viewBox={`0 0 ${box} ${box}`}
28
+ fill={useStroke ? "none" : "currentColor"}
29
+ stroke={useStroke ? "currentColor" : undefined}
30
+ strokeWidth={path.strokeWidth}
31
+ strokeLinecap="round"
32
+ strokeLinejoin="round"
33
+ className={cn("shrink-0", className)}
34
+ aria-hidden={props["aria-label"] ? undefined : true}
35
+ {...props}
36
+ >
37
+ <path d={path.d} fillRule={path.fillRule} />
38
+ </svg>
39
+ );
40
+ });
41
+
42
+ ChevronIcon.displayName = "ChevronIcon";
@@ -0,0 +1,184 @@
1
+ import type { ComponentType, SVGProps } from "react";
2
+ import { ArrowIcon } from "./ArrowIcon";
3
+ import { ChevronIcon } from "./ChevronIcon";
4
+ import {
5
+ ActionsIcon,
6
+ ActivityIcon,
7
+ AddIcon,
8
+ AnalyticsIcon,
9
+ ApprovalIcon,
10
+ ArchiveIcon,
11
+ AttachmentIcon,
12
+ BookIcon,
13
+ BulbIcon,
14
+ CautionIcon,
15
+ ChatIcon,
16
+ ChatProIcon,
17
+ CheckboxIcon,
18
+ ClearIcon,
19
+ ClockIcon,
20
+ CopyIcon,
21
+ CriticalIcon,
22
+ DateIcon,
23
+ DefectReportIcon,
24
+ DocumentIcon,
25
+ DoneIcon,
26
+ DownloadIcon,
27
+ ExpandIcon,
28
+ FileIcon,
29
+ FiltersIcon,
30
+ FixesIcon,
31
+ FolderIcon,
32
+ FolderStarredIcon,
33
+ FormIcon,
34
+ FormsIcon,
35
+ GapIcon,
36
+ HeartIcon,
37
+ InformationIcon,
38
+ InviteIcon,
39
+ IssuesIcon,
40
+ LocationIcon,
41
+ LogOutIcon,
42
+ MentionIcon,
43
+ MenuIcon,
44
+ MicrophoneIcon,
45
+ MinusIcon,
46
+ MoreIcon,
47
+ PenIcon,
48
+ PersonIcon,
49
+ PlusIcon,
50
+ PreviewIcon,
51
+ QualityIcon,
52
+ RefreshIcon,
53
+ ReportActionsIcon,
54
+ ReportIcon,
55
+ SearchIcon,
56
+ SendIcon,
57
+ SettingsIcon,
58
+ ShipIcon,
59
+ SidebarIcon,
60
+ SparklesIcon,
61
+ SpeakerIcon,
62
+ SpinnerIcon,
63
+ StarIcon,
64
+ StatusIcon,
65
+ TaskIcon,
66
+ TasksIcon,
67
+ TickIcon,
68
+ TrashIcon,
69
+ UndoIcon,
70
+ UploadIcon,
71
+ UsersIcon,
72
+ WorkflowIcon,
73
+ } from "./generated";
74
+ import type { ArrowDirection, ChevronDirection, IconProps } from "./types";
75
+
76
+ const iconRegistry = {
77
+ heart: HeartIcon,
78
+ clear: ClearIcon,
79
+ chevron: ChevronIcon,
80
+ arrow: ArrowIcon,
81
+ attachment: AttachmentIcon,
82
+ microphone: MicrophoneIcon,
83
+ add: AddIcon,
84
+ plus: PlusIcon,
85
+ done: DoneIcon,
86
+ minus: MinusIcon,
87
+ send: SendIcon,
88
+ search: SearchIcon,
89
+ star: StarIcon,
90
+ analytics: AnalyticsIcon,
91
+ trash: TrashIcon,
92
+ chat: ChatIcon,
93
+ chatPro: ChatProIcon,
94
+ filters: FiltersIcon,
95
+ pen: PenIcon,
96
+ tick: TickIcon,
97
+ document: DocumentIcon,
98
+ sparkles: SparklesIcon,
99
+ expand: ExpandIcon,
100
+ speaker: SpeakerIcon,
101
+ copy: CopyIcon,
102
+ date: DateIcon,
103
+ refresh: RefreshIcon,
104
+ activity: ActivityIcon,
105
+ menu: MenuIcon,
106
+ invite: InviteIcon,
107
+ report: ReportIcon,
108
+ sidebar: SidebarIcon,
109
+ download: DownloadIcon,
110
+ upload: UploadIcon,
111
+ preview: PreviewIcon,
112
+ fixes: FixesIcon,
113
+ issues: IssuesIcon,
114
+ more: MoreIcon,
115
+ bulb: BulbIcon,
116
+ ship: ShipIcon,
117
+ person: PersonIcon,
118
+ archive: ArchiveIcon,
119
+ logOut: LogOutIcon,
120
+ settings: SettingsIcon,
121
+ tasks: TasksIcon,
122
+ workflow: WorkflowIcon,
123
+ form: FormIcon,
124
+ approval: ApprovalIcon,
125
+ forms: FormsIcon,
126
+ book: BookIcon,
127
+ mention: MentionIcon,
128
+ actions: ActionsIcon,
129
+ critical: CriticalIcon,
130
+ information: InformationIcon,
131
+ caution: CautionIcon,
132
+ folder: FolderIcon,
133
+ folderStarred: FolderStarredIcon,
134
+ quality: QualityIcon,
135
+ location: LocationIcon,
136
+ users: UsersIcon,
137
+ undo: UndoIcon,
138
+ spinner: SpinnerIcon,
139
+ clock: ClockIcon,
140
+ gap: GapIcon,
141
+ defectReport: DefectReportIcon,
142
+ task: TaskIcon,
143
+ file: FileIcon,
144
+ reportActions: ReportActionsIcon,
145
+ checkbox: CheckboxIcon,
146
+ status: StatusIcon,
147
+ } as const;
148
+
149
+ export type IconName = keyof typeof iconRegistry;
150
+
151
+ type DirectionProps =
152
+ | { name: "chevron"; direction?: ChevronDirection }
153
+ | { name: "arrow"; direction?: ArrowDirection }
154
+ | { name: Exclude<IconName, "chevron" | "arrow"> };
155
+
156
+ export type IconRegistryProps = IconProps &
157
+ DirectionProps & {
158
+ className?: string;
159
+ } & Omit<SVGProps<SVGSVGElement>, "ref">;
160
+
161
+ export const Icon = ({
162
+ name,
163
+ size = "large",
164
+ filled,
165
+ className,
166
+ ...props
167
+ }: IconRegistryProps) => {
168
+ const Component = iconRegistry[name] as ComponentType<
169
+ IconProps & SVGProps<SVGSVGElement>
170
+ >;
171
+
172
+ return (
173
+ <Component
174
+ size={size}
175
+ filled={filled}
176
+ className={className}
177
+ {...props}
178
+ />
179
+ );
180
+ };
181
+
182
+ Icon.displayName = "Icon";
183
+
184
+ export { iconRegistry };
@@ -0,0 +1,8 @@
1
+ export const ARROW_PATHS = {
2
+ left: {
3
+ large: { d: "M10.2217 6.21973C10.5146 5.9271 10.9894 5.92692 11.2822 6.21973C11.5749 6.51254 11.5748 6.98742 11.2822 7.28027L7.56055 11.002H18.2549C18.6688 11.0023 19.0049 11.3379 19.0049 11.752C19.0049 12.166 18.6688 12.5016 18.2549 12.502H7.56055L11.2822 16.2236C11.5748 16.5165 11.5748 16.9914 11.2822 17.2842C10.9894 17.5769 10.5146 17.5768 10.2217 17.2842L5.21973 12.2822C5.16331 12.2258 5.12062 12.1611 5.08594 12.0938C5.07633 12.0751 5.06469 12.0576 5.05664 12.0381C5.04919 12.02 5.04504 12.0009 5.03906 11.9824C5.01544 11.9095 5 11.8327 5 11.752C5 11.6709 5.01525 11.5937 5.03906 11.5205C5.04453 11.5037 5.04801 11.4862 5.05469 11.4697L5.05859 11.46C5.06783 11.4381 5.08061 11.4182 5.0918 11.3975C5.12559 11.3348 5.16683 11.2746 5.21973 11.2217L10.2217 6.21973Z" },
4
+ },
5
+ right: {
6
+ large: { d: "M13.7808 17.282C13.4878 17.5746 13.013 17.5748 12.7202 17.282C12.4276 16.9892 12.4276 16.5143 12.7202 16.2214L16.4419 12.4998L5.74756 12.4998C5.33361 12.4995 4.99756 12.1638 4.99756 11.7498C4.99756 11.3357 5.3336 11.0001 5.74756 10.9998L16.4419 10.9998L12.7202 7.27808C12.4277 6.98524 12.4276 6.51036 12.7202 6.21753C13.013 5.92476 13.4879 5.9249 13.7808 6.21753L18.7827 11.2195C18.8391 11.2759 18.8818 11.3406 18.9165 11.408C18.9261 11.4266 18.9378 11.4441 18.9458 11.4636C18.9533 11.4817 18.9574 11.5008 18.9634 11.5193C18.987 11.5922 19.0024 11.669 19.0024 11.7498C19.0024 11.8309 18.9872 11.908 18.9634 11.9812C18.9579 11.998 18.9544 12.0155 18.9478 12.032L18.9438 12.0417C18.9346 12.0636 18.9218 12.0835 18.9106 12.1042C18.8769 12.1669 18.8356 12.2271 18.7827 12.28L13.7808 17.282Z" },
7
+ },
8
+ } as const;
@@ -0,0 +1,17 @@
1
+ export const CHEVRON_PATHS = {
2
+ right: {
3
+ small: { d: "M10.9288 7.74314C11.0393 7.92719 11.0213 8.16626 10.8741 8.332L6.87414 12.832C6.69075 13.0383 6.37446 13.0572 6.16809 12.874C5.96185 12.6906 5.94294 12.3743 6.12609 12.1679L9.83117 7.99997L6.12609 3.832C5.94294 3.62563 5.96185 3.30933 6.16809 3.12595C6.37446 2.94274 6.69075 2.96168 6.87414 3.16794L10.8741 7.66794L10.9288 7.74314Z" },
4
+ },
5
+ left: {
6
+ small: { d: "M6.07117 8.25686C5.96073 8.07281 5.97872 7.83374 6.12586 7.668L10.1259 3.168C10.3093 2.96174 10.6255 2.94279 10.8319 3.12601C11.0381 3.30938 11.0571 3.62568 10.8739 3.83206L7.16883 8.00003L10.8739 12.168C11.0571 12.3744 11.0381 12.6907 10.8319 12.8741C10.6255 13.0573 10.3093 13.0383 10.1259 12.8321L6.12586 8.33206L6.07117 8.25686Z" },
7
+ },
8
+ down: {
9
+ small: { d: "M12.168 6.12597C12.3744 5.94274 12.6906 5.96165 12.874 6.16797C13.0572 6.37436 13.0383 6.69063 12.832 6.87402L8.33203 10.874C8.14266 11.0421 7.85733 11.0421 7.66797 10.874L3.16797 6.87402C2.96165 6.69063 2.94274 6.37436 3.12597 6.16797C3.30936 5.96165 3.62563 5.94274 3.83203 6.12597L8 9.83007L12.168 6.12597Z" },
10
+ },
11
+ up: {
12
+ small: { d: "M7.74314 6.07117C7.92719 5.96073 8.16626 5.97872 8.332 6.12586L12.832 10.1259C13.0383 10.3093 13.0572 10.6255 12.874 10.8319C12.6906 11.0381 12.3743 11.0571 12.1679 10.8739L7.99997 7.16883L3.832 10.8739C3.62563 11.0571 3.30933 11.0381 3.12595 10.8319C2.94274 10.6255 2.96168 10.3093 3.16794 10.1259L7.66794 6.12586L7.74314 6.07117Z" },
13
+ },
14
+ upDown: {
15
+ small: { d: "M12.1679 11.1259C12.3743 10.9426 12.6906 10.9615 12.874 11.1679C13.0572 11.3742 13.0383 11.6905 12.832 11.8739L8.332 15.8739C8.14266 16.0419 7.85728 16.0419 7.66794 15.8739L3.16794 11.8739C2.96165 11.6905 2.94278 11.3742 3.12595 11.1679C3.30933 10.9615 3.6256 10.9426 3.832 11.1259L7.99997 14.83L12.1679 11.1259ZM7.74313 0.0711718C7.92719 -0.0392683 8.16625 -0.021282 8.332 0.125859L12.832 4.12586C13.0383 4.30925 13.0572 4.62554 12.874 4.83191C12.6906 5.03814 12.3743 5.05706 12.1679 4.87391L7.99997 1.16883L3.832 4.87391C3.62563 5.05706 3.30932 5.03814 3.12595 4.83191C2.94274 4.62554 2.96168 4.30925 3.16794 4.12586L7.66794 0.125859L7.74313 0.0711718Z" },
16
+ },
17
+ } as const;