@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
package/README.md
CHANGED
|
@@ -1,61 +1,96 @@
|
|
|
1
1
|
# @lateralus-ai/shipping-ui
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
AskChief design system — shared UI theme and React components for Lateralus shipping applications.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
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
|
-
|
|
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
|
|
26
|
-
# or
|
|
27
|
-
npm run storybook
|
|
43
|
+
npm run release
|
|
28
44
|
```
|
|
29
45
|
|
|
30
|
-
|
|
46
|
+
### Dev / nightly (v2 rebrand)
|
|
31
47
|
|
|
32
|
-
|
|
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
|
-
|
|
37
|
-
|
|
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
|
-
|
|
69
|
+
Same OTP timing applies — use `release:dev:publish` after `npm run build` if needed.
|
|
41
70
|
|
|
42
|
-
|
|
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
|
-
|
|
79
|
+
Or pin an exact pre-release in `package.json`:
|
|
49
80
|
|
|
50
|
-
|
|
81
|
+
```json
|
|
82
|
+
"@lateralus-ai/shipping-ui": "2.0.0-dev.0"
|
|
83
|
+
```
|
|
51
84
|
|
|
52
|
-
|
|
53
|
-
|
|
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
|
-
|
|
89
|
+
```bash
|
|
90
|
+
npm install @lateralus-ai/shipping-ui
|
|
56
91
|
```
|
|
57
92
|
|
|
58
|
-
|
|
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
|
-
###
|
|
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
|
-
|
|
82
|
-
|
|
83
|
-
### Typography Classes
|
|
113
|
+
### Components
|
|
84
114
|
|
|
85
|
-
|
|
86
|
-
|
|
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
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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
|
|
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
|
-
|
|
1
|
+
import { PropsWithChildren, ReactNode } from 'react';
|
|
2
|
+
type HeaderProps = {
|
|
3
3
|
onClose: () => void;
|
|
4
|
-
right?:
|
|
5
|
-
}
|
|
6
|
-
|
|
4
|
+
right?: ReactNode;
|
|
5
|
+
};
|
|
6
|
+
type BodyProps = {
|
|
7
7
|
className?: string;
|
|
8
|
-
}
|
|
8
|
+
};
|
|
9
9
|
export declare const ModalPanel: {
|
|
10
|
-
Header: ({ onClose, right, children
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
|
2
|
-
export
|
|
3
|
-
export
|
|
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,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,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;
|