@lateralus-ai/shipping-ui 1.4.16 → 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
package/README.md CHANGED
@@ -1,61 +1,96 @@
1
1
  # @lateralus-ai/shipping-ui
2
2
 
3
- Shared UI theme and design system for Lateralus shipping applications.
3
+ AskChief design system — shared UI theme and React components for Lateralus shipping applications.
4
4
 
5
5
  ## Features
6
6
 
7
- - Material Tailwind theme configuration
8
- - Custom color palette (Gray, Green, Blue, Red, Orange)
9
- - Typography styles (subheader, body, caption, footnote variations)
10
- - CSS variables for theming
11
- - Light/Dark mode support
12
- - Storybook for component documentation
7
+ - **Design tokens** Grey/Green/Blue/Red/Orange/Purple scales, semantic action/background/display tokens
8
+ - **Typography** Vesterbro (headings) + Matter (body) with fallbacks
9
+ - **55+ icons** — size-specific SVGs (`large` 24px, `small` 16px, `xs` 12px)
10
+ - **Primitives** Button, IconButton, Avatar, Badge, Switch, Tooltip, and more
11
+ - **Patterns** Sidebar, Chat, Modal, Search compositions
12
+ - **Domain components** Workflows, Reports, Settings, Library, Filters
13
+ - **Storybook** — Figma-mirror canvas pages for visual review
14
+ - **Playwright** — automated screenshot regression against Storybook
13
15
 
14
16
  ## Development
15
17
 
16
- ### Setup
17
-
18
18
  ```bash
19
19
  npm install
20
+ npm run dev # Storybook at http://localhost:6006
21
+ npm run build # Library build to dist/
22
+ npm run build-storybook
23
+ npm run test:visual # Playwright visual regression (starts Storybook dev)
24
+ npm run test:visual:update # Update screenshot baselines
20
25
  ```
21
26
 
22
- ### Run Storybook
27
+ ## Storybook structure
28
+
29
+ Stories mirror the Figma file 1:1:
30
+
31
+ - **Style Guide/** — Colors, Color Tokens, Typography, Buttons matrix, Raise Levels
32
+ - **Components/** — Buttons, Icons, Core, Sidebar, Chat, Modals, Workflows, etc.
33
+
34
+ Each page has a single **Canvas** story — a fullscreen Figma-frame reproduction for screenshot comparison.
35
+
36
+ ## Releases
37
+
38
+ ### Stable (`latest`)
39
+
40
+ Production releases use semver on `main` and publish to npm’s `latest` tag:
23
41
 
24
42
  ```bash
25
- npm run dev
26
- # or
27
- npm run storybook
43
+ npm run release
28
44
  ```
29
45
 
30
- Storybook will be available at http://localhost:6006
46
+ ### Dev / nightly (v2 rebrand)
31
47
 
32
- ### Build Storybook
48
+ In-progress v2 work publishes as **`2.0.0-dev.0`**, **`2.0.0-dev.1`**, … under npm’s **`dev`** tag. These do **not** replace `latest`, so existing consumers on `^1.x` are unaffected.
49
+
50
+ **First v2 dev release** (bumps `1.x` → `2.0.0-dev.0`):
51
+
52
+ ```bash
53
+ npm run release:dev:init
54
+ ```
55
+
56
+ If npm 2FA is enabled, the build step can take long enough for a one-time password to expire. Build first, then publish with a fresh OTP:
33
57
 
34
58
  ```bash
35
59
  npm run build
36
- # or
37
- npm run build-storybook
60
+ npm run release:dev:init:publish -- --npm.otp=123456
61
+ ```
62
+
63
+ **Subsequent dev releases** (increments the dev counter):
64
+
65
+ ```bash
66
+ npm run release:dev
38
67
  ```
39
68
 
40
- ## Using the Theme in Your Project
69
+ Same OTP timing applies use `release:dev:publish` after `npm run build` if needed.
41
70
 
42
- ### 1. Install the package (when published)
71
+ For repeat publishes without OTP timing issues, create a **Granular Access Token** at [npmjs.com Account menu → Access Tokens](https://www.npmjs.com/settings/kwstoikonomou/tokens) with publish access to `@lateralus-ai/shipping-ui` and **Bypass 2FA for automation** enabled.
72
+
73
+ **Opt in from a consumer** (e.g. shipping-ai):
43
74
 
44
75
  ```bash
45
- npm install @lateralus-ai/shipping-ui
76
+ npm install @lateralus-ai/shipping-ui@dev
46
77
  ```
47
78
 
48
- ### 2. Import the Tailwind configuration
79
+ Or pin an exact pre-release in `package.json`:
49
80
 
50
- In your `tailwind.config.js`:
81
+ ```json
82
+ "@lateralus-ai/shipping-ui": "2.0.0-dev.0"
83
+ ```
51
84
 
52
- ```javascript
53
- const shippingUIConfig = require("@lateralus-ai/shipping-ui/tailwind");
85
+ When v2 is ready for production, run `npm run release` to publish stable **`2.0.0`** to `latest`.
86
+
87
+ ## Using in your project
54
88
 
55
- module.exports = shippingUIConfig;
89
+ ```bash
90
+ npm install @lateralus-ai/shipping-ui
56
91
  ```
57
92
 
58
- Or extend it:
93
+ ### Tailwind configuration
59
94
 
60
95
  ```javascript
61
96
  const shippingUIConfig = require("@lateralus-ai/shipping-ui/tailwind");
@@ -66,43 +101,25 @@ module.exports = {
66
101
  "./src/**/*.{js,jsx,ts,tsx}",
67
102
  "./node_modules/@lateralus-ai/shipping-ui/**/*.{js,jsx,ts,tsx}",
68
103
  ],
69
- // Your additional configuration
70
104
  };
71
105
  ```
72
106
 
73
- ### 3. Import the global styles
74
-
75
- In your main CSS file:
107
+ ### Global styles
76
108
 
77
109
  ```css
78
110
  @import "@lateralus-ai/shipping-ui/style.css";
79
111
  ```
80
112
 
81
- ## Theme Structure
82
-
83
- ### Typography Classes
113
+ ### Components
84
114
 
85
- - `text-subheader` / `text-subheader-em` - 18px/28px
86
- - `text-body` / `text-body-em` - 16px/28px
87
- - `text-caption-1` / `text-caption-1-em` - 16px/22px
88
- - `text-caption-2` / `text-caption-2-em` - 14px/20px
89
- - `text-footnote` / `text-footnote-em` - 13px/17px
115
+ ```tsx
116
+ import { Button, Icon, Patterns, Domain } from "@lateralus-ai/shipping-ui";
90
117
 
91
- ### Color Palette
92
-
93
- - Gray: 50-900
94
- - Green: 50-900 (primary brand color)
95
- - Blue: 50-900
96
- - Red: 50-900
97
- - Orange: 50-900
98
- - Brand Purple: #ab68ff
99
-
100
- ### Font Families
101
-
102
- - Sans: Work Sans
103
- - Mono: Roboto Mono
104
- - Signature: Cursive fonts for signatures
118
+ <Button hierarchy="primary">Save</Button>
119
+ <Icon name="heart" size="small" />
120
+ <Patterns.Sidebar chief="technical" collapsed={false} />
121
+ ```
105
122
 
106
123
  ## License
107
124
 
108
- UNLICENSED - Proprietary software
125
+ UNLICENSED Proprietary software
@@ -0,0 +1,9 @@
1
+ import { InputHTMLAttributes } from 'react';
2
+ export type CheckboxProps = Omit<InputHTMLAttributes<HTMLInputElement>, "onChange" | "type"> & {
3
+ checked?: boolean;
4
+ indeterminate?: boolean;
5
+ disabled?: boolean;
6
+ label?: string;
7
+ onChange?: (checked: boolean) => void;
8
+ };
9
+ export declare const Checkbox: ({ checked, indeterminate, disabled, label, onChange, className, id: idProp, ...props }: CheckboxProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from 'react';
2
+ import { AvatarProps } from '../primitives';
3
+ export type ChipVariant = "avatar" | "multiple" | "icon" | "dot" | "label";
4
+ type ChipDotColor = "blue" | "green" | "red" | "orange" | "purple" | "grey";
5
+ export type ChipProps = {
6
+ variant: ChipVariant;
7
+ label: string;
8
+ avatar?: Pick<AvatarProps, "chief" | "initials">;
9
+ icon?: ReactNode;
10
+ dotColor?: ChipDotColor;
11
+ onRemove?: () => void;
12
+ className?: string;
13
+ };
14
+ export declare const Chip: ({ variant, label, avatar, icon, dotColor, onRemove, className, }: ChipProps) => import("react/jsx-runtime").JSX.Element;
15
+ export {};
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from 'react';
2
+ import { ButtonProps } from '../primitives';
3
+ export type EmptyStateProps = {
4
+ illustration?: ReactNode;
5
+ title: string;
6
+ description?: string;
7
+ action?: Pick<ButtonProps, "children" | "onClick" | "hierarchy" | "startIcon" | "endIcon">;
8
+ className?: string;
9
+ };
10
+ export declare const EmptyState: ({ illustration, title, description, action, className, }: EmptyStateProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ export type EntryType = "chat" | "issue";
3
+ export type EntryState = "idle" | "selected";
4
+ export type EntryProps = {
5
+ type: EntryType;
6
+ state?: EntryState;
7
+ title: string;
8
+ subtitle?: string;
9
+ meta?: ReactNode;
10
+ onClick?: () => void;
11
+ className?: string;
12
+ };
13
+ export declare const Entry: ({ type, state, title, subtitle, meta, onClick, className, }: EntryProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ export type HeaderVariant = "standard" | "nested";
3
+ export type HeaderProps = {
4
+ variant?: HeaderVariant;
5
+ title: string;
6
+ actions?: ReactNode;
7
+ className?: string;
8
+ };
9
+ export declare const Header: ({ variant, title, actions, className, }: HeaderProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { InputHTMLAttributes } from 'react';
2
+ export type InputState = "idle" | "hover" | "disabled" | "edit";
3
+ export type InputProps = Omit<InputHTMLAttributes<HTMLInputElement>, "onChange"> & {
4
+ label?: string;
5
+ value?: string;
6
+ placeholder?: string;
7
+ error?: string;
8
+ state?: InputState;
9
+ onChange?: (value: string) => void;
10
+ };
11
+ export declare const Input: ({ label, value, placeholder, error, state, onChange, disabled, className, id: idProp, ...props }: InputProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ export type InputTypeKind = "text" | "binary";
2
+ export type InputTypeState = "on" | "off";
3
+ export type InputTypeProps = {
4
+ type: InputTypeKind;
5
+ state: InputTypeState;
6
+ onChange?: (state: InputTypeState) => void;
7
+ disabled?: boolean;
8
+ className?: string;
9
+ };
10
+ export declare const InputType: ({ type, state, onChange, disabled, className, }: InputTypeProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,13 +1,13 @@
1
- import { PropsWithChildren } from 'react';
2
- interface HeaderProps {
1
+ import { PropsWithChildren, ReactNode } from 'react';
2
+ type HeaderProps = {
3
3
  onClose: () => void;
4
- right?: React.ReactNode;
5
- }
6
- interface BodyProps {
4
+ right?: ReactNode;
5
+ };
6
+ type BodyProps = {
7
7
  className?: string;
8
- }
8
+ };
9
9
  export declare const ModalPanel: {
10
- Header: ({ onClose, right, children, }: PropsWithChildren<HeaderProps>) => import("react/jsx-runtime").JSX.Element;
10
+ Header: ({ onClose, right, children }: PropsWithChildren<HeaderProps>) => import("react/jsx-runtime").JSX.Element;
11
11
  Body: ({ children, className }: PropsWithChildren<BodyProps>) => import("react/jsx-runtime").JSX.Element;
12
12
  };
13
13
  export {};
@@ -1,4 +1,4 @@
1
- interface ImageViewerProps {
1
+ type ImageViewerProps = {
2
2
  className?: string;
3
3
  canvasClassName?: string;
4
4
  documentUrl?: string;
@@ -8,6 +8,6 @@ interface ImageViewerProps {
8
8
  totalPages: number;
9
9
  getImageSrc: (page: number) => string | Promise<string>;
10
10
  title?: string;
11
- }
11
+ };
12
12
  export declare const ImageViewer: ({ className, canvasClassName, mainCanvasClassname, initialPage, onClose, totalPages, getImageSrc, documentUrl, title, }: ImageViewerProps) => import("react/jsx-runtime").JSX.Element;
13
13
  export {};
@@ -1,9 +1,9 @@
1
1
  import { MouseEvent as ReactMouseEvent } from 'react';
2
- interface PdfViewerProps extends React.HTMLProps<HTMLDivElement> {
2
+ type PdfViewerProps = React.HTMLProps<HTMLDivElement> & {
3
3
  onClose: () => void;
4
4
  src: string;
5
5
  title?: string;
6
6
  onOpen?: (event: ReactMouseEvent<HTMLButtonElement>) => void;
7
- }
7
+ };
8
8
  export declare const PdfViewer: ({ onClose, src, title, className, onOpen, }: PdfViewerProps) => import("react/jsx-runtime").JSX.Element;
9
9
  export {};
@@ -0,0 +1,10 @@
1
+ import { TextareaHTMLAttributes } from 'react';
2
+ export type ReportInputState = "idle" | "hover" | "edit";
3
+ export type ReportInputProps = Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "onChange"> & {
4
+ label?: string;
5
+ value?: string;
6
+ placeholder?: string;
7
+ state?: ReportInputState;
8
+ onChange?: (value: string) => void;
9
+ };
10
+ export declare const ReportInput: ({ label, value, placeholder, state, onChange, disabled, className, id: idProp, rows, ...props }: ReportInputProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { ButtonHTMLAttributes } from 'react';
2
+ export type TabState = "idle" | "active";
3
+ export type TabProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children"> & {
4
+ label: string;
5
+ state?: TabState;
6
+ };
7
+ export declare const Tab: ({ label, state, className, ...props }: TabProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,13 +1,12 @@
1
- import { default as React } from 'react';
2
- import { Tab } from '@material-tailwind/react';
3
- interface Tab {
4
- id: string;
1
+ export type TabsType = "tabs" | "pills";
2
+ export type TabsItem = {
5
3
  label: string;
6
- content: React.ReactNode;
7
- }
8
- interface TabsProps {
9
- tabs: Tab[];
10
- defaultTab?: string;
11
- }
12
- export declare const TabsContainer: React.FC<TabsProps>;
13
- export {};
4
+ };
5
+ export type TabsProps = {
6
+ type?: TabsType;
7
+ items: TabsItem[];
8
+ activeIndex: number;
9
+ onChange: (index: number) => void;
10
+ className?: string;
11
+ };
12
+ export declare const Tabs: ({ type, items, activeIndex, onChange, className, }: TabsProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,13 @@
1
- export * from './HelloWorld';
2
- export * as InputPrompt from './InputPrompt';
3
- export * as Sidebar from './Sidebar';
1
+ export { Input, type InputProps, type InputState } from './Input';
2
+ export { ReportInput, type ReportInputProps, type ReportInputState } from './ReportInput';
3
+ export { InputType, type InputTypeProps, type InputTypeKind, type InputTypeState } from './InputType';
4
+ export { Chip, type ChipProps, type ChipVariant } from './Chip';
5
+ export { Checkbox, type CheckboxProps } from './Checkbox';
6
+ export { Tab, type TabProps, type TabState } from './Tab';
7
+ export { Tabs, type TabsProps, type TabsItem, type TabsType } from './Tabs';
8
+ export { Header, type HeaderProps, type HeaderVariant } from './Header';
9
+ export { Entry, type EntryProps, type EntryType, type EntryState } from './Entry';
10
+ export { EmptyState, type EmptyStateProps } from './EmptyState';
11
+ export { ModalPanel } from './ModalPanel';
4
12
  export * from './PdfViewer/';
5
- export * from './Tabs';
6
13
  export * from './DocumentEditor';
@@ -0,0 +1,6 @@
1
+ export type FilterPillIndicator = "on" | "off";
2
+ export type FilterPillProps = {
3
+ indicator?: FilterPillIndicator;
4
+ className?: string;
5
+ };
6
+ export declare const FilterPill: ({ indicator, className }: FilterPillProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export type FilteredPillState = "idle" | "hover";
2
+ export type FilteredPillProps = {
3
+ label?: string;
4
+ count?: number;
5
+ state?: FilteredPillState;
6
+ className?: string;
7
+ };
8
+ export declare const FilteredPill: ({ label, count, state, className, }: FilteredPillProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ export type FiltersBarTabs = "on" | "off";
2
+ export type FiltersBarFilters = "on" | "off";
3
+ export type FiltersBarProps = {
4
+ tabs?: FiltersBarTabs;
5
+ filters?: FiltersBarFilters;
6
+ tabLabels?: string[];
7
+ activeTab?: string;
8
+ searchPlaceholder?: string;
9
+ filterChips?: string[];
10
+ className?: string;
11
+ };
12
+ export declare const FiltersBar: ({ tabs, filters, tabLabels, activeTab, searchPlaceholder, filterChips, className, }: FiltersBarProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export { FiltersBar, type FiltersBarFilters, type FiltersBarProps, type FiltersBarTabs } from './FiltersBar';
2
+ export { FilteredPill, type FilteredPillProps, type FilteredPillState } from './FilteredPill';
3
+ export { FilterPill, type FilterPillIndicator, type FilterPillProps } from './FilterPill';
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ export type FormCardState = "idle" | "hover";
3
+ export type FormCardProps = {
4
+ name?: string;
5
+ description?: string;
6
+ formCount?: number;
7
+ pendingCount?: number;
8
+ state?: FormCardState;
9
+ icon?: ReactNode;
10
+ className?: string;
11
+ };
12
+ export declare const FormCard: ({ name, description, formCount, pendingCount, state, icon, className, }: FormCardProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export type FormHeaderProps = {
2
+ title?: string;
3
+ subtitle?: string;
4
+ status?: string;
5
+ dueDate?: string;
6
+ className?: string;
7
+ };
8
+ export declare const FormHeader: ({ title, subtitle, status, dueDate, className, }: FormHeaderProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export type ListRowState = "idle" | "hover";
2
+ export type ListRowProps = {
3
+ name?: string;
4
+ subtitle?: string;
5
+ state?: ListRowState;
6
+ className?: string;
7
+ };
8
+ export declare const ListRow: ({ name, subtitle, state, className, }: ListRowProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export type RiskMeterLevel = "high" | "medium" | "low";
2
+ export type RiskMeterProps = {
3
+ level?: RiskMeterLevel;
4
+ label?: string;
5
+ score?: number;
6
+ className?: string;
7
+ };
8
+ export declare const RiskMeter: ({ level, label, score, className, }: RiskMeterProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export { FormCard, type FormCardProps, type FormCardState } from './FormCard';
2
+ export { ListRow, type ListRowProps, type ListRowState } from './ListRow';
3
+ export { FormHeader, type FormHeaderProps } from './FormHeader';
4
+ export { RiskMeter, type RiskMeterLevel, type RiskMeterProps } from './RiskMeter';
@@ -0,0 +1,8 @@
1
+ export type FileState = "idle" | "uploaded" | "uploading" | "waiting" | "huge";
2
+ export type FileProps = {
3
+ name?: string;
4
+ meta?: string;
5
+ state?: FileState;
6
+ className?: string;
7
+ };
8
+ export declare const File: ({ name, meta, state, className, }: FileProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export type FolderState = "idle" | "hover" | "selected";
2
+ export type FolderProps = {
3
+ name?: string;
4
+ fileCount?: number;
5
+ state?: FolderState;
6
+ className?: string;
7
+ };
8
+ export declare const Folder: ({ name, fileCount, state, className, }: FolderProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ export type FoldersLayout = "collapsed" | "expanded";
2
+ export type FoldersProps = {
3
+ layout?: FoldersLayout;
4
+ folders?: {
5
+ name: string;
6
+ fileCount: number;
7
+ selected?: boolean;
8
+ }[];
9
+ className?: string;
10
+ };
11
+ export declare const Folders: ({ layout, folders, className, }: FoldersProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export type ListRowState = "idle" | "hover";
2
+ export type ListRowProps = {
3
+ name?: string;
4
+ updatedAt?: string;
5
+ state?: ListRowState;
6
+ className?: string;
7
+ };
8
+ export declare const ListRow: ({ name, updatedAt, state, className, }: ListRowProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ export type NavigationNested = "on" | "off";
2
+ export type NavigationProps = {
3
+ label?: string;
4
+ nested?: NavigationNested;
5
+ className?: string;
6
+ };
7
+ export declare const Navigation: ({ label, nested, className, }: NavigationProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export { Folder, type FolderProps, type FolderState } from './Folder';
2
+ export { File, type FileProps, type FileState } from './File';
3
+ export { Navigation, type NavigationNested, type NavigationProps } from './Navigation';
4
+ export { Folders, type FoldersLayout, type FoldersProps } from './Folders';
5
+ export { ListRow, type ListRowProps, type ListRowState } from './ListRow';
@@ -0,0 +1,7 @@
1
+ export type InfoHeadingEmphasis = "on" | "off";
2
+ export type InfoHeadingProps = {
3
+ title?: string;
4
+ emphasis?: InfoHeadingEmphasis;
5
+ className?: string;
6
+ };
7
+ export declare const InfoHeading: ({ title, emphasis, className, }: InfoHeadingProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export type InfoRowColumn = "on" | "off";
2
+ export type InfoRowProps = {
3
+ label?: string;
4
+ value?: string;
5
+ column?: InfoRowColumn;
6
+ className?: string;
7
+ };
8
+ export declare const InfoRow: ({ label, value, column, className, }: InfoRowProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ export type ReportProps = {
3
+ title?: string;
4
+ className?: string;
5
+ children?: ReactNode;
6
+ };
7
+ export declare const Report: ({ title, className, children, }: ReportProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from 'react';
2
+ export type SectionHeaderCollapsed = "on" | "off";
3
+ export type SectionHeaderProps = {
4
+ title?: string;
5
+ subtitle?: string;
6
+ collapsed?: SectionHeaderCollapsed;
7
+ className?: string;
8
+ children?: ReactNode;
9
+ };
10
+ export declare const SectionHeader: ({ title, subtitle, collapsed, className, children, }: SectionHeaderProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ export type TaskRowVariant = "task" | "add-more";
2
+ export type TaskRowHover = "on" | "off";
3
+ export type TaskRowStrikethrough = "on" | "off";
4
+ export type TaskRowProps = {
5
+ label?: string;
6
+ variant?: TaskRowVariant;
7
+ hover?: TaskRowHover;
8
+ strikethrough?: TaskRowStrikethrough;
9
+ className?: string;
10
+ };
11
+ export declare const TaskRow: ({ label, variant, hover, strikethrough, className, }: TaskRowProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export { SectionHeader, type SectionHeaderCollapsed, type SectionHeaderProps } from './SectionHeader';
2
+ export { TaskRow, type TaskRowHover, type TaskRowProps, type TaskRowStrikethrough, type TaskRowVariant } from './TaskRow';
3
+ export { InfoRow, type InfoRowColumn, type InfoRowProps } from './InfoRow';
4
+ export { InfoHeading, type InfoHeadingEmphasis, type InfoHeadingProps } from './InfoHeading';
5
+ export { Report, type ReportProps } from './Report';
@@ -0,0 +1,8 @@
1
+ export type EquipmentRowEditable = "on" | "off";
2
+ export type EquipmentRowProps = {
3
+ name?: string;
4
+ type?: string;
5
+ editable?: EquipmentRowEditable;
6
+ className?: string;
7
+ };
8
+ export declare const EquipmentRow: ({ name, type, editable, className, }: EquipmentRowProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ export type MemberRowState = "idle" | "hover";
2
+ export type MemberRowAction = "label" | "button";
3
+ export type MemberRowProps = {
4
+ name?: string;
5
+ role?: string;
6
+ state?: MemberRowState;
7
+ action?: MemberRowAction;
8
+ actionLabel?: string;
9
+ className?: string;
10
+ };
11
+ export declare const MemberRow: ({ name, role, state, action, actionLabel, className, }: MemberRowProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ export type SettingRowState = "idle" | "hover" | "selected";
2
+ export type SettingRowVariant = "ship" | "user";
3
+ export type SettingRowProps = {
4
+ label?: string;
5
+ subtitle?: string;
6
+ state?: SettingRowState;
7
+ variant?: SettingRowVariant;
8
+ className?: string;
9
+ };
10
+ export declare const SettingRow: ({ label, subtitle, state, variant, className, }: SettingRowProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export { EquipmentRow, type EquipmentRowEditable, type EquipmentRowProps } from './EquipmentRow';
2
+ export { SettingRow, type SettingRowProps, type SettingRowState, type SettingRowVariant } from './SettingRow';
3
+ export { MemberRow, type MemberRowAction, type MemberRowProps, type MemberRowState } from './MemberRow';
@@ -0,0 +1,10 @@
1
+ export type ShipRowState = "idle" | "hover";
2
+ export type ShipRowProps = {
3
+ name?: string;
4
+ chatCount?: number;
5
+ issueCount?: number;
6
+ unreadCount?: number;
7
+ state?: ShipRowState;
8
+ className?: string;
9
+ };
10
+ export declare const ShipRow: ({ name, chatCount, issueCount, unreadCount, state, className, }: ShipRowProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export { ShipRow, type ShipRowProps, type ShipRowState } from './ShipRow';