@caseparts-org/caseblocks 0.0.1

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 (93) hide show
  1. package/README.md +97 -0
  2. package/dist/Text.module-ruz24ug-.js +25 -0
  3. package/dist/assets/Account.css +1 -0
  4. package/dist/assets/Avatar.css +1 -0
  5. package/dist/assets/Button.css +1 -0
  6. package/dist/assets/Chip.css +1 -0
  7. package/dist/assets/ChipSelector.css +1 -0
  8. package/dist/assets/Flex.css +1 -0
  9. package/dist/assets/Flex2.css +1 -0
  10. package/dist/assets/Grid.css +1 -0
  11. package/dist/assets/HideAt.css +1 -0
  12. package/dist/assets/Icon.css +1 -0
  13. package/dist/assets/Link.css +1 -0
  14. package/dist/assets/Logo.css +1 -0
  15. package/dist/assets/MainNav.css +1 -0
  16. package/dist/assets/Root.css +1 -0
  17. package/dist/assets/SearchBox.css +1 -0
  18. package/dist/assets/Separator.css +1 -0
  19. package/dist/assets/Text.css +1 -0
  20. package/dist/assets/ToggleView.css +1 -0
  21. package/dist/atoms/Button/Button.d.ts +7 -0
  22. package/dist/atoms/Button/Button.js +45 -0
  23. package/dist/atoms/Button/Button.stories.d.ts +15 -0
  24. package/dist/atoms/Button/Button.stories.js +40 -0
  25. package/dist/atoms/Flex/Flex.d.ts +13 -0
  26. package/dist/atoms/Flex/Flex.js +35 -0
  27. package/dist/atoms/Flex/Flex.stories.d.ts +14 -0
  28. package/dist/atoms/Flex/Flex.stories.js +131 -0
  29. package/dist/atoms/Grid/Grid.d.ts +25 -0
  30. package/dist/atoms/Grid/Grid.js +40 -0
  31. package/dist/atoms/Grid/Grid.stories.d.ts +17 -0
  32. package/dist/atoms/Grid/Grid.stories.js +58 -0
  33. package/dist/atoms/HideAt.d.ts +9 -0
  34. package/dist/atoms/HideAt.js +15 -0
  35. package/dist/atoms/Icon/Icon.d.ts +8 -0
  36. package/dist/atoms/Icon/Icon.js +33 -0
  37. package/dist/atoms/Icon/Icon.stories.d.ts +14 -0
  38. package/dist/atoms/Icon/Icon.stories.js +28 -0
  39. package/dist/atoms/Link/Link.d.ts +7 -0
  40. package/dist/atoms/Link/Link.js +35 -0
  41. package/dist/atoms/Link/Link.stories.d.ts +13 -0
  42. package/dist/atoms/Link/Link.stories.js +21 -0
  43. package/dist/atoms/ResponsiveProp.d.ts +2 -0
  44. package/dist/atoms/ResponsiveProp.js +14 -0
  45. package/dist/atoms/Root/Head.d.ts +1 -0
  46. package/dist/atoms/Root/Head.js +13 -0
  47. package/dist/atoms/Root/Root.d.ts +4 -0
  48. package/dist/atoms/Root/Root.js +10 -0
  49. package/dist/atoms/Separator/Separator.d.ts +7 -0
  50. package/dist/atoms/Separator/Separator.js +30 -0
  51. package/dist/atoms/Separator/Separator.stories.d.ts +13 -0
  52. package/dist/atoms/Separator/Separator.stories.js +33 -0
  53. package/dist/atoms/Text/Text.d.ts +15 -0
  54. package/dist/atoms/Text/Text.js +32 -0
  55. package/dist/atoms/Text/Text.stories.d.ts +17 -0
  56. package/dist/atoms/Text/Text.stories.js +89 -0
  57. package/dist/clsx-OuTLNxxd.js +16 -0
  58. package/dist/main.d.ts +29 -0
  59. package/dist/main.js +37 -0
  60. package/dist/molecules/Account/Account.d.ts +13 -0
  61. package/dist/molecules/Account/Account.js +66 -0
  62. package/dist/molecules/Account/Account.stories.d.ts +14 -0
  63. package/dist/molecules/Account/Account.stories.js +26 -0
  64. package/dist/molecules/Avatar/Avatar.d.ts +6 -0
  65. package/dist/molecules/Avatar/Avatar.js +35 -0
  66. package/dist/molecules/Avatar/Avatar.stories.d.ts +13 -0
  67. package/dist/molecules/Avatar/Avatar.stories.js +17 -0
  68. package/dist/molecules/Chip/Chip.d.ts +57 -0
  69. package/dist/molecules/Chip/Chip.js +71 -0
  70. package/dist/molecules/Chip/Chip.stories.d.ts +15 -0
  71. package/dist/molecules/Chip/Chip.stories.js +53 -0
  72. package/dist/molecules/Logo/Logo.d.ts +1 -0
  73. package/dist/molecules/Logo/Logo.js +53 -0
  74. package/dist/molecules/Logo/Logo.stories.d.ts +13 -0
  75. package/dist/molecules/Logo/Logo.stories.js +17 -0
  76. package/dist/molecules/SearchBox/SearchBox.d.ts +6 -0
  77. package/dist/molecules/SearchBox/SearchBox.js +60 -0
  78. package/dist/molecules/SearchBox/SearchBox.stories.d.ts +12 -0
  79. package/dist/molecules/SearchBox/SearchBox.stories.js +15 -0
  80. package/dist/molecules/ToggleView/ToggleView.d.ts +75 -0
  81. package/dist/molecules/ToggleView/ToggleView.js +102 -0
  82. package/dist/molecules/ToggleView/ToggleView.stories.d.ts +13 -0
  83. package/dist/molecules/ToggleView/ToggleView.stories.js +24 -0
  84. package/dist/organisms/ChipSelector/ChipSelector.d.ts +12 -0
  85. package/dist/organisms/ChipSelector/ChipSelector.js +43 -0
  86. package/dist/organisms/ChipSelector/ChipSelector.stories.d.ts +14 -0
  87. package/dist/organisms/ChipSelector/ChipSelector.stories.js +51 -0
  88. package/dist/organisms/MainNav/MainNav.d.ts +4 -0
  89. package/dist/organisms/MainNav/MainNav.js +103 -0
  90. package/dist/organisms/MainNav/MainNav.stories.d.ts +13 -0
  91. package/dist/organisms/MainNav/MainNav.stories.js +24 -0
  92. package/dist/styles/tokens.css +243 -0
  93. package/package.json +73 -0
@@ -0,0 +1,51 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { ChipSelector as t } from "./ChipSelector.js";
3
+ const a = {
4
+ title: "Case Parts/Organisms/ChipSelector",
5
+ component: t,
6
+ parameters: {
7
+ // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
8
+ layout: "centered"
9
+ },
10
+ // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
11
+ tags: ["autodocs"]
12
+ }, o = {
13
+ args: {
14
+ chips: [
15
+ { id: 1, text: "Chip 1", variant: "selectable", selected: !0 },
16
+ { id: 2, text: "Chip 2", variant: "selectable", selected: !0 },
17
+ { id: 3, text: "Chip 3", variant: "selectable", selected: !0 }
18
+ ],
19
+ onChipSelect: (e) => console.log(`Chip ${e} selected`),
20
+ onChipDismiss: (e) => console.log(`Chip ${e} dismissed`)
21
+ }
22
+ }, c = {
23
+ render: () => /* @__PURE__ */ i(
24
+ t,
25
+ {
26
+ chips: [
27
+ {
28
+ id: 1,
29
+ text: "Selectable Chip",
30
+ variant: "selectable",
31
+ selected: !0
32
+ },
33
+ {
34
+ id: 1,
35
+ text: "Selectable Chip",
36
+ variant: "selectable",
37
+ selected: !1
38
+ },
39
+ { id: 2, text: "Dismissable Chip", variant: "dismissable" },
40
+ { id: 3, text: "Pill Chip", variant: "pill" }
41
+ ],
42
+ onChipSelect: (e) => console.log(`Chip ${e} selected`),
43
+ onChipDismiss: (e) => console.log(`Chip ${e} dismissed`)
44
+ }
45
+ )
46
+ };
47
+ export {
48
+ o as AllProps,
49
+ c as Variants,
50
+ a as default
51
+ };
@@ -0,0 +1,4 @@
1
+ import { AccountProps } from '../../molecules/Account/Account';
2
+ export interface MainNavProps extends React.HTMLAttributes<HTMLDivElement>, Pick<AccountProps, "account"> {
3
+ }
4
+ export declare function MainNav({ account }: MainNavProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,103 @@
1
+ import { jsx as e, jsxs as i } from "react/jsx-runtime";
2
+ import { Grid as s, Column as l } from "../../atoms/Grid/Grid.js";
3
+ import { Flex as t } from "../../atoms/Flex/Flex.js";
4
+ import { Text as a } from "../../atoms/Text/Text.js";
5
+ import { Logo as m } from "../../molecules/Logo/Logo.js";
6
+ import { Link as r } from "../../atoms/Link/Link.js";
7
+ import { Icon as c } from "../../atoms/Icon/Icon.js";
8
+ import { Separator as d } from "../../atoms/Separator/Separator.js";
9
+ import { SearchBox as h } from "../../molecules/SearchBox/SearchBox.js";
10
+ import { Account as f } from "../../molecules/Account/Account.js";
11
+ import '../../assets/MainNav.css';const p = "_logoAndSearch_3a8de_1", _ = "_searchContainer_3a8de_7", u = "_menu_3a8de_25", I = "_chatIcon_3a8de_31", g = "_siteLink_3a8de_43", x = "_accountId_3a8de_51", N = "_menuIcon_3a8de_57", k = "_separator_3a8de_67", n = {
12
+ logoAndSearch: p,
13
+ searchContainer: _,
14
+ menu: u,
15
+ chatIcon: I,
16
+ siteLink: g,
17
+ accountId: x,
18
+ menuIcon: N,
19
+ separator: k
20
+ };
21
+ function j({ account: o }) {
22
+ return /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(l, { span: 12, children: /* @__PURE__ */ i(
23
+ t,
24
+ {
25
+ flexDirection: "row",
26
+ justifyContent: "space-between",
27
+ alignItems: "center",
28
+ children: [
29
+ /* @__PURE__ */ i(
30
+ t,
31
+ {
32
+ flexDirection: ["column", "row", "row"],
33
+ alignItems: ["flex-start", "center", "center"],
34
+ className: n.logoAndSearch,
35
+ children: [
36
+ /* @__PURE__ */ e(m, {}),
37
+ /* @__PURE__ */ e("div", { className: n.searchContainer, children: /* @__PURE__ */ e(h, { action: "/search" }) })
38
+ ]
39
+ }
40
+ ),
41
+ /* @__PURE__ */ i(
42
+ t,
43
+ {
44
+ flexDirection: ["column", "row", "row"],
45
+ alignItems: "center",
46
+ className: n.menu,
47
+ children: [
48
+ /* @__PURE__ */ i(
49
+ t,
50
+ {
51
+ flexDirection: "row",
52
+ alignItems: "center",
53
+ justifyContent: ["space-between", "flex-start", "flex-start"],
54
+ children: [
55
+ /* @__PURE__ */ e(
56
+ c,
57
+ {
58
+ iconKey: "fa-kit fa-chat",
59
+ className: n.chatIcon,
60
+ title: "Live Chat",
61
+ size: "lg"
62
+ }
63
+ ),
64
+ /* @__PURE__ */ e(r, { href: "#", className: n.siteLink, hideAt: ["sm", "md"], children: /* @__PURE__ */ e(a, { size: "md", variant: "display", children: "Live Chat" }) }),
65
+ /* @__PURE__ */ i(
66
+ t,
67
+ {
68
+ flexDirection: "row",
69
+ className: n.siteLinks,
70
+ hideAt: ["sm", "md"],
71
+ children: [
72
+ /* @__PURE__ */ e(r, { href: "#", className: n.siteLink, children: /* @__PURE__ */ e(a, { size: "md", variant: "display", children: "Custom Parts" }) }),
73
+ /* @__PURE__ */ e(r, { href: "#", className: n.siteLink, children: /* @__PURE__ */ e(a, { size: "md", variant: "display", children: "FAQ" }) }),
74
+ /* @__PURE__ */ e(r, { href: "#", className: n.siteLink, children: /* @__PURE__ */ e(a, { size: "md", variant: "display", children: "About Us" }) })
75
+ ]
76
+ }
77
+ ),
78
+ /* @__PURE__ */ e(t, { flexDirection: "row", hideAt: "lg", className: n.menuIcon, children: /* @__PURE__ */ e(c, { iconKey: "fa-kit fa-bars", title: "Menu", size: "lg" }) })
79
+ ]
80
+ }
81
+ ),
82
+ /* @__PURE__ */ i(t, { flexDirection: "row", alignItems: "center", children: [
83
+ /* @__PURE__ */ e(f, { account: o, className: n.avatar }),
84
+ /* @__PURE__ */ e(d, { orientation: "vertical", className: n.separator }),
85
+ /* @__PURE__ */ e(
86
+ c,
87
+ {
88
+ iconKey: "fa-kit fa-shoppingcart-empty",
89
+ title: "Shopping Cart",
90
+ size: "lg"
91
+ }
92
+ )
93
+ ] })
94
+ ]
95
+ }
96
+ )
97
+ ]
98
+ }
99
+ ) }) });
100
+ }
101
+ export {
102
+ j as MainNav
103
+ };
@@ -0,0 +1,13 @@
1
+ import { StoryObj } from '@storybook/react';
2
+ import { MainNav } from './MainNav';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof MainNav;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ };
10
+ export default meta;
11
+ type Story = StoryObj<typeof meta>;
12
+ export declare const Unauthenticated: Story;
13
+ export declare const Authenticated: Story;
@@ -0,0 +1,24 @@
1
+ import { MainNav as t } from "./MainNav.js";
2
+ const e = {
3
+ title: "Case Parts/Organisms/MainNav",
4
+ component: t,
5
+ parameters: {
6
+ // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
7
+ layout: "centered"
8
+ }
9
+ }, n = {
10
+ args: {}
11
+ }, s = {
12
+ args: {
13
+ account: {
14
+ name: "Ringo",
15
+ initials: "RS",
16
+ number: "123456789012"
17
+ }
18
+ }
19
+ };
20
+ export {
21
+ s as Authenticated,
22
+ n as Unauthenticated,
23
+ e as default
24
+ };
@@ -0,0 +1,243 @@
1
+ /* Exported from Figma on Feb 24, 2025, using the variables2css plugin. */
2
+ /* Note that Figma contains both Desktop and Mobile modes, but we only capture the Desktop ones. */
3
+
4
+ /* Primitives */
5
+ :root {
6
+ /* Desktop */
7
+ /* color */
8
+ --color-alerts-caution-tips: #ffd041;
9
+ --color-alerts-error-warning: #d40000;
10
+ --color-alerts-light-green: #f0f7f4;
11
+ --color-alerts-light-orange: #fdf0e9;
12
+ --color-alerts-light-red: #fdf2f2;
13
+ --color-alerts-light-teal-blue: #eaf2f9;
14
+ --color-alerts-light-yellow: #fff6d9;
15
+ --color-alerts-masked-edit-mode: #00bce2;
16
+ --color-alerts-success: #00aa00;
17
+ --color-alerts-warning: #f06721;
18
+ --color-brand-primary-primary-black: #000000;
19
+ --color-brand-primary-primary-pale-gray: #f7f7f7;
20
+ --color-brand-primary-primary-tangerine: #f06721;
21
+ --color-brand-primary-primary-teal-blue: #1380b1;
22
+ --color-brand-primary-white: #ffffff;
23
+ --color-brand-secondary-dark-green: #008800;
24
+ --color-brand-secondary-dark-orange: #d75c1e;
25
+ --color-brand-secondary-dark-red: #bb0000;
26
+ --color-brand-secondary-dark-teal-blue: #0e6da1;
27
+ --color-brand-secondary-dark-yellow: #e5a914;
28
+ --color-brand-secondary-lt-green: #f0f7f4;
29
+ --color-brand-secondary-lt-orange: #fdf0e9;
30
+ --color-brand-secondary-lt-red: #fdf2f2;
31
+ --color-brand-secondary-lt-teal-blue: #eaf2f9;
32
+ --color-brand-secondary-lt-yellow: #fff6d9;
33
+ --color-neutrals-neutral-1: #f6f6f6;
34
+ --color-neutrals-neutral-2: #dfdfdf;
35
+ --color-neutrals-neutral-3: #b2b2b2;
36
+ --color-neutrals-neutral-4: #707070;
37
+ --color-neutrals-neutral-5: #4a4a4a;
38
+ --color-neutrals-neutral-6: #2d2d2d;
39
+ --color-neutrals-text-disabled: #b2b2b2;
40
+ /* number */
41
+ --border-radius-none: 0rem;
42
+ --border-radius-xs: 0.125rem;
43
+ --border-radius-sm: 0.25rem;
44
+ --border-radius-md: 0.5rem;
45
+ --border-radius-lg: 0.75rem;
46
+ --font-size-xxs: 0.625rem;
47
+ --font-size-xs: 0.75rem;
48
+ --font-size-sm: 0.875rem;
49
+ --font-size-md: 1rem;
50
+ --font-size-lg: 1.125rem;
51
+ --font-size-xl: 1.25rem;
52
+ --font-size-2xl: 1.5rem;
53
+ --font-size-3xl: 2rem;
54
+ --font-size-4xl: 2.5rem;
55
+ --font-size-5xl: 3rem;
56
+ --font-size-6xl: 3.5rem;
57
+ --font-weight-thin: 100;
58
+ --font-weight-extra-light: 200;
59
+ --font-weight-light: 300;
60
+ --font-weight-regular: 400;
61
+ --font-weight-medium: 500;
62
+ --font-weight-semibold: 600;
63
+ --font-weight-bold: 700;
64
+ --grid-columns-full-width: 0.0625rem;
65
+ --grid-columns-2-column: 0.125rem;
66
+ --grid-columns-3-column: 0.1875rem;
67
+ --grid-columns-4-column: 0.25rem;
68
+ --grid-columns-6-column: 0.375rem;
69
+ --grid-columns-12-column: 0.75rem;
70
+
71
+ /* Column widths on mobile: not sure what to do with these, if anything.
72
+ We don't even use the column widths on desktop.
73
+ --grid-columns-12-column: 0rem;
74
+ --grid-columns-3-column: 0rem;
75
+ --grid-columns-6-column: 0rem;
76
+ --grid-columns-full-width: 0.0625rem;
77
+ --grid-columns-2-column: 0.125rem;
78
+ --grid-columns-4-column: 0.25rem;
79
+ */
80
+
81
+ --line-height-xxs: 0.75rem;
82
+ --line-height-xs: 0.875rem;
83
+ --line-height-sm: 1rem;
84
+ --line-height-md: 1.125rem;
85
+ --line-height-lg: 1.25rem;
86
+ --line-height-xl: 1.5rem;
87
+ --line-height-2xl: 2rem;
88
+ --line-height-3xl: 2.5rem;
89
+ --line-height-4xl: 3rem;
90
+ --line-height-5xl: 3.5rem;
91
+ --line-height-6xl: 4rem;
92
+ --spacing-0-125: 0.125rem;
93
+ --spacing-0-25: 0.25rem;
94
+ --spacing-0-5: 0.5rem;
95
+ --spacing-0-75: 0.75rem;
96
+ --spacing-1: 1rem;
97
+ --spacing-1-125: 1.125rem;
98
+ --spacing-1-25: 1.25rem;
99
+ --spacing-1-5: 1.5rem;
100
+ --spacing-2: 2rem;
101
+ --spacing-2-5: 2.5rem;
102
+ --spacing-3: 3rem;
103
+ --spacing-3-5: 3.5rem;
104
+ --spacing-4: 4rem;
105
+ --spacing-4-5: 4.5rem;
106
+ --spacing-5: 5rem;
107
+ --spacing-6: 6rem;
108
+ --spacing-7: 7rem;
109
+ --spacing-8: 8rem;
110
+ }
111
+ /* Tokens */
112
+ :root {
113
+ /* Value */
114
+ /* color */
115
+ --border-border-black-box: var(--surface-surface-tertiary-btn);
116
+ --border-border-error-warning: var(--color-alerts-error-warning);
117
+ --border-border-help: var(--color-alerts-caution-tips);
118
+ --border-border-primary: var(--color-neutrals-neutral-2);
119
+ --border-border-primary-btn: var(--color-brand-primary-primary-teal-blue);
120
+ --border-border-primary-chit: var(--color-brand-primary-primary-teal-blue);
121
+ --border-border-secondary-btn: var(--color-neutrals-neutral-2);
122
+ --border-border-success: var(--color-alerts-success);
123
+ --border-border-warning: var(--color-alerts-warning);
124
+ --icons-icon-caution-tips: #ffd041;
125
+ --icons-icon-default: var(--color-brand-primary-primary-black);
126
+ --icons-icon-error-warning: var(--color-alerts-error-warning);
127
+ --icons-icon-invert: var(--color-brand-primary-primary-pale-gray);
128
+ --icons-icon-masked-edit-mode: #00bce2;
129
+ --icons-icon-primary: var(--color-neutrals-neutral-2);
130
+ --icons-icon-search: var(--color-neutrals-neutral-5);
131
+ --icons-icon-secondary: var(--color-brand-primary-primary-teal-blue);
132
+ --icons-icon-success: var(--color-alerts-success);
133
+ --icons-icon-warning: var(--color-brand-primary-primary-tangerine);
134
+ --icons-icon-white: var(--color-brand-primary-white);
135
+ --surface-surface-alert: var(--color-brand-primary-primary-tangerine);
136
+ --surface-surface-call-to-action-btn: var(
137
+ --color-brand-primary-primary-tangerine
138
+ );
139
+ --surface-surface-call-to-action-btn-focus: var(
140
+ --color-brand-secondary-dark-orange
141
+ );
142
+ --surface-surface-disabled-btn: var(--color-neutrals-neutral-2);
143
+ --surface-surface-disabled-btn-focus: var(--color-brand-primary-white);
144
+ --surface-surface-error-warning-btn: var(--color-alerts-error-warning);
145
+ --surface-surface-error-warning-btn-focus: var(
146
+ --color-brand-secondary-dark-red
147
+ );
148
+ --surface-surface-invert: var(--color-neutrals-neutral-6);
149
+ --surface-surface-page: var(--color-brand-primary-white);
150
+ --surface-surface-primary: var(--color-brand-primary-white);
151
+ --surface-surface-primary-btn: var(--color-brand-primary-primary-teal-blue);
152
+ --surface-surface-primary-btn-focus: var(
153
+ --color-brand-secondary-dark-teal-blue
154
+ );
155
+ --surface-surface-primary-chit: var(--color-brand-primary-primary-teal-blue);
156
+ --surface-surface-quaternary: var(--color-neutrals-neutral-5);
157
+ --surface-surface-search-bar: var(--color-neutrals-neutral-1);
158
+ --surface-surface-secondary: var(--color-neutrals-neutral-1);
159
+ --surface-surface-secondary-btn: var(--color-brand-primary-white);
160
+ --surface-surface-tertiary: var(--color-brand-primary-primary-black);
161
+ --surface-surface-tertiary-btn: var(--color-brand-primary-primary-black);
162
+ --surface-surface-tertiary-btn-focus: var(--color-brand-primary-white);
163
+ --surface-surface-text-links: var(--color-brand-primary-white);
164
+ --text-text-caution: var(--color-brand-primary-primary-tangerine);
165
+ --text-text-disabled: var(--color-neutrals-text-disabled);
166
+ --text-text-error-warning: var(--color-alerts-error-warning);
167
+ --text-text-invert: var(--color-neutrals-neutral-1);
168
+ --text-text-links: var(--color-brand-primary-primary-teal-blue);
169
+ --text-text-links-hover-press: var(--color-brand-secondary-dark-teal-blue);
170
+ --text-text-primary: var(--color-brand-primary-primary-black);
171
+ --text-text-quaternary: var(--color-neutrals-neutral-4);
172
+ --text-text-search-bar: var(--color-neutrals-neutral-4);
173
+ --text-text-secondary: var(--color-brand-primary-primary-teal-blue);
174
+ --text-text-success: var(--color-alerts-success);
175
+ --text-text-tertiary: var(--color-neutrals-neutral-2);
176
+ /* number */
177
+ --radius-radius-none: var(--border-radius-none);
178
+ --radius-radius-minimal: var(--border-radius-xs);
179
+ --radius-radius-btn: var(--border-radius-sm);
180
+ --radius-radius-md: var(--border-radius-md);
181
+ --radius-radius-lg: var(--border-radius-lg);
182
+ --spacing-spacing-none: 0rem;
183
+ --spacing-spacing-4xs: var(--spacing-0-125);
184
+ --spacing-spacing-3xs: var(--spacing-0-25);
185
+ --spacing-spacing-2xs: var(--spacing-0-5);
186
+ --spacing-spacing-1xs: var(--spacing-0-75);
187
+ --spacing-spacing-default: var(--spacing-1);
188
+ --spacing-spacing-sm: var(--spacing-1-25);
189
+ --spacing-spacing-md: var(--spacing-1-5);
190
+ --spacing-spacing-lg: var(--spacing-2);
191
+ --spacing-spacing-xl: var(--spacing-2-5);
192
+ --spacing-spacing-2xl: var(--spacing-3);
193
+ --spacing-spacing-3xl: var(--spacing-3-5);
194
+ --spacing-spacing-4xl: var(--spacing-4);
195
+ --spacing-spacing-5xl: var(--spacing-5);
196
+ --spacing-spacing-6xl: var(--spacing-6);
197
+ --spacing-spacing-7xl: var(--spacing-7);
198
+ --spacing-spacing-8xl: var(--spacing-8);
199
+ }
200
+ /* Typography Tokens */
201
+ :root {
202
+ /* Mode 1 */
203
+ /* number */
204
+ --font-line-height-3xs: 0.625rem;
205
+ --font-line-height-2xs: 0.75rem;
206
+ --font-line-height-xs: 0.875rem;
207
+ --font-line-height-sm: 1rem;
208
+ --font-line-height-md: 1.125rem;
209
+ --font-line-height-lg: 1.25rem;
210
+ --font-line-height-xl: 1.5rem;
211
+ --font-line-height-2xl: 2rem;
212
+ --font-line-height-3xl: 2.5rem;
213
+ --font-line-height-4xl: 3rem;
214
+ --font-line-height-5xl: 3.5rem;
215
+ --font-line-height-6xl: 4rem;
216
+ --font-size-2xs: 0.625rem;
217
+ --font-size-xs: 0.75rem;
218
+ --font-size-sm: 0.875rem;
219
+ --font-size-md: 1rem;
220
+ --font-size-lg: 1.125rem;
221
+ --font-size-xl: 1.25rem;
222
+ --font-size-2xl: 1.5rem;
223
+ --font-size-3xl: 2rem;
224
+ --font-size-4xl: 2.5rem;
225
+ --font-size-5xl: 3rem;
226
+ --font-size-6xl: 3.5rem;
227
+ --font-weight-thin: 100;
228
+ --font-weight-extra-light: 200;
229
+ --font-weight-light: 300;
230
+ --font-weight-regular: 400;
231
+ --font-weight-medium: 500;
232
+ --font-weight-semibold: 600;
233
+ --font-weight-bold: 700;
234
+ /* string */
235
+ --font-family-label: Roboto;
236
+ --font-family-body: Roboto;
237
+ --font-family-body-condensed: Roboto;
238
+ /* Intentional modification: figma has a hyphen instead of a space between the words Roboto & Condensed. */
239
+ --font-family-display: "Roboto Condensed";
240
+ --font-family-footnote-caption: Roboto-Italic;
241
+ --font-family-heading: Roboto;
242
+ --font-family-heading-condensed: "Roboto Condensed";
243
+ }
package/package.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "@caseparts-org/caseblocks",
3
+ "private": false,
4
+ "version": "0.0.1",
5
+ "type": "module",
6
+ "module": "dist/main.js",
7
+ "types": "dist/main.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "scripts": {
12
+ "dev": "vite",
13
+ "build": "tsc -b ./tsconfig.lib.json && vite build",
14
+ "lint": "eslint .",
15
+ "format": "prettier . --write",
16
+ "preview": "vite preview",
17
+ "storybook": "storybook dev -p 6006",
18
+ "build-storybook": "storybook build",
19
+ "prepare": "husky"
20
+ },
21
+ "dependencies": {
22
+ "@fontsource-variable/roboto-condensed": "^5.1.1",
23
+ "@fontsource/roboto": "^5.1.0",
24
+ "clsx": "^2.1.1",
25
+ "csstype": "^3.1.3",
26
+ "react": "^18.3.1",
27
+ "react-dom": "^18.3.1"
28
+ },
29
+ "peerDependencies": {
30
+ "react": "^18.3.1",
31
+ "react-dom": "^18.3.1"
32
+ },
33
+ "devDependencies": {
34
+ "@chromatic-com/storybook": "^3.2.2",
35
+ "@eslint/js": "^9.13.0",
36
+ "@storybook/addon-essentials": "^8.4.5",
37
+ "@storybook/addon-interactions": "^8.4.5",
38
+ "@storybook/addon-onboarding": "^8.4.5",
39
+ "@storybook/blocks": "^8.4.5",
40
+ "@storybook/react": "^8.4.5",
41
+ "@storybook/react-vite": "^8.4.5",
42
+ "@storybook/test": "^8.4.5",
43
+ "@types/node": "^22.9.0",
44
+ "@types/react": "^18.3.12",
45
+ "@types/react-dom": "^18.3.1",
46
+ "@vitejs/plugin-react-swc": "^3.5.0",
47
+ "eslint": "^9.13.0",
48
+ "eslint-config-prettier": "^9.1.0",
49
+ "eslint-plugin-react-hooks": "^5.0.0",
50
+ "eslint-plugin-react-refresh": "^0.4.14",
51
+ "eslint-plugin-storybook": "^0.11.1",
52
+ "glob": "^11.0.0",
53
+ "globals": "^15.11.0",
54
+ "husky": "^9.1.7",
55
+ "lint-staged": "^15.2.10",
56
+ "prettier": "3.4.2",
57
+ "storybook": "^8.4.5",
58
+ "typescript": "~5.6.2",
59
+ "typescript-eslint": "^8.11.0",
60
+ "vite": "^5.4.10",
61
+ "vite-plugin-dts": "^4.3.0",
62
+ "vite-plugin-lib-inject-css": "^2.1.1",
63
+ "vite-plugin-static-copy": "^2.3.1"
64
+ },
65
+ "eslintConfig": {
66
+ "extends": [
67
+ "plugin:storybook/recommended"
68
+ ]
69
+ },
70
+ "lint-staged": {
71
+ "**/*": "prettier --write --ignore-unknown"
72
+ }
73
+ }