@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.
- package/README.md +70 -53
- package/dist/components/Checkbox.d.ts +9 -0
- package/dist/components/Chip.d.ts +15 -0
- package/dist/components/EmptyState.d.ts +10 -0
- package/dist/components/Entry.d.ts +33 -0
- package/dist/components/Header.d.ts +9 -0
- package/dist/components/Input.d.ts +11 -0
- package/dist/components/InputType.d.ts +10 -0
- package/dist/components/Modal.d.ts +36 -0
- package/dist/components/ModalPanel.d.ts +7 -7
- package/dist/components/PdfViewer/ImageViewer.d.ts +2 -2
- package/dist/components/PdfViewer/PdfViewer.d.ts +2 -2
- package/dist/components/ReportInput.d.ts +10 -0
- package/dist/components/Tab.d.ts +7 -0
- package/dist/components/Tabs.d.ts +26 -12
- package/dist/components/index.d.ts +12 -4
- package/dist/domain/Filters/FilterPill.d.ts +6 -0
- package/dist/domain/Filters/FilteredPill.d.ts +8 -0
- package/dist/domain/Filters/FiltersBar.d.ts +12 -0
- package/dist/domain/Filters/index.d.ts +3 -0
- package/dist/domain/Forms/FormCard.d.ts +12 -0
- package/dist/domain/Forms/FormHeader.d.ts +8 -0
- package/dist/domain/Forms/ListRow.d.ts +8 -0
- package/dist/domain/Forms/RiskMeter.d.ts +8 -0
- package/dist/domain/Forms/index.d.ts +4 -0
- package/dist/domain/Library/File.d.ts +8 -0
- package/dist/domain/Library/Folder.d.ts +8 -0
- package/dist/domain/Library/Folders.d.ts +11 -0
- package/dist/domain/Library/ListRow.d.ts +8 -0
- package/dist/domain/Library/Navigation.d.ts +7 -0
- package/dist/domain/Library/index.d.ts +5 -0
- package/dist/domain/Report/InfoHeading.d.ts +7 -0
- package/dist/domain/Report/InfoRow.d.ts +8 -0
- package/dist/domain/Report/Report.d.ts +7 -0
- package/dist/domain/Report/SectionHeader.d.ts +10 -0
- package/dist/domain/Report/TaskRow.d.ts +11 -0
- package/dist/domain/Report/index.d.ts +5 -0
- package/dist/domain/Settings/EquipmentRow.d.ts +8 -0
- package/dist/domain/Settings/MemberRow.d.ts +11 -0
- package/dist/domain/Settings/SettingRow.d.ts +10 -0
- package/dist/domain/Settings/index.d.ts +3 -0
- package/dist/domain/Ships/ShipRow.d.ts +10 -0
- package/dist/domain/Ships/index.d.ts +1 -0
- package/dist/domain/Workflows/GroupHeader.d.ts +8 -0
- package/dist/domain/Workflows/Importance.d.ts +8 -0
- package/dist/domain/Workflows/Progress.d.ts +7 -0
- package/dist/domain/Workflows/Question.d.ts +9 -0
- package/dist/domain/Workflows/StatusPopover.d.ts +7 -0
- package/dist/domain/Workflows/Task.d.ts +9 -0
- package/dist/domain/Workflows/TaskHeader.d.ts +9 -0
- package/dist/domain/Workflows/WorkflowFilters.d.ts +6 -0
- package/dist/domain/Workflows/WorkflowForm.d.ts +8 -0
- package/dist/domain/Workflows/WorkflowHeader.d.ts +11 -0
- package/dist/domain/Workflows/WorkflowListItem.d.ts +11 -0
- package/dist/domain/Workflows/WorkflowProgress.d.ts +6 -0
- package/dist/domain/Workflows/WorkflowRow.d.ts +10 -0
- package/dist/domain/Workflows/index.d.ts +13 -0
- package/dist/domain/index.d.ts +7 -0
- package/dist/icons/ArrowIcon.d.ts +8 -0
- package/dist/icons/ChevronIcon.d.ts +8 -0
- package/dist/icons/Icon.d.ts +96 -0
- package/dist/icons/arrow-paths.d.ts +12 -0
- package/dist/icons/chevron-paths.d.ts +27 -0
- package/dist/icons/createIcon.d.ts +34 -0
- package/dist/icons/generated.d.ts +68 -0
- package/dist/icons/icon-sizes.d.ts +5 -0
- package/dist/icons/icons-data.d.ts +1023 -0
- package/dist/icons/index.d.ts +13 -0
- package/dist/icons/types.d.ts +10 -0
- package/dist/illustrations/AuditPreparation.d.ts +4 -0
- package/dist/illustrations/CompletedTasks.d.ts +4 -0
- package/dist/illustrations/Creation.d.ts +4 -0
- package/dist/illustrations/InternalAudit.d.ts +4 -0
- package/dist/illustrations/Invite.d.ts +4 -0
- package/dist/illustrations/PortStateControl.d.ts +4 -0
- package/dist/illustrations/Processing.d.ts +4 -0
- package/dist/illustrations/QuestionsDone.d.ts +4 -0
- package/dist/illustrations/RightShipInspection.d.ts +4 -0
- package/dist/illustrations/Upload.d.ts +4 -0
- package/dist/illustrations/WorkflowCreated.d.ts +4 -0
- package/dist/illustrations/Workflows.d.ts +4 -0
- package/dist/illustrations/createIllustration.d.ts +11 -0
- package/dist/illustrations/index.d.ts +13 -0
- package/dist/index.cjs +64 -80
- package/dist/index.d.ts +9 -3
- package/dist/index.esm.js +11535 -36619
- package/dist/patterns/Chat/Attachment.d.ts +6 -0
- package/dist/patterns/Chat/ChatEntry.d.ts +10 -0
- package/dist/patterns/Chat/ChatHeader.d.ts +7 -0
- package/dist/patterns/Chat/ChatInput.d.ts +5 -0
- package/dist/patterns/Chat/ChatStatus.d.ts +6 -0
- package/dist/patterns/Chat/ChatTile.d.ts +9 -0
- package/dist/patterns/Chat/Copilot.d.ts +8 -0
- package/dist/patterns/Chat/Draft.d.ts +5 -0
- package/dist/patterns/Chat/Greeting.d.ts +7 -0
- package/dist/patterns/Chat/Reference.d.ts +6 -0
- package/dist/patterns/Chat/Source.d.ts +6 -0
- package/dist/patterns/Chat/Sources.d.ts +5 -0
- package/dist/patterns/Chat/Suggestion.d.ts +5 -0
- package/dist/patterns/Chat/Suggestions.d.ts +4 -0
- package/dist/patterns/Chat/index.d.ts +14 -0
- package/dist/patterns/Modal/Invitee.d.ts +8 -0
- package/dist/patterns/Modal/ModalFooter.d.ts +6 -0
- package/dist/patterns/Modal/ModalHeader.d.ts +10 -0
- package/dist/patterns/Modal/index.d.ts +3 -0
- package/dist/patterns/Search/Pill.d.ts +10 -0
- package/dist/patterns/Search/PillInfo.d.ts +8 -0
- package/dist/patterns/Search/ResultRow.d.ts +19 -0
- package/dist/patterns/Search/SearchModal.d.ts +88 -0
- package/dist/patterns/Search/SectionHeader.d.ts +5 -0
- package/dist/patterns/Search/index.d.ts +5 -0
- package/dist/patterns/Sidebar/Account.d.ts +22 -0
- package/dist/patterns/Sidebar/ActivityNavGroup.d.ts +17 -0
- package/dist/patterns/Sidebar/CollapsibleNavGroup.d.ts +24 -0
- package/dist/patterns/Sidebar/Indicator.d.ts +6 -0
- package/dist/patterns/Sidebar/NewChat.d.ts +10 -0
- package/dist/patterns/Sidebar/Sidebar.d.ts +13 -0
- package/dist/patterns/Sidebar/SidebarAction.d.ts +11 -0
- package/dist/patterns/Sidebar/SidebarEntry.d.ts +25 -0
- package/dist/patterns/Sidebar/SidebarHeading.d.ts +11 -0
- package/dist/patterns/Sidebar/SidebarLink.d.ts +22 -0
- package/dist/patterns/Sidebar/SidebarShell.d.ts +11 -0
- package/dist/patterns/Sidebar/Switcher.d.ts +8 -0
- package/dist/patterns/Sidebar/constants.d.ts +2 -0
- package/dist/patterns/Sidebar/figma-assets.d.ts +3 -0
- package/dist/patterns/Sidebar/figma-demo-content.d.ts +75 -0
- package/dist/patterns/Sidebar/figma-sidebar-nav.d.ts +12 -0
- package/dist/patterns/Sidebar/index.d.ts +13 -0
- package/dist/patterns/Sidebar/sidebar-styles.d.ts +45 -0
- package/dist/patterns/Skeleton/Skeleton.d.ts +6 -0
- package/dist/patterns/Skeleton/index.d.ts +1 -0
- package/dist/patterns/index.d.ts +5 -0
- package/dist/primitives/Avatar.d.ts +10 -0
- package/dist/primitives/Badge.d.ts +14 -0
- package/dist/primitives/Button.d.ts +22 -0
- package/dist/primitives/Callout.d.ts +7 -0
- package/dist/primitives/Count.d.ts +5 -0
- package/dist/primitives/DropdownMenu.d.ts +15 -0
- package/dist/primitives/GroupedAvatars.d.ts +7 -0
- package/dist/primitives/IconButton.d.ts +16 -0
- package/dist/primitives/Logo.d.ts +8 -0
- package/dist/primitives/MenuItem.d.ts +7 -0
- package/dist/primitives/Switch.d.ts +7 -0
- package/dist/primitives/ThinkingDot.d.ts +4 -0
- package/dist/primitives/Tooltip.d.ts +12 -0
- package/dist/primitives/button-styles.d.ts +4 -0
- package/dist/primitives/index.d.ts +15 -0
- package/dist/style.css +1 -1
- package/dist/tailwind-theme.d.ts +234 -198
- package/dist/theme-entry-BUK3MJUJ.mjs +261 -0
- package/dist/theme-entry-ygTpGaNC.js +1 -0
- package/dist/theme-entry.d.ts +2 -0
- package/dist/theme.cjs +1 -0
- package/dist/theme.d.ts +2 -0
- package/dist/theme.esm.js +5 -0
- package/dist/tokens/colors.d.ts +148 -0
- package/dist/tokens/elevation.d.ts +11 -0
- package/dist/tokens/index.d.ts +4 -0
- package/dist/tokens/semantic.d.ts +89 -0
- package/dist/tokens/typography.d.ts +85 -0
- package/package.json +36 -7
- package/src/components/Checkbox.tsx +77 -0
- package/src/components/Chip.tsx +69 -0
- package/src/components/EmptyState.tsx +44 -0
- package/src/components/Entry.tsx +138 -0
- package/src/components/Header.tsx +39 -0
- package/src/components/Input.tsx +69 -0
- package/src/components/InputType.tsx +76 -0
- package/src/components/Modal.tsx +141 -0
- package/src/components/ModalPanel.tsx +22 -37
- package/src/components/PdfViewer/ImageViewer.tsx +121 -182
- package/src/components/PdfViewer/PdfViewer.tsx +103 -155
- package/src/components/ReportInput.tsx +65 -0
- package/src/components/Tab.tsx +33 -0
- package/src/components/Tabs.tsx +146 -43
- package/src/components/index.ts +43 -6
- package/src/domain/Filters/FilterPill.tsx +25 -0
- package/src/domain/Filters/FilteredPill.tsx +39 -0
- package/src/domain/Filters/FiltersBar.tsx +76 -0
- package/src/domain/Filters/index.ts +3 -0
- package/src/domain/Forms/FormCard.tsx +61 -0
- package/src/domain/Forms/FormHeader.tsx +34 -0
- package/src/domain/Forms/ListRow.tsx +40 -0
- package/src/domain/Forms/RiskMeter.tsx +50 -0
- package/src/domain/Forms/index.ts +4 -0
- package/src/domain/Library/File.tsx +59 -0
- package/src/domain/Library/Folder.tsx +55 -0
- package/src/domain/Library/Folders.tsx +43 -0
- package/src/domain/Library/ListRow.tsx +40 -0
- package/src/domain/Library/Navigation.tsx +31 -0
- package/src/domain/Library/index.ts +5 -0
- package/src/domain/Report/InfoHeading.tsx +25 -0
- package/src/domain/Report/InfoRow.tsx +35 -0
- package/src/domain/Report/Report.tsx +53 -0
- package/src/domain/Report/SectionHeader.tsx +43 -0
- package/src/domain/Report/TaskRow.tsx +57 -0
- package/src/domain/Report/index.ts +5 -0
- package/src/domain/Settings/EquipmentRow.tsx +39 -0
- package/src/domain/Settings/MemberRow.tsx +53 -0
- package/src/domain/Settings/SettingRow.tsx +66 -0
- package/src/domain/Settings/index.ts +3 -0
- package/src/domain/Ships/ShipRow.tsx +49 -0
- package/src/domain/Ships/index.ts +1 -0
- package/src/domain/Workflows/GroupHeader.tsx +48 -0
- package/src/domain/Workflows/Importance.tsx +48 -0
- package/src/domain/Workflows/Progress.tsx +55 -0
- package/src/domain/Workflows/Question.tsx +42 -0
- package/src/domain/Workflows/StatusPopover.tsx +53 -0
- package/src/domain/Workflows/Task.tsx +46 -0
- package/src/domain/Workflows/TaskHeader.tsx +51 -0
- package/src/domain/Workflows/WorkflowFilters.tsx +40 -0
- package/src/domain/Workflows/WorkflowForm.tsx +40 -0
- package/src/domain/Workflows/WorkflowHeader.tsx +62 -0
- package/src/domain/Workflows/WorkflowListItem.tsx +45 -0
- package/src/domain/Workflows/WorkflowProgress.tsx +36 -0
- package/src/domain/Workflows/WorkflowRow.tsx +43 -0
- package/src/domain/Workflows/index.ts +13 -0
- package/src/domain/index.ts +37 -0
- package/src/icons/ArrowIcon.tsx +42 -0
- package/src/icons/ChevronIcon.tsx +42 -0
- package/src/icons/Icon.tsx +184 -0
- package/src/icons/arrow-paths.ts +8 -0
- package/src/icons/chevron-paths.ts +17 -0
- package/src/icons/createIcon.tsx +128 -0
- package/src/icons/generated.tsx +71 -0
- package/src/icons/icon-sizes.ts +20 -0
- package/src/icons/icons-data.ts +656 -0
- package/src/icons/index.ts +25 -0
- package/src/icons/types.ts +18 -0
- package/src/illustrations/AuditPreparation.tsx +15 -0
- package/src/illustrations/CompletedTasks.tsx +16 -0
- package/src/illustrations/Creation.tsx +13 -0
- package/src/illustrations/InternalAudit.tsx +13 -0
- package/src/illustrations/Invite.tsx +13 -0
- package/src/illustrations/PortStateControl.tsx +13 -0
- package/src/illustrations/Processing.tsx +17 -0
- package/src/illustrations/QuestionsDone.tsx +16 -0
- package/src/illustrations/RightShipInspection.tsx +18 -0
- package/src/illustrations/Upload.tsx +12 -0
- package/src/illustrations/WorkflowCreated.tsx +13 -0
- package/src/illustrations/Workflows.tsx +13 -0
- package/src/illustrations/createIllustration.tsx +30 -0
- package/src/illustrations/index.ts +14 -0
- package/src/index.ts +76 -4
- package/src/patterns/Chat/Attachment.tsx +27 -0
- package/src/patterns/Chat/ChatEntry.tsx +41 -0
- package/src/patterns/Chat/ChatHeader.tsx +39 -0
- package/src/patterns/Chat/ChatInput.tsx +35 -0
- package/src/patterns/Chat/ChatStatus.tsx +26 -0
- package/src/patterns/Chat/ChatTile.tsx +40 -0
- package/src/patterns/Chat/Copilot.tsx +50 -0
- package/src/patterns/Chat/Draft.tsx +23 -0
- package/src/patterns/Chat/Greeting.tsx +32 -0
- package/src/patterns/Chat/Reference.tsx +26 -0
- package/src/patterns/Chat/Source.tsx +27 -0
- package/src/patterns/Chat/Sources.tsx +23 -0
- package/src/patterns/Chat/Suggestion.tsx +23 -0
- package/src/patterns/Chat/Suggestions.tsx +21 -0
- package/src/patterns/Chat/index.ts +14 -0
- package/src/patterns/Modal/Invitee.tsx +44 -0
- package/src/patterns/Modal/ModalFooter.tsx +39 -0
- package/src/patterns/Modal/ModalHeader.tsx +77 -0
- package/src/patterns/Modal/index.ts +3 -0
- package/src/patterns/Search/Pill.tsx +44 -0
- package/src/patterns/Search/PillInfo.tsx +41 -0
- package/src/patterns/Search/ResultRow.tsx +44 -0
- package/src/patterns/Search/SearchModal.tsx +310 -0
- package/src/patterns/Search/SectionHeader.tsx +20 -0
- package/src/patterns/Search/index.ts +31 -0
- package/src/patterns/Sidebar/Account.tsx +193 -0
- package/src/patterns/Sidebar/ActivityNavGroup.tsx +71 -0
- package/src/patterns/Sidebar/CollapsibleNavGroup.tsx +106 -0
- package/src/patterns/Sidebar/Indicator.tsx +14 -0
- package/src/patterns/Sidebar/NewChat.tsx +71 -0
- package/src/patterns/Sidebar/Sidebar.tsx +363 -0
- package/src/patterns/Sidebar/SidebarAction.tsx +55 -0
- package/src/patterns/Sidebar/SidebarEntry.tsx +129 -0
- package/src/patterns/Sidebar/SidebarHeading.tsx +38 -0
- package/src/patterns/Sidebar/SidebarLink.tsx +125 -0
- package/src/patterns/Sidebar/SidebarShell.tsx +32 -0
- package/src/patterns/Sidebar/Switcher.tsx +116 -0
- package/src/patterns/Sidebar/assets/account-avatar-24.jpg +0 -0
- package/src/patterns/Sidebar/assets/account-avatar.jpg +0 -0
- package/src/patterns/Sidebar/assets/indicator-compliance.png +0 -0
- package/src/patterns/Sidebar/assets/indicator-technical.png +0 -0
- package/src/patterns/Sidebar/assets/logo-compliance-mark.png +5 -0
- package/src/patterns/Sidebar/assets/logo-compliance-mask.png +13 -0
- package/src/patterns/Sidebar/assets/logo-compliance.svg +17 -0
- package/src/patterns/Sidebar/assets/logo-technical-avatar.svg +17 -0
- package/src/patterns/Sidebar/assets/logo-technical-mark.png +5 -0
- package/src/patterns/Sidebar/assets/logo-technical.svg +16 -0
- package/src/patterns/Sidebar/constants.ts +2 -0
- package/src/patterns/Sidebar/figma-assets.ts +4 -0
- package/src/patterns/Sidebar/figma-demo-content.ts +30 -0
- package/src/patterns/Sidebar/figma-sidebar-nav.ts +79 -0
- package/src/patterns/Sidebar/index.ts +13 -0
- package/src/patterns/Sidebar/sidebar-styles.ts +101 -0
- package/src/patterns/Skeleton/Skeleton.tsx +56 -0
- package/src/patterns/Skeleton/index.ts +1 -0
- package/src/patterns/index.ts +5 -0
- package/src/primitives/Avatar.tsx +71 -0
- package/src/primitives/Badge.tsx +44 -0
- package/src/primitives/Button.tsx +231 -0
- package/src/primitives/Callout.tsx +21 -0
- package/src/primitives/Count.tsx +18 -0
- package/src/primitives/DropdownMenu.tsx +60 -0
- package/src/primitives/GroupedAvatars.tsx +36 -0
- package/src/primitives/IconButton.tsx +56 -0
- package/src/primitives/Logo.tsx +43 -0
- package/src/primitives/MenuItem.tsx +35 -0
- package/src/primitives/Switch.tsx +38 -0
- package/src/primitives/ThinkingDot.tsx +34 -0
- package/src/primitives/Tooltip.tsx +42 -0
- package/src/primitives/button-styles.ts +92 -0
- package/src/primitives/index.ts +18 -0
- package/src/stories/_layout/FigmaPage.tsx +94 -0
- package/src/stories/_layout/index.ts +8 -0
- package/src/stories/canvases/ButtonsCanvas.tsx +107 -0
- package/src/stories/canvases/ButtonsMatrixCanvas.tsx +65 -0
- package/src/stories/canvases/ChatCanvas.tsx +130 -0
- package/src/stories/canvases/ColorTokensCanvas.tsx +16 -0
- package/src/stories/canvases/ColorsCanvas.tsx +101 -0
- package/src/stories/canvases/ContentCanvas.tsx +157 -0
- package/src/stories/canvases/CoreCanvas.tsx +125 -0
- package/src/stories/canvases/DomainFormsCanvas.tsx +67 -0
- package/src/stories/canvases/FiltersCanvas.tsx +41 -0
- package/src/stories/canvases/FormsCanvas.tsx +71 -0
- package/src/stories/canvases/IconsCanvas.tsx +99 -0
- package/src/stories/canvases/IllustrationsCanvas.tsx +50 -0
- package/src/stories/canvases/LibraryCanvas.tsx +67 -0
- package/src/stories/canvases/ModalsCanvas.tsx +54 -0
- package/src/stories/canvases/RaiseLevelsCanvas.tsx +27 -0
- package/src/stories/canvases/ReportCanvas.tsx +33 -0
- package/src/stories/canvases/ReportLayoutCanvas.tsx +19 -0
- package/src/stories/canvases/SearchCanvas.tsx +150 -0
- package/src/stories/canvases/SettingsCanvas.tsx +41 -0
- package/src/stories/canvases/ShipsCanvas.tsx +38 -0
- package/src/stories/canvases/SidebarCanvas.tsx +147 -0
- package/src/stories/canvases/SidebarLayoutsCanvas.tsx +71 -0
- package/src/stories/canvases/SidebarPlayground.tsx +35 -0
- package/src/stories/canvases/SkeletonsCanvas.tsx +30 -0
- package/src/stories/canvases/TypographyCanvas.tsx +53 -0
- package/src/stories/canvases/WorkflowsCanvas.tsx +129 -0
- package/src/stories/canvases/figma-buttons-layout.ts +83 -0
- package/src/stories/canvases/figma-icons-layout.ts +318 -0
- package/src/stories/canvases/figma-sidebar-layout.ts +212 -0
- package/src/stories/canvases/figma-sidebar-layouts-layout.ts +84 -0
- package/src/stories/canvases/figma-widths.ts +28 -0
- package/src/stories/canvases/helpers.tsx +146 -0
- package/src/stories/components/Buttons.stories.tsx +12 -0
- package/src/stories/components/Chat.stories.tsx +12 -0
- package/src/stories/components/Content.stories.tsx +12 -0
- package/src/stories/components/Core.stories.tsx +12 -0
- package/src/stories/components/DomainForms.stories.tsx +12 -0
- package/src/stories/components/Filters.stories.tsx +12 -0
- package/src/stories/components/Forms.stories.tsx +12 -0
- package/src/stories/components/Icons.stories.tsx +12 -0
- package/src/stories/components/Illustrations.stories.tsx +12 -0
- package/src/stories/components/Library.stories.tsx +12 -0
- package/src/stories/components/Modals.stories.tsx +12 -0
- package/src/stories/components/Report.stories.tsx +12 -0
- package/src/stories/components/ReportLayout.stories.tsx +12 -0
- package/src/stories/components/Search.stories.tsx +12 -0
- package/src/stories/components/Settings.stories.tsx +12 -0
- package/src/stories/components/Ships.stories.tsx +12 -0
- package/src/stories/components/Sidebar.stories.tsx +37 -0
- package/src/stories/components/SidebarLayouts.stories.tsx +12 -0
- package/src/stories/components/Skeletons.stories.tsx +12 -0
- package/src/stories/components/Workflows.stories.tsx +12 -0
- package/src/stories/style-guide/Buttons.stories.tsx +12 -0
- package/src/stories/style-guide/ColorTokens.stories.tsx +12 -0
- package/src/stories/style-guide/Colors.stories.tsx +12 -0
- package/src/stories/style-guide/RaiseLevels.stories.tsx +12 -0
- package/src/stories/style-guide/Typography.stories.tsx +12 -0
- package/src/style.css +169 -2
- package/src/tailwind-theme.ts +164 -240
- package/src/theme-entry.ts +2 -0
- package/src/tokens/colors.ts +82 -0
- package/src/tokens/elevation.ts +12 -0
- package/src/tokens/index.ts +4 -0
- package/src/tokens/semantic.ts +89 -0
- package/src/tokens/typography.ts +21 -0
- package/tailwind.config.ts +12 -0
- package/dist/components/HelloWorld.d.ts +0 -1
- package/dist/components/InputPrompt.d.ts +0 -20
- package/dist/components/SearchModal.d.ts +0 -24
- package/dist/components/Sidebar/Button.d.ts +0 -7
- package/dist/components/Sidebar/Container.d.ts +0 -5
- package/dist/components/Sidebar/Item.d.ts +0 -9
- package/dist/components/Sidebar/Layout.d.ts +0 -10
- package/dist/components/Sidebar/Provider.d.ts +0 -14
- package/dist/components/Sidebar/SecondaryItem.d.ts +0 -9
- package/dist/components/Sidebar/SideContainer.d.ts +0 -5
- package/dist/components/Sidebar/ToggleCollapseButton.d.ts +0 -1
- package/dist/components/Sidebar/index.d.ts +0 -8
- package/dist/components/icons/CloseSidebarIcon.d.ts +0 -2
- package/dist/components/icons/CloseSidebarMidIcon.d.ts +0 -1
- package/dist/components/icons/ExpandIcon.d.ts +0 -3
- package/dist/components/icons/SendArrowIcon.d.ts +0 -4
- package/dist/components/icons/SendArrowIconGreen.d.ts +0 -4
- package/dist/components/icons/SettingsIcon.d.ts +0 -3
- package/dist/components/icons/XIcon.d.ts +0 -3
- package/dist/material-theme.d.ts +0 -442
- package/dist/stories/Buttons.d.ts +0 -1
- package/dist/stories/Checkbox.d.ts +0 -1
- package/dist/stories/ColorPalette.d.ts +0 -1
- package/dist/stories/Dropdowns.d.ts +0 -1
- package/dist/stories/InputPrompt.d.ts +0 -1
- package/dist/stories/SearchModal.d.ts +0 -1
- package/dist/stories/Sidebar.d.ts +0 -1
- package/dist/stories/Typography.d.ts +0 -1
- package/src/components/HelloWorld.tsx +0 -3
- package/src/components/InputPrompt.tsx +0 -96
- package/src/components/SearchModal.tsx +0 -320
- package/src/components/Sidebar/Button.tsx +0 -20
- package/src/components/Sidebar/Container.tsx +0 -31
- package/src/components/Sidebar/Item.tsx +0 -39
- package/src/components/Sidebar/Layout.tsx +0 -32
- package/src/components/Sidebar/Provider.tsx +0 -47
- package/src/components/Sidebar/SecondaryItem.tsx +0 -39
- package/src/components/Sidebar/SideContainer.tsx +0 -31
- package/src/components/Sidebar/ToggleCollapseButton.tsx +0 -24
- package/src/components/Sidebar/index.ts +0 -8
- package/src/components/icons/CloseSidebarIcon.tsx +0 -19
- package/src/components/icons/CloseSidebarMidIcon.tsx +0 -19
- package/src/components/icons/ExpandIcon.tsx +0 -21
- package/src/components/icons/SendArrowIcon.tsx +0 -23
- package/src/components/icons/SendArrowIconGreen.tsx +0 -17
- package/src/components/icons/SettingsIcon.tsx +0 -33
- package/src/components/icons/XIcon.tsx +0 -21
- package/src/material-theme.ts +0 -477
- package/src/stories/Buttons.stories.tsx +0 -15
- package/src/stories/Buttons.tsx +0 -52
- package/src/stories/Checkbox.stories.tsx +0 -15
- package/src/stories/Checkbox.tsx +0 -56
- package/src/stories/ColorPalette.stories.tsx +0 -15
- package/src/stories/ColorPalette.tsx +0 -85
- package/src/stories/DocumentEditor.stories.tsx +0 -287
- package/src/stories/Dropdowns.stories.tsx +0 -15
- package/src/stories/Dropdowns.tsx +0 -52
- package/src/stories/InputPrompt.stories.tsx +0 -15
- package/src/stories/InputPrompt.tsx +0 -63
- package/src/stories/ModalHeader.stories.tsx +0 -36
- package/src/stories/PDFViewer.stories.tsx +0 -39
- package/src/stories/SearchModal.stories.tsx +0 -132
- package/src/stories/SearchModal.tsx +0 -82
- package/src/stories/Sidebar.stories.tsx +0 -15
- package/src/stories/Sidebar.tsx +0 -108
- package/src/stories/Tabs.stories.tsx +0 -51
- package/src/stories/Typography.stories.tsx +0 -15
- package/src/stories/Typography.tsx +0 -110
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ReportIcon } from "../../icons";
|
|
2
|
+
import {
|
|
3
|
+
Checkbox,
|
|
4
|
+
Chip,
|
|
5
|
+
Input,
|
|
6
|
+
InputType,
|
|
7
|
+
ReportInput,
|
|
8
|
+
} from "../../components";
|
|
9
|
+
import {
|
|
10
|
+
FigmaContent,
|
|
11
|
+
FigmaGrid,
|
|
12
|
+
FigmaPage,
|
|
13
|
+
FigmaRow,
|
|
14
|
+
FigmaSection,
|
|
15
|
+
} from "../_layout";
|
|
16
|
+
import { FIGMA_WIDTHS } from "./figma-widths";
|
|
17
|
+
|
|
18
|
+
export const FormsCanvas = () => (
|
|
19
|
+
<FigmaPage title="Forms" width={FIGMA_WIDTHS.forms}>
|
|
20
|
+
<FigmaContent>
|
|
21
|
+
<FigmaSection label="Input">
|
|
22
|
+
<div className="max-w-sm space-y-4">
|
|
23
|
+
<Input label="Vessel name" placeholder="Enter vessel name" />
|
|
24
|
+
<Input label="IMO number" value="9876543" state="edit" />
|
|
25
|
+
<Input label="Email" error="Invalid email address" />
|
|
26
|
+
<Input label="Port" placeholder="Enter port" state="disabled" />
|
|
27
|
+
</div>
|
|
28
|
+
</FigmaSection>
|
|
29
|
+
|
|
30
|
+
<FigmaSection label="Report Input">
|
|
31
|
+
<div className="max-w-sm space-y-4">
|
|
32
|
+
<ReportInput />
|
|
33
|
+
<ReportInput value="Inspection findings summary..." state="edit" />
|
|
34
|
+
</div>
|
|
35
|
+
</FigmaSection>
|
|
36
|
+
|
|
37
|
+
<FigmaSection label="Input Type">
|
|
38
|
+
<FigmaGrid gap={16}>
|
|
39
|
+
<InputType type="text" state="on" />
|
|
40
|
+
<InputType type="text" state="off" />
|
|
41
|
+
<InputType type="binary" state="on" />
|
|
42
|
+
<InputType type="binary" state="off" />
|
|
43
|
+
</FigmaGrid>
|
|
44
|
+
</FigmaSection>
|
|
45
|
+
|
|
46
|
+
<FigmaSection label="Chip">
|
|
47
|
+
<FigmaGrid gap={16}>
|
|
48
|
+
<Chip variant="label" label="Status" />
|
|
49
|
+
<Chip variant="dot" label="Critical" dotColor="red" />
|
|
50
|
+
<Chip variant="icon" label="Report" icon={<ReportIcon size="small" />} />
|
|
51
|
+
<Chip variant="multiple" label="3 members" />
|
|
52
|
+
<Chip
|
|
53
|
+
variant="avatar"
|
|
54
|
+
label="Jordan Lee"
|
|
55
|
+
avatar={{ chief: "initials", initials: "JL" }}
|
|
56
|
+
onRemove={() => {}}
|
|
57
|
+
/>
|
|
58
|
+
</FigmaGrid>
|
|
59
|
+
</FigmaSection>
|
|
60
|
+
|
|
61
|
+
<FigmaSection label="Checkbox">
|
|
62
|
+
<FigmaRow label="States">
|
|
63
|
+
<Checkbox label="Accept terms" />
|
|
64
|
+
<Checkbox checked label="Completed" />
|
|
65
|
+
<Checkbox indeterminate label="Partial selection" />
|
|
66
|
+
<Checkbox disabled label="Disabled" />
|
|
67
|
+
</FigmaRow>
|
|
68
|
+
</FigmaSection>
|
|
69
|
+
</FigmaContent>
|
|
70
|
+
</FigmaPage>
|
|
71
|
+
);
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { ComponentType, SVGProps } from "react";
|
|
2
|
+
import { ArrowIcon, ChevronIcon, iconRegistry } from "../../icons";
|
|
3
|
+
import type { IconProps } from "../../icons";
|
|
4
|
+
import { FigmaContent, FigmaPage } from "../_layout";
|
|
5
|
+
import { FIGMA_WIDTHS } from "./figma-widths";
|
|
6
|
+
import {
|
|
7
|
+
FIGMA_ICONS_CONTENT,
|
|
8
|
+
FIGMA_ICON_FRAMES,
|
|
9
|
+
FIGMA_ICONS_GRID_HEIGHT,
|
|
10
|
+
FIGMA_ICONS_GRID_TOP,
|
|
11
|
+
FIGMA_ICON_RENDER_OFFSET,
|
|
12
|
+
type IconFrameSlot,
|
|
13
|
+
} from "./figma-icons-layout";
|
|
14
|
+
|
|
15
|
+
const renderSlot = (slot: IconFrameSlot, key: string) => {
|
|
16
|
+
if (slot.kind === "arrow") {
|
|
17
|
+
return (
|
|
18
|
+
<ArrowIcon
|
|
19
|
+
key={key}
|
|
20
|
+
direction={slot.direction}
|
|
21
|
+
size="large"
|
|
22
|
+
className="block text-display-on-light-primary"
|
|
23
|
+
/>
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (slot.kind === "chevron") {
|
|
28
|
+
return (
|
|
29
|
+
<ChevronIcon
|
|
30
|
+
key={key}
|
|
31
|
+
direction={slot.direction}
|
|
32
|
+
size="small"
|
|
33
|
+
className="block text-display-on-light-primary"
|
|
34
|
+
/>
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const IconComponent = iconRegistry[slot.name] as ComponentType<
|
|
39
|
+
IconProps & SVGProps<SVGSVGElement>
|
|
40
|
+
>;
|
|
41
|
+
|
|
42
|
+
return (
|
|
43
|
+
<IconComponent
|
|
44
|
+
key={key}
|
|
45
|
+
size={slot.size}
|
|
46
|
+
filled={slot.filled}
|
|
47
|
+
variant={slot.variant}
|
|
48
|
+
className="block text-display-on-light-primary"
|
|
49
|
+
/>
|
|
50
|
+
);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export const IconsCanvas = () => (
|
|
54
|
+
<FigmaPage title="Icons" width={FIGMA_WIDTHS.icons}>
|
|
55
|
+
<FigmaContent padding={0}>
|
|
56
|
+
<div
|
|
57
|
+
data-figma-icons-grid
|
|
58
|
+
className="relative overflow-hidden"
|
|
59
|
+
style={{
|
|
60
|
+
width: FIGMA_ICONS_CONTENT.width,
|
|
61
|
+
height: FIGMA_ICONS_GRID_HEIGHT,
|
|
62
|
+
}}
|
|
63
|
+
>
|
|
64
|
+
<div
|
|
65
|
+
className="relative"
|
|
66
|
+
style={{
|
|
67
|
+
width: FIGMA_ICONS_CONTENT.width,
|
|
68
|
+
height: FIGMA_ICONS_CONTENT.height,
|
|
69
|
+
marginTop: -FIGMA_ICONS_GRID_TOP,
|
|
70
|
+
transform: `translate(${FIGMA_ICON_RENDER_OFFSET.x}px, ${FIGMA_ICON_RENDER_OFFSET.y}px)`,
|
|
71
|
+
}}
|
|
72
|
+
>
|
|
73
|
+
{FIGMA_ICON_FRAMES.map((frame, frameIndex) => (
|
|
74
|
+
<div
|
|
75
|
+
key={frameIndex}
|
|
76
|
+
className="absolute rounded border border-dashed border-[#9747FF]"
|
|
77
|
+
style={{
|
|
78
|
+
left: frame.x,
|
|
79
|
+
top: frame.y,
|
|
80
|
+
width: frame.width,
|
|
81
|
+
height: frame.height,
|
|
82
|
+
}}
|
|
83
|
+
>
|
|
84
|
+
{frame.slots.map((slot, slotIndex) => (
|
|
85
|
+
<div
|
|
86
|
+
key={slotIndex}
|
|
87
|
+
className="absolute"
|
|
88
|
+
style={{ left: slot.x, top: slot.y }}
|
|
89
|
+
>
|
|
90
|
+
{renderSlot(slot, `${frameIndex}-${slotIndex}`)}
|
|
91
|
+
</div>
|
|
92
|
+
))}
|
|
93
|
+
</div>
|
|
94
|
+
))}
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
</FigmaContent>
|
|
98
|
+
</FigmaPage>
|
|
99
|
+
);
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AuditPreparationIllustration,
|
|
3
|
+
CompletedTasksIllustration,
|
|
4
|
+
CreationIllustration,
|
|
5
|
+
InternalAuditIllustration,
|
|
6
|
+
InviteIllustration,
|
|
7
|
+
PortStateControlIllustration,
|
|
8
|
+
ProcessingIllustration,
|
|
9
|
+
QuestionsDoneIllustration,
|
|
10
|
+
RightShipInspectionIllustration,
|
|
11
|
+
UploadIllustration,
|
|
12
|
+
WorkflowCreatedIllustration,
|
|
13
|
+
WorkflowsIllustration,
|
|
14
|
+
} from "../../illustrations";
|
|
15
|
+
import {
|
|
16
|
+
FigmaContent,
|
|
17
|
+
FigmaGrid,
|
|
18
|
+
FigmaPage,
|
|
19
|
+
FigmaVariant,
|
|
20
|
+
} from "../_layout";
|
|
21
|
+
import { FIGMA_WIDTHS } from "./figma-widths";
|
|
22
|
+
|
|
23
|
+
const illustrations = [
|
|
24
|
+
{ label: "Workflows", Component: WorkflowsIllustration },
|
|
25
|
+
{ label: "Upload", Component: UploadIllustration },
|
|
26
|
+
{ label: "Processing", Component: ProcessingIllustration },
|
|
27
|
+
{ label: "Invite", Component: InviteIllustration },
|
|
28
|
+
{ label: "Creation", Component: CreationIllustration },
|
|
29
|
+
{ label: "Completed Tasks", Component: CompletedTasksIllustration },
|
|
30
|
+
{ label: "Workflow Created", Component: WorkflowCreatedIllustration },
|
|
31
|
+
{ label: "Audit Preparation", Component: AuditPreparationIllustration },
|
|
32
|
+
{ label: "Port State Control", Component: PortStateControlIllustration },
|
|
33
|
+
{ label: "RightShip Inspection", Component: RightShipInspectionIllustration },
|
|
34
|
+
{ label: "Internal Audit", Component: InternalAuditIllustration },
|
|
35
|
+
{ label: "Questions Done", Component: QuestionsDoneIllustration },
|
|
36
|
+
] as const;
|
|
37
|
+
|
|
38
|
+
export const IllustrationsCanvas = () => (
|
|
39
|
+
<FigmaPage title="Illustrations" width={FIGMA_WIDTHS.illustrations}>
|
|
40
|
+
<FigmaContent>
|
|
41
|
+
<FigmaGrid gap={32}>
|
|
42
|
+
{illustrations.map(({ label, Component }) => (
|
|
43
|
+
<FigmaVariant key={label} label={label}>
|
|
44
|
+
<Component className="h-32 w-40" />
|
|
45
|
+
</FigmaVariant>
|
|
46
|
+
))}
|
|
47
|
+
</FigmaGrid>
|
|
48
|
+
</FigmaContent>
|
|
49
|
+
</FigmaPage>
|
|
50
|
+
);
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import {
|
|
2
|
+
File,
|
|
3
|
+
Folder,
|
|
4
|
+
Folders,
|
|
5
|
+
ListRow as LibraryListRow,
|
|
6
|
+
Navigation,
|
|
7
|
+
} from "../../domain/Library";
|
|
8
|
+
import {
|
|
9
|
+
FigmaContent,
|
|
10
|
+
FigmaGrid,
|
|
11
|
+
FigmaPage,
|
|
12
|
+
FigmaSection,
|
|
13
|
+
FigmaVariant,
|
|
14
|
+
} from "../_layout";
|
|
15
|
+
import { FIGMA_WIDTHS } from "./figma-widths";
|
|
16
|
+
|
|
17
|
+
export const LibraryCanvas = () => (
|
|
18
|
+
<FigmaPage title="Library" width={FIGMA_WIDTHS.library}>
|
|
19
|
+
<FigmaContent>
|
|
20
|
+
<FigmaSection label="Folder">
|
|
21
|
+
<FigmaGrid gap={16}>
|
|
22
|
+
<Folder />
|
|
23
|
+
<Folder name="Crew documents" fileCount={12} state="selected" />
|
|
24
|
+
<Folder name="Certificates" fileCount={5} state="hover" />
|
|
25
|
+
</FigmaGrid>
|
|
26
|
+
</FigmaSection>
|
|
27
|
+
|
|
28
|
+
<FigmaSection label="File">
|
|
29
|
+
<FigmaGrid gap={16}>
|
|
30
|
+
<File />
|
|
31
|
+
<File state="uploading" />
|
|
32
|
+
<File state="waiting" />
|
|
33
|
+
<File state="uploaded" name="Safety certificate.pdf" />
|
|
34
|
+
</FigmaGrid>
|
|
35
|
+
</FigmaSection>
|
|
36
|
+
|
|
37
|
+
<FigmaSection label="Navigation">
|
|
38
|
+
<div className="max-w-xs space-y-2">
|
|
39
|
+
<Navigation />
|
|
40
|
+
<Navigation label="Certificates" nested="on" />
|
|
41
|
+
</div>
|
|
42
|
+
</FigmaSection>
|
|
43
|
+
|
|
44
|
+
<FigmaSection label="Folders">
|
|
45
|
+
<FigmaGrid gap={24}>
|
|
46
|
+
<FigmaVariant label="Expanded">
|
|
47
|
+
<div className="w-64">
|
|
48
|
+
<Folders />
|
|
49
|
+
</div>
|
|
50
|
+
</FigmaVariant>
|
|
51
|
+
<FigmaVariant label="Collapsed">
|
|
52
|
+
<div className="w-64">
|
|
53
|
+
<Folders layout="collapsed" />
|
|
54
|
+
</div>
|
|
55
|
+
</FigmaVariant>
|
|
56
|
+
</FigmaGrid>
|
|
57
|
+
</FigmaSection>
|
|
58
|
+
|
|
59
|
+
<FigmaSection label="List Row">
|
|
60
|
+
<div className="max-w-xl space-y-2">
|
|
61
|
+
<LibraryListRow />
|
|
62
|
+
<LibraryListRow name="Safety certificate.pdf" updatedAt="Updated today" state="hover" />
|
|
63
|
+
</div>
|
|
64
|
+
</FigmaSection>
|
|
65
|
+
</FigmaContent>
|
|
66
|
+
</FigmaPage>
|
|
67
|
+
);
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Invitee, ModalFooter, ModalHeader } from "../../patterns/Modal";
|
|
2
|
+
import {
|
|
3
|
+
FigmaContent,
|
|
4
|
+
FigmaGrid,
|
|
5
|
+
FigmaPage,
|
|
6
|
+
FigmaSection,
|
|
7
|
+
FigmaVariant,
|
|
8
|
+
} from "../_layout";
|
|
9
|
+
import { FIGMA_WIDTHS } from "./figma-widths";
|
|
10
|
+
|
|
11
|
+
const headerVariants = [
|
|
12
|
+
"issue",
|
|
13
|
+
"thinking",
|
|
14
|
+
"generic",
|
|
15
|
+
"settings",
|
|
16
|
+
"audit",
|
|
17
|
+
"forms",
|
|
18
|
+
] as const;
|
|
19
|
+
|
|
20
|
+
export const ModalsCanvas = () => (
|
|
21
|
+
<FigmaPage title="Modals" width={FIGMA_WIDTHS.modals}>
|
|
22
|
+
<FigmaContent>
|
|
23
|
+
<FigmaSection label="Modal Header">
|
|
24
|
+
<FigmaGrid gap={24}>
|
|
25
|
+
{headerVariants.map((variant) => (
|
|
26
|
+
<FigmaVariant key={variant} label={variant}>
|
|
27
|
+
<div className="w-96">
|
|
28
|
+
<ModalHeader variant={variant} onClose={() => {}} />
|
|
29
|
+
</div>
|
|
30
|
+
</FigmaVariant>
|
|
31
|
+
))}
|
|
32
|
+
</FigmaGrid>
|
|
33
|
+
</FigmaSection>
|
|
34
|
+
|
|
35
|
+
<FigmaSection label="Modal Footer">
|
|
36
|
+
<FigmaGrid gap={24}>
|
|
37
|
+
<div className="w-96">
|
|
38
|
+
<ModalFooter />
|
|
39
|
+
</div>
|
|
40
|
+
<div className="w-96">
|
|
41
|
+
<ModalFooter chief="compliance" />
|
|
42
|
+
</div>
|
|
43
|
+
</FigmaGrid>
|
|
44
|
+
</FigmaSection>
|
|
45
|
+
|
|
46
|
+
<FigmaSection label="Invitee">
|
|
47
|
+
<FigmaGrid gap={24}>
|
|
48
|
+
<Invitee />
|
|
49
|
+
<Invitee variant="multiple" names={["Jordan Lee", "Sam Patel", "Alex Morgan"]} />
|
|
50
|
+
</FigmaGrid>
|
|
51
|
+
</FigmaSection>
|
|
52
|
+
</FigmaContent>
|
|
53
|
+
</FigmaPage>
|
|
54
|
+
);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { elevation } from "../../tokens/elevation";
|
|
2
|
+
import { FigmaContent, FigmaGrid, FigmaPage } from "../_layout";
|
|
3
|
+
import { FIGMA_WIDTHS } from "./figma-widths";
|
|
4
|
+
|
|
5
|
+
const raiseLevels = [
|
|
6
|
+
{ label: "Raise 1", shadow: elevation.raise1 },
|
|
7
|
+
{ label: "Raise 2", shadow: elevation.raise2 },
|
|
8
|
+
{ label: "Raise 3", shadow: elevation.raise3 },
|
|
9
|
+
] as const;
|
|
10
|
+
|
|
11
|
+
export const RaiseLevelsCanvas = () => (
|
|
12
|
+
<FigmaPage title="Raise Levels" width={FIGMA_WIDTHS.raiseLevels}>
|
|
13
|
+
<FigmaContent>
|
|
14
|
+
<FigmaGrid gap={24}>
|
|
15
|
+
{raiseLevels.map((level) => (
|
|
16
|
+
<div
|
|
17
|
+
key={level.label}
|
|
18
|
+
className="flex size-[200px] items-center justify-center rounded-control bg-white text-heading text-display-on-light-primary"
|
|
19
|
+
style={{ boxShadow: level.shadow }}
|
|
20
|
+
>
|
|
21
|
+
{level.label}
|
|
22
|
+
</div>
|
|
23
|
+
))}
|
|
24
|
+
</FigmaGrid>
|
|
25
|
+
</FigmaContent>
|
|
26
|
+
</FigmaPage>
|
|
27
|
+
);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { SectionHeader, TaskRow } from "../../domain/Report";
|
|
2
|
+
import {
|
|
3
|
+
FigmaContent,
|
|
4
|
+
FigmaPage,
|
|
5
|
+
FigmaSection,
|
|
6
|
+
} from "../_layout";
|
|
7
|
+
import { FIGMA_WIDTHS } from "./figma-widths";
|
|
8
|
+
|
|
9
|
+
export const ReportCanvas = () => (
|
|
10
|
+
<FigmaPage title="Report" width={FIGMA_WIDTHS.report}>
|
|
11
|
+
<FigmaContent>
|
|
12
|
+
<FigmaSection label="Section Header">
|
|
13
|
+
<div className="max-w-xl space-y-4">
|
|
14
|
+
<SectionHeader />
|
|
15
|
+
<SectionHeader title="Outstanding actions" subtitle="2 tasks remaining">
|
|
16
|
+
<TaskRow label="Review fire safety documentation" />
|
|
17
|
+
<TaskRow label="Confirm crew certification records" />
|
|
18
|
+
</SectionHeader>
|
|
19
|
+
<SectionHeader title="Completed" collapsed="on" />
|
|
20
|
+
</div>
|
|
21
|
+
</FigmaSection>
|
|
22
|
+
|
|
23
|
+
<FigmaSection label="Task Row">
|
|
24
|
+
<div className="max-w-xl space-y-2">
|
|
25
|
+
<TaskRow />
|
|
26
|
+
<TaskRow label="Confirm crew certification records" strikethrough="on" />
|
|
27
|
+
<TaskRow variant="add-more" />
|
|
28
|
+
<TaskRow hover="on" />
|
|
29
|
+
</div>
|
|
30
|
+
</FigmaSection>
|
|
31
|
+
</FigmaContent>
|
|
32
|
+
</FigmaPage>
|
|
33
|
+
);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Report } from "../../domain/Report";
|
|
2
|
+
import {
|
|
3
|
+
FigmaContent,
|
|
4
|
+
FigmaPage,
|
|
5
|
+
FigmaSection,
|
|
6
|
+
} from "../_layout";
|
|
7
|
+
import { FIGMA_WIDTHS } from "./figma-widths";
|
|
8
|
+
|
|
9
|
+
export const ReportLayoutCanvas = () => (
|
|
10
|
+
<FigmaPage title="Report Layout" width={FIGMA_WIDTHS.reportLayout}>
|
|
11
|
+
<FigmaContent>
|
|
12
|
+
<FigmaSection label="Report">
|
|
13
|
+
<div className="max-w-3xl">
|
|
14
|
+
<Report title="Internal Audit Report" />
|
|
15
|
+
</div>
|
|
16
|
+
</FigmaSection>
|
|
17
|
+
</FigmaContent>
|
|
18
|
+
</FigmaPage>
|
|
19
|
+
);
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Pill,
|
|
3
|
+
PillInfo,
|
|
4
|
+
ResultRow,
|
|
5
|
+
SearchModalPanel,
|
|
6
|
+
SectionHeader,
|
|
7
|
+
} from "../../patterns/Search";
|
|
8
|
+
import {
|
|
9
|
+
FigmaContent,
|
|
10
|
+
FigmaGrid,
|
|
11
|
+
FigmaPage,
|
|
12
|
+
FigmaSection,
|
|
13
|
+
FigmaVariant,
|
|
14
|
+
} from "../_layout";
|
|
15
|
+
import { FIGMA_WIDTHS } from "./figma-widths";
|
|
16
|
+
|
|
17
|
+
const recentItems = [
|
|
18
|
+
{ variant: "report" as const, title: "Engine Room Oil Leak" },
|
|
19
|
+
{ variant: "chat" as const, title: "Low Water Pressure on Board" },
|
|
20
|
+
{
|
|
21
|
+
variant: "chat" as const,
|
|
22
|
+
title: "Generator Vibrating Excessively",
|
|
23
|
+
state: "active" as const,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
variant: "issue" as const,
|
|
27
|
+
title:
|
|
28
|
+
"Intermittent Flickering of Navigation Lights Possibly Due to Bulb Failure or Signal Unit Errors",
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
const resultItems = [
|
|
33
|
+
{
|
|
34
|
+
variant: "report" as const,
|
|
35
|
+
title: "Persistent Engine Room Oil Leak",
|
|
36
|
+
subtitle: (
|
|
37
|
+
<>
|
|
38
|
+
We’ve got a persistent oil leak from the{" "}
|
|
39
|
+
<span className="text-caption-2-em text-display-on-light-primary">
|
|
40
|
+
fuel pump
|
|
41
|
+
</span>
|
|
42
|
+
. I’ve tightened what I could, but it keeps seeping.
|
|
43
|
+
</>
|
|
44
|
+
),
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
variant: "chat" as const,
|
|
48
|
+
title: "Ballast Pump Not Starting",
|
|
49
|
+
subtitle: (
|
|
50
|
+
<>
|
|
51
|
+
The{" "}
|
|
52
|
+
<span className="text-caption-2-em text-display-on-light-primary">
|
|
53
|
+
fuel pump
|
|
54
|
+
</span>{" "}
|
|
55
|
+
won’t start consistently. Sometimes it works, sometimes it doesn’t.
|
|
56
|
+
</>
|
|
57
|
+
),
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
variant: "issue" as const,
|
|
61
|
+
title:
|
|
62
|
+
"Excessive Rust on Fuel Pump and Piping with Unclear Material Specifications and Corrosion Protection Measures",
|
|
63
|
+
subtitle: "Created by Jake Silva on March 28",
|
|
64
|
+
state: "active" as const,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
variant: "report" as const,
|
|
68
|
+
title: "Engine Room Oil Leak",
|
|
69
|
+
subtitle: (
|
|
70
|
+
<>
|
|
71
|
+
We’ve spotted a steady oil leak near the{" "}
|
|
72
|
+
<span className="text-caption-2-em text-display-on-light-primary">
|
|
73
|
+
fuel pump
|
|
74
|
+
</span>
|
|
75
|
+
. Not sure if it’s a gasket or a cracked line.
|
|
76
|
+
</>
|
|
77
|
+
),
|
|
78
|
+
},
|
|
79
|
+
];
|
|
80
|
+
|
|
81
|
+
export const SearchCanvas = () => (
|
|
82
|
+
<FigmaPage title="Search" width={FIGMA_WIDTHS.search}>
|
|
83
|
+
<FigmaContent>
|
|
84
|
+
<FigmaSection label="Pill">
|
|
85
|
+
<FigmaGrid gap={16}>
|
|
86
|
+
<Pill>All</Pill>
|
|
87
|
+
<Pill state="active">Reports</Pill>
|
|
88
|
+
<Pill size="small">Issues</Pill>
|
|
89
|
+
<Pill size="small" state="active">
|
|
90
|
+
Chats
|
|
91
|
+
</Pill>
|
|
92
|
+
</FigmaGrid>
|
|
93
|
+
</FigmaSection>
|
|
94
|
+
|
|
95
|
+
<FigmaSection label="Pill Info">
|
|
96
|
+
<FigmaGrid gap={16}>
|
|
97
|
+
<PillInfo />
|
|
98
|
+
<PillInfo type="completed" />
|
|
99
|
+
</FigmaGrid>
|
|
100
|
+
</FigmaSection>
|
|
101
|
+
|
|
102
|
+
<FigmaSection label="Result Row">
|
|
103
|
+
<div className="max-w-xl space-y-2">
|
|
104
|
+
<ResultRow />
|
|
105
|
+
<ResultRow
|
|
106
|
+
variant="chat"
|
|
107
|
+
title="Port state control discussion"
|
|
108
|
+
subtitle="2 days ago"
|
|
109
|
+
/>
|
|
110
|
+
<ResultRow
|
|
111
|
+
variant="issue"
|
|
112
|
+
title="Critical valve malfunction"
|
|
113
|
+
subtitle="Open · High priority"
|
|
114
|
+
/>
|
|
115
|
+
</div>
|
|
116
|
+
</FigmaSection>
|
|
117
|
+
|
|
118
|
+
<FigmaSection label="Section Header">
|
|
119
|
+
<div className="max-w-xl">
|
|
120
|
+
<SectionHeader label="Reports" />
|
|
121
|
+
</div>
|
|
122
|
+
</FigmaSection>
|
|
123
|
+
|
|
124
|
+
<FigmaSection label="Search Modal">
|
|
125
|
+
<FigmaGrid gap={32}>
|
|
126
|
+
<FigmaVariant label="Idle">
|
|
127
|
+
<div className="w-[700px] overflow-hidden rounded-xl border border-divider-primary bg-background-primary shadow-raise3">
|
|
128
|
+
<SearchModalPanel state="idle" recentItems={recentItems} />
|
|
129
|
+
</div>
|
|
130
|
+
</FigmaVariant>
|
|
131
|
+
<FigmaVariant label="Loading">
|
|
132
|
+
<div className="w-[700px] overflow-hidden rounded-xl border border-divider-primary bg-background-primary shadow-raise3">
|
|
133
|
+
<SearchModalPanel state="loading" query="fuel pump" />
|
|
134
|
+
</div>
|
|
135
|
+
</FigmaVariant>
|
|
136
|
+
<FigmaVariant label="Results">
|
|
137
|
+
<div className="w-[700px] overflow-hidden rounded-xl border border-divider-primary bg-background-primary shadow-raise3">
|
|
138
|
+
<SearchModalPanel
|
|
139
|
+
state="results"
|
|
140
|
+
query="fuel pump"
|
|
141
|
+
filter="all"
|
|
142
|
+
resultItems={resultItems}
|
|
143
|
+
/>
|
|
144
|
+
</div>
|
|
145
|
+
</FigmaVariant>
|
|
146
|
+
</FigmaGrid>
|
|
147
|
+
</FigmaSection>
|
|
148
|
+
</FigmaContent>
|
|
149
|
+
</FigmaPage>
|
|
150
|
+
);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { EquipmentRow, MemberRow, SettingRow } from "../../domain/Settings";
|
|
2
|
+
import {
|
|
3
|
+
FigmaContent,
|
|
4
|
+
FigmaGrid,
|
|
5
|
+
FigmaPage,
|
|
6
|
+
FigmaSection,
|
|
7
|
+
} from "../_layout";
|
|
8
|
+
import { FIGMA_WIDTHS } from "./figma-widths";
|
|
9
|
+
|
|
10
|
+
export const SettingsCanvas = () => (
|
|
11
|
+
<FigmaPage title="Settings" width={FIGMA_WIDTHS.settings}>
|
|
12
|
+
<FigmaContent>
|
|
13
|
+
<FigmaSection label="Setting Row">
|
|
14
|
+
<div className="max-w-xl space-y-2">
|
|
15
|
+
<SettingRow />
|
|
16
|
+
<SettingRow variant="user" label="Jane Doe" subtitle="Admin" state="selected" />
|
|
17
|
+
<SettingRow state="hover" />
|
|
18
|
+
</div>
|
|
19
|
+
</FigmaSection>
|
|
20
|
+
|
|
21
|
+
<FigmaSection label="Member Row">
|
|
22
|
+
<div className="max-w-xl space-y-2">
|
|
23
|
+
<MemberRow />
|
|
24
|
+
<MemberRow name="Sam Patel" role="Captain" action="button" />
|
|
25
|
+
<MemberRow name="Alex Morgan" role="Chief Engineer" state="hover" />
|
|
26
|
+
</div>
|
|
27
|
+
</FigmaSection>
|
|
28
|
+
|
|
29
|
+
<FigmaSection label="Equipment Row">
|
|
30
|
+
<FigmaGrid gap={16}>
|
|
31
|
+
<div className="w-96">
|
|
32
|
+
<EquipmentRow />
|
|
33
|
+
</div>
|
|
34
|
+
<div className="w-96">
|
|
35
|
+
<EquipmentRow name="Auxiliary engine" type="Wärtsilä 6L20" editable="off" />
|
|
36
|
+
</div>
|
|
37
|
+
</FigmaGrid>
|
|
38
|
+
</FigmaSection>
|
|
39
|
+
</FigmaContent>
|
|
40
|
+
</FigmaPage>
|
|
41
|
+
);
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ShipRow } from "../../domain/Ships";
|
|
2
|
+
import {
|
|
3
|
+
FigmaContent,
|
|
4
|
+
FigmaGrid,
|
|
5
|
+
FigmaPage,
|
|
6
|
+
FigmaSection,
|
|
7
|
+
FigmaVariant,
|
|
8
|
+
} from "../_layout";
|
|
9
|
+
import { FIGMA_WIDTHS } from "./figma-widths";
|
|
10
|
+
|
|
11
|
+
export const ShipsCanvas = () => (
|
|
12
|
+
<FigmaPage title="Ships" width={FIGMA_WIDTHS.ships}>
|
|
13
|
+
<FigmaContent>
|
|
14
|
+
<FigmaSection label="Ship Row">
|
|
15
|
+
<div className="max-w-xl space-y-2">
|
|
16
|
+
<ShipRow />
|
|
17
|
+
<ShipRow name="MV Atlantic Star" chatCount={5} issueCount={2} unreadCount={3} />
|
|
18
|
+
<ShipRow name="MV Pacific Dawn" state="hover" chatCount={1} issueCount={0} />
|
|
19
|
+
</div>
|
|
20
|
+
</FigmaSection>
|
|
21
|
+
|
|
22
|
+
<FigmaSection label="Variants">
|
|
23
|
+
<FigmaGrid gap={24}>
|
|
24
|
+
<FigmaVariant label="Idle">
|
|
25
|
+
<div className="w-80">
|
|
26
|
+
<ShipRow name="MV Nordic Wind" />
|
|
27
|
+
</div>
|
|
28
|
+
</FigmaVariant>
|
|
29
|
+
<FigmaVariant label="Hover">
|
|
30
|
+
<div className="w-80">
|
|
31
|
+
<ShipRow name="MV Nordic Wind" state="hover" />
|
|
32
|
+
</div>
|
|
33
|
+
</FigmaVariant>
|
|
34
|
+
</FigmaGrid>
|
|
35
|
+
</FigmaSection>
|
|
36
|
+
</FigmaContent>
|
|
37
|
+
</FigmaPage>
|
|
38
|
+
);
|