@lateralus-ai/shipping-ui 1.4.16 → 2.0.0-dev.10

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 (451) 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 +33 -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/Modal.d.ts +36 -0
  10. package/dist/components/ModalPanel.d.ts +7 -7
  11. package/dist/components/PdfViewer/ImageViewer.d.ts +2 -2
  12. package/dist/components/PdfViewer/PdfViewer.d.ts +2 -2
  13. package/dist/components/ReportInput.d.ts +10 -0
  14. package/dist/components/Tab.d.ts +7 -0
  15. package/dist/components/Tabs.d.ts +26 -12
  16. package/dist/components/index.d.ts +12 -4
  17. package/dist/domain/Filters/FilterPill.d.ts +6 -0
  18. package/dist/domain/Filters/FilteredPill.d.ts +8 -0
  19. package/dist/domain/Filters/FiltersBar.d.ts +12 -0
  20. package/dist/domain/Filters/index.d.ts +3 -0
  21. package/dist/domain/Forms/FormCard.d.ts +12 -0
  22. package/dist/domain/Forms/FormHeader.d.ts +8 -0
  23. package/dist/domain/Forms/ListRow.d.ts +8 -0
  24. package/dist/domain/Forms/RiskMeter.d.ts +8 -0
  25. package/dist/domain/Forms/index.d.ts +4 -0
  26. package/dist/domain/Library/File.d.ts +8 -0
  27. package/dist/domain/Library/Folder.d.ts +8 -0
  28. package/dist/domain/Library/Folders.d.ts +11 -0
  29. package/dist/domain/Library/ListRow.d.ts +8 -0
  30. package/dist/domain/Library/Navigation.d.ts +7 -0
  31. package/dist/domain/Library/index.d.ts +5 -0
  32. package/dist/domain/Report/InfoHeading.d.ts +7 -0
  33. package/dist/domain/Report/InfoRow.d.ts +8 -0
  34. package/dist/domain/Report/Report.d.ts +7 -0
  35. package/dist/domain/Report/SectionHeader.d.ts +10 -0
  36. package/dist/domain/Report/TaskRow.d.ts +11 -0
  37. package/dist/domain/Report/index.d.ts +5 -0
  38. package/dist/domain/Settings/EquipmentRow.d.ts +8 -0
  39. package/dist/domain/Settings/MemberRow.d.ts +11 -0
  40. package/dist/domain/Settings/SettingRow.d.ts +10 -0
  41. package/dist/domain/Settings/index.d.ts +3 -0
  42. package/dist/domain/Ships/ShipRow.d.ts +10 -0
  43. package/dist/domain/Ships/index.d.ts +1 -0
  44. package/dist/domain/Workflows/GroupHeader.d.ts +8 -0
  45. package/dist/domain/Workflows/Importance.d.ts +8 -0
  46. package/dist/domain/Workflows/Progress.d.ts +7 -0
  47. package/dist/domain/Workflows/Question.d.ts +9 -0
  48. package/dist/domain/Workflows/StatusPopover.d.ts +7 -0
  49. package/dist/domain/Workflows/Task.d.ts +9 -0
  50. package/dist/domain/Workflows/TaskHeader.d.ts +9 -0
  51. package/dist/domain/Workflows/WorkflowFilters.d.ts +6 -0
  52. package/dist/domain/Workflows/WorkflowForm.d.ts +8 -0
  53. package/dist/domain/Workflows/WorkflowHeader.d.ts +11 -0
  54. package/dist/domain/Workflows/WorkflowListItem.d.ts +11 -0
  55. package/dist/domain/Workflows/WorkflowProgress.d.ts +6 -0
  56. package/dist/domain/Workflows/WorkflowRow.d.ts +10 -0
  57. package/dist/domain/Workflows/index.d.ts +13 -0
  58. package/dist/domain/index.d.ts +7 -0
  59. package/dist/icons/ArrowIcon.d.ts +8 -0
  60. package/dist/icons/ChevronIcon.d.ts +8 -0
  61. package/dist/icons/Icon.d.ts +96 -0
  62. package/dist/icons/arrow-paths.d.ts +12 -0
  63. package/dist/icons/chevron-paths.d.ts +27 -0
  64. package/dist/icons/createIcon.d.ts +34 -0
  65. package/dist/icons/generated.d.ts +68 -0
  66. package/dist/icons/icon-sizes.d.ts +5 -0
  67. package/dist/icons/icons-data.d.ts +1023 -0
  68. package/dist/icons/index.d.ts +13 -0
  69. package/dist/icons/types.d.ts +10 -0
  70. package/dist/illustrations/AuditPreparation.d.ts +4 -0
  71. package/dist/illustrations/CompletedTasks.d.ts +4 -0
  72. package/dist/illustrations/Creation.d.ts +4 -0
  73. package/dist/illustrations/InternalAudit.d.ts +4 -0
  74. package/dist/illustrations/Invite.d.ts +4 -0
  75. package/dist/illustrations/PortStateControl.d.ts +4 -0
  76. package/dist/illustrations/Processing.d.ts +4 -0
  77. package/dist/illustrations/QuestionsDone.d.ts +4 -0
  78. package/dist/illustrations/RightShipInspection.d.ts +4 -0
  79. package/dist/illustrations/Upload.d.ts +4 -0
  80. package/dist/illustrations/WorkflowCreated.d.ts +4 -0
  81. package/dist/illustrations/Workflows.d.ts +4 -0
  82. package/dist/illustrations/createIllustration.d.ts +11 -0
  83. package/dist/illustrations/index.d.ts +13 -0
  84. package/dist/index.cjs +64 -80
  85. package/dist/index.d.ts +9 -3
  86. package/dist/index.esm.js +11535 -36619
  87. package/dist/patterns/Chat/Attachment.d.ts +6 -0
  88. package/dist/patterns/Chat/ChatEntry.d.ts +10 -0
  89. package/dist/patterns/Chat/ChatHeader.d.ts +7 -0
  90. package/dist/patterns/Chat/ChatInput.d.ts +5 -0
  91. package/dist/patterns/Chat/ChatStatus.d.ts +6 -0
  92. package/dist/patterns/Chat/ChatTile.d.ts +9 -0
  93. package/dist/patterns/Chat/Copilot.d.ts +8 -0
  94. package/dist/patterns/Chat/Draft.d.ts +5 -0
  95. package/dist/patterns/Chat/Greeting.d.ts +7 -0
  96. package/dist/patterns/Chat/Reference.d.ts +6 -0
  97. package/dist/patterns/Chat/Source.d.ts +6 -0
  98. package/dist/patterns/Chat/Sources.d.ts +5 -0
  99. package/dist/patterns/Chat/Suggestion.d.ts +5 -0
  100. package/dist/patterns/Chat/Suggestions.d.ts +4 -0
  101. package/dist/patterns/Chat/index.d.ts +14 -0
  102. package/dist/patterns/Modal/Invitee.d.ts +8 -0
  103. package/dist/patterns/Modal/ModalFooter.d.ts +6 -0
  104. package/dist/patterns/Modal/ModalHeader.d.ts +10 -0
  105. package/dist/patterns/Modal/index.d.ts +3 -0
  106. package/dist/patterns/Search/Pill.d.ts +10 -0
  107. package/dist/patterns/Search/PillInfo.d.ts +8 -0
  108. package/dist/patterns/Search/ResultRow.d.ts +19 -0
  109. package/dist/patterns/Search/SearchModal.d.ts +88 -0
  110. package/dist/patterns/Search/SectionHeader.d.ts +5 -0
  111. package/dist/patterns/Search/index.d.ts +5 -0
  112. package/dist/patterns/Sidebar/Account.d.ts +22 -0
  113. package/dist/patterns/Sidebar/ActivityNavGroup.d.ts +17 -0
  114. package/dist/patterns/Sidebar/CollapsibleNavGroup.d.ts +24 -0
  115. package/dist/patterns/Sidebar/Indicator.d.ts +6 -0
  116. package/dist/patterns/Sidebar/NewChat.d.ts +10 -0
  117. package/dist/patterns/Sidebar/Sidebar.d.ts +13 -0
  118. package/dist/patterns/Sidebar/SidebarAction.d.ts +11 -0
  119. package/dist/patterns/Sidebar/SidebarEntry.d.ts +25 -0
  120. package/dist/patterns/Sidebar/SidebarHeading.d.ts +11 -0
  121. package/dist/patterns/Sidebar/SidebarLink.d.ts +22 -0
  122. package/dist/patterns/Sidebar/SidebarShell.d.ts +11 -0
  123. package/dist/patterns/Sidebar/Switcher.d.ts +8 -0
  124. package/dist/patterns/Sidebar/constants.d.ts +2 -0
  125. package/dist/patterns/Sidebar/figma-assets.d.ts +3 -0
  126. package/dist/patterns/Sidebar/figma-demo-content.d.ts +75 -0
  127. package/dist/patterns/Sidebar/figma-sidebar-nav.d.ts +12 -0
  128. package/dist/patterns/Sidebar/index.d.ts +13 -0
  129. package/dist/patterns/Sidebar/sidebar-styles.d.ts +45 -0
  130. package/dist/patterns/Skeleton/Skeleton.d.ts +6 -0
  131. package/dist/patterns/Skeleton/index.d.ts +1 -0
  132. package/dist/patterns/index.d.ts +5 -0
  133. package/dist/primitives/Avatar.d.ts +10 -0
  134. package/dist/primitives/Badge.d.ts +14 -0
  135. package/dist/primitives/Button.d.ts +22 -0
  136. package/dist/primitives/Callout.d.ts +7 -0
  137. package/dist/primitives/Count.d.ts +5 -0
  138. package/dist/primitives/DropdownMenu.d.ts +15 -0
  139. package/dist/primitives/GroupedAvatars.d.ts +7 -0
  140. package/dist/primitives/IconButton.d.ts +16 -0
  141. package/dist/primitives/Logo.d.ts +8 -0
  142. package/dist/primitives/MenuItem.d.ts +7 -0
  143. package/dist/primitives/Switch.d.ts +7 -0
  144. package/dist/primitives/ThinkingDot.d.ts +4 -0
  145. package/dist/primitives/Tooltip.d.ts +12 -0
  146. package/dist/primitives/button-styles.d.ts +4 -0
  147. package/dist/primitives/index.d.ts +15 -0
  148. package/dist/style.css +1 -1
  149. package/dist/tailwind-theme.d.ts +234 -198
  150. package/dist/theme-entry-BUK3MJUJ.mjs +261 -0
  151. package/dist/theme-entry-ygTpGaNC.js +1 -0
  152. package/dist/theme-entry.d.ts +2 -0
  153. package/dist/theme.cjs +1 -0
  154. package/dist/theme.d.ts +2 -0
  155. package/dist/theme.esm.js +5 -0
  156. package/dist/tokens/colors.d.ts +148 -0
  157. package/dist/tokens/elevation.d.ts +11 -0
  158. package/dist/tokens/index.d.ts +4 -0
  159. package/dist/tokens/semantic.d.ts +89 -0
  160. package/dist/tokens/typography.d.ts +85 -0
  161. package/package.json +36 -7
  162. package/src/components/Checkbox.tsx +77 -0
  163. package/src/components/Chip.tsx +69 -0
  164. package/src/components/EmptyState.tsx +44 -0
  165. package/src/components/Entry.tsx +138 -0
  166. package/src/components/Header.tsx +39 -0
  167. package/src/components/Input.tsx +69 -0
  168. package/src/components/InputType.tsx +76 -0
  169. package/src/components/Modal.tsx +141 -0
  170. package/src/components/ModalPanel.tsx +22 -37
  171. package/src/components/PdfViewer/ImageViewer.tsx +121 -182
  172. package/src/components/PdfViewer/PdfViewer.tsx +103 -155
  173. package/src/components/ReportInput.tsx +65 -0
  174. package/src/components/Tab.tsx +33 -0
  175. package/src/components/Tabs.tsx +146 -43
  176. package/src/components/index.ts +43 -6
  177. package/src/domain/Filters/FilterPill.tsx +25 -0
  178. package/src/domain/Filters/FilteredPill.tsx +39 -0
  179. package/src/domain/Filters/FiltersBar.tsx +76 -0
  180. package/src/domain/Filters/index.ts +3 -0
  181. package/src/domain/Forms/FormCard.tsx +61 -0
  182. package/src/domain/Forms/FormHeader.tsx +34 -0
  183. package/src/domain/Forms/ListRow.tsx +40 -0
  184. package/src/domain/Forms/RiskMeter.tsx +50 -0
  185. package/src/domain/Forms/index.ts +4 -0
  186. package/src/domain/Library/File.tsx +59 -0
  187. package/src/domain/Library/Folder.tsx +55 -0
  188. package/src/domain/Library/Folders.tsx +43 -0
  189. package/src/domain/Library/ListRow.tsx +40 -0
  190. package/src/domain/Library/Navigation.tsx +31 -0
  191. package/src/domain/Library/index.ts +5 -0
  192. package/src/domain/Report/InfoHeading.tsx +25 -0
  193. package/src/domain/Report/InfoRow.tsx +35 -0
  194. package/src/domain/Report/Report.tsx +53 -0
  195. package/src/domain/Report/SectionHeader.tsx +43 -0
  196. package/src/domain/Report/TaskRow.tsx +57 -0
  197. package/src/domain/Report/index.ts +5 -0
  198. package/src/domain/Settings/EquipmentRow.tsx +39 -0
  199. package/src/domain/Settings/MemberRow.tsx +53 -0
  200. package/src/domain/Settings/SettingRow.tsx +66 -0
  201. package/src/domain/Settings/index.ts +3 -0
  202. package/src/domain/Ships/ShipRow.tsx +49 -0
  203. package/src/domain/Ships/index.ts +1 -0
  204. package/src/domain/Workflows/GroupHeader.tsx +48 -0
  205. package/src/domain/Workflows/Importance.tsx +48 -0
  206. package/src/domain/Workflows/Progress.tsx +55 -0
  207. package/src/domain/Workflows/Question.tsx +42 -0
  208. package/src/domain/Workflows/StatusPopover.tsx +53 -0
  209. package/src/domain/Workflows/Task.tsx +46 -0
  210. package/src/domain/Workflows/TaskHeader.tsx +51 -0
  211. package/src/domain/Workflows/WorkflowFilters.tsx +40 -0
  212. package/src/domain/Workflows/WorkflowForm.tsx +40 -0
  213. package/src/domain/Workflows/WorkflowHeader.tsx +62 -0
  214. package/src/domain/Workflows/WorkflowListItem.tsx +45 -0
  215. package/src/domain/Workflows/WorkflowProgress.tsx +36 -0
  216. package/src/domain/Workflows/WorkflowRow.tsx +43 -0
  217. package/src/domain/Workflows/index.ts +13 -0
  218. package/src/domain/index.ts +37 -0
  219. package/src/icons/ArrowIcon.tsx +42 -0
  220. package/src/icons/ChevronIcon.tsx +42 -0
  221. package/src/icons/Icon.tsx +184 -0
  222. package/src/icons/arrow-paths.ts +8 -0
  223. package/src/icons/chevron-paths.ts +17 -0
  224. package/src/icons/createIcon.tsx +128 -0
  225. package/src/icons/generated.tsx +71 -0
  226. package/src/icons/icon-sizes.ts +20 -0
  227. package/src/icons/icons-data.ts +656 -0
  228. package/src/icons/index.ts +25 -0
  229. package/src/icons/types.ts +18 -0
  230. package/src/illustrations/AuditPreparation.tsx +15 -0
  231. package/src/illustrations/CompletedTasks.tsx +16 -0
  232. package/src/illustrations/Creation.tsx +13 -0
  233. package/src/illustrations/InternalAudit.tsx +13 -0
  234. package/src/illustrations/Invite.tsx +13 -0
  235. package/src/illustrations/PortStateControl.tsx +13 -0
  236. package/src/illustrations/Processing.tsx +17 -0
  237. package/src/illustrations/QuestionsDone.tsx +16 -0
  238. package/src/illustrations/RightShipInspection.tsx +18 -0
  239. package/src/illustrations/Upload.tsx +12 -0
  240. package/src/illustrations/WorkflowCreated.tsx +13 -0
  241. package/src/illustrations/Workflows.tsx +13 -0
  242. package/src/illustrations/createIllustration.tsx +30 -0
  243. package/src/illustrations/index.ts +14 -0
  244. package/src/index.ts +76 -4
  245. package/src/patterns/Chat/Attachment.tsx +27 -0
  246. package/src/patterns/Chat/ChatEntry.tsx +41 -0
  247. package/src/patterns/Chat/ChatHeader.tsx +39 -0
  248. package/src/patterns/Chat/ChatInput.tsx +35 -0
  249. package/src/patterns/Chat/ChatStatus.tsx +26 -0
  250. package/src/patterns/Chat/ChatTile.tsx +40 -0
  251. package/src/patterns/Chat/Copilot.tsx +50 -0
  252. package/src/patterns/Chat/Draft.tsx +23 -0
  253. package/src/patterns/Chat/Greeting.tsx +32 -0
  254. package/src/patterns/Chat/Reference.tsx +26 -0
  255. package/src/patterns/Chat/Source.tsx +27 -0
  256. package/src/patterns/Chat/Sources.tsx +23 -0
  257. package/src/patterns/Chat/Suggestion.tsx +23 -0
  258. package/src/patterns/Chat/Suggestions.tsx +21 -0
  259. package/src/patterns/Chat/index.ts +14 -0
  260. package/src/patterns/Modal/Invitee.tsx +44 -0
  261. package/src/patterns/Modal/ModalFooter.tsx +39 -0
  262. package/src/patterns/Modal/ModalHeader.tsx +77 -0
  263. package/src/patterns/Modal/index.ts +3 -0
  264. package/src/patterns/Search/Pill.tsx +44 -0
  265. package/src/patterns/Search/PillInfo.tsx +41 -0
  266. package/src/patterns/Search/ResultRow.tsx +44 -0
  267. package/src/patterns/Search/SearchModal.tsx +310 -0
  268. package/src/patterns/Search/SectionHeader.tsx +20 -0
  269. package/src/patterns/Search/index.ts +31 -0
  270. package/src/patterns/Sidebar/Account.tsx +193 -0
  271. package/src/patterns/Sidebar/ActivityNavGroup.tsx +71 -0
  272. package/src/patterns/Sidebar/CollapsibleNavGroup.tsx +106 -0
  273. package/src/patterns/Sidebar/Indicator.tsx +14 -0
  274. package/src/patterns/Sidebar/NewChat.tsx +71 -0
  275. package/src/patterns/Sidebar/Sidebar.tsx +363 -0
  276. package/src/patterns/Sidebar/SidebarAction.tsx +55 -0
  277. package/src/patterns/Sidebar/SidebarEntry.tsx +129 -0
  278. package/src/patterns/Sidebar/SidebarHeading.tsx +38 -0
  279. package/src/patterns/Sidebar/SidebarLink.tsx +125 -0
  280. package/src/patterns/Sidebar/SidebarShell.tsx +32 -0
  281. package/src/patterns/Sidebar/Switcher.tsx +116 -0
  282. package/src/patterns/Sidebar/assets/account-avatar-24.jpg +0 -0
  283. package/src/patterns/Sidebar/assets/account-avatar.jpg +0 -0
  284. package/src/patterns/Sidebar/assets/indicator-compliance.png +0 -0
  285. package/src/patterns/Sidebar/assets/indicator-technical.png +0 -0
  286. package/src/patterns/Sidebar/assets/logo-compliance-mark.png +5 -0
  287. package/src/patterns/Sidebar/assets/logo-compliance-mask.png +13 -0
  288. package/src/patterns/Sidebar/assets/logo-compliance.svg +17 -0
  289. package/src/patterns/Sidebar/assets/logo-technical-avatar.svg +17 -0
  290. package/src/patterns/Sidebar/assets/logo-technical-mark.png +5 -0
  291. package/src/patterns/Sidebar/assets/logo-technical.svg +16 -0
  292. package/src/patterns/Sidebar/constants.ts +2 -0
  293. package/src/patterns/Sidebar/figma-assets.ts +4 -0
  294. package/src/patterns/Sidebar/figma-demo-content.ts +30 -0
  295. package/src/patterns/Sidebar/figma-sidebar-nav.ts +79 -0
  296. package/src/patterns/Sidebar/index.ts +13 -0
  297. package/src/patterns/Sidebar/sidebar-styles.ts +101 -0
  298. package/src/patterns/Skeleton/Skeleton.tsx +56 -0
  299. package/src/patterns/Skeleton/index.ts +1 -0
  300. package/src/patterns/index.ts +5 -0
  301. package/src/primitives/Avatar.tsx +71 -0
  302. package/src/primitives/Badge.tsx +44 -0
  303. package/src/primitives/Button.tsx +231 -0
  304. package/src/primitives/Callout.tsx +21 -0
  305. package/src/primitives/Count.tsx +18 -0
  306. package/src/primitives/DropdownMenu.tsx +60 -0
  307. package/src/primitives/GroupedAvatars.tsx +36 -0
  308. package/src/primitives/IconButton.tsx +56 -0
  309. package/src/primitives/Logo.tsx +43 -0
  310. package/src/primitives/MenuItem.tsx +35 -0
  311. package/src/primitives/Switch.tsx +38 -0
  312. package/src/primitives/ThinkingDot.tsx +34 -0
  313. package/src/primitives/Tooltip.tsx +42 -0
  314. package/src/primitives/button-styles.ts +92 -0
  315. package/src/primitives/index.ts +18 -0
  316. package/src/stories/_layout/FigmaPage.tsx +94 -0
  317. package/src/stories/_layout/index.ts +8 -0
  318. package/src/stories/canvases/ButtonsCanvas.tsx +107 -0
  319. package/src/stories/canvases/ButtonsMatrixCanvas.tsx +65 -0
  320. package/src/stories/canvases/ChatCanvas.tsx +130 -0
  321. package/src/stories/canvases/ColorTokensCanvas.tsx +16 -0
  322. package/src/stories/canvases/ColorsCanvas.tsx +101 -0
  323. package/src/stories/canvases/ContentCanvas.tsx +157 -0
  324. package/src/stories/canvases/CoreCanvas.tsx +125 -0
  325. package/src/stories/canvases/DomainFormsCanvas.tsx +67 -0
  326. package/src/stories/canvases/FiltersCanvas.tsx +41 -0
  327. package/src/stories/canvases/FormsCanvas.tsx +71 -0
  328. package/src/stories/canvases/IconsCanvas.tsx +99 -0
  329. package/src/stories/canvases/IllustrationsCanvas.tsx +50 -0
  330. package/src/stories/canvases/LibraryCanvas.tsx +67 -0
  331. package/src/stories/canvases/ModalsCanvas.tsx +54 -0
  332. package/src/stories/canvases/RaiseLevelsCanvas.tsx +27 -0
  333. package/src/stories/canvases/ReportCanvas.tsx +33 -0
  334. package/src/stories/canvases/ReportLayoutCanvas.tsx +19 -0
  335. package/src/stories/canvases/SearchCanvas.tsx +150 -0
  336. package/src/stories/canvases/SettingsCanvas.tsx +41 -0
  337. package/src/stories/canvases/ShipsCanvas.tsx +38 -0
  338. package/src/stories/canvases/SidebarCanvas.tsx +147 -0
  339. package/src/stories/canvases/SidebarLayoutsCanvas.tsx +71 -0
  340. package/src/stories/canvases/SidebarPlayground.tsx +35 -0
  341. package/src/stories/canvases/SkeletonsCanvas.tsx +30 -0
  342. package/src/stories/canvases/TypographyCanvas.tsx +53 -0
  343. package/src/stories/canvases/WorkflowsCanvas.tsx +129 -0
  344. package/src/stories/canvases/figma-buttons-layout.ts +83 -0
  345. package/src/stories/canvases/figma-icons-layout.ts +318 -0
  346. package/src/stories/canvases/figma-sidebar-layout.ts +212 -0
  347. package/src/stories/canvases/figma-sidebar-layouts-layout.ts +84 -0
  348. package/src/stories/canvases/figma-widths.ts +28 -0
  349. package/src/stories/canvases/helpers.tsx +146 -0
  350. package/src/stories/components/Buttons.stories.tsx +12 -0
  351. package/src/stories/components/Chat.stories.tsx +12 -0
  352. package/src/stories/components/Content.stories.tsx +12 -0
  353. package/src/stories/components/Core.stories.tsx +12 -0
  354. package/src/stories/components/DomainForms.stories.tsx +12 -0
  355. package/src/stories/components/Filters.stories.tsx +12 -0
  356. package/src/stories/components/Forms.stories.tsx +12 -0
  357. package/src/stories/components/Icons.stories.tsx +12 -0
  358. package/src/stories/components/Illustrations.stories.tsx +12 -0
  359. package/src/stories/components/Library.stories.tsx +12 -0
  360. package/src/stories/components/Modals.stories.tsx +12 -0
  361. package/src/stories/components/Report.stories.tsx +12 -0
  362. package/src/stories/components/ReportLayout.stories.tsx +12 -0
  363. package/src/stories/components/Search.stories.tsx +12 -0
  364. package/src/stories/components/Settings.stories.tsx +12 -0
  365. package/src/stories/components/Ships.stories.tsx +12 -0
  366. package/src/stories/components/Sidebar.stories.tsx +37 -0
  367. package/src/stories/components/SidebarLayouts.stories.tsx +12 -0
  368. package/src/stories/components/Skeletons.stories.tsx +12 -0
  369. package/src/stories/components/Workflows.stories.tsx +12 -0
  370. package/src/stories/style-guide/Buttons.stories.tsx +12 -0
  371. package/src/stories/style-guide/ColorTokens.stories.tsx +12 -0
  372. package/src/stories/style-guide/Colors.stories.tsx +12 -0
  373. package/src/stories/style-guide/RaiseLevels.stories.tsx +12 -0
  374. package/src/stories/style-guide/Typography.stories.tsx +12 -0
  375. package/src/style.css +169 -2
  376. package/src/tailwind-theme.ts +164 -240
  377. package/src/theme-entry.ts +2 -0
  378. package/src/tokens/colors.ts +82 -0
  379. package/src/tokens/elevation.ts +12 -0
  380. package/src/tokens/index.ts +4 -0
  381. package/src/tokens/semantic.ts +89 -0
  382. package/src/tokens/typography.ts +21 -0
  383. package/tailwind.config.ts +12 -0
  384. package/dist/components/HelloWorld.d.ts +0 -1
  385. package/dist/components/InputPrompt.d.ts +0 -20
  386. package/dist/components/SearchModal.d.ts +0 -24
  387. package/dist/components/Sidebar/Button.d.ts +0 -7
  388. package/dist/components/Sidebar/Container.d.ts +0 -5
  389. package/dist/components/Sidebar/Item.d.ts +0 -9
  390. package/dist/components/Sidebar/Layout.d.ts +0 -10
  391. package/dist/components/Sidebar/Provider.d.ts +0 -14
  392. package/dist/components/Sidebar/SecondaryItem.d.ts +0 -9
  393. package/dist/components/Sidebar/SideContainer.d.ts +0 -5
  394. package/dist/components/Sidebar/ToggleCollapseButton.d.ts +0 -1
  395. package/dist/components/Sidebar/index.d.ts +0 -8
  396. package/dist/components/icons/CloseSidebarIcon.d.ts +0 -2
  397. package/dist/components/icons/CloseSidebarMidIcon.d.ts +0 -1
  398. package/dist/components/icons/ExpandIcon.d.ts +0 -3
  399. package/dist/components/icons/SendArrowIcon.d.ts +0 -4
  400. package/dist/components/icons/SendArrowIconGreen.d.ts +0 -4
  401. package/dist/components/icons/SettingsIcon.d.ts +0 -3
  402. package/dist/components/icons/XIcon.d.ts +0 -3
  403. package/dist/material-theme.d.ts +0 -442
  404. package/dist/stories/Buttons.d.ts +0 -1
  405. package/dist/stories/Checkbox.d.ts +0 -1
  406. package/dist/stories/ColorPalette.d.ts +0 -1
  407. package/dist/stories/Dropdowns.d.ts +0 -1
  408. package/dist/stories/InputPrompt.d.ts +0 -1
  409. package/dist/stories/SearchModal.d.ts +0 -1
  410. package/dist/stories/Sidebar.d.ts +0 -1
  411. package/dist/stories/Typography.d.ts +0 -1
  412. package/src/components/HelloWorld.tsx +0 -3
  413. package/src/components/InputPrompt.tsx +0 -96
  414. package/src/components/SearchModal.tsx +0 -320
  415. package/src/components/Sidebar/Button.tsx +0 -20
  416. package/src/components/Sidebar/Container.tsx +0 -31
  417. package/src/components/Sidebar/Item.tsx +0 -39
  418. package/src/components/Sidebar/Layout.tsx +0 -32
  419. package/src/components/Sidebar/Provider.tsx +0 -47
  420. package/src/components/Sidebar/SecondaryItem.tsx +0 -39
  421. package/src/components/Sidebar/SideContainer.tsx +0 -31
  422. package/src/components/Sidebar/ToggleCollapseButton.tsx +0 -24
  423. package/src/components/Sidebar/index.ts +0 -8
  424. package/src/components/icons/CloseSidebarIcon.tsx +0 -19
  425. package/src/components/icons/CloseSidebarMidIcon.tsx +0 -19
  426. package/src/components/icons/ExpandIcon.tsx +0 -21
  427. package/src/components/icons/SendArrowIcon.tsx +0 -23
  428. package/src/components/icons/SendArrowIconGreen.tsx +0 -17
  429. package/src/components/icons/SettingsIcon.tsx +0 -33
  430. package/src/components/icons/XIcon.tsx +0 -21
  431. package/src/material-theme.ts +0 -477
  432. package/src/stories/Buttons.stories.tsx +0 -15
  433. package/src/stories/Buttons.tsx +0 -52
  434. package/src/stories/Checkbox.stories.tsx +0 -15
  435. package/src/stories/Checkbox.tsx +0 -56
  436. package/src/stories/ColorPalette.stories.tsx +0 -15
  437. package/src/stories/ColorPalette.tsx +0 -85
  438. package/src/stories/DocumentEditor.stories.tsx +0 -287
  439. package/src/stories/Dropdowns.stories.tsx +0 -15
  440. package/src/stories/Dropdowns.tsx +0 -52
  441. package/src/stories/InputPrompt.stories.tsx +0 -15
  442. package/src/stories/InputPrompt.tsx +0 -63
  443. package/src/stories/ModalHeader.stories.tsx +0 -36
  444. package/src/stories/PDFViewer.stories.tsx +0 -39
  445. package/src/stories/SearchModal.stories.tsx +0 -132
  446. package/src/stories/SearchModal.tsx +0 -82
  447. package/src/stories/Sidebar.stories.tsx +0 -15
  448. package/src/stories/Sidebar.tsx +0 -108
  449. package/src/stories/Tabs.stories.tsx +0 -51
  450. package/src/stories/Typography.stories.tsx +0 -15
  451. 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" | "icon" | "startIcon">;
8
+ className?: string;
9
+ };
10
+ export declare const EmptyState: ({ illustration, title, description, action, className, }: EmptyStateProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,33 @@
1
+ import { ReactNode } from 'react';
2
+ export type EntryVariant = "chat" | "issue" | "report";
3
+ /** @deprecated Prefer `EntryVariant`. */
4
+ export type EntryType = EntryVariant;
5
+ export type EntryState = "idle" | "active";
6
+ export type EntryProps = {
7
+ /** Visual type — drives the default leading icon. */
8
+ variant?: EntryVariant;
9
+ /** @deprecated Use `variant`. */
10
+ type?: EntryVariant;
11
+ state?: EntryState;
12
+ title?: ReactNode;
13
+ /** Secondary line — excerpt, metadata, or highlighted query match. */
14
+ subtitle?: ReactNode;
15
+ /** Unread count badge in the title row (Figma red pill). */
16
+ count?: number;
17
+ /** Trailing actions (e.g. ellipsis menu). Shown on hover / when forced. */
18
+ trailing?: ReactNode;
19
+ /** Override the default variant icon. */
20
+ icon?: ReactNode;
21
+ onClick?: () => void;
22
+ className?: string;
23
+ /** @deprecated Use `count` or `trailing`. */
24
+ meta?: ReactNode;
25
+ };
26
+ /**
27
+ * List entry row — Figma `Entry` (389:10001).
28
+ * Shared by search results and activity lists.
29
+ *
30
+ * Renders a `div` (not `<button>`) so trailing controls can be real buttons
31
+ * without nested-button issues. Whole-row click uses `onClick` + keyboard.
32
+ */
33
+ export declare const Entry: ({ variant, type, state, title, subtitle, count, trailing, icon, onClick, className, meta, }: 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;
@@ -0,0 +1,36 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
3
+ export type ModalProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Root>;
4
+ /** Generic dialog shell — portal, backdrop, focus trap, Escape. */
5
+ export declare const Modal: import('react').FC<DialogPrimitive.DialogProps>;
6
+ export declare const ModalTrigger: import('react').ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
7
+ export declare const ModalClose: import('react').ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & import('react').RefAttributes<HTMLButtonElement>>;
8
+ export type ModalPortalProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>;
9
+ export declare const ModalPortal: import('react').FC<DialogPrimitive.DialogPortalProps>;
10
+ export type ModalOverlayProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>;
11
+ /** Dark gray backdrop (app convention; Figma search frames omit overlay). */
12
+ export declare const ModalOverlay: import('react').ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
13
+ export type ModalContentProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {
14
+ /** When false, backdrop is omitted. Defaults to true. */
15
+ showOverlay?: boolean;
16
+ overlayClassName?: string;
17
+ };
18
+ export declare const ModalContent: import('react').ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & {
19
+ /** When false, backdrop is omitted. Defaults to true. */
20
+ showOverlay?: boolean;
21
+ overlayClassName?: string;
22
+ } & import('react').RefAttributes<HTMLDivElement>>;
23
+ export type ModalTitleProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;
24
+ export declare const ModalTitle: import('react').ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & import('react').RefAttributes<HTMLHeadingElement>, "ref"> & import('react').RefAttributes<HTMLHeadingElement>>;
25
+ export type ModalDescriptionProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Description>;
26
+ export declare const ModalDescription: import('react').ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & import('react').RefAttributes<HTMLParagraphElement>, "ref"> & import('react').RefAttributes<HTMLParagraphElement>>;
27
+ export type ModalHeaderSlotProps = {
28
+ children: ReactNode;
29
+ className?: string;
30
+ };
31
+ export declare const ModalHeaderSlot: ({ children, className, }: ModalHeaderSlotProps) => import("react/jsx-runtime").JSX.Element;
32
+ export type ModalBodyProps = {
33
+ children: ReactNode;
34
+ className?: string;
35
+ };
36
+ export declare const ModalBody: ({ children, className }: ModalBodyProps) => 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,27 @@
1
- import { default as React } from 'react';
2
- import { Tab } from '@material-tailwind/react';
3
- interface Tab {
4
- id: string;
1
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import * as TabsPrimitive from "@radix-ui/react-tabs";
3
+ export type TabsType = "tabs" | "pills";
4
+ /** Soft = search filters (filled idle). Solid = workflow shell (ghost idle, blue active). */
5
+ export type TabsAppearance = "soft" | "solid";
6
+ export type TabsProps = ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & {
7
+ type?: TabsType;
8
+ /** Only applies when `type="pills"`. Defaults to `soft`. */
9
+ appearance?: TabsAppearance;
10
+ };
11
+ export declare const Tabs: ({ type, appearance, className, children, ...props }: TabsProps) => import("react/jsx-runtime").JSX.Element;
12
+ export type TabsListProps = ComponentPropsWithoutRef<typeof TabsPrimitive.List>;
13
+ export declare const TabsList: import('react').ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
14
+ export type TabsTriggerProps = ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> & {
15
+ children: ReactNode;
16
+ };
17
+ export declare const TabsTrigger: import('react').ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & import('react').RefAttributes<HTMLButtonElement>, "ref"> & {
18
+ children: ReactNode;
19
+ } & import('react').RefAttributes<HTMLButtonElement>>;
20
+ export type TabsContentProps = ComponentPropsWithoutRef<typeof TabsPrimitive.Content>;
21
+ export declare const TabsContent: import('react').ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
22
+ /** @deprecated Prefer Tabs + TabsTrigger. Kept for Storybook atom demos. */
23
+ export type TabsItem = {
5
24
  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 {};
25
+ value?: string;
26
+ count?: number;
27
+ };
@@ -1,6 +1,14 @@
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, TabsList, TabsTrigger, TabsContent, type TabsProps, type TabsListProps, type TabsTriggerProps, type TabsContentProps, type TabsItem, type TabsType, type TabsAppearance, } from './Tabs';
8
+ export { Header, type HeaderProps, type HeaderVariant } from './Header';
9
+ export { Entry, type EntryProps, type EntryType, type EntryState, type EntryVariant } from './Entry';
10
+ export { EmptyState, type EmptyStateProps } from './EmptyState';
11
+ export { Modal, ModalTrigger, ModalClose, ModalPortal, ModalOverlay, ModalContent, ModalTitle, ModalDescription, ModalHeaderSlot, ModalBody, type ModalProps, type ModalOverlayProps, type ModalContentProps, type ModalTitleProps, type ModalDescriptionProps, type ModalBodyProps, } from './Modal';
12
+ export { ModalPanel } from './ModalPanel';
4
13
  export * from './PdfViewer/';
5
- export * from './Tabs';
6
14
  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;