@latte-macchiat-io/latte-vanilla-components 0.0.167 → 0.0.169

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 (61) hide show
  1. package/dist/components/Actions/Actions.css.ts +113 -0
  2. package/dist/components/Button/Button.css.ts +119 -0
  3. package/dist/components/Carousel/Carousel.css.ts +180 -0
  4. package/dist/components/Columns/Columns.css.ts +185 -0
  5. package/dist/components/ConsentCookie/ConsentCookie.css.ts +167 -0
  6. package/dist/components/Footer/Footer.css.ts +108 -0
  7. package/dist/components/Form/Form.css.ts +64 -0
  8. package/dist/components/Form/Row/Row.css.ts +70 -0
  9. package/dist/components/Form/TextField/Input/Input.css.ts +106 -0
  10. package/dist/components/Form/TextField/Label/Label.css.ts +58 -0
  11. package/dist/components/Form/TextField/TextField.css.ts +139 -0
  12. package/dist/components/Form/TextField/Textarea/Textarea.css.ts +121 -0
  13. package/dist/components/Header/Header.css.ts +111 -0
  14. package/dist/components/Header/HeaderOverlay/styles.css.ts +33 -0
  15. package/dist/components/Header/ToggleNav/styles.css.ts +40 -0
  16. package/dist/components/Icon/Icon.css.ts +102 -0
  17. package/dist/components/KeyNumber/KeyNumber.css.ts +158 -0
  18. package/dist/components/LanguageSwitcher/LanguageSwitcher.css.ts +120 -0
  19. package/dist/components/Logo/Logo.css.ts +98 -0
  20. package/dist/components/Main/Main.css.ts +62 -0
  21. package/dist/components/Modal/Modal.css.ts +203 -0
  22. package/dist/components/Nav/Nav.css.ts +123 -0
  23. package/dist/components/NavLegal/NavLegal.css.ts +121 -0
  24. package/dist/components/NavSocial/NavSocial.css.ts +121 -0
  25. package/dist/components/Section/Section.css.ts +101 -0
  26. package/dist/components/Video/Video.css.ts +210 -0
  27. package/dist/components/VideoFullWidth/VideoFullWidth.css.ts +50 -0
  28. package/dist/styles/sprinkles.css.ts +82 -0
  29. package/dist/theme/contract.css.ts +83 -0
  30. package/dist/theme/default.css.ts +9 -0
  31. package/package.json +10 -9
  32. package/src/components/Actions/Actions.css.ts +113 -0
  33. package/src/components/Button/Button.css.ts +119 -0
  34. package/src/components/Carousel/Carousel.css.ts +180 -0
  35. package/src/components/Columns/Columns.css.ts +185 -0
  36. package/src/components/ConsentCookie/ConsentCookie.css.ts +167 -0
  37. package/src/components/Footer/Footer.css.ts +108 -0
  38. package/src/components/Form/Form.css.ts +64 -0
  39. package/src/components/Form/Row/Row.css.ts +70 -0
  40. package/src/components/Form/TextField/Input/Input.css.ts +106 -0
  41. package/src/components/Form/TextField/Label/Label.css.ts +58 -0
  42. package/src/components/Form/TextField/TextField.css.ts +139 -0
  43. package/src/components/Form/TextField/Textarea/Textarea.css.ts +121 -0
  44. package/src/components/Header/Header.css.ts +111 -0
  45. package/src/components/Header/HeaderOverlay/styles.css.ts +33 -0
  46. package/src/components/Header/ToggleNav/styles.css.ts +40 -0
  47. package/src/components/Icon/Icon.css.ts +102 -0
  48. package/src/components/KeyNumber/KeyNumber.css.ts +158 -0
  49. package/src/components/LanguageSwitcher/LanguageSwitcher.css.ts +120 -0
  50. package/src/components/Logo/Logo.css.ts +98 -0
  51. package/src/components/Main/Main.css.ts +62 -0
  52. package/src/components/Modal/Modal.css.ts +203 -0
  53. package/src/components/Nav/Nav.css.ts +123 -0
  54. package/src/components/NavLegal/NavLegal.css.ts +121 -0
  55. package/src/components/NavSocial/NavSocial.css.ts +121 -0
  56. package/src/components/Section/Section.css.ts +101 -0
  57. package/src/components/Video/Video.css.ts +210 -0
  58. package/src/components/VideoFullWidth/VideoFullWidth.css.ts +50 -0
  59. package/src/styles/sprinkles.css.ts +82 -0
  60. package/src/theme/contract.css.ts +83 -0
  61. package/src/theme/default.css.ts +9 -0
@@ -0,0 +1,50 @@
1
+ import { style } from '@vanilla-extract/css';
2
+ import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
3
+ import { themeContract } from '../../theme/contract.css';
4
+
5
+ const videoFullWidthBase = style({
6
+ height: 0,
7
+ width: '100vw',
8
+ overflow: 'hidden',
9
+ position: 'relative',
10
+ paddingBottom: '56.25%', // 16:9 aspect ratio
11
+ backgroundColor: themeContract.colors.background,
12
+
13
+ // Break out of container padding
14
+ marginLeft: `calc(-50vw + 50%)`,
15
+ marginRight: `calc(-50vw + 50%)`,
16
+
17
+ '@media': {
18
+ 'screen and (min-width: 768px)': {
19
+ marginLeft: `calc(-50vw + 50%)`,
20
+ marginRight: `calc(-50vw + 50%)`,
21
+ },
22
+ },
23
+ });
24
+
25
+ export const videoFullWidthRecipe = recipe({
26
+ base: videoFullWidthBase,
27
+
28
+ variants: {
29
+ aspectRatio: {
30
+ '16:9': {
31
+ paddingBottom: '56.25%',
32
+ },
33
+ '4:3': {
34
+ paddingBottom: '75%',
35
+ },
36
+ '1:1': {
37
+ paddingBottom: '100%',
38
+ },
39
+ '21:9': {
40
+ paddingBottom: '42.86%',
41
+ },
42
+ },
43
+ },
44
+
45
+ defaultVariants: {
46
+ aspectRatio: '16:9',
47
+ },
48
+ });
49
+
50
+ export type VideoFullWidthVariants = RecipeVariants<typeof videoFullWidthRecipe>;
@@ -0,0 +1,82 @@
1
+ import { createSprinkles, defineProperties } from '@vanilla-extract/sprinkles';
2
+ import { queries } from './mediaqueries';
3
+ import { themeContract } from '../theme';
4
+
5
+ const responsiveProperties = defineProperties({
6
+ conditions: {
7
+ mobile: {},
8
+ sm: { '@media': queries.sm },
9
+ md: { '@media': queries.md },
10
+ lg: { '@media': queries.lg },
11
+ xl: { '@media': queries.xl },
12
+ '2xl': { '@media': queries['2xl'] },
13
+ },
14
+ defaultCondition: 'mobile',
15
+
16
+ properties: {
17
+ // Spacing
18
+ padding: themeContract.space,
19
+ paddingTop: themeContract.space,
20
+ paddingBottom: themeContract.space,
21
+ paddingLeft: themeContract.space,
22
+ paddingRight: themeContract.space,
23
+ margin: themeContract.space,
24
+ marginTop: themeContract.space,
25
+ marginBottom: themeContract.space,
26
+ marginLeft: themeContract.space,
27
+ marginRight: themeContract.space,
28
+ gap: themeContract.space,
29
+
30
+ // Layout
31
+ display: ['none', 'block', 'inline', 'inline-block', 'flex', 'inline-flex', 'grid', 'inline-grid'],
32
+ flexDirection: ['row', 'column', 'row-reverse', 'column-reverse'],
33
+ // alignItems: ['stretch', 'flex-start', 'center', 'flex-end', 'baseline'],
34
+ justifyContent: ['flex-start', 'center', 'flex-end', 'space-between', 'space-around', 'space-evenly'],
35
+ flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
36
+ flex: ['1', 'auto', 'initial', 'none'],
37
+
38
+ // Dimensions
39
+ width: ['auto', '100%', '50%', '33.333333%', '25%', 'fit-content', 'min-content', 'max-content'],
40
+ height: ['auto', '100%', '100vh', 'fit-content', 'min-content', 'max-content'],
41
+ minWidth: ['0', '100%', 'fit-content', 'min-content', 'max-content'],
42
+ maxWidth: [themeContract.maxWidth],
43
+ minHeight: ['0', '100%', '100vh'],
44
+
45
+ // Position
46
+ position: ['static', 'relative', 'absolute', 'fixed', 'sticky'],
47
+ top: themeContract.space,
48
+ bottom: themeContract.space,
49
+ left: themeContract.space,
50
+ right: themeContract.space,
51
+ zIndex: [0, 10, 20, 30, 40, 50],
52
+
53
+ // Typography
54
+ fontSize: themeContract.fontSizes,
55
+ fontFamily: themeContract.fonts,
56
+ lineHeight: themeContract.lineHeights,
57
+ textAlign: ['left', 'center', 'right', 'justify'],
58
+ fontWeight: ['normal', 'bold', '100', '200', '300', '400', '500', '600', '700', '800', '900'],
59
+
60
+ // Colors
61
+ color: themeContract.colors,
62
+ backgroundColor: themeContract.colors,
63
+
64
+ // Border
65
+ borderRadius: themeContract.radii,
66
+ borderWidth: ['0', '1px', '2px', '4px'],
67
+ borderStyle: ['none', 'solid', 'dashed', 'dotted'],
68
+ borderColor: themeContract.colors,
69
+
70
+ // Effects
71
+ boxShadow: themeContract.shadows,
72
+ opacity: ['0', '0.25', '0.5', '0.75', '1'],
73
+
74
+ // Overflow
75
+ overflow: ['visible', 'hidden', 'scroll', 'auto'],
76
+ overflowX: ['visible', 'hidden', 'scroll', 'auto'],
77
+ overflowY: ['visible', 'hidden', 'scroll', 'auto'],
78
+ },
79
+ });
80
+
81
+ export const sprinkles = createSprinkles(responsiveProperties);
82
+ export type Sprinkles = Parameters<typeof sprinkles>[0];
@@ -0,0 +1,83 @@
1
+ import { createThemeContract } from '@vanilla-extract/css';
2
+
3
+ // Define a theme contract with design tokens
4
+ // This contract can then be reused to create multiple themes or overrides on a global level
5
+ export const themeContract = createThemeContract({
6
+ colors: {
7
+ primary: null,
8
+ secondary: null,
9
+ accent: null,
10
+ background: null,
11
+ surface: null,
12
+ text: null,
13
+ textSecondary: null,
14
+ textLight: null,
15
+ border: null,
16
+ error: null,
17
+ warning: null,
18
+ success: null,
19
+ info: null,
20
+ },
21
+ space: {
22
+ none: null,
23
+ xs: null,
24
+ sm: null,
25
+ md: null,
26
+ lg: null,
27
+ xl: null,
28
+ '2xl': null,
29
+ },
30
+ radii: {
31
+ none: null,
32
+ sm: null,
33
+ md: null,
34
+ lg: null,
35
+ xl: null,
36
+ full: null,
37
+ },
38
+ fonts: {
39
+ body: null,
40
+ heading: null,
41
+ mono: null,
42
+ },
43
+ fontSizes: {
44
+ xs: null,
45
+ sm: null,
46
+ md: null,
47
+ lg: null,
48
+ xl: null,
49
+ '2xl': null,
50
+ '3xl': null,
51
+ '4xl': null,
52
+ },
53
+ fontWeights: {
54
+ light: null,
55
+ normal: null,
56
+ medium: null,
57
+ semibold: null,
58
+ bold: null,
59
+ },
60
+ lineHeights: {
61
+ tight: null,
62
+ normal: null,
63
+ relaxed: null,
64
+ },
65
+ shadows: {
66
+ none: null,
67
+ sm: null,
68
+ md: null,
69
+ lg: null,
70
+ xl: null,
71
+ },
72
+ maxWidth: null,
73
+ section: {
74
+ paddingTop: null,
75
+ paddingBottom: null,
76
+ },
77
+ header: {
78
+ height: null,
79
+ },
80
+ footer: {
81
+ height: null,
82
+ },
83
+ });
@@ -0,0 +1,9 @@
1
+ import { createGlobalTheme } from '@vanilla-extract/css';
2
+ import { baseDarkTheme, baseLightTheme } from './baseThemeValues';
3
+ import { themeContract } from './contract.css';
4
+
5
+ // Create the default light theme at the root
6
+ createGlobalTheme('html', themeContract, baseLightTheme);
7
+
8
+ // Apply dark theme when data-theme="dark"
9
+ createGlobalTheme('html[data-theme="dark"]', themeContract, baseDarkTheme);