@lateralus-ai/shipping-ui 2.0.0-dev.0 → 2.0.0-dev.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/components/EmptyState.d.ts +1 -1
  2. package/dist/components/Entry.d.ts +27 -7
  3. package/dist/components/Modal.d.ts +36 -0
  4. package/dist/components/Tabs.d.ts +23 -8
  5. package/dist/components/index.d.ts +3 -2
  6. package/dist/index.cjs +32 -32
  7. package/dist/index.d.ts +2 -2
  8. package/dist/index.esm.js +4209 -3711
  9. package/dist/patterns/Search/ResultRow.d.ts +16 -7
  10. package/dist/patterns/Search/SearchModal.d.ts +84 -2
  11. package/dist/patterns/Search/index.d.ts +2 -2
  12. package/dist/primitives/Badge.d.ts +7 -4
  13. package/dist/primitives/Button.d.ts +17 -8
  14. package/dist/primitives/button-styles.d.ts +4 -0
  15. package/dist/primitives/index.d.ts +4 -2
  16. package/dist/style.css +1 -1
  17. package/dist/tailwind-theme.d.ts +4 -4
  18. package/dist/theme-entry-BUK3MJUJ.mjs +261 -0
  19. package/dist/theme-entry-ygTpGaNC.js +1 -0
  20. package/dist/theme-entry.d.ts +2 -0
  21. package/dist/theme.cjs +1 -0
  22. package/dist/theme.d.ts +2 -0
  23. package/dist/theme.esm.js +5 -0
  24. package/package.json +10 -3
  25. package/src/components/EmptyState.tsx +2 -2
  26. package/src/components/Entry.tsx +119 -45
  27. package/src/components/Modal.tsx +141 -0
  28. package/src/components/Tabs.tsx +146 -48
  29. package/src/components/index.ts +43 -13
  30. package/src/icons/arrow-paths.ts +8 -8
  31. package/src/icons/chevron-paths.ts +17 -17
  32. package/src/icons/icons-data.ts +656 -656
  33. package/src/index.ts +76 -50
  34. package/src/patterns/Search/ResultRow.tsx +44 -52
  35. package/src/patterns/Search/SearchModal.tsx +310 -88
  36. package/src/patterns/Search/index.ts +31 -5
  37. package/src/patterns/Sidebar/assets/logo-compliance-mark.png +5 -5
  38. package/src/patterns/Sidebar/assets/logo-compliance-mask.png +13 -13
  39. package/src/patterns/Sidebar/assets/logo-compliance.svg +17 -17
  40. package/src/patterns/Sidebar/assets/logo-technical-avatar.svg +17 -17
  41. package/src/patterns/Sidebar/assets/logo-technical-mark.png +5 -5
  42. package/src/patterns/Sidebar/assets/logo-technical.svg +16 -16
  43. package/src/patterns/Skeleton/Skeleton.tsx +56 -57
  44. package/src/primitives/Badge.tsx +20 -10
  45. package/src/primitives/Button.tsx +206 -37
  46. package/src/primitives/button-styles.ts +92 -0
  47. package/src/primitives/index.ts +7 -2
  48. package/src/stories/canvases/ButtonsCanvas.tsx +94 -44
  49. package/src/stories/canvases/ButtonsMatrixCanvas.tsx +8 -7
  50. package/src/stories/canvases/ContentCanvas.tsx +157 -88
  51. package/src/stories/canvases/SearchCanvas.tsx +150 -65
  52. package/src/stories/canvases/figma-buttons-layout.ts +83 -0
  53. package/src/stories/canvases/helpers.tsx +26 -43
  54. package/src/stories/components/Buttons.stories.tsx +11 -11
  55. package/src/stories/components/Chat.stories.tsx +11 -11
  56. package/src/stories/components/Content.stories.tsx +11 -11
  57. package/src/stories/components/Core.stories.tsx +11 -11
  58. package/src/stories/components/DomainForms.stories.tsx +11 -11
  59. package/src/stories/components/Filters.stories.tsx +11 -11
  60. package/src/stories/components/Forms.stories.tsx +11 -11
  61. package/src/stories/components/Icons.stories.tsx +11 -11
  62. package/src/stories/components/Illustrations.stories.tsx +11 -11
  63. package/src/stories/components/Library.stories.tsx +11 -11
  64. package/src/stories/components/Modals.stories.tsx +11 -11
  65. package/src/stories/components/Report.stories.tsx +11 -11
  66. package/src/stories/components/ReportLayout.stories.tsx +11 -11
  67. package/src/stories/components/Search.stories.tsx +11 -11
  68. package/src/stories/components/Settings.stories.tsx +11 -11
  69. package/src/stories/components/Ships.stories.tsx +11 -11
  70. package/src/stories/components/SidebarLayouts.stories.tsx +11 -11
  71. package/src/stories/components/Skeletons.stories.tsx +11 -11
  72. package/src/stories/components/Workflows.stories.tsx +11 -11
  73. package/src/stories/style-guide/Buttons.stories.tsx +11 -11
  74. package/src/stories/style-guide/ColorTokens.stories.tsx +11 -11
  75. package/src/stories/style-guide/Colors.stories.tsx +11 -11
  76. package/src/stories/style-guide/RaiseLevels.stories.tsx +11 -11
  77. package/src/stories/style-guide/Typography.stories.tsx +11 -11
  78. package/src/tailwind-theme.ts +4 -4
  79. package/src/theme-entry.ts +2 -0
  80. package/tailwind.config.ts +12 -0
@@ -1,10 +1,19 @@
1
- export type ResultRowVariant = "report" | "chat" | "issue";
2
- export type ResultRowState = "idle";
1
+ import { ReactNode } from 'react';
2
+ import { EntryProps, EntryState, EntryVariant } from '../../components/Entry';
3
+ /** @deprecated Prefer `EntryVariant`. */
4
+ export type ResultRowVariant = EntryVariant;
5
+ /** @deprecated Prefer `EntryState`. */
6
+ export type ResultRowState = EntryState;
3
7
  export type ResultRowProps = {
4
- variant?: ResultRowVariant;
5
- state?: ResultRowState;
6
- title?: string;
7
- subtitle?: string;
8
+ variant?: EntryVariant;
9
+ state?: EntryState;
10
+ title?: ReactNode;
11
+ subtitle?: ReactNode;
12
+ onClick?: () => void;
8
13
  className?: string;
9
14
  };
10
- export declare const ResultRow: ({ variant, state, title, subtitle, className, }: ResultRowProps) => import("react/jsx-runtime").JSX.Element;
15
+ /**
16
+ * @deprecated Prefer `Entry` — ResultRow is a thin alias for search lists.
17
+ */
18
+ export declare const ResultRow: ({ variant, state, title, subtitle, onClick, className, }: ResultRowProps) => import("react/jsx-runtime").JSX.Element;
19
+ export type { EntryProps };
@@ -1,6 +1,88 @@
1
+ import { InputHTMLAttributes, ReactNode } from 'react';
2
+ import { ModalContentProps, ModalProps } from '../../components/Modal';
3
+ import { ResultRowProps } from './ResultRow';
1
4
  export type SearchModalState = "idle" | "loading" | "results";
2
- export type SearchModalProps = {
5
+ export type SearchFilterTab = {
6
+ value: string;
7
+ label: string;
8
+ count?: number;
9
+ };
10
+ export type SearchModalProps = ModalProps & {
11
+ /** Panel state when using the built-in layout helpers. */
12
+ state?: SearchModalState;
13
+ className?: string;
14
+ contentClassName?: string;
15
+ showOverlay?: boolean;
16
+ overlayClassName?: string;
17
+ children?: ReactNode;
18
+ };
19
+ /**
20
+ * Search dialog composed on Modal.
21
+ * Use compound parts (Input / Body / Filters / Results) for app wiring,
22
+ * or pass `state` + demo children for Storybook.
23
+ */
24
+ export declare const SearchModal: ({ state, className, contentClassName, showOverlay, overlayClassName, children, ...modalProps }: SearchModalProps) => import("react/jsx-runtime").JSX.Element;
25
+ export type SearchModalInputProps = Omit<InputHTMLAttributes<HTMLInputElement>, "type"> & {
26
+ className?: string;
27
+ wrapperClassName?: string;
28
+ };
29
+ export declare const SearchModalInput: ({ className, wrapperClassName, placeholder, ...props }: SearchModalInputProps) => import("react/jsx-runtime").JSX.Element;
30
+ export declare const SearchModalDivider: ({ className }: {
31
+ className?: string;
32
+ }) => import("react/jsx-runtime").JSX.Element;
33
+ export type SearchModalBodyProps = {
34
+ children: ReactNode;
35
+ className?: string;
36
+ };
37
+ export declare const SearchModalBody: ({ children, className, }: SearchModalBodyProps) => import("react/jsx-runtime").JSX.Element;
38
+ export type SearchModalFiltersProps = {
39
+ tabs?: SearchFilterTab[];
40
+ value: string;
41
+ onValueChange: (value: string) => void;
42
+ children?: ReactNode;
43
+ className?: string;
44
+ listClassName?: string;
45
+ };
46
+ /**
47
+ * Pill-style filter tabs for the results state.
48
+ * Children render below the tab list (typically a single filtered results list).
49
+ * For per-tab panels, nest `SearchModalFilterPanel` (TabsContent) as children.
50
+ */
51
+ export declare const SearchModalFilters: ({ tabs, value, onValueChange, children, className, listClassName, }: SearchModalFiltersProps) => import("react/jsx-runtime").JSX.Element;
52
+ export type SearchModalFilterPanelProps = {
53
+ value: string;
54
+ children: ReactNode;
55
+ className?: string;
56
+ };
57
+ export declare const SearchModalFilterPanel: ({ value, children, className, }: SearchModalFilterPanelProps) => import("react/jsx-runtime").JSX.Element;
58
+ export type SearchModalResultsProps = {
59
+ items?: ResultRowProps[];
60
+ children?: ReactNode;
61
+ className?: string;
62
+ };
63
+ export declare const SearchModalResults: ({ items, children, className, }: SearchModalResultsProps) => import("react/jsx-runtime").JSX.Element;
64
+ export type SearchModalIdleProps = {
65
+ label?: string;
66
+ items?: ResultRowProps[];
67
+ children?: ReactNode;
68
+ className?: string;
69
+ };
70
+ export declare const SearchModalIdle: ({ label, items, children, className, }: SearchModalIdleProps) => import("react/jsx-runtime").JSX.Element;
71
+ export type SearchModalLoadingProps = {
72
+ className?: string;
73
+ };
74
+ export declare const SearchModalLoading: ({ className }: SearchModalLoadingProps) => import("react/jsx-runtime").JSX.Element;
75
+ /** Convenience controlled panel for Storybook / simple embeds. */
76
+ export type SearchModalPanelProps = {
3
77
  state?: SearchModalState;
78
+ query?: string;
79
+ onQueryChange?: (query: string) => void;
80
+ filter?: string;
81
+ onFilterChange?: (filter: string) => void;
82
+ filters?: SearchFilterTab[];
83
+ recentItems?: ResultRowProps[];
84
+ resultItems?: ResultRowProps[];
4
85
  className?: string;
5
86
  };
6
- export declare const SearchModal: ({ state, className }: SearchModalProps) => import("react/jsx-runtime").JSX.Element;
87
+ export declare const SearchModalPanel: ({ state, query, onQueryChange, filter, onFilterChange, filters, recentItems, resultItems, className, }: SearchModalPanelProps) => import("react/jsx-runtime").JSX.Element;
88
+ export type { ModalContentProps };
@@ -1,5 +1,5 @@
1
1
  export { Pill, type PillProps, type PillSize, type PillState } from './Pill';
2
2
  export { PillInfo, type PillInfoProps, type PillInfoType } from './PillInfo';
3
- export { ResultRow, type ResultRowProps, type ResultRowState, type ResultRowVariant } from './ResultRow';
4
- export { SearchModal, type SearchModalProps, type SearchModalState } from './SearchModal';
3
+ export { ResultRow, type ResultRowProps, type ResultRowState, type ResultRowVariant, } from './ResultRow';
4
+ export { SearchModal, SearchModalBody, SearchModalDivider, SearchModalFilterPanel, SearchModalFilters, SearchModalIdle, SearchModalInput, SearchModalLoading, SearchModalPanel, SearchModalResults, type SearchFilterTab, type SearchModalBodyProps, type SearchModalFiltersProps, type SearchModalIdleProps, type SearchModalInputProps, type SearchModalLoadingProps, type SearchModalPanelProps, type SearchModalProps, type SearchModalResultsProps, type SearchModalState, } from './SearchModal';
5
5
  export { SectionHeader, type SectionHeaderProps } from './SectionHeader';
@@ -1,11 +1,14 @@
1
1
  import { ReactNode } from 'react';
2
- type BadgeColor = "blue" | "green" | "red" | "orange" | "purple" | "grey";
3
- type BadgeType = "label" | "icon";
2
+ export type BadgeColor = "blue" | "green" | "red" | "orange" | "purple" | "grey";
3
+ export type BadgeType = "label" | "icon";
4
4
  export type BadgeProps = {
5
5
  color: BadgeColor;
6
+ /** `label` grows with content (pill). `icon` is a compact circle for a glyph/digit. */
6
7
  type?: BadgeType;
7
8
  children: ReactNode;
8
9
  className?: string;
9
10
  };
10
- export declare const Badge: ({ color, type, children, className }: BadgeProps) => import("react/jsx-runtime").JSX.Element;
11
- export {};
11
+ /**
12
+ * Figma Badge (4365:74363) — padding + rounded-full; no fixed width on labels.
13
+ */
14
+ export declare const Badge: ({ color, type, children, className, }: BadgeProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,13 +1,22 @@
1
- import { ButtonHTMLAttributes, ReactNode } from 'react';
2
- type ButtonHierarchy = "primary" | "secondary" | "tertiary" | "quaternary";
3
- type ButtonOutcome = "action" | "destructive";
1
+ import { ButtonHTMLAttributes, ComponentType, ReactNode } from 'react';
2
+ import { IconProps } from '../icons';
3
+ import { ButtonAppearance, ButtonHierarchy } from './button-styles';
4
+ export type ButtonDropdownOption = {
5
+ label: string;
6
+ onSelect: () => void;
7
+ destructive?: boolean;
8
+ disabled?: boolean;
9
+ icon?: ComponentType<IconProps>;
10
+ };
4
11
  export type ButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children"> & {
5
12
  hierarchy?: ButtonHierarchy;
6
- outcome?: ButtonOutcome;
7
13
  disabled?: boolean;
8
- startIcon?: ReactNode;
9
- endIcon?: ReactNode;
14
+ icon?: ComponentType<IconProps> | ReactNode;
15
+ startIcon?: ComponentType<IconProps> | ReactNode;
16
+ dropdownOptions?: ButtonDropdownOption[];
17
+ dropdownOpen?: boolean;
18
+ onDropdownOpenChange?: (open: boolean) => void;
19
+ forcedState?: ButtonAppearance;
10
20
  children: ReactNode;
11
21
  };
12
- export declare const Button: ({ hierarchy, outcome, disabled, startIcon, endIcon, children, className, type, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
13
- export {};
22
+ export declare const Button: ({ hierarchy, disabled, icon, startIcon, dropdownOptions, dropdownOpen, onDropdownOpenChange, forcedState, children, className, type, onClick, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export type ButtonHierarchy = "primary" | "secondary" | "tertiary" | "quaternary" | "destructive";
2
+ export type ButtonAppearance = "idle" | "hover" | "disabled";
3
+ export declare const getButtonAppearanceClasses: (hierarchy: ButtonHierarchy, appearance: ButtonAppearance) => string;
4
+ export declare const getButtonInteractiveClasses: (hierarchy: ButtonHierarchy, disabled: boolean) => string;
@@ -1,4 +1,6 @@
1
- export { Button, type ButtonProps } from './Button';
1
+ export type { ButtonAppearance, ButtonHierarchy, } from './button-styles';
2
+ export type { ButtonProps, ButtonDropdownOption } from './Button';
3
+ export { Button } from './Button';
2
4
  export { IconButton, type IconButtonProps } from './IconButton';
3
5
  export { Logo, type LogoProps } from './Logo';
4
6
  export { Avatar, type AvatarProps } from './Avatar';
@@ -9,5 +11,5 @@ export { Tooltip, TooltipProvider, type TooltipProps, type TooltipSide } from '.
9
11
  export { ThinkingDot, type ThinkingDotProps } from './ThinkingDot';
10
12
  export { Count, type CountProps } from './Count';
11
13
  export { Switch, type SwitchProps } from './Switch';
12
- export { Badge, type BadgeProps } from './Badge';
14
+ export { Badge, type BadgeProps, type BadgeColor, type BadgeType } from './Badge';
13
15
  export { Callout, type CalloutProps } from './Callout';
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- :root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::-moz-selection{background:transparent}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}
1
+ @import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap";:root{--grey-50: #fdfdfc;--grey-100: #f4f2ea;--grey-200: #e1ddce;--grey-300: #bfb9a5;--grey-400: #969080;--grey-500: #6e6960;--grey-600: #524e47;--grey-700: #3a3733;--grey-800: #312e2a;--grey-900: #262420;--white: #ffffff;--green-50: #f5f8f2;--green-100: #dde6d2;--green-700: #304624;--blue-50: #eef1f8;--blue-100: #dae0ef;--blue-400: #5274ae;--blue-600: #154199;--blue-700: #103480;--red-100: #f0d3cc;--red-300: #c97a6b;--red-500: #a0392a;--red-600: #802c20;--red-700: #621f16;--orange-50: #faf1de;--orange-700: #5a3d0d;--purple-100: #e2d9e8;--purple-700: #3d2e4a;--action-primary-idle: var(--grey-900);--action-primary-on-idle: var(--white);--action-primary-hover: var(--blue-600);--action-primary-on-hover: var(--white);--action-primary-disabled: var(--grey-500);--action-primary-on-disabled: var(--grey-200);--action-secondary-idle: var(--grey-50);--action-secondary-on-idle: var(--grey-900);--action-secondary-hover: var(--grey-100);--action-secondary-on-hover: var(--grey-900);--action-secondary-disabled: var(--grey-50);--action-secondary-on-disabled: var(--grey-400);--action-tertiary-idle: var(--white);--action-tertiary-on-idle: var(--blue-600);--action-tertiary-hover: var(--blue-50);--action-tertiary-on-hover: var(--blue-700);--action-tertiary-disabled: var(--white);--action-tertiary-on-disabled: var(--grey-400);--action-quaternary-idle: var(--white);--action-quaternary-on-idle: var(--grey-700);--action-quaternary-hover: var(--grey-100);--action-quaternary-on-hover: var(--grey-900);--action-quaternary-disabled: var(--white);--action-quaternary-on-disabled: var(--grey-400);--action-destructive-idle: var(--red-500);--action-destructive-on-idle: var(--white);--action-destructive-hover: var(--red-700);--action-destructive-on-hover: var(--white);--action-destructive-disabled: var(--red-100);--action-destructive-on-disabled: var(--red-300);--background-primary: var(--grey-50);--background-secondary: var(--grey-100);--background-tertiary: var(--grey-200);--background-hover: var(--grey-900);--background-selected: var(--grey-900);--background-overlay: rgba(38, 36, 32, .5);--display-on-light-primary: var(--grey-900);--display-on-light-secondary: var(--grey-700);--display-on-light-tertiary: var(--grey-500);--display-on-light-quaternary: var(--grey-400);--display-on-dark-primary: var(--white);--display-on-dark-secondary: var(--grey-200);--display-on-dark-tertiary: var(--grey-400);--display-on-dark-quaternary: var(--grey-500);--accent-on-light: var(--blue-600);--accent-on-dark: var(--blue-400);--accent-bg-light: var(--blue-100);--accent-bg-lighter: var(--blue-50);--divider-primary: var(--grey-200);--divider-secondary: var(--grey-300);--meta-green: var(--green-100);--meta-on-green: var(--green-700);--meta-orange: var(--orange-50);--meta-on-orange: var(--orange-700);--meta-red: var(--red-100);--meta-on-red: var(--red-600);--meta-blue: var(--blue-100);--meta-on-blue: var(--blue-700);--meta-purple: var(--purple-100);--meta-on-purple: var(--purple-700);--semantic-control: 8px;--raise-1: 0 1px 2px rgba(38, 36, 32, .06), 0 1px 3px rgba(38, 36, 32, .04);--raise-2: 0 2px 8px rgba(38, 36, 32, .08), 0 1px 2px rgba(38, 36, 32, .04);--raise-3: 0 8px 24px rgba(38, 36, 32, .12), 0 2px 8px rgba(38, 36, 32, .06);--text-primary: var(--display-on-light-primary);--text-secondary: var(--display-on-light-secondary);--text-tertiary: var(--display-on-light-tertiary);--surface-primary: var(--background-primary);--surface-secondary: var(--background-secondary);--surface-hover: var(--background-secondary);--border-light: var(--divider-primary);--border-medium: var(--divider-secondary)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sidebar-scroll{scrollbar-width:thin;scrollbar-color:transparent transparent}.sidebar-scroll:hover{scrollbar-color:rgba(38,36,32,.12) transparent}.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-track{background:transparent}.sidebar-scroll::-webkit-scrollbar-thumb{background-color:transparent;border-radius:9999px}.sidebar-scroll:hover::-webkit-scrollbar-thumb{background-color:#2624201f}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::-moz-selection{background:transparent}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}
@@ -233,10 +233,10 @@ export declare const theme: {
233
233
  };
234
234
  };
235
235
  accent: {
236
- onLight: string;
237
- onDark: string;
238
- bgLight: string;
239
- bgLighter: string;
236
+ "on-light": string;
237
+ "on-dark": string;
238
+ "bg-light": string;
239
+ "bg-lighter": string;
240
240
  };
241
241
  divider: {
242
242
  primary: string;
@@ -0,0 +1,261 @@
1
+ const o = {
2
+ 50: "#fdfdfc",
3
+ 100: "#f4f2ea",
4
+ 200: "#e1ddce",
5
+ 300: "#bfb9a5",
6
+ 400: "#969080",
7
+ 500: "#6e6960",
8
+ 600: "#524e47",
9
+ 700: "#3a3733",
10
+ 800: "#312e2a",
11
+ 900: "#262420"
12
+ }, d = {
13
+ 50: "#f5f8f2",
14
+ 100: "#dde6d2",
15
+ 200: "#c5d4b3",
16
+ 300: "#a8bf8f",
17
+ 400: "#7a9a5e",
18
+ 500: "#5a7a42",
19
+ 600: "#456332",
20
+ 700: "#304624",
21
+ 800: "#223018",
22
+ 900: "#141c0e"
23
+ }, c = {
24
+ 50: "#eef1f8",
25
+ 100: "#dae0ef",
26
+ 200: "#b8c4e0",
27
+ 300: "#8fa3cc",
28
+ 400: "#5274ae",
29
+ 500: "#3a5d96",
30
+ 600: "#154199",
31
+ 700: "#103480",
32
+ 800: "#0c2860",
33
+ 900: "#081c42"
34
+ }, l = {
35
+ 50: "#faf3f1",
36
+ 100: "#f0d3cc",
37
+ 200: "#e4b0a5",
38
+ 300: "#c97a6b",
39
+ 400: "#b85a48",
40
+ 500: "#a0392a",
41
+ 600: "#802c20",
42
+ 700: "#621f16",
43
+ 800: "#45150f",
44
+ 900: "#2a0c08"
45
+ }, s = {
46
+ 50: "#faf1de",
47
+ 100: "#f5e4c0",
48
+ 200: "#efd49a",
49
+ 300: "#e4bc6a",
50
+ 400: "#d9a03e",
51
+ 500: "#c48820",
52
+ 600: "#8f6318",
53
+ 700: "#5a3d0d",
54
+ 800: "#3d2a09",
55
+ 900: "#261a05"
56
+ }, v = {
57
+ 50: "#f6f2f8",
58
+ 100: "#e2d9e8",
59
+ 200: "#cbbad6",
60
+ 300: "#b09bc3",
61
+ 400: "#957cb0",
62
+ 500: "#7a5d9d",
63
+ 600: "#5e4680",
64
+ 700: "#3d2e4a",
65
+ 800: "#2a2033",
66
+ 900: "#18121c"
67
+ }, p = "#ffffff", a = { grey: o, green: d, blue: c, red: l, orange: s, purple: v }, t = {
68
+ raise1: "0 1px 2px rgba(38, 36, 32, 0.06), 0 1px 3px rgba(38, 36, 32, 0.04)",
69
+ raise2: "0 2px 8px rgba(38, 36, 32, 0.08), 0 1px 2px rgba(38, 36, 32, 0.04)",
70
+ raise3: "0 8px 24px rgba(38, 36, 32, 0.12), 0 2px 8px rgba(38, 36, 32, 0.06)"
71
+ }, i = {
72
+ control: "8px",
73
+ lg: "8px",
74
+ md: "6px",
75
+ sm: "4px"
76
+ }, e = (n, r) => [
77
+ n,
78
+ {
79
+ lineHeight: r.lineHeight,
80
+ letterSpacing: r.letterSpacing,
81
+ ...r.fontWeight ? { fontWeight: String(r.fontWeight) } : {}
82
+ }
83
+ ], g = {
84
+ fontFamily: {
85
+ heading: ['"TRY Vesterbro"', "Libre Baskerville", "Georgia", "serif"],
86
+ sans: ['"Matter-TRIAL"', "DM Sans", "system-ui", "sans-serif"],
87
+ mono: ["Roboto Mono", "monospace"]
88
+ },
89
+ fontSize: {
90
+ title: e("28px", { lineHeight: "34px", letterSpacing: "-0.02em" }),
91
+ "title-em": e("28px", {
92
+ lineHeight: "34px",
93
+ letterSpacing: "-0.02em",
94
+ fontWeight: 500
95
+ }),
96
+ heading: e("22px", {
97
+ lineHeight: "28px",
98
+ letterSpacing: "0",
99
+ fontWeight: 500
100
+ }),
101
+ subheader: e("18px", { lineHeight: "28px", letterSpacing: "-0.01em" }),
102
+ "subheader-em": e("18px", {
103
+ lineHeight: "28px",
104
+ letterSpacing: "-0.01em",
105
+ fontWeight: 500
106
+ }),
107
+ body: e("16px", { lineHeight: "24px", letterSpacing: "-0.01em" }),
108
+ "body-em": e("16px", {
109
+ lineHeight: "24px",
110
+ letterSpacing: "-0.01em",
111
+ fontWeight: 500
112
+ }),
113
+ "caption-1": e("16px", { lineHeight: "22px", letterSpacing: "0.02em" }),
114
+ "caption-1-em": e("16px", {
115
+ lineHeight: "22px",
116
+ letterSpacing: "0.02em",
117
+ fontWeight: 500
118
+ }),
119
+ "caption-2": e("14px", { lineHeight: "20px", letterSpacing: "0.01em" }),
120
+ "caption-2-em": e("14px", {
121
+ lineHeight: "20px",
122
+ letterSpacing: "0.01em",
123
+ fontWeight: 500
124
+ }),
125
+ footnote: e("13px", { lineHeight: "17px", letterSpacing: "0" }),
126
+ "footnote-em": e("13px", {
127
+ lineHeight: "17px",
128
+ letterSpacing: "0",
129
+ fontWeight: 500
130
+ })
131
+ },
132
+ boxShadow: {
133
+ raise1: t.raise1,
134
+ raise2: t.raise2,
135
+ raise3: t.raise3
136
+ },
137
+ borderRadius: {
138
+ control: i.control,
139
+ lg: i.lg,
140
+ md: i.md,
141
+ sm: i.sm
142
+ },
143
+ colors: {
144
+ grey: a.grey,
145
+ gray: a.grey,
146
+ green: a.green,
147
+ blue: a.blue,
148
+ red: a.red,
149
+ orange: a.orange,
150
+ purple: a.purple,
151
+ white: "#ffffff",
152
+ action: {
153
+ primary: {
154
+ idle: "var(--action-primary-idle)",
155
+ "on-idle": "var(--action-primary-on-idle)",
156
+ hover: "var(--action-primary-hover)",
157
+ "on-hover": "var(--action-primary-on-hover)",
158
+ disabled: "var(--action-primary-disabled)",
159
+ "on-disabled": "var(--action-primary-on-disabled)"
160
+ },
161
+ secondary: {
162
+ idle: "var(--action-secondary-idle)",
163
+ "on-idle": "var(--action-secondary-on-idle)",
164
+ hover: "var(--action-secondary-hover)",
165
+ "on-hover": "var(--action-secondary-on-hover)",
166
+ disabled: "var(--action-secondary-disabled)",
167
+ "on-disabled": "var(--action-secondary-on-disabled)"
168
+ },
169
+ tertiary: {
170
+ idle: "var(--action-tertiary-idle)",
171
+ "on-idle": "var(--action-tertiary-on-idle)",
172
+ hover: "var(--action-tertiary-hover)",
173
+ "on-hover": "var(--action-tertiary-on-hover)",
174
+ disabled: "var(--action-tertiary-disabled)",
175
+ "on-disabled": "var(--action-tertiary-on-disabled)"
176
+ },
177
+ quaternary: {
178
+ idle: "var(--action-quaternary-idle)",
179
+ "on-idle": "var(--action-quaternary-on-idle)",
180
+ hover: "var(--action-quaternary-hover)",
181
+ "on-hover": "var(--action-quaternary-on-hover)",
182
+ disabled: "var(--action-quaternary-disabled)",
183
+ "on-disabled": "var(--action-quaternary-on-disabled)"
184
+ },
185
+ destructive: {
186
+ idle: "var(--action-destructive-idle)",
187
+ "on-idle": "var(--action-destructive-on-idle)",
188
+ hover: "var(--action-destructive-hover)",
189
+ "on-hover": "var(--action-destructive-on-hover)",
190
+ disabled: "var(--action-destructive-disabled)",
191
+ "on-disabled": "var(--action-destructive-on-disabled)"
192
+ }
193
+ },
194
+ background: {
195
+ primary: "var(--background-primary)",
196
+ secondary: "var(--background-secondary)",
197
+ tertiary: "var(--background-tertiary)",
198
+ hover: "var(--background-hover)",
199
+ selected: "var(--background-selected)",
200
+ overlay: "var(--background-overlay)"
201
+ },
202
+ display: {
203
+ "on-light": {
204
+ primary: "var(--display-on-light-primary)",
205
+ secondary: "var(--display-on-light-secondary)",
206
+ tertiary: "var(--display-on-light-tertiary)",
207
+ quaternary: "var(--display-on-light-quaternary)"
208
+ },
209
+ "on-dark": {
210
+ primary: "var(--display-on-dark-primary)",
211
+ secondary: "var(--display-on-dark-secondary)",
212
+ tertiary: "var(--display-on-dark-tertiary)",
213
+ quaternary: "var(--display-on-dark-quaternary)"
214
+ }
215
+ },
216
+ accent: {
217
+ "on-light": "var(--accent-on-light)",
218
+ "on-dark": "var(--accent-on-dark)",
219
+ "bg-light": "var(--accent-bg-light)",
220
+ "bg-lighter": "var(--accent-bg-lighter)"
221
+ },
222
+ divider: {
223
+ primary: "var(--divider-primary)",
224
+ secondary: "var(--divider-secondary)"
225
+ },
226
+ meta: {
227
+ green: "var(--meta-green)",
228
+ onGreen: "var(--meta-on-green)",
229
+ orange: "var(--meta-orange)",
230
+ onOrange: "var(--meta-on-orange)",
231
+ red: "var(--meta-red)",
232
+ onRed: "var(--meta-on-red)",
233
+ blue: "var(--meta-blue)",
234
+ onBlue: "var(--meta-on-blue)",
235
+ purple: "var(--meta-purple)",
236
+ onPurple: "var(--meta-on-purple)"
237
+ },
238
+ /* Legacy aliases */
239
+ "text-primary": "var(--display-on-light-primary)",
240
+ "text-secondary": "var(--display-on-light-secondary)",
241
+ "text-tertiary": "var(--display-on-light-tertiary)",
242
+ "surface-primary": "var(--background-primary)",
243
+ "surface-secondary": "var(--background-secondary)",
244
+ "surface-hover": "var(--background-secondary)",
245
+ "border-light": "var(--divider-primary)",
246
+ "border-medium": "var(--divider-secondary)"
247
+ }
248
+ };
249
+ export {
250
+ d as a,
251
+ c as b,
252
+ a as c,
253
+ i as d,
254
+ t as e,
255
+ o as g,
256
+ s as o,
257
+ v as p,
258
+ l as r,
259
+ g as t,
260
+ p as w
261
+ };
@@ -0,0 +1 @@
1
+ "use strict";const n={50:"#fdfdfc",100:"#f4f2ea",200:"#e1ddce",300:"#bfb9a5",400:"#969080",500:"#6e6960",600:"#524e47",700:"#3a3733",800:"#312e2a",900:"#262420"},o={50:"#f5f8f2",100:"#dde6d2",200:"#c5d4b3",300:"#a8bf8f",400:"#7a9a5e",500:"#5a7a42",600:"#456332",700:"#304624",800:"#223018",900:"#141c0e"},d={50:"#eef1f8",100:"#dae0ef",200:"#b8c4e0",300:"#8fa3cc",400:"#5274ae",500:"#3a5d96",600:"#154199",700:"#103480",800:"#0c2860",900:"#081c42"},c={50:"#faf3f1",100:"#f0d3cc",200:"#e4b0a5",300:"#c97a6b",400:"#b85a48",500:"#a0392a",600:"#802c20",700:"#621f16",800:"#45150f",900:"#2a0c08"},l={50:"#faf1de",100:"#f5e4c0",200:"#efd49a",300:"#e4bc6a",400:"#d9a03e",500:"#c48820",600:"#8f6318",700:"#5a3d0d",800:"#3d2a09",900:"#261a05"},s={50:"#f6f2f8",100:"#e2d9e8",200:"#cbbad6",300:"#b09bc3",400:"#957cb0",500:"#7a5d9d",600:"#5e4680",700:"#3d2e4a",800:"#2a2033",900:"#18121c"},p="#ffffff",a={grey:n,green:o,blue:d,red:c,orange:l,purple:s},t={raise1:"0 1px 2px rgba(38, 36, 32, 0.06), 0 1px 3px rgba(38, 36, 32, 0.04)",raise2:"0 2px 8px rgba(38, 36, 32, 0.08), 0 1px 2px rgba(38, 36, 32, 0.04)",raise3:"0 8px 24px rgba(38, 36, 32, 0.12), 0 2px 8px rgba(38, 36, 32, 0.06)"},r={control:"8px",lg:"8px",md:"6px",sm:"4px"},e=(v,i)=>[v,{lineHeight:i.lineHeight,letterSpacing:i.letterSpacing,...i.fontWeight?{fontWeight:String(i.fontWeight)}:{}}],g={fontFamily:{heading:['"TRY Vesterbro"',"Libre Baskerville","Georgia","serif"],sans:['"Matter-TRIAL"',"DM Sans","system-ui","sans-serif"],mono:["Roboto Mono","monospace"]},fontSize:{title:e("28px",{lineHeight:"34px",letterSpacing:"-0.02em"}),"title-em":e("28px",{lineHeight:"34px",letterSpacing:"-0.02em",fontWeight:500}),heading:e("22px",{lineHeight:"28px",letterSpacing:"0",fontWeight:500}),subheader:e("18px",{lineHeight:"28px",letterSpacing:"-0.01em"}),"subheader-em":e("18px",{lineHeight:"28px",letterSpacing:"-0.01em",fontWeight:500}),body:e("16px",{lineHeight:"24px",letterSpacing:"-0.01em"}),"body-em":e("16px",{lineHeight:"24px",letterSpacing:"-0.01em",fontWeight:500}),"caption-1":e("16px",{lineHeight:"22px",letterSpacing:"0.02em"}),"caption-1-em":e("16px",{lineHeight:"22px",letterSpacing:"0.02em",fontWeight:500}),"caption-2":e("14px",{lineHeight:"20px",letterSpacing:"0.01em"}),"caption-2-em":e("14px",{lineHeight:"20px",letterSpacing:"0.01em",fontWeight:500}),footnote:e("13px",{lineHeight:"17px",letterSpacing:"0"}),"footnote-em":e("13px",{lineHeight:"17px",letterSpacing:"0",fontWeight:500})},boxShadow:{raise1:t.raise1,raise2:t.raise2,raise3:t.raise3},borderRadius:{control:r.control,lg:r.lg,md:r.md,sm:r.sm},colors:{grey:a.grey,gray:a.grey,green:a.green,blue:a.blue,red:a.red,orange:a.orange,purple:a.purple,white:"#ffffff",action:{primary:{idle:"var(--action-primary-idle)","on-idle":"var(--action-primary-on-idle)",hover:"var(--action-primary-hover)","on-hover":"var(--action-primary-on-hover)",disabled:"var(--action-primary-disabled)","on-disabled":"var(--action-primary-on-disabled)"},secondary:{idle:"var(--action-secondary-idle)","on-idle":"var(--action-secondary-on-idle)",hover:"var(--action-secondary-hover)","on-hover":"var(--action-secondary-on-hover)",disabled:"var(--action-secondary-disabled)","on-disabled":"var(--action-secondary-on-disabled)"},tertiary:{idle:"var(--action-tertiary-idle)","on-idle":"var(--action-tertiary-on-idle)",hover:"var(--action-tertiary-hover)","on-hover":"var(--action-tertiary-on-hover)",disabled:"var(--action-tertiary-disabled)","on-disabled":"var(--action-tertiary-on-disabled)"},quaternary:{idle:"var(--action-quaternary-idle)","on-idle":"var(--action-quaternary-on-idle)",hover:"var(--action-quaternary-hover)","on-hover":"var(--action-quaternary-on-hover)",disabled:"var(--action-quaternary-disabled)","on-disabled":"var(--action-quaternary-on-disabled)"},destructive:{idle:"var(--action-destructive-idle)","on-idle":"var(--action-destructive-on-idle)",hover:"var(--action-destructive-hover)","on-hover":"var(--action-destructive-on-hover)",disabled:"var(--action-destructive-disabled)","on-disabled":"var(--action-destructive-on-disabled)"}},background:{primary:"var(--background-primary)",secondary:"var(--background-secondary)",tertiary:"var(--background-tertiary)",hover:"var(--background-hover)",selected:"var(--background-selected)",overlay:"var(--background-overlay)"},display:{"on-light":{primary:"var(--display-on-light-primary)",secondary:"var(--display-on-light-secondary)",tertiary:"var(--display-on-light-tertiary)",quaternary:"var(--display-on-light-quaternary)"},"on-dark":{primary:"var(--display-on-dark-primary)",secondary:"var(--display-on-dark-secondary)",tertiary:"var(--display-on-dark-tertiary)",quaternary:"var(--display-on-dark-quaternary)"}},accent:{"on-light":"var(--accent-on-light)","on-dark":"var(--accent-on-dark)","bg-light":"var(--accent-bg-light)","bg-lighter":"var(--accent-bg-lighter)"},divider:{primary:"var(--divider-primary)",secondary:"var(--divider-secondary)"},meta:{green:"var(--meta-green)",onGreen:"var(--meta-on-green)",orange:"var(--meta-orange)",onOrange:"var(--meta-on-orange)",red:"var(--meta-red)",onRed:"var(--meta-on-red)",blue:"var(--meta-blue)",onBlue:"var(--meta-on-blue)",purple:"var(--meta-purple)",onPurple:"var(--meta-on-purple)"},"text-primary":"var(--display-on-light-primary)","text-secondary":"var(--display-on-light-secondary)","text-tertiary":"var(--display-on-light-tertiary)","surface-primary":"var(--background-primary)","surface-secondary":"var(--background-secondary)","surface-hover":"var(--background-secondary)","border-light":"var(--divider-primary)","border-medium":"var(--divider-secondary)"}};exports.blue=d;exports.borderRadius=r;exports.colorScales=a;exports.elevation=t;exports.green=o;exports.grey=n;exports.orange=l;exports.purple=s;exports.red=c;exports.theme=g;exports.white=p;
@@ -0,0 +1,2 @@
1
+ export { theme as tailwindTheme } from './tailwind-theme';
2
+ export { theme } from './tailwind-theme';
package/dist/theme.cjs ADDED
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./theme-entry-ygTpGaNC.js");exports.tailwindTheme=e.theme;exports.theme=e.theme;
@@ -0,0 +1,2 @@
1
+ export * from './theme-entry'
2
+ export {}
@@ -0,0 +1,5 @@
1
+ import { t as a, t as m } from "./theme-entry-BUK3MJUJ.mjs";
2
+ export {
3
+ a as tailwindTheme,
4
+ m as theme
5
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lateralus-ai/shipping-ui",
3
- "version": "2.0.0-dev.0",
3
+ "version": "2.0.0-dev.11",
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",
@@ -14,16 +14,21 @@
14
14
  "require": "./dist/index.cjs",
15
15
  "types": "./dist/index.d.ts"
16
16
  },
17
+ "./theme": {
18
+ "import": "./dist/theme.esm.js",
19
+ "require": "./dist/theme.cjs",
20
+ "types": "./dist/theme-entry.d.ts"
21
+ },
17
22
  "./style.css": "./dist/style.css",
18
23
  "./css": "./dist/style.css",
19
24
  "./dist/style.css": "./dist/style.css",
20
- "./tailwind": "./tailwind.config.js"
25
+ "./tailwind": "./dist/theme.cjs"
21
26
  },
22
27
  "files": [
23
28
  "dist",
24
29
  "lib",
25
30
  "src",
26
- "tailwind.config.js"
31
+ "tailwind.config.ts"
27
32
  ],
28
33
  "scripts": {
29
34
  "dev": "storybook dev -p 6006",
@@ -105,7 +110,9 @@
105
110
  "react-textarea-autosize": "^8.5.9"
106
111
  },
107
112
  "dependencies": {
113
+ "@radix-ui/react-dialog": "^1.1.19",
108
114
  "@radix-ui/react-dropdown-menu": "^2.1.20",
115
+ "@radix-ui/react-tabs": "^1.1.17",
109
116
  "@radix-ui/react-tooltip": "^1.2.8",
110
117
  "@react-hooks-library/core": "^0.6.2",
111
118
  "docx-preview": "^0.3.7",
@@ -6,7 +6,7 @@ export type EmptyStateProps = {
6
6
  illustration?: ReactNode;
7
7
  title: string;
8
8
  description?: string;
9
- action?: Pick<ButtonProps, "children" | "onClick" | "hierarchy" | "startIcon" | "endIcon">;
9
+ action?: Pick<ButtonProps, "children" | "onClick" | "hierarchy" | "icon" | "startIcon">;
10
10
  className?: string;
11
11
  };
12
12
 
@@ -34,8 +34,8 @@ export const EmptyState = ({
34
34
  <Button
35
35
  hierarchy={action.hierarchy ?? "primary"}
36
36
  onClick={action.onClick}
37
+ icon={action.icon}
37
38
  startIcon={action.startIcon}
38
- endIcon={action.endIcon}
39
39
  >
40
40
  {action.children}
41
41
  </Button>