@lateralus-ai/shipping-ui 1.4.15 → 2.0.0-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +13 -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/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 +11 -12
- package/dist/components/index.d.ts +11 -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 +10964 -36537
- 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 +10 -0
- package/dist/patterns/Search/SearchModal.d.ts +6 -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 +11 -0
- package/dist/primitives/Button.d.ts +13 -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/index.d.ts +13 -0
- package/dist/style.css +1 -1
- package/dist/tailwind-theme.d.ts +234 -198
- 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 +27 -5
- 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 +64 -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/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 +43 -38
- package/src/components/index.ts +11 -4
- 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 +49 -3
- 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 +52 -0
- package/src/patterns/Search/SearchModal.tsx +88 -0
- package/src/patterns/Search/SectionHeader.tsx +20 -0
- package/src/patterns/Search/index.ts +5 -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 +57 -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 +34 -0
- package/src/primitives/Button.tsx +67 -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/index.ts +13 -0
- package/src/stories/_layout/FigmaPage.tsx +94 -0
- package/src/stories/_layout/index.ts +8 -0
- package/src/stories/canvases/ButtonsCanvas.tsx +57 -0
- package/src/stories/canvases/ButtonsMatrixCanvas.tsx +64 -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 +88 -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 +65 -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-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 +163 -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/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/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,148 @@
|
|
|
1
|
+
/** AskChief rebrand color scales — sourced from Figma Style Guide */
|
|
2
|
+
export declare const grey: {
|
|
3
|
+
readonly 50: "#fdfdfc";
|
|
4
|
+
readonly 100: "#f4f2ea";
|
|
5
|
+
readonly 200: "#e1ddce";
|
|
6
|
+
readonly 300: "#bfb9a5";
|
|
7
|
+
readonly 400: "#969080";
|
|
8
|
+
readonly 500: "#6e6960";
|
|
9
|
+
readonly 600: "#524e47";
|
|
10
|
+
readonly 700: "#3a3733";
|
|
11
|
+
readonly 800: "#312e2a";
|
|
12
|
+
readonly 900: "#262420";
|
|
13
|
+
};
|
|
14
|
+
export declare const green: {
|
|
15
|
+
readonly 50: "#f5f8f2";
|
|
16
|
+
readonly 100: "#dde6d2";
|
|
17
|
+
readonly 200: "#c5d4b3";
|
|
18
|
+
readonly 300: "#a8bf8f";
|
|
19
|
+
readonly 400: "#7a9a5e";
|
|
20
|
+
readonly 500: "#5a7a42";
|
|
21
|
+
readonly 600: "#456332";
|
|
22
|
+
readonly 700: "#304624";
|
|
23
|
+
readonly 800: "#223018";
|
|
24
|
+
readonly 900: "#141c0e";
|
|
25
|
+
};
|
|
26
|
+
export declare const blue: {
|
|
27
|
+
readonly 50: "#eef1f8";
|
|
28
|
+
readonly 100: "#dae0ef";
|
|
29
|
+
readonly 200: "#b8c4e0";
|
|
30
|
+
readonly 300: "#8fa3cc";
|
|
31
|
+
readonly 400: "#5274ae";
|
|
32
|
+
readonly 500: "#3a5d96";
|
|
33
|
+
readonly 600: "#154199";
|
|
34
|
+
readonly 700: "#103480";
|
|
35
|
+
readonly 800: "#0c2860";
|
|
36
|
+
readonly 900: "#081c42";
|
|
37
|
+
};
|
|
38
|
+
export declare const red: {
|
|
39
|
+
readonly 50: "#faf3f1";
|
|
40
|
+
readonly 100: "#f0d3cc";
|
|
41
|
+
readonly 200: "#e4b0a5";
|
|
42
|
+
readonly 300: "#c97a6b";
|
|
43
|
+
readonly 400: "#b85a48";
|
|
44
|
+
readonly 500: "#a0392a";
|
|
45
|
+
readonly 600: "#802c20";
|
|
46
|
+
readonly 700: "#621f16";
|
|
47
|
+
readonly 800: "#45150f";
|
|
48
|
+
readonly 900: "#2a0c08";
|
|
49
|
+
};
|
|
50
|
+
export declare const orange: {
|
|
51
|
+
readonly 50: "#faf1de";
|
|
52
|
+
readonly 100: "#f5e4c0";
|
|
53
|
+
readonly 200: "#efd49a";
|
|
54
|
+
readonly 300: "#e4bc6a";
|
|
55
|
+
readonly 400: "#d9a03e";
|
|
56
|
+
readonly 500: "#c48820";
|
|
57
|
+
readonly 600: "#8f6318";
|
|
58
|
+
readonly 700: "#5a3d0d";
|
|
59
|
+
readonly 800: "#3d2a09";
|
|
60
|
+
readonly 900: "#261a05";
|
|
61
|
+
};
|
|
62
|
+
export declare const purple: {
|
|
63
|
+
readonly 50: "#f6f2f8";
|
|
64
|
+
readonly 100: "#e2d9e8";
|
|
65
|
+
readonly 200: "#cbbad6";
|
|
66
|
+
readonly 300: "#b09bc3";
|
|
67
|
+
readonly 400: "#957cb0";
|
|
68
|
+
readonly 500: "#7a5d9d";
|
|
69
|
+
readonly 600: "#5e4680";
|
|
70
|
+
readonly 700: "#3d2e4a";
|
|
71
|
+
readonly 800: "#2a2033";
|
|
72
|
+
readonly 900: "#18121c";
|
|
73
|
+
};
|
|
74
|
+
export declare const white = "#ffffff";
|
|
75
|
+
export declare const colorScales: {
|
|
76
|
+
readonly grey: {
|
|
77
|
+
readonly 50: "#fdfdfc";
|
|
78
|
+
readonly 100: "#f4f2ea";
|
|
79
|
+
readonly 200: "#e1ddce";
|
|
80
|
+
readonly 300: "#bfb9a5";
|
|
81
|
+
readonly 400: "#969080";
|
|
82
|
+
readonly 500: "#6e6960";
|
|
83
|
+
readonly 600: "#524e47";
|
|
84
|
+
readonly 700: "#3a3733";
|
|
85
|
+
readonly 800: "#312e2a";
|
|
86
|
+
readonly 900: "#262420";
|
|
87
|
+
};
|
|
88
|
+
readonly green: {
|
|
89
|
+
readonly 50: "#f5f8f2";
|
|
90
|
+
readonly 100: "#dde6d2";
|
|
91
|
+
readonly 200: "#c5d4b3";
|
|
92
|
+
readonly 300: "#a8bf8f";
|
|
93
|
+
readonly 400: "#7a9a5e";
|
|
94
|
+
readonly 500: "#5a7a42";
|
|
95
|
+
readonly 600: "#456332";
|
|
96
|
+
readonly 700: "#304624";
|
|
97
|
+
readonly 800: "#223018";
|
|
98
|
+
readonly 900: "#141c0e";
|
|
99
|
+
};
|
|
100
|
+
readonly blue: {
|
|
101
|
+
readonly 50: "#eef1f8";
|
|
102
|
+
readonly 100: "#dae0ef";
|
|
103
|
+
readonly 200: "#b8c4e0";
|
|
104
|
+
readonly 300: "#8fa3cc";
|
|
105
|
+
readonly 400: "#5274ae";
|
|
106
|
+
readonly 500: "#3a5d96";
|
|
107
|
+
readonly 600: "#154199";
|
|
108
|
+
readonly 700: "#103480";
|
|
109
|
+
readonly 800: "#0c2860";
|
|
110
|
+
readonly 900: "#081c42";
|
|
111
|
+
};
|
|
112
|
+
readonly red: {
|
|
113
|
+
readonly 50: "#faf3f1";
|
|
114
|
+
readonly 100: "#f0d3cc";
|
|
115
|
+
readonly 200: "#e4b0a5";
|
|
116
|
+
readonly 300: "#c97a6b";
|
|
117
|
+
readonly 400: "#b85a48";
|
|
118
|
+
readonly 500: "#a0392a";
|
|
119
|
+
readonly 600: "#802c20";
|
|
120
|
+
readonly 700: "#621f16";
|
|
121
|
+
readonly 800: "#45150f";
|
|
122
|
+
readonly 900: "#2a0c08";
|
|
123
|
+
};
|
|
124
|
+
readonly orange: {
|
|
125
|
+
readonly 50: "#faf1de";
|
|
126
|
+
readonly 100: "#f5e4c0";
|
|
127
|
+
readonly 200: "#efd49a";
|
|
128
|
+
readonly 300: "#e4bc6a";
|
|
129
|
+
readonly 400: "#d9a03e";
|
|
130
|
+
readonly 500: "#c48820";
|
|
131
|
+
readonly 600: "#8f6318";
|
|
132
|
+
readonly 700: "#5a3d0d";
|
|
133
|
+
readonly 800: "#3d2a09";
|
|
134
|
+
readonly 900: "#261a05";
|
|
135
|
+
};
|
|
136
|
+
readonly purple: {
|
|
137
|
+
readonly 50: "#f6f2f8";
|
|
138
|
+
readonly 100: "#e2d9e8";
|
|
139
|
+
readonly 200: "#cbbad6";
|
|
140
|
+
readonly 300: "#b09bc3";
|
|
141
|
+
readonly 400: "#957cb0";
|
|
142
|
+
readonly 500: "#7a5d9d";
|
|
143
|
+
readonly 600: "#5e4680";
|
|
144
|
+
readonly 700: "#3d2e4a";
|
|
145
|
+
readonly 800: "#2a2033";
|
|
146
|
+
readonly 900: "#18121c";
|
|
147
|
+
};
|
|
148
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const elevation: {
|
|
2
|
+
readonly raise1: "0 1px 2px rgba(38, 36, 32, 0.06), 0 1px 3px rgba(38, 36, 32, 0.04)";
|
|
3
|
+
readonly raise2: "0 2px 8px rgba(38, 36, 32, 0.08), 0 1px 2px rgba(38, 36, 32, 0.04)";
|
|
4
|
+
readonly raise3: "0 8px 24px rgba(38, 36, 32, 0.12), 0 2px 8px rgba(38, 36, 32, 0.06)";
|
|
5
|
+
};
|
|
6
|
+
export declare const borderRadius: {
|
|
7
|
+
readonly control: "8px";
|
|
8
|
+
readonly lg: "8px";
|
|
9
|
+
readonly md: "6px";
|
|
10
|
+
readonly sm: "4px";
|
|
11
|
+
};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/** Semantic design tokens mapped to CSS custom properties */
|
|
2
|
+
export declare const semanticTokens: {
|
|
3
|
+
readonly action: {
|
|
4
|
+
readonly primary: {
|
|
5
|
+
readonly idle: "var(--action-primary-idle)";
|
|
6
|
+
readonly onIdle: "var(--action-primary-on-idle)";
|
|
7
|
+
readonly hover: "var(--action-primary-hover)";
|
|
8
|
+
readonly onHover: "var(--action-primary-on-hover)";
|
|
9
|
+
readonly disabled: "var(--action-primary-disabled)";
|
|
10
|
+
readonly onDisabled: "var(--action-primary-on-disabled)";
|
|
11
|
+
};
|
|
12
|
+
readonly secondary: {
|
|
13
|
+
readonly idle: "var(--action-secondary-idle)";
|
|
14
|
+
readonly onIdle: "var(--action-secondary-on-idle)";
|
|
15
|
+
readonly hover: "var(--action-secondary-hover)";
|
|
16
|
+
readonly onHover: "var(--action-secondary-on-hover)";
|
|
17
|
+
readonly disabled: "var(--action-secondary-disabled)";
|
|
18
|
+
readonly onDisabled: "var(--action-secondary-on-disabled)";
|
|
19
|
+
};
|
|
20
|
+
readonly tertiary: {
|
|
21
|
+
readonly idle: "var(--action-tertiary-idle)";
|
|
22
|
+
readonly onIdle: "var(--action-tertiary-on-idle)";
|
|
23
|
+
readonly hover: "var(--action-tertiary-hover)";
|
|
24
|
+
readonly onHover: "var(--action-tertiary-on-hover)";
|
|
25
|
+
readonly disabled: "var(--action-tertiary-disabled)";
|
|
26
|
+
readonly onDisabled: "var(--action-tertiary-on-disabled)";
|
|
27
|
+
};
|
|
28
|
+
readonly quaternary: {
|
|
29
|
+
readonly idle: "var(--action-quaternary-idle)";
|
|
30
|
+
readonly onIdle: "var(--action-quaternary-on-idle)";
|
|
31
|
+
readonly hover: "var(--action-quaternary-hover)";
|
|
32
|
+
readonly onHover: "var(--action-quaternary-on-hover)";
|
|
33
|
+
readonly disabled: "var(--action-quaternary-disabled)";
|
|
34
|
+
readonly onDisabled: "var(--action-quaternary-on-disabled)";
|
|
35
|
+
};
|
|
36
|
+
readonly destructive: {
|
|
37
|
+
readonly idle: "var(--action-destructive-idle)";
|
|
38
|
+
readonly onIdle: "var(--action-destructive-on-idle)";
|
|
39
|
+
readonly hover: "var(--action-destructive-hover)";
|
|
40
|
+
readonly onHover: "var(--action-destructive-on-hover)";
|
|
41
|
+
readonly disabled: "var(--action-destructive-disabled)";
|
|
42
|
+
readonly onDisabled: "var(--action-destructive-on-disabled)";
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
readonly background: {
|
|
46
|
+
readonly primary: "var(--background-primary)";
|
|
47
|
+
readonly secondary: "var(--background-secondary)";
|
|
48
|
+
readonly tertiary: "var(--background-tertiary)";
|
|
49
|
+
readonly hover: "var(--background-hover)";
|
|
50
|
+
readonly selected: "var(--background-selected)";
|
|
51
|
+
readonly overlay: "var(--background-overlay)";
|
|
52
|
+
};
|
|
53
|
+
readonly display: {
|
|
54
|
+
readonly onLight: {
|
|
55
|
+
readonly primary: "var(--display-on-light-primary)";
|
|
56
|
+
readonly secondary: "var(--display-on-light-secondary)";
|
|
57
|
+
readonly tertiary: "var(--display-on-light-tertiary)";
|
|
58
|
+
readonly quaternary: "var(--display-on-light-quaternary)";
|
|
59
|
+
};
|
|
60
|
+
readonly onDark: {
|
|
61
|
+
readonly primary: "var(--display-on-dark-primary)";
|
|
62
|
+
readonly secondary: "var(--display-on-dark-secondary)";
|
|
63
|
+
readonly tertiary: "var(--display-on-dark-tertiary)";
|
|
64
|
+
readonly quaternary: "var(--display-on-dark-quaternary)";
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
readonly accent: {
|
|
68
|
+
readonly onLight: "var(--accent-on-light)";
|
|
69
|
+
readonly onDark: "var(--accent-on-dark)";
|
|
70
|
+
readonly bgLight: "var(--accent-bg-light)";
|
|
71
|
+
readonly bgLighter: "var(--accent-bg-lighter)";
|
|
72
|
+
};
|
|
73
|
+
readonly divider: {
|
|
74
|
+
readonly primary: "var(--divider-primary)";
|
|
75
|
+
readonly secondary: "var(--divider-secondary)";
|
|
76
|
+
};
|
|
77
|
+
readonly meta: {
|
|
78
|
+
readonly green: "var(--meta-green)";
|
|
79
|
+
readonly onGreen: "var(--meta-on-green)";
|
|
80
|
+
readonly orange: "var(--meta-orange)";
|
|
81
|
+
readonly onOrange: "var(--meta-on-orange)";
|
|
82
|
+
readonly red: "var(--meta-red)";
|
|
83
|
+
readonly onRed: "var(--meta-on-red)";
|
|
84
|
+
readonly blue: "var(--meta-blue)";
|
|
85
|
+
readonly onBlue: "var(--meta-on-blue)";
|
|
86
|
+
readonly purple: "var(--meta-purple)";
|
|
87
|
+
readonly onPurple: "var(--meta-on-purple)";
|
|
88
|
+
};
|
|
89
|
+
};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export declare const fontFamilies: {
|
|
2
|
+
readonly heading: readonly ["\"TRY Vesterbro\"", "Georgia", "serif"];
|
|
3
|
+
readonly body: readonly ["\"Matter-TRIAL\"", "system-ui", "sans-serif"];
|
|
4
|
+
readonly mono: readonly ["\"Roboto Mono\"", "monospace"];
|
|
5
|
+
};
|
|
6
|
+
export declare const fontSizes: {
|
|
7
|
+
readonly title: {
|
|
8
|
+
readonly size: "28px";
|
|
9
|
+
readonly lineHeight: "34px";
|
|
10
|
+
readonly letterSpacing: "-0.02em";
|
|
11
|
+
readonly weight: 400;
|
|
12
|
+
};
|
|
13
|
+
readonly "title-em": {
|
|
14
|
+
readonly size: "28px";
|
|
15
|
+
readonly lineHeight: "34px";
|
|
16
|
+
readonly letterSpacing: "-0.02em";
|
|
17
|
+
readonly weight: 500;
|
|
18
|
+
};
|
|
19
|
+
readonly heading: {
|
|
20
|
+
readonly size: "22px";
|
|
21
|
+
readonly lineHeight: "28px";
|
|
22
|
+
readonly letterSpacing: "0";
|
|
23
|
+
readonly weight: 500;
|
|
24
|
+
};
|
|
25
|
+
readonly subheader: {
|
|
26
|
+
readonly size: "18px";
|
|
27
|
+
readonly lineHeight: "28px";
|
|
28
|
+
readonly letterSpacing: "-0.01em";
|
|
29
|
+
readonly weight: 400;
|
|
30
|
+
};
|
|
31
|
+
readonly "subheader-em": {
|
|
32
|
+
readonly size: "18px";
|
|
33
|
+
readonly lineHeight: "28px";
|
|
34
|
+
readonly letterSpacing: "-0.01em";
|
|
35
|
+
readonly weight: 500;
|
|
36
|
+
};
|
|
37
|
+
readonly body: {
|
|
38
|
+
readonly size: "16px";
|
|
39
|
+
readonly lineHeight: "24px";
|
|
40
|
+
readonly letterSpacing: "-0.01em";
|
|
41
|
+
readonly weight: 400;
|
|
42
|
+
};
|
|
43
|
+
readonly "body-em": {
|
|
44
|
+
readonly size: "16px";
|
|
45
|
+
readonly lineHeight: "24px";
|
|
46
|
+
readonly letterSpacing: "-0.01em";
|
|
47
|
+
readonly weight: 500;
|
|
48
|
+
};
|
|
49
|
+
readonly "caption-1": {
|
|
50
|
+
readonly size: "16px";
|
|
51
|
+
readonly lineHeight: "22px";
|
|
52
|
+
readonly letterSpacing: "0.02em";
|
|
53
|
+
readonly weight: 400;
|
|
54
|
+
};
|
|
55
|
+
readonly "caption-1-em": {
|
|
56
|
+
readonly size: "16px";
|
|
57
|
+
readonly lineHeight: "22px";
|
|
58
|
+
readonly letterSpacing: "0.02em";
|
|
59
|
+
readonly weight: 500;
|
|
60
|
+
};
|
|
61
|
+
readonly "caption-2": {
|
|
62
|
+
readonly size: "14px";
|
|
63
|
+
readonly lineHeight: "20px";
|
|
64
|
+
readonly letterSpacing: "0.01em";
|
|
65
|
+
readonly weight: 400;
|
|
66
|
+
};
|
|
67
|
+
readonly "caption-2-em": {
|
|
68
|
+
readonly size: "14px";
|
|
69
|
+
readonly lineHeight: "20px";
|
|
70
|
+
readonly letterSpacing: "0.01em";
|
|
71
|
+
readonly weight: 500;
|
|
72
|
+
};
|
|
73
|
+
readonly footnote: {
|
|
74
|
+
readonly size: "13px";
|
|
75
|
+
readonly lineHeight: "17px";
|
|
76
|
+
readonly letterSpacing: "0";
|
|
77
|
+
readonly weight: 400;
|
|
78
|
+
};
|
|
79
|
+
readonly "footnote-em": {
|
|
80
|
+
readonly size: "13px";
|
|
81
|
+
readonly lineHeight: "17px";
|
|
82
|
+
readonly letterSpacing: "0";
|
|
83
|
+
readonly weight: 500;
|
|
84
|
+
};
|
|
85
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lateralus-ai/shipping-ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-dev.0",
|
|
4
4
|
"description": "Shared UI theme and components for Lateralus shipping applications",
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"module": "dist/index.esm.js",
|
|
@@ -30,7 +30,22 @@
|
|
|
30
30
|
"build": "npx rimraf ./dist && vite build",
|
|
31
31
|
"storybook": "storybook dev -p 6006",
|
|
32
32
|
"build-storybook": "storybook build",
|
|
33
|
-
"
|
|
33
|
+
"test:visual": "playwright test",
|
|
34
|
+
"test:visual:ci": "npm run build-storybook && playwright test",
|
|
35
|
+
"test:visual:update": "playwright test --update-snapshots",
|
|
36
|
+
"test:visual:icons": "node scripts/figma-icons-baseline.mjs --check && playwright test tests/visual/icons-figma.spec.ts",
|
|
37
|
+
"test:visual:sidebar": "node scripts/figma-sidebar-baseline.mjs --target subcomponents --check && node scripts/figma-sidebar-baseline.mjs --target layouts --check && playwright test tests/visual/sidebar-figma.spec.ts tests/visual/sidebar-layouts-figma.spec.ts",
|
|
38
|
+
"figma:baseline:icons": "node scripts/figma-icons-baseline.mjs",
|
|
39
|
+
"figma:baseline:icons:check": "node scripts/figma-icons-baseline.mjs --check",
|
|
40
|
+
"figma:baseline:sidebar": "node scripts/figma-sidebar-baseline.mjs --target subcomponents",
|
|
41
|
+
"figma:baseline:sidebar:layouts": "node scripts/figma-sidebar-baseline.mjs --target layouts",
|
|
42
|
+
"figma:baseline:sidebar:check": "node scripts/figma-sidebar-baseline.mjs --check",
|
|
43
|
+
"postinstall": "playwright install chromium",
|
|
44
|
+
"release": "npx release-it",
|
|
45
|
+
"release:dev:init": "npx release-it --config .release-it.dev.json major --preRelease=dev",
|
|
46
|
+
"release:dev:init:publish": "npx release-it --config .release-it.dev.json --no-hooks.before:init major --preRelease=dev",
|
|
47
|
+
"release:dev": "npx release-it --config .release-it.dev.json --preRelease=dev",
|
|
48
|
+
"release:dev:publish": "npx release-it --config .release-it.dev.json --no-hooks.before:init --preRelease=dev"
|
|
34
49
|
},
|
|
35
50
|
"repository": {
|
|
36
51
|
"type": "git",
|
|
@@ -38,7 +53,8 @@
|
|
|
38
53
|
},
|
|
39
54
|
"keywords": [
|
|
40
55
|
"tailwind",
|
|
41
|
-
"
|
|
56
|
+
"askchief",
|
|
57
|
+
"design-system",
|
|
42
58
|
"theme",
|
|
43
59
|
"shipping",
|
|
44
60
|
"storybook"
|
|
@@ -51,13 +67,14 @@
|
|
|
51
67
|
"homepage": "https://github.com/lateralus-ai/shipping-ui#readme",
|
|
52
68
|
"devDependencies": {
|
|
53
69
|
"@chromatic-com/storybook": "^1.6.1",
|
|
54
|
-
"@
|
|
70
|
+
"@playwright/test": "^1.49.0",
|
|
55
71
|
"@storybook/addon-essentials": "^8.2.9",
|
|
56
72
|
"@storybook/addon-interactions": "^8.2.9",
|
|
57
73
|
"@storybook/addon-links": "^8.2.9",
|
|
58
74
|
"@storybook/blocks": "^8.2.9",
|
|
59
75
|
"@storybook/react": "^8.2.9",
|
|
60
76
|
"@storybook/react-vite": "^8.2.9",
|
|
77
|
+
"@types/pngjs": "^6.0.5",
|
|
61
78
|
"@types/react": "^18.2.0",
|
|
62
79
|
"@types/react-dom": "^18.2.0",
|
|
63
80
|
"@uidotdev/usehooks": "^2.4.1",
|
|
@@ -65,10 +82,14 @@
|
|
|
65
82
|
"ai": "^5.0.59",
|
|
66
83
|
"autoprefixer": "^10.4.16",
|
|
67
84
|
"clsx": "^1.2.0",
|
|
85
|
+
"pixelmatch": "^5.3.0",
|
|
86
|
+
"pngjs": "^7.0.0",
|
|
68
87
|
"postcss": "^8.4.32",
|
|
69
88
|
"react": "^18.2.0",
|
|
70
89
|
"react-dom": "^18.2.0",
|
|
71
90
|
"release-it": "^19.0.5",
|
|
91
|
+
"serve": "^14.2.4",
|
|
92
|
+
"sharp": "^0.33.5",
|
|
72
93
|
"storybook": "^8.2.9",
|
|
73
94
|
"tailwind-merge": "^1.9.0",
|
|
74
95
|
"tailwindcss": "^3.4.0",
|
|
@@ -84,7 +105,8 @@
|
|
|
84
105
|
"react-textarea-autosize": "^8.5.9"
|
|
85
106
|
},
|
|
86
107
|
"dependencies": {
|
|
87
|
-
"@
|
|
108
|
+
"@radix-ui/react-dropdown-menu": "^2.1.20",
|
|
109
|
+
"@radix-ui/react-tooltip": "^1.2.8",
|
|
88
110
|
"@react-hooks-library/core": "^0.6.2",
|
|
89
111
|
"docx-preview": "^0.3.7",
|
|
90
112
|
"docxtemplater": "^3.66.6",
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { type InputHTMLAttributes, useEffect, useId, useRef } from "react";
|
|
2
|
+
import { MinusIcon, TickIcon } from "../icons";
|
|
3
|
+
import { cn } from "../utils/cn";
|
|
4
|
+
|
|
5
|
+
export type CheckboxProps = Omit<InputHTMLAttributes<HTMLInputElement>, "onChange" | "type"> & {
|
|
6
|
+
checked?: boolean;
|
|
7
|
+
indeterminate?: boolean;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
label?: string;
|
|
10
|
+
onChange?: (checked: boolean) => void;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const Checkbox = ({
|
|
14
|
+
checked = false,
|
|
15
|
+
indeterminate = false,
|
|
16
|
+
disabled = false,
|
|
17
|
+
label,
|
|
18
|
+
onChange,
|
|
19
|
+
className,
|
|
20
|
+
id: idProp,
|
|
21
|
+
...props
|
|
22
|
+
}: CheckboxProps) => {
|
|
23
|
+
const generatedId = useId();
|
|
24
|
+
const id = idProp ?? generatedId;
|
|
25
|
+
const inputRef = useRef<HTMLInputElement>(null);
|
|
26
|
+
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (!inputRef.current) return;
|
|
29
|
+
inputRef.current.indeterminate = indeterminate;
|
|
30
|
+
}, [indeterminate]);
|
|
31
|
+
|
|
32
|
+
const isActive = checked || indeterminate;
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<label
|
|
36
|
+
htmlFor={id}
|
|
37
|
+
data-checked={checked}
|
|
38
|
+
data-indeterminate={indeterminate}
|
|
39
|
+
data-disabled={disabled}
|
|
40
|
+
className={cn(
|
|
41
|
+
"inline-flex cursor-pointer items-center gap-2",
|
|
42
|
+
disabled && "cursor-not-allowed opacity-50",
|
|
43
|
+
className,
|
|
44
|
+
)}
|
|
45
|
+
>
|
|
46
|
+
<span className="relative inline-flex shrink-0">
|
|
47
|
+
<input
|
|
48
|
+
ref={inputRef}
|
|
49
|
+
id={id}
|
|
50
|
+
type="checkbox"
|
|
51
|
+
checked={checked}
|
|
52
|
+
disabled={disabled}
|
|
53
|
+
onChange={(event) => onChange?.(event.target.checked)}
|
|
54
|
+
className="peer sr-only"
|
|
55
|
+
{...props}
|
|
56
|
+
/>
|
|
57
|
+
<span
|
|
58
|
+
aria-hidden
|
|
59
|
+
className={cn(
|
|
60
|
+
"flex size-4 items-center justify-center rounded-sm border transition-colors",
|
|
61
|
+
"border-divider-secondary bg-white",
|
|
62
|
+
"peer-hover:border-grey-400 peer-hover:bg-grey-50",
|
|
63
|
+
isActive && "border-blue-600 bg-blue-600",
|
|
64
|
+
"peer-focus-visible:ring-2 peer-focus-visible:ring-accent-on-light peer-focus-visible:ring-offset-1",
|
|
65
|
+
"peer-disabled:border-divider-primary peer-disabled:bg-grey-50",
|
|
66
|
+
)}
|
|
67
|
+
>
|
|
68
|
+
{checked && !indeterminate && (
|
|
69
|
+
<TickIcon size="xs" className="text-white" />
|
|
70
|
+
)}
|
|
71
|
+
{indeterminate && <MinusIcon size="small" className="text-white" />}
|
|
72
|
+
</span>
|
|
73
|
+
</span>
|
|
74
|
+
{label && <span className="text-body text-display-on-light-primary">{label}</span>}
|
|
75
|
+
</label>
|
|
76
|
+
);
|
|
77
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { ClearIcon } from "../icons";
|
|
3
|
+
import { Avatar, type AvatarProps, GroupedAvatars } from "../primitives";
|
|
4
|
+
import { IconButton } from "../primitives/IconButton";
|
|
5
|
+
import { cn } from "../utils/cn";
|
|
6
|
+
|
|
7
|
+
export type ChipVariant = "avatar" | "multiple" | "icon" | "dot" | "label";
|
|
8
|
+
|
|
9
|
+
type ChipDotColor = "blue" | "green" | "red" | "orange" | "purple" | "grey";
|
|
10
|
+
|
|
11
|
+
export type ChipProps = {
|
|
12
|
+
variant: ChipVariant;
|
|
13
|
+
label: string;
|
|
14
|
+
avatar?: Pick<AvatarProps, "chief" | "initials">;
|
|
15
|
+
icon?: ReactNode;
|
|
16
|
+
dotColor?: ChipDotColor;
|
|
17
|
+
onRemove?: () => void;
|
|
18
|
+
className?: string;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const dotColorStyles: Record<ChipDotColor, string> = {
|
|
22
|
+
blue: "bg-meta-blue",
|
|
23
|
+
green: "bg-meta-green",
|
|
24
|
+
red: "bg-meta-red",
|
|
25
|
+
orange: "bg-meta-orange",
|
|
26
|
+
purple: "bg-meta-purple",
|
|
27
|
+
grey: "bg-grey-400",
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export const Chip = ({
|
|
31
|
+
variant,
|
|
32
|
+
label,
|
|
33
|
+
avatar,
|
|
34
|
+
icon,
|
|
35
|
+
dotColor = "blue",
|
|
36
|
+
onRemove,
|
|
37
|
+
className,
|
|
38
|
+
}: ChipProps) => (
|
|
39
|
+
<span
|
|
40
|
+
data-variant={variant}
|
|
41
|
+
className={cn(
|
|
42
|
+
"inline-flex h-8 max-w-full items-center gap-1.5 rounded-control border border-divider-primary bg-white px-2 text-caption-2 text-display-on-light-primary",
|
|
43
|
+
className,
|
|
44
|
+
)}
|
|
45
|
+
>
|
|
46
|
+
{variant === "avatar" && avatar && (
|
|
47
|
+
<Avatar chief={avatar.chief} initials={avatar.initials} size={18} />
|
|
48
|
+
)}
|
|
49
|
+
{variant === "multiple" && <GroupedAvatars count={2} />}
|
|
50
|
+
{variant === "icon" && icon && (
|
|
51
|
+
<span className="shrink-0 text-display-on-light-secondary [&>svg]:size-4">{icon}</span>
|
|
52
|
+
)}
|
|
53
|
+
{variant === "dot" && (
|
|
54
|
+
<span className={cn("size-2 shrink-0 rounded-full", dotColorStyles[dotColor])} />
|
|
55
|
+
)}
|
|
56
|
+
<span className="truncate">{label}</span>
|
|
57
|
+
{onRemove && (
|
|
58
|
+
<IconButton
|
|
59
|
+
hierarchy="quaternary"
|
|
60
|
+
size="small"
|
|
61
|
+
aria-label={`Remove ${label}`}
|
|
62
|
+
onClick={onRemove}
|
|
63
|
+
className="size-6 [&>svg]:size-3"
|
|
64
|
+
>
|
|
65
|
+
<ClearIcon size="xs" />
|
|
66
|
+
</IconButton>
|
|
67
|
+
)}
|
|
68
|
+
</span>
|
|
69
|
+
);
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { Button, type ButtonProps } from "../primitives";
|
|
3
|
+
import { cn } from "../utils/cn";
|
|
4
|
+
|
|
5
|
+
export type EmptyStateProps = {
|
|
6
|
+
illustration?: ReactNode;
|
|
7
|
+
title: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
action?: Pick<ButtonProps, "children" | "onClick" | "hierarchy" | "startIcon" | "endIcon">;
|
|
10
|
+
className?: string;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const EmptyState = ({
|
|
14
|
+
illustration,
|
|
15
|
+
title,
|
|
16
|
+
description,
|
|
17
|
+
action,
|
|
18
|
+
className,
|
|
19
|
+
}: EmptyStateProps) => (
|
|
20
|
+
<div
|
|
21
|
+
className={cn(
|
|
22
|
+
"flex max-w-sm flex-col items-center gap-4 px-6 py-10 text-center",
|
|
23
|
+
className,
|
|
24
|
+
)}
|
|
25
|
+
>
|
|
26
|
+
{illustration && <div className="shrink-0">{illustration}</div>}
|
|
27
|
+
<div className="flex flex-col gap-1">
|
|
28
|
+
<h3 className="text-subheader-em text-display-on-light-primary">{title}</h3>
|
|
29
|
+
{description && (
|
|
30
|
+
<p className="text-body text-display-on-light-secondary">{description}</p>
|
|
31
|
+
)}
|
|
32
|
+
</div>
|
|
33
|
+
{action && (
|
|
34
|
+
<Button
|
|
35
|
+
hierarchy={action.hierarchy ?? "primary"}
|
|
36
|
+
onClick={action.onClick}
|
|
37
|
+
startIcon={action.startIcon}
|
|
38
|
+
endIcon={action.endIcon}
|
|
39
|
+
>
|
|
40
|
+
{action.children}
|
|
41
|
+
</Button>
|
|
42
|
+
)}
|
|
43
|
+
</div>
|
|
44
|
+
);
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { ChatIcon, IssuesIcon } from "../icons";
|
|
3
|
+
import { cn } from "../utils/cn";
|
|
4
|
+
|
|
5
|
+
export type EntryType = "chat" | "issue";
|
|
6
|
+
export type EntryState = "idle" | "selected";
|
|
7
|
+
|
|
8
|
+
export type EntryProps = {
|
|
9
|
+
type: EntryType;
|
|
10
|
+
state?: EntryState;
|
|
11
|
+
title: string;
|
|
12
|
+
subtitle?: string;
|
|
13
|
+
meta?: ReactNode;
|
|
14
|
+
onClick?: () => void;
|
|
15
|
+
className?: string;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const typeIcons: Record<EntryType, ReactNode> = {
|
|
19
|
+
chat: <ChatIcon size="small" />,
|
|
20
|
+
issue: <IssuesIcon size="small" />,
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export const Entry = ({
|
|
24
|
+
type,
|
|
25
|
+
state = "idle",
|
|
26
|
+
title,
|
|
27
|
+
subtitle,
|
|
28
|
+
meta,
|
|
29
|
+
onClick,
|
|
30
|
+
className,
|
|
31
|
+
}: EntryProps) => (
|
|
32
|
+
<button
|
|
33
|
+
type="button"
|
|
34
|
+
data-type={type}
|
|
35
|
+
data-state={state}
|
|
36
|
+
onClick={onClick}
|
|
37
|
+
className={cn(
|
|
38
|
+
"flex w-full items-start gap-3 rounded-control px-3 py-2.5 text-left transition-colors",
|
|
39
|
+
"hover:bg-background-secondary",
|
|
40
|
+
"data-[state=selected]:bg-background-selected data-[state=selected]:text-display-on-dark-primary",
|
|
41
|
+
"data-[state=selected]:[&_.entry-subtitle]:text-display-on-dark-secondary",
|
|
42
|
+
"data-[state=selected]:[&_.entry-meta]:text-display-on-dark-tertiary",
|
|
43
|
+
"data-[state=selected]:[&_.entry-icon]:text-display-on-dark-secondary",
|
|
44
|
+
className,
|
|
45
|
+
)}
|
|
46
|
+
>
|
|
47
|
+
<span className="entry-icon mt-0.5 shrink-0 text-display-on-light-secondary">
|
|
48
|
+
{typeIcons[type]}
|
|
49
|
+
</span>
|
|
50
|
+
<span className="min-w-0 flex-1">
|
|
51
|
+
<span className="block truncate text-caption-2-em">{title}</span>
|
|
52
|
+
{subtitle && (
|
|
53
|
+
<span className="entry-subtitle mt-0.5 block truncate text-footnote text-display-on-light-tertiary">
|
|
54
|
+
{subtitle}
|
|
55
|
+
</span>
|
|
56
|
+
)}
|
|
57
|
+
</span>
|
|
58
|
+
{meta && (
|
|
59
|
+
<span className="entry-meta shrink-0 text-footnote text-display-on-light-quaternary">
|
|
60
|
+
{meta}
|
|
61
|
+
</span>
|
|
62
|
+
)}
|
|
63
|
+
</button>
|
|
64
|
+
);
|