@pallamart/pm-design-system 1.0.0

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 (65) hide show
  1. package/README.md +21 -0
  2. package/dist/color.d.ts +19 -0
  3. package/dist/color.js +20 -0
  4. package/dist/external/index.d.ts +3 -0
  5. package/dist/external/index.js +3 -0
  6. package/dist/external/tailwind-preset.d.ts +1 -0
  7. package/dist/external/tailwind-preset.js +1 -0
  8. package/dist/index.d.ts +3 -0
  9. package/dist/index.js +3 -0
  10. package/dist/internal/index.d.ts +2 -0
  11. package/dist/internal/index.js +2 -0
  12. package/dist/internal/tailwind-preset.d.ts +2 -0
  13. package/dist/internal/tailwind-preset.js +86 -0
  14. package/dist/shared-tailwind-theme.d.ts +131 -0
  15. package/dist/shared-tailwind-theme.js +95 -0
  16. package/dist/styles/components/auth/auth.css +25 -0
  17. package/dist/styles/components/auth/index.css +1 -0
  18. package/dist/styles/components/buttons/accent-link.css +15 -0
  19. package/dist/styles/components/buttons/index.css +4 -0
  20. package/dist/styles/components/buttons/link.css +31 -0
  21. package/dist/styles/components/buttons/primary-button.css +25 -0
  22. package/dist/styles/components/buttons/secondary-button.css +25 -0
  23. package/dist/styles/components/containers/card.css +12 -0
  24. package/dist/styles/components/containers/index.css +1 -0
  25. package/dist/styles/components/form/checkbox.css +26 -0
  26. package/dist/styles/components/form/form-input.css +40 -0
  27. package/dist/styles/components/form/index.css +2 -0
  28. package/dist/styles/components/index.css +5 -0
  29. package/dist/styles/components/loaders/dot-loader-dark.css +103 -0
  30. package/dist/styles/components/loaders/dot-loader.css +103 -0
  31. package/dist/styles/components/loaders/index.css +2 -0
  32. package/dist/styles/external/components/auth/auth.css +25 -0
  33. package/dist/styles/external/components/auth/index.css +1 -0
  34. package/dist/styles/external/components/buttons/accent-link.css +15 -0
  35. package/dist/styles/external/components/buttons/index.css +4 -0
  36. package/dist/styles/external/components/buttons/link.css +31 -0
  37. package/dist/styles/external/components/buttons/primary-button.css +25 -0
  38. package/dist/styles/external/components/buttons/secondary-button.css +25 -0
  39. package/dist/styles/external/components/containers/card.css +12 -0
  40. package/dist/styles/external/components/containers/index.css +1 -0
  41. package/dist/styles/external/components/form/checkbox.css +25 -0
  42. package/dist/styles/external/components/form/form-input.css +40 -0
  43. package/dist/styles/external/components/form/index.css +2 -0
  44. package/dist/styles/external/components/index.css +6 -0
  45. package/dist/styles/external/components/loaders/dot-loader-dark.css +103 -0
  46. package/dist/styles/external/components/loaders/dot-loader.css +103 -0
  47. package/dist/styles/external/components/loaders/index.css +2 -0
  48. package/dist/styles/external/components/products/index.css +1 -0
  49. package/dist/styles/external/components/products/product-studio.css +213 -0
  50. package/dist/styles/external/fonts/index.css +2 -0
  51. package/dist/styles/external/fonts/poppins.css +4 -0
  52. package/dist/styles/external/fonts/raleway.css +4 -0
  53. package/dist/styles/external/index/z-index.ts +8 -0
  54. package/dist/styles/external.css +39 -0
  55. package/dist/styles/fonts/index.css +2 -0
  56. package/dist/styles/fonts/poppins.css +4 -0
  57. package/dist/styles/fonts/raleway.css +4 -0
  58. package/dist/styles/index/z-index.ts +8 -0
  59. package/dist/styles/index.css +40 -0
  60. package/dist/styles/internal.css +159 -0
  61. package/dist/tailwind-preset.d.ts +2 -0
  62. package/dist/tailwind-preset.js +50 -0
  63. package/dist/z-index.d.ts +9 -0
  64. package/dist/z-index.js +10 -0
  65. package/package.json +103 -0
package/README.md ADDED
@@ -0,0 +1,21 @@
1
+ # @pallamart/pm-design-system
2
+
3
+ Pallamart design tokens, Tailwind presets, and shared styles.
4
+
5
+ ## Development
6
+
7
+ Use Node.js from `.nvmrc`, then install dependencies:
8
+
9
+ ```sh
10
+ npm install
11
+ ```
12
+
13
+ Available checks:
14
+
15
+ ```sh
16
+ npm run build
17
+ npm run format:check
18
+ npm run lint
19
+ ```
20
+
21
+ The package is published from `dist/`. Source code lives in `src/`; do not edit generated output directly.
@@ -0,0 +1,19 @@
1
+ export declare enum PallamartColor {
2
+ Primary = "#9346F2",
3
+ Error = "#eaa9a9",
4
+ ErrorContrast = "#942424",
5
+ Warning = "#ffc78f",
6
+ WarningContrast = "#d16900",
7
+ Success = "#afff8f",
8
+ SuccessContrast = "#1d6600",
9
+ White = "#FFFFFF",
10
+ Black = "#1D1D20",
11
+ Grey = "#64748b",
12
+ GreyLight = "#f6f7f8",
13
+ GreyDark = "#334155",
14
+ Red = "#D63A2F",
15
+ Blue = "#3b82f6",
16
+ Yellow = "#eab308",
17
+ Green = "#559B60"
18
+ }
19
+ export { PallamartColor as Color };
package/dist/color.js ADDED
@@ -0,0 +1,20 @@
1
+ export var PallamartColor;
2
+ (function (PallamartColor) {
3
+ PallamartColor["Primary"] = "#9346F2";
4
+ PallamartColor["Error"] = "#eaa9a9";
5
+ PallamartColor["ErrorContrast"] = "#942424";
6
+ PallamartColor["Warning"] = "#ffc78f";
7
+ PallamartColor["WarningContrast"] = "#d16900";
8
+ PallamartColor["Success"] = "#afff8f";
9
+ PallamartColor["SuccessContrast"] = "#1d6600";
10
+ PallamartColor["White"] = "#FFFFFF";
11
+ PallamartColor["Black"] = "#1D1D20";
12
+ PallamartColor["Grey"] = "#64748b";
13
+ PallamartColor["GreyLight"] = "#f6f7f8";
14
+ PallamartColor["GreyDark"] = "#334155";
15
+ PallamartColor["Red"] = "#D63A2F";
16
+ PallamartColor["Blue"] = "#3b82f6";
17
+ PallamartColor["Yellow"] = "#eab308";
18
+ PallamartColor["Green"] = "#559B60";
19
+ })(PallamartColor || (PallamartColor = {}));
20
+ export { PallamartColor as Color };
@@ -0,0 +1,3 @@
1
+ export * from '../color.js';
2
+ export * from '../tailwind-preset.js';
3
+ export * from '../z-index.js';
@@ -0,0 +1,3 @@
1
+ export * from '../color.js';
2
+ export * from '../tailwind-preset.js';
3
+ export * from '../z-index.js';
@@ -0,0 +1 @@
1
+ export { PallamartTailwindPreset, PallamartTailwindPreset as PallamartExternalTailwindPreset, } from '../tailwind-preset.js';
@@ -0,0 +1 @@
1
+ export { PallamartTailwindPreset, PallamartTailwindPreset as PallamartExternalTailwindPreset, } from '../tailwind-preset.js';
@@ -0,0 +1,3 @@
1
+ export * from './color.js';
2
+ export * from './tailwind-preset.js';
3
+ export * from './z-index.js';
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export * from './color.js';
2
+ export * from './tailwind-preset.js';
3
+ export * from './z-index.js';
@@ -0,0 +1,2 @@
1
+ export * from '../z-index.js';
2
+ export * from './tailwind-preset.js';
@@ -0,0 +1,2 @@
1
+ export * from '../z-index.js';
2
+ export * from './tailwind-preset.js';
@@ -0,0 +1,2 @@
1
+ import type { Config } from 'tailwindcss';
2
+ export declare const PallamartInternalTailwindPreset: Partial<Config>;
@@ -0,0 +1,86 @@
1
+ import { PallamartFontSize, PallamartMotion, PallamartScreens, PallamartSharedScale, } from '../shared-tailwind-theme.js';
2
+ export const PallamartInternalTailwindPreset = {
3
+ theme: {
4
+ screens: PallamartScreens,
5
+ extend: {
6
+ colors: {
7
+ border: 'var(--border)',
8
+ input: 'var(--input)',
9
+ ring: 'var(--ring)',
10
+ background: 'var(--background)',
11
+ foreground: 'var(--foreground)',
12
+ card: {
13
+ DEFAULT: 'var(--card)',
14
+ foreground: 'var(--card-foreground)',
15
+ },
16
+ popover: {
17
+ DEFAULT: 'var(--popover)',
18
+ foreground: 'var(--popover-foreground)',
19
+ },
20
+ primary: {
21
+ DEFAULT: 'var(--primary)',
22
+ foreground: 'var(--primary-foreground)',
23
+ hover: 'var(--primary-hover)',
24
+ },
25
+ secondary: {
26
+ DEFAULT: 'var(--secondary)',
27
+ foreground: 'var(--secondary-foreground)',
28
+ },
29
+ muted: {
30
+ DEFAULT: 'var(--muted)',
31
+ foreground: 'var(--muted-foreground)',
32
+ },
33
+ accent: {
34
+ DEFAULT: 'var(--accent)',
35
+ foreground: 'var(--accent-foreground)',
36
+ },
37
+ destructive: {
38
+ DEFAULT: 'var(--destructive)',
39
+ foreground: 'var(--destructive-foreground)',
40
+ muted: 'var(--destructive-muted)',
41
+ },
42
+ warning: {
43
+ DEFAULT: 'var(--warning)',
44
+ foreground: 'var(--warning-foreground)',
45
+ muted: 'var(--warning-muted)',
46
+ },
47
+ success: {
48
+ DEFAULT: 'var(--success)',
49
+ foreground: 'var(--success-foreground)',
50
+ muted: 'var(--success-muted)',
51
+ },
52
+ info: 'var(--info)',
53
+ sidebar: {
54
+ 'DEFAULT': 'var(--sidebar)',
55
+ 'foreground': 'var(--sidebar-foreground)',
56
+ 'primary': 'var(--sidebar-primary)',
57
+ 'primary-foreground': 'var(--sidebar-primary-foreground)',
58
+ 'accent': 'var(--sidebar-accent)',
59
+ 'accent-foreground': 'var(--sidebar-accent-foreground)',
60
+ 'border': 'var(--sidebar-border)',
61
+ 'ring': 'var(--sidebar-ring)',
62
+ },
63
+ overlay: 'rgb(15 23 42 / 0.62)',
64
+ chart: {
65
+ '1': 'var(--chart-1)',
66
+ '2': 'var(--chart-2)',
67
+ '3': 'var(--chart-3)',
68
+ '4': 'var(--chart-4)',
69
+ '5': 'var(--chart-5)',
70
+ },
71
+ },
72
+ borderRadius: {
73
+ lg: 'var(--radius)',
74
+ md: 'calc(var(--radius) - 2px)',
75
+ sm: 'calc(var(--radius) - 4px)',
76
+ },
77
+ fontFamily: {
78
+ sans: ['Geist Variable', 'ui-sans-serif', 'system-ui', 'sans-serif'],
79
+ },
80
+ ...PallamartSharedScale,
81
+ fontSize: PallamartFontSize,
82
+ ...PallamartMotion,
83
+ },
84
+ },
85
+ plugins: [],
86
+ };
@@ -0,0 +1,131 @@
1
+ export declare const PallamartScreens: {
2
+ xs: string;
3
+ sm: string;
4
+ md: string;
5
+ lg: string;
6
+ xl: string;
7
+ '2xl': string;
8
+ };
9
+ export declare const PallamartFontSize: {
10
+ 'header-0': [string, {
11
+ fontWeight: number;
12
+ }];
13
+ 'header-1': [string, {
14
+ fontWeight: number;
15
+ }];
16
+ 'header-1-regular': [string, {
17
+ fontWeight: number;
18
+ }];
19
+ 'keyboard-1': [string, {
20
+ fontWeight: number;
21
+ }];
22
+ 'body-1': [string, {
23
+ fontWeight: number;
24
+ }];
25
+ 'header-2': [string, {
26
+ fontWeight: number;
27
+ }];
28
+ 'header-2-regular': [string, {
29
+ fontWeight: number;
30
+ }];
31
+ 'body-2': [string, {
32
+ fontWeight: number;
33
+ }];
34
+ 'header-3': [string, {
35
+ fontWeight: number;
36
+ }];
37
+ 'header-3-regular': [string, {
38
+ fontWeight: number;
39
+ }];
40
+ 'body-3': [string, {
41
+ fontWeight: number;
42
+ }];
43
+ 'header-4': [string, {
44
+ fontWeight: number;
45
+ }];
46
+ 'header-4-regular': [string, {
47
+ fontWeight: number;
48
+ }];
49
+ 'body-4': [string, {
50
+ fontWeight: number;
51
+ }];
52
+ };
53
+ export declare const PallamartSharedScale: {
54
+ height: {
55
+ '168': string;
56
+ };
57
+ width: {
58
+ '168': string;
59
+ };
60
+ maxHeight: {
61
+ '168': string;
62
+ };
63
+ maxWidth: {
64
+ '168': string;
65
+ };
66
+ transitionProperty: {
67
+ move: string;
68
+ };
69
+ };
70
+ export declare const PallamartMotion: {
71
+ keyframes: {
72
+ 'fade-in': {
73
+ '0%': {
74
+ opacity: string;
75
+ };
76
+ '100%': {
77
+ opacity: string;
78
+ };
79
+ };
80
+ 'fade-out': {
81
+ '0%': {
82
+ opacity: string;
83
+ };
84
+ '100%': {
85
+ opacity: string;
86
+ };
87
+ };
88
+ 'slide-fade-in': {
89
+ '0%': {
90
+ opacity: string;
91
+ transform: string;
92
+ };
93
+ '100%': {
94
+ opacity: string;
95
+ };
96
+ };
97
+ 'slide-fade-out': {
98
+ '0%': {
99
+ opacity: string;
100
+ };
101
+ '100%': {
102
+ opacity: string;
103
+ transform: string;
104
+ };
105
+ };
106
+ 'slide-down-to-bottom': {
107
+ '0%': {
108
+ transform: string;
109
+ };
110
+ '100%': {
111
+ transform: string;
112
+ };
113
+ };
114
+ 'slide-up-from-bottom': {
115
+ '0%': {
116
+ transform: string;
117
+ };
118
+ '100%': {
119
+ transform: string;
120
+ };
121
+ };
122
+ };
123
+ animation: {
124
+ 'fade-in': string;
125
+ 'fade-out': string;
126
+ 'slide-fade-in': string;
127
+ 'slide-fade-out': string;
128
+ 'slide-down-to-bottom': string;
129
+ 'slide-up-from-bottom': string;
130
+ };
131
+ };
@@ -0,0 +1,95 @@
1
+ export const PallamartScreens = {
2
+ 'xs': '386px',
3
+ 'sm': '480px',
4
+ 'md': '768px',
5
+ 'lg': '976px',
6
+ 'xl': '1128px',
7
+ '2xl': '1528px',
8
+ };
9
+ export const PallamartFontSize = {
10
+ 'header-0': ['86px', { fontWeight: 700 }],
11
+ 'header-1': ['40px', { fontWeight: 700 }],
12
+ 'header-1-regular': ['40px', { fontWeight: 400 }],
13
+ 'keyboard-1': ['21px', { fontWeight: 400 }],
14
+ 'body-1': ['18px', { fontWeight: 400 }],
15
+ 'header-2': ['28px', { fontWeight: 700 }],
16
+ 'header-2-regular': ['28px', { fontWeight: 400 }],
17
+ 'body-2': ['16px', { fontWeight: 400 }],
18
+ 'header-3': ['20px', { fontWeight: 600 }],
19
+ 'header-3-regular': ['20px', { fontWeight: 400 }],
20
+ 'body-3': ['12px', { fontWeight: 400 }],
21
+ 'header-4': ['16px', { fontWeight: 600 }],
22
+ 'header-4-regular': ['16px', { fontWeight: 400 }],
23
+ 'body-4': ['8px', { fontWeight: 400 }],
24
+ };
25
+ export const PallamartSharedScale = {
26
+ height: { '168': '42rem' },
27
+ width: { '168': '42rem' },
28
+ maxHeight: { '168': '42rem' },
29
+ maxWidth: { '168': '42rem' },
30
+ transitionProperty: {
31
+ move: 'left, right',
32
+ },
33
+ };
34
+ export const PallamartMotion = {
35
+ keyframes: {
36
+ 'fade-in': {
37
+ '0%': {
38
+ opacity: '0',
39
+ },
40
+ '100%': {
41
+ opacity: '1',
42
+ },
43
+ },
44
+ 'fade-out': {
45
+ '0%': {
46
+ opacity: '1',
47
+ },
48
+ '100%': {
49
+ opacity: '0',
50
+ },
51
+ },
52
+ 'slide-fade-in': {
53
+ '0%': {
54
+ opacity: '0',
55
+ transform: 'translateY(0)',
56
+ },
57
+ '100%': {
58
+ opacity: '1',
59
+ },
60
+ },
61
+ 'slide-fade-out': {
62
+ '0%': {
63
+ opacity: '1',
64
+ },
65
+ '100%': {
66
+ opacity: '0',
67
+ transform: 'translateY(0)',
68
+ },
69
+ },
70
+ 'slide-down-to-bottom': {
71
+ '0%': {
72
+ transform: 'translateY(0)',
73
+ },
74
+ '100%': {
75
+ transform: 'translateY(100%)',
76
+ },
77
+ },
78
+ 'slide-up-from-bottom': {
79
+ '0%': {
80
+ transform: 'translateY(100%)',
81
+ },
82
+ '100%': {
83
+ transform: 'translateY(0)',
84
+ },
85
+ },
86
+ },
87
+ animation: {
88
+ 'fade-in': 'fade-in 0.2s ease-out forwards',
89
+ 'fade-out': 'fade-out 0.2s ease-in forwards',
90
+ 'slide-fade-in': 'slide-fade-in 0.2s ease-out forwards',
91
+ 'slide-fade-out': 'slide-fade-out 0.2s ease-in forwards',
92
+ 'slide-down-to-bottom': 'slide-down-to-bottom 0.2s ease-out forwards',
93
+ 'slide-up-from-bottom': 'slide-up-from-bottom 0.2s ease-out forwards',
94
+ },
95
+ };
@@ -0,0 +1,25 @@
1
+ /* Base */
2
+ .pallamart-btn-auth-microsoft,
3
+ a.pallamart-btn-auth-microsoft {
4
+ @apply flex w-full items-center justify-center gap-3 rounded-md border border-input bg-card px-4 py-3 text-body-2 text-card-foreground transition-colors;
5
+ }
6
+
7
+ .pallamart-btn-auth-microsoft:enabled,
8
+ a.pallamart-btn-auth-microsoft:not([aria-disabled='true']) {
9
+ @apply bg-card text-card-foreground;
10
+ }
11
+
12
+ .pallamart-btn-auth-microsoft:enabled:hover,
13
+ a.pallamart-btn-auth-microsoft:not([aria-disabled='true']):hover {
14
+ @apply bg-accent text-accent-foreground;
15
+ }
16
+
17
+ .pallamart-btn-auth-microsoft:enabled:active,
18
+ a.pallamart-btn-auth-microsoft:not([aria-disabled='true']):active {
19
+ @apply bg-secondary;
20
+ }
21
+
22
+ .pallamart-btn-auth-microsoft:disabled,
23
+ a.pallamart-btn-auth-microsoft[aria-disabled='true'] {
24
+ @apply bg-muted text-muted-foreground;
25
+ }
@@ -0,0 +1 @@
1
+ @import url('auth.css');
@@ -0,0 +1,15 @@
1
+ /* Base */
2
+ .pallamart-link-accent,
3
+ a.pallamart-link-accent {
4
+ @apply px-3 py-2 rounded-full bg-primary tracking-wide shadow-lg transition-all;
5
+ }
6
+
7
+ .pallamart-link-accent:hover:not(:disabled),
8
+ a.pallamart-link-accent:not([aria-disabled='true']):hover {
9
+ @apply hover:bg-opacity-90;
10
+ }
11
+
12
+ .pallamart-link-accent:disabled,
13
+ a.pallamart-link-accent[aria-disabled='true'] {
14
+ @apply bg-grey text-black border-grey;
15
+ }
@@ -0,0 +1,4 @@
1
+ @import url('accent-link.css');
2
+ @import url('primary-button.css');
3
+ @import url('secondary-button.css');
4
+ @import url('link.css');
@@ -0,0 +1,31 @@
1
+ /* Base */
2
+ .pallamart-link,
3
+ a.pallamart-link {
4
+ @apply text-primary;
5
+ }
6
+
7
+ .pallamart-link:disabled,
8
+ a.pallamart-link[aria-disabled='true'] {
9
+ @apply text-grey;
10
+ }
11
+
12
+ .pallamart-link:hover:not(:disabled),
13
+ a.pallamart-link:not([aria-disabled='true']):hover {
14
+ @apply underline;
15
+ }
16
+
17
+ /* Danger */
18
+ .pallamart-link-danger,
19
+ a.pallamart-link-danger {
20
+ @apply text-error-contrast;
21
+ }
22
+
23
+ .pallamart-link-danger:disabled,
24
+ a.pallamart-link-danger[aria-disabled='true'] {
25
+ @apply text-grey;
26
+ }
27
+
28
+ .pallamart-link-danger:hover:not(:disabled),
29
+ a.pallamart-link-danger:not([aria-disabled='true']):hover {
30
+ @apply underline;
31
+ }
@@ -0,0 +1,25 @@
1
+ /* Base */
2
+ .pallamart-btn-primary,
3
+ a.pallamart-btn-primary {
4
+ @apply inline-flex min-h-10 w-full items-center justify-center rounded-md border px-4 py-2 text-body-2 transition-colors sm:w-auto;
5
+ }
6
+
7
+ .pallamart-btn-primary:enabled,
8
+ a.pallamart-btn-primary:not([aria-disabled='true']) {
9
+ @apply border-primary bg-primary text-white;
10
+ }
11
+
12
+ .pallamart-btn-primary:enabled:hover,
13
+ a.pallamart-btn-primary:not([aria-disabled='true']):hover {
14
+ @apply border-primary-hover bg-primary-hover;
15
+ }
16
+
17
+ .pallamart-btn-primary:enabled:active,
18
+ a.pallamart-btn-primary:not([aria-disabled='true']):active {
19
+ @apply border-primary bg-background text-primary;
20
+ }
21
+
22
+ .pallamart-btn-primary:disabled,
23
+ a.pallamart-btn-primary[aria-disabled='true'] {
24
+ @apply border-input bg-muted text-muted-foreground;
25
+ }
@@ -0,0 +1,25 @@
1
+ /* Base */
2
+ .pallamart-btn-secondary,
3
+ a.pallamart-btn-secondary {
4
+ @apply inline-flex min-h-10 w-full items-center justify-center rounded-md border px-4 py-2 text-body-2 transition-colors sm:w-auto;
5
+ }
6
+
7
+ .pallamart-btn-secondary:enabled,
8
+ a.pallamart-btn-secondary:not([aria-disabled='true']) {
9
+ @apply border-input bg-secondary text-secondary-foreground;
10
+ }
11
+
12
+ .pallamart-btn-secondary:enabled:hover,
13
+ a.pallamart-btn-secondary:not([aria-disabled='true']):hover {
14
+ @apply border-input bg-accent text-accent-foreground;
15
+ }
16
+
17
+ .pallamart-btn-secondary:enabled:active,
18
+ a.pallamart-btn-secondary:not([aria-disabled='true']):active {
19
+ @apply border-input bg-secondary text-secondary-foreground;
20
+ }
21
+
22
+ .pallamart-btn-secondary:disabled,
23
+ a.pallamart-btn-secondary[aria-disabled='true'] {
24
+ @apply border-input bg-muted text-muted-foreground;
25
+ }
@@ -0,0 +1,12 @@
1
+ /* Base */
2
+ .pallamart-card {
3
+ @apply rounded-lg border border-border bg-card p-6 text-card-foreground transition-colors;
4
+ }
5
+
6
+ .pallamart-card:hover {
7
+ @apply cursor-pointer border-primary shadow-sm;
8
+ }
9
+
10
+ .pallamart-static-card {
11
+ @apply rounded-lg border border-border bg-card p-6 text-card-foreground transition-colors;
12
+ }
@@ -0,0 +1 @@
1
+ @import url('card.css');
@@ -0,0 +1,26 @@
1
+ /* Base */
2
+ .pallamart-checkbox {
3
+ @apply h-4 w-4 shrink-0 appearance-none rounded-sm border border-input bg-background align-middle transition-colors cursor-pointer;
4
+ background-position: center;
5
+ background-repeat: no-repeat;
6
+ background-size: 0.75rem 0.75rem;
7
+ }
8
+
9
+ .pallamart-checkbox:checked {
10
+ @apply border-primary bg-primary;
11
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.5L6.5 11.5L12.5 4.5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
12
+ }
13
+
14
+ .pallamart-checkbox:focus {
15
+ @apply border-primary outline-none ring-2 ring-offset-2;
16
+ --tw-ring-color: color-mix(in oklch, var(--primary) 15%, transparent);
17
+ }
18
+
19
+ .pallamart-checkbox:disabled,
20
+ .pallamart-checkbox[aria-disabled='true'] {
21
+ @apply cursor-not-allowed bg-muted;
22
+ }
23
+
24
+ .pallamart-checkbox[aria-invalid='true'] {
25
+ @apply border-error-contrast;
26
+ }
@@ -0,0 +1,40 @@
1
+ /* Base */
2
+ .pallamart-input {
3
+ @apply flex flex-col space-y-2 w-full;
4
+ }
5
+
6
+ .pallamart-input label {
7
+ @apply text-header-4 text-foreground;
8
+ }
9
+
10
+ .pallamart-input input:not([type='checkbox'], [type='range']),
11
+ .pallamart-input textarea,
12
+ .pallamart-input select {
13
+ @apply w-full rounded-md border border-input bg-background px-3 py-2 text-body-2 text-foreground transition-colors;
14
+ }
15
+
16
+ .pallamart-input select {
17
+ @apply appearance-none cursor-pointer;
18
+ }
19
+
20
+ .pallamart-input input:focus,
21
+ .pallamart-input textarea:focus,
22
+ .pallamart-input select:focus {
23
+ @apply border-ring outline-none ring-2 ring-ring;
24
+ }
25
+
26
+ .pallamart-input input:not([type='checkbox'], [type='range']):disabled,
27
+ .pallamart-input textarea:disabled,
28
+ .pallamart-input select:disabled {
29
+ @apply cursor-not-allowed bg-muted text-muted-foreground;
30
+ }
31
+
32
+ .pallamart-input input:not([type='checkbox'], [type='range'])[aria-invalid='true'],
33
+ .pallamart-input textarea[aria-invalid='true'],
34
+ .pallamart-input select[aria-invalid='true'] {
35
+ @apply border-error-contrast;
36
+ }
37
+
38
+ .pallamart-input p {
39
+ @apply text-body-3 text-error-contrast;
40
+ }
@@ -0,0 +1,2 @@
1
+ @import url('form-input.css');
2
+ @import url('checkbox.css');
@@ -0,0 +1,5 @@
1
+ @import url('auth');
2
+ @import url('buttons');
3
+ @import url('containers');
4
+ @import url('form');
5
+ @import url('loaders');