@lateralus-ai/shipping-ui 2.0.0-dev.3 → 2.0.0-dev.30

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 (98) hide show
  1. package/dist/components/Entry.d.ts +27 -7
  2. package/dist/components/PageHeader.d.ts +41 -0
  3. package/dist/components/ScrollableList.d.ts +22 -0
  4. package/dist/components/Tabs.d.ts +5 -5
  5. package/dist/components/index.d.ts +4 -2
  6. package/dist/domain/Filters/FilterDropdown.d.ts +119 -0
  7. package/dist/domain/Filters/FilterPill.d.ts +22 -5
  8. package/dist/domain/Filters/FilterPills.d.ts +18 -0
  9. package/dist/domain/Filters/FilteredPill.d.ts +15 -5
  10. package/dist/domain/Filters/formatActiveFilterChipLabel.d.ts +11 -0
  11. package/dist/domain/Filters/index.d.ts +8 -3
  12. package/dist/index.cjs +33 -33
  13. package/dist/index.d.ts +2 -2
  14. package/dist/index.esm.js +6383 -4792
  15. package/dist/patterns/Search/ResultRow.d.ts +11 -5
  16. package/dist/patterns/Sidebar/sidebar-styles.d.ts +2 -1
  17. package/dist/primitives/Badge.d.ts +7 -4
  18. package/dist/primitives/Button.d.ts +3 -1
  19. package/dist/primitives/Switch.d.ts +5 -0
  20. package/dist/primitives/index.d.ts +1 -1
  21. package/dist/tailwind-theme.d.ts +8 -4
  22. package/dist/theme-entry-Dwr2mV7_.js +1 -0
  23. package/dist/{theme-entry-CxDa1D0_.mjs → theme-entry-tLBc6zGT.mjs} +12 -8
  24. package/dist/theme.cjs +1 -1
  25. package/dist/theme.esm.js +1 -1
  26. package/package.json +3 -2
  27. package/src/components/EmptyState.tsx +44 -44
  28. package/src/components/Entry.tsx +119 -45
  29. package/src/components/Modal.tsx +141 -141
  30. package/src/components/PageHeader.tsx +132 -0
  31. package/src/components/ScrollableList.tsx +61 -0
  32. package/src/components/Tabs.tsx +33 -26
  33. package/src/components/index.ts +15 -1
  34. package/src/domain/Filters/FilterDropdown.tsx +540 -0
  35. package/src/domain/Filters/FilterPill.tsx +74 -25
  36. package/src/domain/Filters/FilterPills.tsx +34 -0
  37. package/src/domain/Filters/FilteredPill.tsx +59 -39
  38. package/src/domain/Filters/FiltersBar.tsx +72 -76
  39. package/src/domain/Filters/formatActiveFilterChipLabel.ts +23 -0
  40. package/src/domain/Filters/index.ts +37 -3
  41. package/src/icons/arrow-paths.ts +8 -8
  42. package/src/icons/chevron-paths.ts +17 -17
  43. package/src/icons/icons-data.ts +656 -656
  44. package/src/index.ts +11 -0
  45. package/src/patterns/Search/ResultRow.tsx +24 -38
  46. package/src/patterns/Search/SearchModal.tsx +26 -8
  47. package/src/patterns/Sidebar/CollapsibleNavGroup.tsx +1 -1
  48. package/src/patterns/Sidebar/SidebarAction.tsx +26 -17
  49. package/src/patterns/Sidebar/SidebarEntry.tsx +54 -39
  50. package/src/patterns/Sidebar/SidebarLink.tsx +30 -20
  51. package/src/patterns/Sidebar/assets/logo-compliance-mark.png +5 -5
  52. package/src/patterns/Sidebar/assets/logo-compliance-mask.png +13 -13
  53. package/src/patterns/Sidebar/assets/logo-compliance.svg +17 -17
  54. package/src/patterns/Sidebar/assets/logo-technical-avatar.svg +17 -17
  55. package/src/patterns/Sidebar/assets/logo-technical-mark.png +5 -5
  56. package/src/patterns/Sidebar/assets/logo-technical.svg +16 -16
  57. package/src/patterns/Sidebar/sidebar-styles.ts +2 -1
  58. package/src/primitives/Badge.tsx +20 -10
  59. package/src/primitives/Button.tsx +21 -11
  60. package/src/primitives/Logo.tsx +20 -8
  61. package/src/primitives/Switch.tsx +27 -7
  62. package/src/primitives/button-styles.ts +92 -92
  63. package/src/primitives/index.ts +1 -1
  64. package/src/stories/canvases/ButtonsCanvas.tsx +107 -107
  65. package/src/stories/canvases/ButtonsMatrixCanvas.tsx +65 -65
  66. package/src/stories/canvases/ContentCanvas.tsx +253 -14
  67. package/src/stories/canvases/FiltersCanvas.tsx +171 -41
  68. package/src/stories/canvases/figma-buttons-layout.ts +83 -83
  69. package/src/stories/canvases/figma-widths.ts +28 -28
  70. package/src/stories/canvases/helpers.tsx +146 -146
  71. package/src/stories/components/Buttons.stories.tsx +11 -11
  72. package/src/stories/components/Chat.stories.tsx +11 -11
  73. package/src/stories/components/Content.stories.tsx +11 -11
  74. package/src/stories/components/Core.stories.tsx +11 -11
  75. package/src/stories/components/DomainForms.stories.tsx +11 -11
  76. package/src/stories/components/Filters.stories.tsx +11 -11
  77. package/src/stories/components/Forms.stories.tsx +11 -11
  78. package/src/stories/components/Icons.stories.tsx +11 -11
  79. package/src/stories/components/Illustrations.stories.tsx +11 -11
  80. package/src/stories/components/Library.stories.tsx +11 -11
  81. package/src/stories/components/Modals.stories.tsx +11 -11
  82. package/src/stories/components/Report.stories.tsx +11 -11
  83. package/src/stories/components/ReportLayout.stories.tsx +11 -11
  84. package/src/stories/components/Search.stories.tsx +11 -11
  85. package/src/stories/components/Settings.stories.tsx +11 -11
  86. package/src/stories/components/Ships.stories.tsx +11 -11
  87. package/src/stories/components/SidebarLayouts.stories.tsx +11 -11
  88. package/src/stories/components/Skeletons.stories.tsx +11 -11
  89. package/src/stories/components/Workflows.stories.tsx +11 -11
  90. package/src/stories/style-guide/Buttons.stories.tsx +11 -11
  91. package/src/stories/style-guide/ColorTokens.stories.tsx +11 -11
  92. package/src/stories/style-guide/Colors.stories.tsx +11 -11
  93. package/src/stories/style-guide/RaiseLevels.stories.tsx +11 -11
  94. package/src/stories/style-guide/Typography.stories.tsx +11 -11
  95. package/src/tailwind-theme.ts +8 -4
  96. package/src/theme-entry.ts +2 -2
  97. package/src/utils/cn.ts +28 -1
  98. package/dist/theme-entry-D2X3Ptjf.js +0 -1
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { FormsCanvas } from "../canvases/FormsCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Components/Forms",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <FormsCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { FormsCanvas } from "../canvases/FormsCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Components/Forms",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <FormsCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { IconsCanvas } from "../canvases/IconsCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Components/Icons",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <IconsCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { IconsCanvas } from "../canvases/IconsCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Components/Icons",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <IconsCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { IllustrationsCanvas } from "../canvases/IllustrationsCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Components/Illustrations",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <IllustrationsCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { IllustrationsCanvas } from "../canvases/IllustrationsCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Components/Illustrations",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <IllustrationsCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { LibraryCanvas } from "../canvases/LibraryCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Components/Library",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <LibraryCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { LibraryCanvas } from "../canvases/LibraryCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Components/Library",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <LibraryCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { ModalsCanvas } from "../canvases/ModalsCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Components/Modals",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <ModalsCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { ModalsCanvas } from "../canvases/ModalsCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Components/Modals",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <ModalsCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { ReportCanvas } from "../canvases/ReportCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Components/Report",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <ReportCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { ReportCanvas } from "../canvases/ReportCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Components/Report",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <ReportCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { ReportLayoutCanvas } from "../canvases/ReportLayoutCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Components/Report Layout",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <ReportLayoutCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { ReportLayoutCanvas } from "../canvases/ReportLayoutCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Components/Report Layout",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <ReportLayoutCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { SearchCanvas } from "../canvases/SearchCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Components/Search",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <SearchCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { SearchCanvas } from "../canvases/SearchCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Components/Search",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <SearchCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { SettingsCanvas } from "../canvases/SettingsCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Components/Settings",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <SettingsCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { SettingsCanvas } from "../canvases/SettingsCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Components/Settings",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <SettingsCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { ShipsCanvas } from "../canvases/ShipsCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Components/Ships",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <ShipsCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { ShipsCanvas } from "../canvases/ShipsCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Components/Ships",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <ShipsCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { SidebarLayoutsCanvas } from "../canvases/SidebarLayoutsCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Components/Sidebar Layouts",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <SidebarLayoutsCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { SidebarLayoutsCanvas } from "../canvases/SidebarLayoutsCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Components/Sidebar Layouts",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <SidebarLayoutsCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { SkeletonsCanvas } from "../canvases/SkeletonsCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Components/Skeletons",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <SkeletonsCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { SkeletonsCanvas } from "../canvases/SkeletonsCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Components/Skeletons",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <SkeletonsCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { WorkflowsCanvas } from "../canvases/WorkflowsCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Components/Workflows",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <WorkflowsCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { WorkflowsCanvas } from "../canvases/WorkflowsCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Components/Workflows",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <WorkflowsCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { ButtonsMatrixCanvas } from "../canvases/ButtonsMatrixCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Style Guide/Buttons",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <ButtonsMatrixCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { ButtonsMatrixCanvas } from "../canvases/ButtonsMatrixCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Style Guide/Buttons",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <ButtonsMatrixCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { ColorTokensCanvas } from "../canvases/ColorTokensCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Style Guide/Color Tokens",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <ColorTokensCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { ColorTokensCanvas } from "../canvases/ColorTokensCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Style Guide/Color Tokens",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <ColorTokensCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { ColorsCanvas } from "../canvases/ColorsCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Style Guide/Colors",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <ColorsCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { ColorsCanvas } from "../canvases/ColorsCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Style Guide/Colors",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <ColorsCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { RaiseLevelsCanvas } from "../canvases/RaiseLevelsCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Style Guide/Raise Levels",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <RaiseLevelsCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { RaiseLevelsCanvas } from "../canvases/RaiseLevelsCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Style Guide/Raise Levels",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <RaiseLevelsCanvas /> };
12
12
 
@@ -1,12 +1,12 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import { TypographyCanvas } from "../canvases/TypographyCanvas";
3
-
4
- const meta: Meta = {
5
- title: "Style Guide/Typography",
6
- parameters: { layout: "fullscreen" },
7
- };
8
- export default meta;
9
-
10
- type Story = StoryObj;
11
- export const Canvas: Story = { render: () => <TypographyCanvas /> };
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { TypographyCanvas } from "../canvases/TypographyCanvas";
3
+
4
+ const meta: Meta = {
5
+ title: "Style Guide/Typography",
6
+ parameters: { layout: "fullscreen" },
7
+ };
8
+ export default meta;
9
+
10
+ type Story = StoryObj;
11
+ export const Canvas: Story = { render: () => <TypographyCanvas /> };
12
12
 
@@ -74,6 +74,10 @@ export const theme = {
74
74
  md: borderRadius.md,
75
75
  sm: borderRadius.sm,
76
76
  },
77
+ /** Extends Tailwind’s max-width scale (7xl = 1280px). */
78
+ maxWidth: {
79
+ "8xl": "1640px",
80
+ },
77
81
  colors: {
78
82
  grey: colorScales.grey,
79
83
  gray: colorScales.grey,
@@ -148,10 +152,10 @@ export const theme = {
148
152
  },
149
153
  },
150
154
  accent: {
151
- onLight: "var(--accent-on-light)",
152
- onDark: "var(--accent-on-dark)",
153
- bgLight: "var(--accent-bg-light)",
154
- bgLighter: "var(--accent-bg-lighter)",
155
+ "on-light": "var(--accent-on-light)",
156
+ "on-dark": "var(--accent-on-dark)",
157
+ "bg-light": "var(--accent-bg-light)",
158
+ "bg-lighter": "var(--accent-bg-lighter)",
155
159
  },
156
160
  divider: {
157
161
  primary: "var(--divider-primary)",
@@ -1,2 +1,2 @@
1
- export { theme as tailwindTheme } from "./tailwind-theme";
2
- export { theme } from "./tailwind-theme";
1
+ export { theme as tailwindTheme } from "./tailwind-theme";
2
+ export { theme } from "./tailwind-theme";
package/src/utils/cn.ts CHANGED
@@ -1,6 +1,33 @@
1
- import { twMerge } from "tailwind-merge";
1
+ import { extendTailwindMerge } from "tailwind-merge";
2
2
  import { type ClassValue, clsx } from "clsx";
3
3
 
4
+ /**
5
+ * Custom fontSize keys from tailwind-theme.ts (tailwind-merge@1.x API).
6
+ * Without this, twMerge treats e.g. text-caption-2-em as the same group as
7
+ * text-display-on-light-primary and drops the font-size class.
8
+ */
9
+ const fontSizeTokens = [
10
+ "title",
11
+ "title-em",
12
+ "heading",
13
+ "subheader",
14
+ "subheader-em",
15
+ "body",
16
+ "body-em",
17
+ "caption-1",
18
+ "caption-1-em",
19
+ "caption-2",
20
+ "caption-2-em",
21
+ "footnote",
22
+ "footnote-em",
23
+ ] as const;
24
+
25
+ const twMerge = extendTailwindMerge({
26
+ classGroups: {
27
+ "font-size": [{ text: [...fontSizeTokens] }],
28
+ },
29
+ });
30
+
4
31
  /**
5
32
  * Merges the tailwind clases (using twMerge). Conditionally removes false values
6
33
  * @param inputs The tailwind classes to merge
@@ -1 +0,0 @@
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:{onLight:"var(--accent-on-light)",onDark:"var(--accent-on-dark)",bgLight:"var(--accent-bg-light)",bgLighter:"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;