@latte-macchiat-io/latte-vanilla-components 0.0.187 → 0.0.188

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 (49) hide show
  1. package/package.json +2 -1
  2. package/src/components/Actions/Actions.css.ts +1 -1
  3. package/src/components/Button/Button.css.ts +1 -1
  4. package/src/components/Button/stories.tsx +9 -17
  5. package/src/components/Carousel/Carousel.css.ts +1 -1
  6. package/src/components/Columns/Columns.css.ts +1 -1
  7. package/src/components/ConsentCookie/ConsentCookie.css.ts +1 -1
  8. package/src/components/Footer/Footer.css.ts +1 -1
  9. package/src/components/Form/Form.css.ts +1 -1
  10. package/src/components/Form/Row/Row.css.ts +1 -1
  11. package/src/components/Form/TextField/Input/Input.css.ts +1 -1
  12. package/src/components/Form/TextField/Label/Label.css.ts +1 -1
  13. package/src/components/Form/TextField/TextField.css.ts +1 -1
  14. package/src/components/Form/TextField/Textarea/Textarea.css.ts +1 -1
  15. package/src/components/Header/Header.css.ts +1 -1
  16. package/src/components/Header/HeaderOverlay/index.tsx +1 -1
  17. package/src/components/Header/HeaderOverlay/styles.css.ts +7 -7
  18. package/src/components/Header/ToggleNav/index.tsx +2 -5
  19. package/src/components/Icon/Icon.css.ts +0 -1
  20. package/src/components/KeyNumber/KeyNumber.css.ts +1 -1
  21. package/src/components/LanguageSwitcher/LanguageSwitcher.css.ts +1 -1
  22. package/src/components/Logo/Logo.css.ts +1 -1
  23. package/src/components/Main/Main.css.ts +1 -1
  24. package/src/components/Modal/Modal.css.ts +1 -1
  25. package/src/components/Modal/stories.tsx +54 -89
  26. package/src/components/Nav/Nav.css.ts +1 -1
  27. package/src/components/Nav/Nav.tsx +1 -0
  28. package/src/components/NavLegal/NavLegal.css.ts +1 -1
  29. package/src/components/NavSocial/NavSocial.css.ts +1 -1
  30. package/src/components/Section/Section.css.ts +1 -1
  31. package/src/components/Section/stories.tsx +60 -61
  32. package/src/components/Video/Video.css.ts +1 -1
  33. package/src/components/VideoFullWidth/VideoFullWidth.css.ts +1 -1
  34. package/src/index.ts +9 -22
  35. package/src/styles/sprinkles.css.ts +1 -1
  36. package/src/themes/createTheme.css.ts +65 -0
  37. package/src/themes/dark.css.ts +4 -3
  38. package/src/themes/light.css.ts +3 -3
  39. package/src/types/withClassName.ts +1 -0
  40. package/src/assets/styles/default-theme.ts +0 -312
  41. package/src/assets/styles/mediaqueries.tsx +0 -24
  42. package/src/components/ToRemove/ToRemove.tsx +0 -3
  43. package/src/theme/index.ts +0 -6
  44. package/src/theme/utils.ts +0 -76
  45. package/src/types/theme.ts +0 -295
  46. package/src/utils/quickTheme.ts +0 -38
  47. package/src/utils/theme.ts +0 -131
  48. /package/src/{theme → themes}/baseThemeValues.ts +0 -0
  49. /package/src/{theme → themes}/contract.css.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@latte-macchiat-io/latte-vanilla-components",
3
- "version": "0.0.187",
3
+ "version": "0.0.188",
4
4
  "description": "Beautiful components for amazing projects, with a touch of Vanilla 🥤",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
@@ -47,6 +47,7 @@
47
47
  "clsx": "^2.1.1",
48
48
  "eslint": "^9.15.0",
49
49
  "eslint-config-prettier": "^10.0.1",
50
+ "eslint-import-resolver-typescript": "^4.4.4",
50
51
  "eslint-plugin-import": "^2.31.0",
51
52
  "eslint-plugin-jsx-a11y": "^6.6.1",
52
53
  "eslint-plugin-storybook": "^9.1.5",
@@ -1,7 +1,7 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
- import { themeContract } from '../../theme';
4
3
  import { queries } from '../../styles/mediaqueries';
4
+ import { themeContract } from '../../themes/contract.css';
5
5
 
6
6
  const actionsBase = style({
7
7
  display: 'flex',
@@ -1,5 +1,5 @@
1
1
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
2
- import { themeContract } from '../../theme';
2
+ import { themeContract } from '../../themes/contract.css';
3
3
 
4
4
  export const buttonRecipe = recipe({
5
5
  base: {
@@ -81,18 +81,11 @@ export const Ghost: Story = {
81
81
  },
82
82
  };
83
83
 
84
- export const Destructive: Story = {
85
- args: {
86
- variant: 'destructive',
87
- children: 'Destructive Button',
88
- },
89
- };
90
-
91
84
  // Size Variants
92
85
  export const Small: Story = {
93
86
  args: {
94
87
  variant: 'primary',
95
- size: 'small',
88
+ size: 'sm',
96
89
  children: 'Small Button',
97
90
  },
98
91
  };
@@ -100,7 +93,7 @@ export const Small: Story = {
100
93
  export const Medium: Story = {
101
94
  args: {
102
95
  variant: 'primary',
103
- size: 'medium',
96
+ size: 'md',
104
97
  children: 'Medium Button',
105
98
  },
106
99
  };
@@ -108,7 +101,7 @@ export const Medium: Story = {
108
101
  export const Large: Story = {
109
102
  args: {
110
103
  variant: 'primary',
111
- size: 'large',
104
+ size: 'lg',
112
105
  children: 'Large Button',
113
106
  },
114
107
  };
@@ -149,7 +142,6 @@ export const AllVariants: Story = {
149
142
  <Button variant="primary">Primary</Button>
150
143
  <Button variant="secondary">Secondary</Button>
151
144
  <Button variant="ghost">Ghost</Button>
152
- <Button variant="destructive">Destructive</Button>
153
145
  </div>
154
146
  </Section>
155
147
  ),
@@ -167,13 +159,13 @@ export const AllSizes: Story = {
167
159
  render: () => (
168
160
  <Section>
169
161
  <div style={{ display: 'flex', gap: '1rem', alignItems: 'center' }}>
170
- <Button variant="primary" size="small">
162
+ <Button variant="primary" size="sm">
171
163
  Small
172
164
  </Button>
173
- <Button variant="primary" size="medium">
165
+ <Button variant="primary" size="md">
174
166
  Medium
175
167
  </Button>
176
- <Button variant="primary" size="large">
168
+ <Button variant="primary" size="lg">
177
169
  Large
178
170
  </Button>
179
171
  </div>
@@ -196,10 +188,10 @@ export const InteractiveExample: Story = {
196
188
  <div>
197
189
  <h3>Call to Action</h3>
198
190
  <div style={{ display: 'flex', gap: '1rem' }}>
199
- <Button variant="primary" size="large">
191
+ <Button variant="primary" size="lg">
200
192
  Get Started
201
193
  </Button>
202
- <Button variant="secondary" size="large">
194
+ <Button variant="secondary" size="lg">
203
195
  Learn More
204
196
  </Button>
205
197
  </div>
@@ -210,7 +202,7 @@ export const InteractiveExample: Story = {
210
202
  <div style={{ display: 'flex', gap: '0.5rem' }}>
211
203
  <Button variant="primary">Save</Button>
212
204
  <Button variant="secondary">Cancel</Button>
213
- <Button variant="destructive">Delete</Button>
205
+ <Button variant="danger">Delete</Button>
214
206
  </div>
215
207
  </div>
216
208
 
@@ -1,7 +1,7 @@
1
1
  import { keyframes, style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
3
  import { queries } from '../../styles/mediaqueries';
4
- import { themeContract } from '../../theme';
4
+ import { themeContract } from '../../themes/contract.css';
5
5
  keyframes({
6
6
  '0%': { transform: 'translateX(0)' },
7
7
  '100%': { transform: 'translateX(var(--slide-offset))' },
@@ -1,7 +1,7 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
3
  import { queries } from '../../styles/mediaqueries';
4
- import { themeContract } from '../../theme';
4
+ import { themeContract } from '../../themes/contract.css';
5
5
 
6
6
  const columnsBase = style({
7
7
  display: 'flex',
@@ -1,7 +1,7 @@
1
1
  import { keyframes, style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
3
  import { queries } from '../../styles/mediaqueries';
4
- import { themeContract } from '../../theme/contract.css';
4
+ import { themeContract } from '../../themes/contract.css';
5
5
 
6
6
  const fadeIn = keyframes({
7
7
  from: { opacity: '0' },
@@ -1,7 +1,7 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
3
  import { queries } from '../../styles/mediaqueries';
4
- import { themeContract } from '../../theme/contract.css';
4
+ import { themeContract } from '../../themes/contract.css';
5
5
 
6
6
  const footerBase = style({
7
7
  display: 'flex',
@@ -1,6 +1,6 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
- import { themeContract } from '../../theme';
3
+ import { themeContract } from '../../themes/contract.css';
4
4
 
5
5
  const formBase = style({
6
6
  width: '100%',
@@ -1,6 +1,6 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
- import { themeContract } from '../../../theme/contract.css';
3
+ import { themeContract } from '../../../themes/contract.css';
4
4
 
5
5
  const rowBase = style({
6
6
  display: 'flex',
@@ -1,6 +1,6 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
- import { themeContract } from '../../../../theme/contract.css';
3
+ import { themeContract } from '../../../../themes/contract.css';
4
4
 
5
5
  const inputBase = style({
6
6
  appearance: 'none',
@@ -1,6 +1,6 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
- import { themeContract } from '../../../../theme/contract.css';
3
+ import { themeContract } from '../../../../themes/contract.css';
4
4
 
5
5
  const labelBase = style({
6
6
  fontFamily: themeContract.fonts.body,
@@ -1,6 +1,6 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
- import { themeContract } from '../../../theme/contract.css';
3
+ import { themeContract } from '../../../themes/contract.css';
4
4
 
5
5
  const textFieldBase = style({
6
6
  display: 'flex',
@@ -1,6 +1,6 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
- import { themeContract } from '../../../../theme/contract.css';
3
+ import { themeContract } from '../../../../themes/contract.css';
4
4
 
5
5
  const textareaBase = style({
6
6
  appearance: 'none',
@@ -1,7 +1,7 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
3
  import { queries } from '../../styles/mediaqueries';
4
- import { themeContract } from '../../theme';
4
+ import { themeContract } from '../../themes/contract.css';
5
5
 
6
6
  const headerBase = style({
7
7
  display: 'flex',
@@ -1,8 +1,8 @@
1
1
  import { assignInlineVars } from '@vanilla-extract/dynamic';
2
2
  import { useEffect } from 'react';
3
- import { WithClassName } from '@/types/withClassName';
4
3
 
5
4
  import { headerOverlayStyle, vars } from './styles.css';
5
+ import { WithClassName } from '../../../types/withClassName';
6
6
 
7
7
  export interface HeaderOverlayProps {
8
8
  isOpen: boolean;
@@ -1,5 +1,4 @@
1
- import { createVar, style, CSSProperties } from '@vanilla-extract/css';
2
- import { mq } from '../../../assets/styles/mediaqueries';
1
+ import { createVar, style } from '@vanilla-extract/css';
3
2
 
4
3
  export const vars = {
5
4
  overlayBottom: createVar(),
@@ -25,9 +24,10 @@ export const headerOverlayStyle = style({
25
24
  transform: vars.overlayTransform,
26
25
  transition: 'transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0)',
27
26
 
28
- '@media': {
29
- [mq[0]]: { gap: 'var(--overlayGap0, 20px)' },
30
- [mq[1]]: { gap: 'var(--overlayGap1, 30px)' },
31
- [mq[2]]: { gap: 'var(--overlayGap2, 40px)' },
32
- },
27
+ // TODO responsive with sprinkles
28
+ // '@media': {
29
+ // [mq[0]]: { gap: 'var(--overlayGap0, 20px)' },
30
+ // [mq[1]]: { gap: 'var(--overlayGap1, 30px)' },
31
+ // [mq[2]]: { gap: 'var(--overlayGap2, 40px)' },
32
+ // },
33
33
  });
@@ -1,17 +1,14 @@
1
1
  import { assignInlineVars } from '@vanilla-extract/dynamic';
2
- import { Theme } from '@/types/theme';
3
- import { WithClassName } from '@/types/withClassName';
4
2
  import { toggleNavBarStyle, toggleNavStyle, vars } from './styles.css';
5
- import { defaultTheme } from '../../../assets/styles/default-theme';
3
+ import { WithClassName } from '../../../types/withClassName';
6
4
 
7
5
  export type ToggleNavProps = {
8
- theme?: Theme;
9
6
  isNavOpen: boolean;
10
7
  onToggleNav: () => void;
11
8
  displayOnDesktop: boolean;
12
9
  };
13
10
 
14
- export const ToggleNav = ({ theme = defaultTheme, isNavOpen = false, onToggleNav, displayOnDesktop, className }: ToggleNavProps & WithClassName) => {
11
+ export const ToggleNav = ({ isNavOpen = false, onToggleNav, displayOnDesktop, className }: ToggleNavProps & WithClassName) => {
15
12
  const handleClick = () => {
16
13
  window.scrollTo({ top: 0, behavior: 'smooth' });
17
14
  onToggleNav();
@@ -1,6 +1,5 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
- import { themeContract } from '../../theme';
4
3
 
5
4
  const iconBase = style({
6
5
  display: 'inline-block',
@@ -1,7 +1,7 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
3
  import { queries } from '../../styles/mediaqueries';
4
- import { themeContract } from '../../theme';
4
+ import { themeContract } from '../../themes/contract.css';
5
5
 
6
6
  const keyNumberBase = style({
7
7
  display: 'flex',
@@ -1,6 +1,6 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
- import { themeContract } from '../../theme';
3
+ import { themeContract } from '../../themes/contract.css';
4
4
 
5
5
  const languageSwitcherBase = style({
6
6
  position: 'relative',
@@ -1,6 +1,6 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
- import { themeContract } from '../../theme';
3
+ import { themeContract } from '../../themes/contract.css';
4
4
 
5
5
  const logoBase = style({
6
6
  display: 'inline-block',
@@ -1,6 +1,6 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
- import { themeContract } from '../../theme';
3
+ import { themeContract } from '../../themes/contract.css';
4
4
 
5
5
  const mainBase = style({
6
6
  display: 'flex',
@@ -1,7 +1,7 @@
1
1
  import { keyframes, style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
3
  import { queries } from '../../styles/mediaqueries';
4
- import { themeContract } from '../../theme';
4
+ import { themeContract } from '../../themes/contract.css';
5
5
 
6
6
  const fadeIn = keyframes({
7
7
  from: { opacity: '0' },
@@ -77,13 +77,7 @@ const InteractiveModal = ({ size = 'medium', centered = true, ...args }: any) =>
77
77
  <Button variant="primary" onClick={() => setIsOpen(true)}>
78
78
  Open Modal
79
79
  </Button>
80
- <Modal
81
- isOpen={isOpen}
82
- onClose={() => setIsOpen(false)}
83
- size={size}
84
- centered={centered}
85
- {...args}
86
- >
80
+ <Modal isOpen={isOpen} onClose={() => setIsOpen(false)} size={size} centered={centered} {...args}>
87
81
  <div style={{ padding: '2rem' }}>
88
82
  <h2>Modal Title</h2>
89
83
  <p>This is the modal content. You can put any React components here.</p>
@@ -104,7 +98,7 @@ const InteractiveModal = ({ size = 'medium', centered = true, ...args }: any) =>
104
98
  export const Default: Story = {
105
99
  render: (args) => <InteractiveModal {...args} />,
106
100
  args: {
107
- size: 'medium',
101
+ size: 'md',
108
102
  centered: true,
109
103
  showCloseButton: true,
110
104
  closeOnBackdropClick: true,
@@ -195,24 +189,15 @@ export const ConfirmationDialog: Story = {
195
189
 
196
190
  return (
197
191
  <Section>
198
- <Button variant="destructive" onClick={() => setIsOpen(true)}>
192
+ <Button variant="danger" onClick={() => setIsOpen(true)}>
199
193
  Delete Item
200
194
  </Button>
201
- <Modal
202
- isOpen={isOpen}
203
- onClose={() => setIsOpen(false)}
204
- size="small"
205
- centered={true}
206
- >
195
+ <Modal isOpen={isOpen} onClose={() => setIsOpen(false)} size="sm" centered={true}>
207
196
  <div style={{ padding: '2rem', textAlign: 'center' }}>
208
- <h3 style={{ color: 'var(--latte-colors-error)', marginBottom: '1rem' }}>
209
- Delete Confirmation
210
- </h3>
211
- <p style={{ marginBottom: '2rem' }}>
212
- Are you sure you want to delete this item? This action cannot be undone.
213
- </p>
197
+ <h3 style={{ color: 'var(--latte-colors-error)', marginBottom: '1rem' }}>Delete Confirmation</h3>
198
+ <p style={{ marginBottom: '2rem' }}>Are you sure you want to delete this item? This action cannot be undone.</p>
214
199
  <div style={{ display: 'flex', gap: '1rem', justifyContent: 'center' }}>
215
- <Button variant="destructive" onClick={() => setIsOpen(false)}>
200
+ <Button variant="danger" onClick={() => setIsOpen(false)}>
216
201
  Delete
217
202
  </Button>
218
203
  <Button variant="secondary" onClick={() => setIsOpen(false)}>
@@ -242,58 +227,46 @@ export const FormModal: Story = {
242
227
  <Button variant="primary" onClick={() => setIsOpen(true)}>
243
228
  Add New User
244
229
  </Button>
245
- <Modal
246
- isOpen={isOpen}
247
- onClose={() => setIsOpen(false)}
248
- size="medium"
249
- centered={true}
250
- >
230
+ <Modal isOpen={isOpen} onClose={() => setIsOpen(false)} size="md" centered={true}>
251
231
  <div style={{ padding: '2rem' }}>
252
232
  <h2 style={{ marginBottom: '2rem' }}>Add New User</h2>
253
233
  <form style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}>
254
234
  <div>
255
- <label style={{ display: 'block', marginBottom: '0.5rem', fontWeight: '500' }}>
256
- Name
257
- </label>
258
- <input
259
- type="text"
260
- style={{
261
- width: '100%',
262
- padding: '0.75rem',
235
+ <label style={{ display: 'block', marginBottom: '0.5rem', fontWeight: '500' }}>Name</label>
236
+ <input
237
+ type="text"
238
+ style={{
239
+ width: '100%',
240
+ padding: '0.75rem',
263
241
  border: '1px solid var(--latte-colors-border)',
264
242
  borderRadius: 'var(--latte-radii-md)',
265
- fontSize: 'var(--latte-fontSizes-md)'
266
- }}
243
+ fontSize: 'var(--latte-fontSizes-md)',
244
+ }}
267
245
  />
268
246
  </div>
269
247
  <div>
270
- <label style={{ display: 'block', marginBottom: '0.5rem', fontWeight: '500' }}>
271
- Email
272
- </label>
273
- <input
274
- type="email"
275
- style={{
276
- width: '100%',
277
- padding: '0.75rem',
248
+ <label style={{ display: 'block', marginBottom: '0.5rem', fontWeight: '500' }}>Email</label>
249
+ <input
250
+ type="email"
251
+ style={{
252
+ width: '100%',
253
+ padding: '0.75rem',
278
254
  border: '1px solid var(--latte-colors-border)',
279
255
  borderRadius: 'var(--latte-radii-md)',
280
- fontSize: 'var(--latte-fontSizes-md)'
281
- }}
256
+ fontSize: 'var(--latte-fontSizes-md)',
257
+ }}
282
258
  />
283
259
  </div>
284
260
  <div>
285
- <label style={{ display: 'block', marginBottom: '0.5rem', fontWeight: '500' }}>
286
- Role
287
- </label>
288
- <select
289
- style={{
290
- width: '100%',
291
- padding: '0.75rem',
261
+ <label style={{ display: 'block', marginBottom: '0.5rem', fontWeight: '500' }}>Role</label>
262
+ <select
263
+ style={{
264
+ width: '100%',
265
+ padding: '0.75rem',
292
266
  border: '1px solid var(--latte-colors-border)',
293
267
  borderRadius: 'var(--latte-radii-md)',
294
- fontSize: 'var(--latte-fontSizes-md)'
295
- }}
296
- >
268
+ fontSize: 'var(--latte-fontSizes-md)',
269
+ }}>
297
270
  <option>User</option>
298
271
  <option>Admin</option>
299
272
  <option>Moderator</option>
@@ -347,50 +320,42 @@ export const ImageGallery: Story = {
347
320
  key={index}
348
321
  src={src}
349
322
  alt={`Gallery ${index + 1}`}
350
- style={{
351
- width: '100%',
352
- height: '150px',
353
- objectFit: 'cover',
323
+ style={{
324
+ width: '100%',
325
+ height: '150px',
326
+ objectFit: 'cover',
354
327
  borderRadius: 'var(--latte-radii-md)',
355
- cursor: 'pointer'
328
+ cursor: 'pointer',
356
329
  }}
357
330
  onClick={() => openImage(index)}
358
331
  />
359
332
  ))}
360
333
  </div>
361
- <Modal
362
- isOpen={isOpen}
363
- onClose={() => setIsOpen(false)}
364
- size="large"
365
- centered={true}
366
- >
334
+ <Modal isOpen={isOpen} onClose={() => setIsOpen(false)} size="lg" centered={true}>
367
335
  <div style={{ padding: '1rem' }}>
368
336
  <img
369
337
  src={images[selectedImage]}
370
338
  alt={`Gallery ${selectedImage + 1}`}
371
- style={{
372
- width: '100%',
373
- height: 'auto',
374
- borderRadius: 'var(--latte-radii-md)'
339
+ style={{
340
+ width: '100%',
341
+ height: 'auto',
342
+ borderRadius: 'var(--latte-radii-md)',
375
343
  }}
376
344
  />
377
- <div style={{
378
- marginTop: '1rem',
379
- display: 'flex',
380
- justifyContent: 'space-between',
381
- alignItems: 'center'
382
- }}>
383
- <Button
384
- variant="ghost"
385
- onClick={() => setSelectedImage((prev) => (prev > 0 ? prev - 1 : images.length - 1))}
386
- >
345
+ <div
346
+ style={{
347
+ marginTop: '1rem',
348
+ display: 'flex',
349
+ justifyContent: 'space-between',
350
+ alignItems: 'center',
351
+ }}>
352
+ <Button variant="ghost" onClick={() => setSelectedImage((prev) => (prev > 0 ? prev - 1 : images.length - 1))}>
387
353
  ← Previous
388
354
  </Button>
389
- <span>Image {selectedImage + 1} of {images.length}</span>
390
- <Button
391
- variant="ghost"
392
- onClick={() => setSelectedImage((prev) => (prev < images.length - 1 ? prev + 1 : 0))}
393
- >
355
+ <span>
356
+ Image {selectedImage + 1} of {images.length}
357
+ </span>
358
+ <Button variant="ghost" onClick={() => setSelectedImage((prev) => (prev < images.length - 1 ? prev + 1 : 0))}>
394
359
  Next →
395
360
  </Button>
396
361
  </div>
@@ -406,4 +371,4 @@ export const ImageGallery: Story = {
406
371
  },
407
372
  },
408
373
  },
409
- };
374
+ };
@@ -1,7 +1,7 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
3
  import { queries } from '../../styles/mediaqueries';
4
- import { themeContract } from '../../theme';
4
+ import { themeContract } from '../../themes/contract.css';
5
5
 
6
6
  const navBase = style({
7
7
  display: 'flex',
@@ -68,6 +68,7 @@ export const Nav = forwardRef<HTMLElement, NavProps>(
68
68
  ) => {
69
69
  return (
70
70
  <Component
71
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
71
72
  ref={ref as any}
72
73
  className={clsx(
73
74
  navRecipe({ orientation, variant, justify }),
@@ -1,7 +1,7 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
3
  import { queries } from '../../styles/mediaqueries';
4
- import { themeContract } from '../../theme';
4
+ import { themeContract } from '../../themes/contract.css';
5
5
 
6
6
  const navLegalBase = style({
7
7
  display: 'flex',
@@ -1,7 +1,7 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
3
  import { queries } from '../../styles/mediaqueries';
4
- import { themeContract } from '../../theme/contract.css';
4
+ import { themeContract } from '../../themes/contract.css';
5
5
 
6
6
  const navSocialBase = style({
7
7
  display: 'flex',
@@ -1,6 +1,6 @@
1
1
  import { style } from '@vanilla-extract/css';
2
2
  import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
- import { themeContract } from '../../theme';
3
+ import { themeContract } from '../../themes/contract.css';
4
4
 
5
5
  const sectionBase = style({
6
6
  width: '100%',