@citizenplane/pimp 9.13.6 → 9.14.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 (69) hide show
  1. package/dist/pimp.es.js +2031 -2026
  2. package/dist/pimp.umd.js +22 -22
  3. package/dist/style.css +1 -1
  4. package/package.json +1 -1
  5. package/src/assets/styles/base/_base.scss +4 -0
  6. package/src/assets/styles/helpers/_functions.scss +8 -0
  7. package/src/assets/styles/variables/_colors.scss +124 -0
  8. package/src/assets/styles/variables/_dimensions.scss +37 -0
  9. package/src/assets/styles/variables/_shadows.scss +67 -0
  10. package/src/assets/styles/variables/_spacing.scss +44 -0
  11. package/src/assets/styles/variables/_tokens.scss +426 -0
  12. package/src/components/CpTable.vue +27 -20
  13. package/src/stories/CpTable.stories.ts +5 -50
  14. package/src/assets/css/fonts.css +0 -185
  15. package/src/assets/fonts/gt_america/GT-America-Standard-Black-Italic.eot +0 -0
  16. package/src/assets/fonts/gt_america/GT-America-Standard-Black-Italic.woff +0 -0
  17. package/src/assets/fonts/gt_america/GT-America-Standard-Black-Italic.woff2 +0 -0
  18. package/src/assets/fonts/gt_america/GT-America-Standard-Black.eot +0 -0
  19. package/src/assets/fonts/gt_america/GT-America-Standard-Black.woff +0 -0
  20. package/src/assets/fonts/gt_america/GT-America-Standard-Black.woff2 +0 -0
  21. package/src/assets/fonts/gt_america/GT-America-Standard-Bold-Italic.eot +0 -0
  22. package/src/assets/fonts/gt_america/GT-America-Standard-Bold-Italic.woff +0 -0
  23. package/src/assets/fonts/gt_america/GT-America-Standard-Bold-Italic.woff2 +0 -0
  24. package/src/assets/fonts/gt_america/GT-America-Standard-Bold.eot +0 -0
  25. package/src/assets/fonts/gt_america/GT-America-Standard-Bold.woff +0 -0
  26. package/src/assets/fonts/gt_america/GT-America-Standard-Bold.woff2 +0 -0
  27. package/src/assets/fonts/gt_america/GT-America-Standard-Light-Italic.eot +0 -0
  28. package/src/assets/fonts/gt_america/GT-America-Standard-Light-Italic.woff +0 -0
  29. package/src/assets/fonts/gt_america/GT-America-Standard-Light-Italic.woff2 +0 -0
  30. package/src/assets/fonts/gt_america/GT-America-Standard-Light.eot +0 -0
  31. package/src/assets/fonts/gt_america/GT-America-Standard-Light.woff +0 -0
  32. package/src/assets/fonts/gt_america/GT-America-Standard-Light.woff2 +0 -0
  33. package/src/assets/fonts/gt_america/GT-America-Standard-Medium-Italic.eot +0 -0
  34. package/src/assets/fonts/gt_america/GT-America-Standard-Medium-Italic.woff +0 -0
  35. package/src/assets/fonts/gt_america/GT-America-Standard-Medium-Italic.woff2 +0 -0
  36. package/src/assets/fonts/gt_america/GT-America-Standard-Medium.eot +0 -0
  37. package/src/assets/fonts/gt_america/GT-America-Standard-Medium.woff +0 -0
  38. package/src/assets/fonts/gt_america/GT-America-Standard-Medium.woff2 +0 -0
  39. package/src/assets/fonts/gt_america/GT-America-Standard-Regular-Italic.eot +0 -0
  40. package/src/assets/fonts/gt_america/GT-America-Standard-Regular-Italic.woff +0 -0
  41. package/src/assets/fonts/gt_america/GT-America-Standard-Regular-Italic.woff2 +0 -0
  42. package/src/assets/fonts/gt_america/GT-America-Standard-Regular.eot +0 -0
  43. package/src/assets/fonts/gt_america/GT-America-Standard-Regular.woff +0 -0
  44. package/src/assets/fonts/gt_america/GT-America-Standard-Regular.woff2 +0 -0
  45. package/src/assets/fonts/gt_america/GT-America-Standard-Thin-Italic.eot +0 -0
  46. package/src/assets/fonts/gt_america/GT-America-Standard-Thin-Italic.woff +0 -0
  47. package/src/assets/fonts/gt_america/GT-America-Standard-Thin-Italic.woff2 +0 -0
  48. package/src/assets/fonts/gt_america/GT-America-Standard-Thin.eot +0 -0
  49. package/src/assets/fonts/gt_america/GT-America-Standard-Thin.woff +0 -0
  50. package/src/assets/fonts/gt_america/GT-America-Standard-Thin.woff2 +0 -0
  51. package/src/assets/fonts/gt_america/GT-America-Standard-Ultra-Light-Italic.eot +0 -0
  52. package/src/assets/fonts/gt_america/GT-America-Standard-Ultra-Light-Italic.woff +0 -0
  53. package/src/assets/fonts/gt_america/GT-America-Standard-Ultra-Light-Italic.woff2 +0 -0
  54. package/src/assets/fonts/gt_america/GT-America-Standard-Ultra-Light.eot +0 -0
  55. package/src/assets/fonts/gt_america/GT-America-Standard-Ultra-Light.woff +0 -0
  56. package/src/assets/fonts/gt_america/GT-America-Standard-Ultra-Light.woff2 +0 -0
  57. package/src/assets/fonts/proxima_nova/proxima_nova_black.eot +0 -0
  58. package/src/assets/fonts/proxima_nova/proxima_nova_black.otf +0 -0
  59. package/src/assets/fonts/proxima_nova/proxima_nova_black.svg +0 -3238
  60. package/src/assets/fonts/proxima_nova/proxima_nova_black.woff +0 -0
  61. package/src/assets/fonts/proxima_nova/proxima_nova_bold.eot +0 -0
  62. package/src/assets/fonts/proxima_nova/proxima_nova_bold.svg +0 -3892
  63. package/src/assets/fonts/proxima_nova/proxima_nova_bold.woff +0 -0
  64. package/src/assets/fonts/proxima_nova/proxima_nova_demibold.eot +0 -0
  65. package/src/assets/fonts/proxima_nova/proxima_nova_demibold.svg +0 -3914
  66. package/src/assets/fonts/proxima_nova/proxima_nova_demibold.woff +0 -0
  67. package/src/assets/fonts/proxima_nova/proxima_nova_regular.eot +0 -0
  68. package/src/assets/fonts/proxima_nova/proxima_nova_regular.svg +0 -3922
  69. package/src/assets/fonts/proxima_nova/proxima_nova_regular.woff +0 -0
@@ -0,0 +1,426 @@
1
+ @use './colors';
2
+ @use './dimensions';
3
+ @use './easings';
4
+ @use './shadows';
5
+ @use './sizing';
6
+ @use './spacing';
7
+
8
+ :root {
9
+ /**
10
+ * COLORS
11
+ */
12
+
13
+ --pimp-background-accent-primary: var(--pimp-colors-violet-50);
14
+ --pimp-background-accent-primary-hover: var(--pimp-colors-violet-100);
15
+ --pimp-background-accent-secondary: var(--pimp-colors-violet-100);
16
+ --pimp-background-accent-secondary-hover: var(--pimp-colors-violet-200);
17
+ --pimp-background-accent-solid: var(--pimp-colors-violet-500);
18
+ --pimp-background-accent-solid-hover: var(--pimp-colors-violet-600);
19
+ --pimp-background-blue-primary: var(--pimp-colors-blue-50);
20
+ --pimp-background-blue-primary-hover: var(--pimp-colors-blue-100);
21
+ --pimp-background-blue-secondary: var(--pimp-colors-blue-100);
22
+ --pimp-background-blue-secondary-hover: var(--pimp-colors-blue-200);
23
+ --pimp-background-blue-solid: var(--pimp-colors-blue-500);
24
+ --pimp-background-blue-solid-hover: var(--pimp-colors-blue-600);
25
+ --pimp-background-disabled: var(--pimp-colors-grey-50);
26
+ --pimp-background-error-primary: var(--pimp-colors-red-50);
27
+ --pimp-background-error-primary-hover: var(--pimp-colors-red-100);
28
+ --pimp-background-error-secondary: var(--pimp-colors-red-100);
29
+ --pimp-background-error-secondary-hover: var(--pimp-colors-red-200);
30
+ --pimp-background-error-solid: var(--pimp-colors-red-500);
31
+ --pimp-background-error-solid-hover: var(--pimp-colors-red-600);
32
+ --pimp-background-inverse-hover: rgba(255, 255, 255, 0.1);
33
+ --pimp-background-magenta-primary: var(--pimp-colors-magenta-50);
34
+ --pimp-background-magenta-primary-hover: var(--pimp-colors-magenta-100);
35
+ --pimp-background-magenta-secondary: var(--pimp-colors-magenta-100);
36
+ --pimp-background-magenta-secondary-hover: var(--pimp-colors-magenta-200);
37
+ --pimp-background-magenta-solid: var(--pimp-colors-magenta-500);
38
+ --pimp-background-magenta-solid-hover: var(--pimp-colors-magenta-600);
39
+ --pimp-background-pink-primary: var(--pimp-colors-pink-50);
40
+ --pimp-background-pink-primary-hover: var(--pimp-colors-pink-100);
41
+ --pimp-background-pink-secondary: var(--pimp-colors-pink-100);
42
+ --pimp-background-pink-secondary-hover: var(--pimp-colors-pink-200);
43
+ --pimp-background-pink-solid: var(--pimp-colors-pink-500);
44
+ --pimp-background-pink-solid-hover: var(--pimp-colors-pink-600);
45
+ --pimp-background-primary: var(--pimp-colors-white);
46
+ --pimp-background-primary-hover: var(--pimp-colors-grey-100);
47
+ --pimp-background-primary-hover-alt: var(--pimp-colors-violet-100);
48
+ --pimp-background-quaternary: var(--pimp-colors-grey-200);
49
+ --pimp-background-quaternary-hover: var(--pimp-colors-grey-300);
50
+ --pimp-background-secondary: var(--pimp-colors-grey-50);
51
+ --pimp-background-secondary-hover: var(--pimp-colors-grey-100);
52
+ --pimp-background-solid: var(--pimp-colors-grey-900);
53
+ --pimp-background-success-primary: var(--pimp-colors-green-50);
54
+ --pimp-background-success-primary-hover: var(--pimp-colors-green-100);
55
+ --pimp-background-success-secondary: var(--pimp-colors-green-100);
56
+ --pimp-background-success-secondary-hover: var(--pimp-colors-green-200);
57
+ --pimp-background-success-solid: var(--pimp-colors-green-400);
58
+ --pimp-background-success-solid-hover: var(--pimp-colors-green-500);
59
+ --pimp-background-surface: var(--pimp-colors-white);
60
+ --pimp-background-tertiary: var(--pimp-colors-grey-100);
61
+ --pimp-background-tertiary-hover: var(--pimp-colors-grey-200);
62
+ --pimp-background-warning-primary: var(--pimp-colors-orange-50);
63
+ --pimp-background-warning-primary-hover: var(--pimp-colors-orange-100);
64
+ --pimp-background-warning-secondary: var(--pimp-colors-orange-100);
65
+ --pimp-background-warning-secondary-hover: var(--pimp-colors-orange-200);
66
+ --pimp-background-warning-solid: var(--pimp-colors-orange-400);
67
+ --pimp-background-warning-solid-hover: var(--pimp-colors-orange-500);
68
+ --pimp-background-yellow-primary: var(--pimp-colors-yellow-50);
69
+ --pimp-background-yellow-primary-hover: var(--pimp-colors-yellow-100);
70
+ --pimp-background-yellow-secondary: var(--pimp-colors-yellow-100);
71
+ --pimp-background-yellow-secondary-hover: var(--pimp-colors-yellow-200);
72
+ --pimp-background-yellow-solid: var(--pimp-colors-yellow-300);
73
+ --pimp-background-yellow-solid-hover: var(--pimp-colors-yellow-400);
74
+
75
+ --pimp-border-accent-primary: var(--pimp-colors-violet-200);
76
+ --pimp-border-accent-primary-hover: var(--pimp-colors-violet-300);
77
+ --pimp-border-accent-solid: var(--pimp-colors-violet-500);
78
+ --pimp-border-blue-primary: var(--pimp-colors-blue-200);
79
+ --pimp-border-blue-solid: var(--pimp-colors-blue-500);
80
+ --pimp-border-disabled: var(--pimp-colors-grey-100);
81
+ --pimp-border-error-primary: var(--pimp-colors-red-200);
82
+ --pimp-border-error-solid: var(--pimp-colors-red-500);
83
+ --pimp-border-magenta-primary: var(--pimp-colors-magenta-200);
84
+ --pimp-border-magenta-solid: var(--pimp-colors-magenta-500);
85
+ --pimp-border-pink-primary: var(--pimp-colors-pink-200);
86
+ --pimp-border-pink-solid: var(--pimp-colors-pink-500);
87
+ --pimp-border-soft: var(--pimp-colors-grey-200);
88
+ --pimp-border-soft-hover: var(--pimp-colors-grey-300);
89
+ --pimp-border-solid: var(--pimp-colors-grey-800);
90
+ --pimp-border-strong: var(--pimp-colors-grey-300);
91
+ --pimp-border-strong-hover: var(--pimp-colors-grey-400);
92
+ --pimp-border-success-primary: var(--pimp-colors-green-200);
93
+ --pimp-border-success-solid: var(--pimp-colors-green-400);
94
+ --pimp-border-warning-primary: var(--pimp-colors-orange-200);
95
+ --pimp-border-warning-solid: var(--pimp-colors-orange-400);
96
+ --pimp-border-yellow-primary: var(--pimp-colors-yellow-200);
97
+ --pimp-border-yellow-solid: var(--pimp-colors-yellow-500);
98
+
99
+ --pimp-foreground-accent-primary: var(--pimp-colors-violet-500);
100
+ --pimp-foreground-accent-primary-hover: var(--pimp-colors-violet-600);
101
+ --pimp-foreground-accent-secondary: var(--pimp-colors-violet-400);
102
+ --pimp-foreground-accent-secondary-hover: var(--pimp-colors-violet-500);
103
+ --pimp-foreground-blue-primary: var(--pimp-colors-blue-500);
104
+ --pimp-foreground-blue-primary-hover: var(--pimp-colors-blue-600);
105
+ --pimp-foreground-blue-secondary: var(--pimp-colors-blue-400);
106
+ --pimp-foreground-blue-secondary-hover: var(--pimp-colors-blue-500);
107
+ --pimp-foreground-disabled: var(--pimp-colors-grey-400);
108
+ --pimp-foreground-error-primary: var(--pimp-colors-red-500);
109
+ --pimp-foreground-error-primary-hover: var(--pimp-colors-red-600);
110
+ --pimp-foreground-error-secondary: var(--pimp-colors-red-400);
111
+ --pimp-foreground-error-secondary-hover: var(--pimp-colors-red-500);
112
+ --pimp-foreground-magenta-primary: var(--pimp-colors-magenta-500);
113
+ --pimp-foreground-magenta-primary-hover: var(--pimp-colors-magenta-600);
114
+ --pimp-foreground-magenta-secondary: var(--pimp-colors-magenta-400);
115
+ --pimp-foreground-magenta-secondary-hover: var(--pimp-colors-magenta-500);
116
+ --pimp-foreground-pink-primary: var(--pimp-colors-pink-500);
117
+ --pimp-foreground-pink-primary-hover: var(--pimp-colors-pink-600);
118
+ --pimp-foreground-pink-secondary: var(--pimp-colors-pink-400);
119
+ --pimp-foreground-pink-secondary-hover: var(--pimp-colors-pink-500);
120
+ --pimp-foreground-placeholder: var(--pimp-colors-grey-500);
121
+ --pimp-foreground-primary: var(--pimp-colors-grey-800);
122
+ --pimp-foreground-quaternary: var(--pimp-colors-grey-300);
123
+ --pimp-foreground-secondary: var(--pimp-colors-grey-600);
124
+ --pimp-foreground-secondary-hover: var(--pimp-colors-grey-800);
125
+ --pimp-foreground-success-primary: var(--pimp-colors-green-500);
126
+ --pimp-foreground-success-primary-hover: var(--pimp-colors-green-600);
127
+ --pimp-foreground-success-secondary: var(--pimp-colors-green-400);
128
+ --pimp-foreground-success-secondary-hover: var(--pimp-colors-green-500);
129
+ --pimp-foreground-tertiary: var(--pimp-colors-grey-500);
130
+ --pimp-foreground-warning-primary: var(--pimp-colors-orange-500);
131
+ --pimp-foreground-warning-primary-hover: var(--pimp-colors-orange-600);
132
+ --pimp-foreground-warning-secondary: var(--pimp-colors-orange-400);
133
+ --pimp-foreground-warning-secondary-hover: var(--pimp-colors-orange-500);
134
+ --pimp-foreground-white: var(--pimp-colors-white);
135
+ --pimp-foreground-yellow-primary: var(--pimp-colors-yellow-500);
136
+ --pimp-foreground-yellow-primary-hover: var(--pimp-colors-yellow-600);
137
+ --pimp-foreground-yellow-secondary: var(--pimp-colors-yellow-400);
138
+ --pimp-foreground-yellow-secondary-hover: var(--pimp-colors-yellow-500);
139
+
140
+ --pimp-text-accent-primary: var(--pimp-colors-violet-500);
141
+ --pimp-text-accent-primary-hover: var(--pimp-colors-violet-600);
142
+ --pimp-text-accent-secondary: var(--pimp-colors-violet-700);
143
+ --pimp-text-accent-secondary-hover: var(--pimp-colors-violet-800);
144
+ --pimp-text-blue-primary: var(--pimp-colors-blue-500);
145
+ --pimp-text-blue-primary-hover: var(--pimp-colors-blue-600);
146
+ --pimp-text-blue-secondary: var(--pimp-colors-blue-700);
147
+ --pimp-text-blue-secondary-hover: var(--pimp-colors-blue-800);
148
+ --pimp-text-disabled: var(--pimp-colors-grey-400);
149
+ --pimp-text-error-primary: var(--pimp-colors-red-500);
150
+ --pimp-text-error-primary-hover: var(--pimp-colors-red-600);
151
+ --pimp-text-error-secondary: var(--pimp-colors-red-700);
152
+ --pimp-text-error-secondary-hover: var(--pimp-colors-red-800);
153
+ --pimp-text-magenta-primary: var(--pimp-colors-magenta-500);
154
+ --pimp-text-magenta-primary-hover: var(--pimp-colors-magenta-600);
155
+ --pimp-text-magenta-secondary: var(--pimp-colors-magenta-700);
156
+ --pimp-text-magenta-secondary-hover: var(--pimp-colors-magenta-800);
157
+ --pimp-text-pink-primary: var(--pimp-colors-pink-500);
158
+ --pimp-text-pink-primary-hover: var(--pimp-colors-pink-600);
159
+ --pimp-text-pink-secondary: var(--pimp-colors-pink-700);
160
+ --pimp-text-pink-secondary-hover: var(--pimp-colors-pink-800);
161
+ --pimp-text-placeholder: var(--pimp-colors-grey-500);
162
+ --pimp-text-primary: var(--pimp-colors-grey-800);
163
+ --pimp-text-secondary: var(--pimp-colors-grey-600);
164
+ --pimp-text-secondary-hover: var(--pimp-colors-grey-800);
165
+ --pimp-text-success-primary: var(--pimp-colors-green-500);
166
+ --pimp-text-success-primary-hover: var(--pimp-colors-green-600);
167
+ --pimp-text-success-secondary: var(--pimp-colors-green-700);
168
+ --pimp-text-success-secondary-hover: var(--pimp-colors-green-800);
169
+ --pimp-text-tertiary: var(--pimp-colors-grey-500);
170
+ --pimp-text-warning-primary: var(--pimp-colors-orange-500);
171
+ --pimp-text-warning-primary-hover: var(--pimp-colors-orange-600);
172
+ --pimp-text-warning-secondary: var(--pimp-colors-orange-700);
173
+ --pimp-text-warning-secondary-hover: var(--pimp-colors-orange-800);
174
+ --pimp-text-white: var(--pimp-colors-white);
175
+ --pimp-text-yellow-primary: var(--pimp-colors-yellow-500);
176
+ --pimp-text-yellow-primary-hover: var(--pimp-colors-yellow-600);
177
+ --pimp-text-yellow-secondary: var(--pimp-colors-yellow-700);
178
+ --pimp-text-yellow-secondary-hover: var(--pimp-colors-yellow-800);
179
+
180
+ --pimp-utility-accent-100: var(--pimp-colors-violet-100);
181
+ --pimp-utility-accent-1000: var(--pimp-colors-violet-1000);
182
+ --pimp-utility-accent-200: var(--pimp-colors-violet-200);
183
+ --pimp-utility-accent-300: var(--pimp-colors-violet-300);
184
+ --pimp-utility-accent-400: var(--pimp-colors-violet-400);
185
+ --pimp-utility-accent-50: var(--pimp-colors-violet-50);
186
+ --pimp-utility-accent-500: var(--pimp-colors-violet-500);
187
+ --pimp-utility-accent-600: var(--pimp-colors-violet-600);
188
+ --pimp-utility-accent-700: var(--pimp-colors-violet-700);
189
+ --pimp-utility-accent-800: var(--pimp-colors-violet-800);
190
+ --pimp-utility-accent-900: var(--pimp-colors-violet-900);
191
+ --pimp-utility-blue-100: var(--pimp-colors-blue-100);
192
+ --pimp-utility-blue-1000: var(--pimp-colors-blue-1000);
193
+ --pimp-utility-blue-200: var(--pimp-colors-blue-200);
194
+ --pimp-utility-blue-300: var(--pimp-colors-blue-300);
195
+ --pimp-utility-blue-400: var(--pimp-colors-blue-400);
196
+ --pimp-utility-blue-50: var(--pimp-colors-blue-50);
197
+ --pimp-utility-blue-500: var(--pimp-colors-blue-500);
198
+ --pimp-utility-blue-600: var(--pimp-colors-blue-600);
199
+ --pimp-utility-blue-700: var(--pimp-colors-blue-700);
200
+ --pimp-utility-blue-800: var(--pimp-colors-blue-800);
201
+ --pimp-utility-blue-900: var(--pimp-colors-blue-900);
202
+ --pimp-utility-error-100: var(--pimp-colors-red-100);
203
+ --pimp-utility-error-1000: var(--pimp-colors-red-1000);
204
+ --pimp-utility-error-200: var(--pimp-colors-red-200);
205
+ --pimp-utility-error-300: var(--pimp-colors-red-300);
206
+ --pimp-utility-error-400: var(--pimp-colors-red-400);
207
+ --pimp-utility-error-50: var(--pimp-colors-red-50);
208
+ --pimp-utility-error-500: var(--pimp-colors-red-500);
209
+ --pimp-utility-error-600: var(--pimp-colors-red-600);
210
+ --pimp-utility-error-700: var(--pimp-colors-red-700);
211
+ --pimp-utility-error-800: var(--pimp-colors-red-800);
212
+ --pimp-utility-error-900: var(--pimp-colors-red-900);
213
+ --pimp-utility-magenta-100: var(--pimp-colors-magenta-100);
214
+ --pimp-utility-magenta-1000: var(--pimp-colors-magenta-1000);
215
+ --pimp-utility-magenta-200: var(--pimp-colors-magenta-200);
216
+ --pimp-utility-magenta-300: var(--pimp-colors-magenta-300);
217
+ --pimp-utility-magenta-400: var(--pimp-colors-magenta-400);
218
+ --pimp-utility-magenta-50: var(--pimp-colors-magenta-50);
219
+ --pimp-utility-magenta-500: var(--pimp-colors-magenta-500);
220
+ --pimp-utility-magenta-600: var(--pimp-colors-magenta-600);
221
+ --pimp-utility-magenta-700: var(--pimp-colors-magenta-700);
222
+ --pimp-utility-magenta-800: var(--pimp-colors-magenta-800);
223
+ --pimp-utility-magenta-900: var(--pimp-colors-magenta-900);
224
+ --pimp-utility-neutral-100: var(--pimp-colors-grey-100);
225
+ --pimp-utility-neutral-1000: var(--pimp-colors-grey-1000);
226
+ --pimp-utility-neutral-200: var(--pimp-colors-grey-200);
227
+ --pimp-utility-neutral-300: var(--pimp-colors-grey-300);
228
+ --pimp-utility-neutral-400: var(--pimp-colors-grey-400);
229
+ --pimp-utility-neutral-50: var(--pimp-colors-grey-50);
230
+ --pimp-utility-neutral-500: var(--pimp-colors-grey-500);
231
+ --pimp-utility-neutral-600: var(--pimp-colors-grey-600);
232
+ --pimp-utility-neutral-700: var(--pimp-colors-grey-700);
233
+ --pimp-utility-neutral-800: var(--pimp-colors-grey-800);
234
+ --pimp-utility-neutral-900: var(--pimp-colors-grey-900);
235
+ --pimp-utility-pink-100: var(--pimp-colors-pink-100);
236
+ --pimp-utility-pink-1000: var(--pimp-colors-pink-1000);
237
+ --pimp-utility-pink-200: var(--pimp-colors-pink-200);
238
+ --pimp-utility-pink-300: var(--pimp-colors-pink-300);
239
+ --pimp-utility-pink-400: var(--pimp-colors-pink-400);
240
+ --pimp-utility-pink-50: var(--pimp-colors-pink-50);
241
+ --pimp-utility-pink-500: var(--pimp-colors-pink-500);
242
+ --pimp-utility-pink-600: var(--pimp-colors-pink-600);
243
+ --pimp-utility-pink-700: var(--pimp-colors-pink-700);
244
+ --pimp-utility-pink-800: var(--pimp-colors-pink-800);
245
+ --pimp-utility-pink-900: var(--pimp-colors-pink-900);
246
+ --pimp-utility-success-100: var(--pimp-colors-green-100);
247
+ --pimp-utility-success-1000: var(--pimp-colors-green-1000);
248
+ --pimp-utility-success-200: var(--pimp-colors-green-200);
249
+ --pimp-utility-success-300: var(--pimp-colors-green-300);
250
+ --pimp-utility-success-400: var(--pimp-colors-green-400);
251
+ --pimp-utility-success-50: var(--pimp-colors-green-50);
252
+ --pimp-utility-success-500: var(--pimp-colors-green-500);
253
+ --pimp-utility-success-600: var(--pimp-colors-green-600);
254
+ --pimp-utility-success-700: var(--pimp-colors-green-700);
255
+ --pimp-utility-success-800: var(--pimp-colors-green-800);
256
+ --pimp-utility-success-900: var(--pimp-colors-green-900);
257
+ --pimp-utility-warning-100: var(--pimp-colors-orange-100);
258
+ --pimp-utility-warning-1000: var(--pimp-colors-orange-1000);
259
+ --pimp-utility-warning-200: var(--pimp-colors-orange-200);
260
+ --pimp-utility-warning-300: var(--pimp-colors-orange-300);
261
+ --pimp-utility-warning-400: var(--pimp-colors-orange-400);
262
+ --pimp-utility-warning-50: var(--pimp-colors-orange-50);
263
+ --pimp-utility-warning-500: var(--pimp-colors-orange-500);
264
+ --pimp-utility-warning-600: var(--pimp-colors-orange-600);
265
+ --pimp-utility-warning-700: var(--pimp-colors-orange-700);
266
+ --pimp-utility-warning-800: var(--pimp-colors-orange-800);
267
+ --pimp-utility-warning-900: var(--pimp-colors-orange-900);
268
+ --pimp-utility-yellow-100: var(--pimp-colors-yellow-100);
269
+ --pimp-utility-yellow-1000: var(--pimp-colors-yellow-1000);
270
+ --pimp-utility-yellow-200: var(--pimp-colors-yellow-200);
271
+ --pimp-utility-yellow-300: var(--pimp-colors-yellow-300);
272
+ --pimp-utility-yellow-400: var(--pimp-colors-yellow-400);
273
+ --pimp-utility-yellow-50: var(--pimp-colors-yellow-50);
274
+ --pimp-utility-yellow-500: var(--pimp-colors-yellow-500);
275
+ --pimp-utility-yellow-600: var(--pimp-colors-yellow-600);
276
+ --pimp-utility-yellow-700: var(--pimp-colors-yellow-700);
277
+ --pimp-utility-yellow-800: var(--pimp-colors-yellow-800);
278
+ --pimp-utility-yellow-900: var(--pimp-colors-yellow-900);
279
+
280
+ /**
281
+ * DIMENSIONS
282
+ */
283
+
284
+ --pimp-breakpoint-2xl: var(--pimp-dimensions-384);
285
+ --pimp-breakpoint-lg: var(--pimp-dimensions-256);
286
+ --pimp-breakpoint-md: var(--pimp-dimensions-192);
287
+ --pimp-breakpoint-sm: var(--pimp-dimensions-160);
288
+ --pimp-breakpoint-xl: var(--pimp-dimensions-320);
289
+
290
+ --pimp-radius-2xl: var(--pimp-dimensions-6);
291
+ --pimp-radius-full: 2147483648; // BIGINT
292
+ --pimp-radius-lg: var(--pimp-dimensions-3);
293
+ --pimp-radius-md: var(--pimp-dimensions-2);
294
+ --pimp-radius-md-lg: var(--pimp-dimensions-2_5);
295
+ --pimp-radius-none: var(--pimp-dimensions-0);
296
+ --pimp-radius-sm: var(--pimp-dimensions-1);
297
+ --pimp-radius-sm-md: var(--pimp-dimensions-1_5);
298
+ --pimp-radius-xl: var(--pimp-dimensions-4);
299
+ --pimp-radius-xs: var(--pimp-dimensions-0_5);
300
+ --pimp-spacing-2xl: var(--pimp-dimensions-6);
301
+ --pimp-spacing-3xl: var(--pimp-dimensions-8);
302
+ --pimp-spacing-4xl: var(--pimp-dimensions-10);
303
+ --pimp-spacing-lg: var(--pimp-dimensions-3);
304
+ --pimp-spacing-md: var(--pimp-dimensions-2);
305
+ --pimp-spacing-none: var(--pimp-dimensions-0);
306
+ --pimp-spacing-sm: var(--pimp-dimensions-1);
307
+ --pimp-spacing-sm-md: var(--pimp-dimensions-1_5);
308
+ --pimp-spacing-xl: var(--pimp-dimensions-4);
309
+ --pimp-spacing-xs: var(--pimp-dimensions-0_5);
310
+ --pimp-width-2xs: var(--pimp-dimensions-2);
311
+ --pimp-width-lg: var(--pimp-dimensions-6);
312
+ --pimp-width-md: var(--pimp-dimensions-5);
313
+ --pimp-width-sm: var(--pimp-dimensions-4);
314
+ --pimp-width-xl: var(--pimp-dimensions-8);
315
+ --pimp-width-xs: var(--pimp-dimensions-3);
316
+
317
+ /**
318
+ * TYPO
319
+ */
320
+
321
+ --pimp-text-xs--pimp-font-normal: var(--pimp-size-xs);
322
+ --pimp-text-xs--pimp-font-normal--pimp-line-height: var(--pimp-line-height-xs);
323
+ --pimp-text-xs--pimp-font-normal--pimp-letter-spacing: var(--pimp-letter-spacing-xs);
324
+
325
+ --pimp-text-sm--pimp-font-normal: var(--pimp-size-sm);
326
+ --pimp-text-sm--pimp-font-normal--pimp-line-height: var(--pimp-line-height-sm);
327
+ --pimp-text-sm--pimp-font-normal--pimp-letter-spacing: var(--pimp-letter-spacing-sm);
328
+
329
+ --pimp-text-md--pimp-font-normal: var(--pimp-size-md);
330
+ --pimp-text-md--pimp-font-normal--pimp-line-height: var(--pimp-line-height-md);
331
+ --pimp-text-md--pimp-font-normal--pimp-letter-spacing: var(--pimp-letter-spacing-md);
332
+
333
+ --pimp-text-lg--pimp-font-normal: var(--pimp-size-lg);
334
+ --pimp-text-lg--pimp-font-normal--pimp-line-height: var(--pimp-line-height-lg);
335
+ --pimp-text-lg--pimp-font-normal--pimp-letter-spacing: var(--pimp-letter-spacing-lg);
336
+
337
+ --pimp-text-xl--pimp-font-normal: var(--pimp-size-xl);
338
+ --pimp-text-xl--pimp-font-normal--pimp-line-height: var(--pimp-line-height-xl);
339
+ --pimp-text-xl--pimp-font-normal--pimp-letter-spacing: var(--pimp-letter-spacing-xl);
340
+
341
+ --pimp-text-2xl--pimp-font-normal: var(--pimp-size-2xl);
342
+ --pimp-text-2xl--pimp-font-normal--pimp-line-height: var(--pimp-line-height-2xl);
343
+ --pimp-text-2xl--pimp-font-normal--pimp-letter-spacing: var(--pimp-letter-spacing-2xl);
344
+
345
+ --pimp-text-3xl--pimp-font-normal: var(--pimp-size-3xl);
346
+ --pimp-text-3xl--pimp-font-normal--pimp-line-height: var(--pimp-line-height-3xl);
347
+ --pimp-text-3xl--pimp-font-normal--pimp-letter-spacing: var(--pimp-letter-spacing-3xl);
348
+
349
+ --pimp-text-4xl--pimp-font-normal: var(--pimp-size-4xl);
350
+ --pimp-text-4xl--pimp-font-normal--pimp-line-height: var(--pimp-line-height-4xl);
351
+ --pimp-text-4xl--pimp-font-normal--pimp-letter-spacing: var(--pimp-letter-spacing-4xl);
352
+
353
+ --pimp-text-5xl--pimp-font-normal: var(--pimp-size-5xl);
354
+ --pimp-text-5xl--pimp-font-normal--pimp-line-height: var(--pimp-line-height-5xl);
355
+ --pimp-text-5xl--pimp-font-normal--pimp-letter-spacing: var(--pimp-letter-spacing-5xl);
356
+
357
+ --pimp-text-6xl--pimp-font-normal: var(--pimp-size-6xl);
358
+ --pimp-text-6xl--pimp-font-normal--pimp-line-height: var(--pimp-line-height-6xl);
359
+ --pimp-text-6xl--pimp-font-normal--pimp-letter-spacing: var(--pimp-letter-spacing-6xl);
360
+
361
+ --pimp-text-7xl--pimp-font-normal: var(--pimp-size-7xl);
362
+ --pimp-text-7xl--pimp-font-normal--pimp-line-height: var(--pimp-line-height-7xl);
363
+ --pimp-text-7xl--pimp-font-normal--pimp-letter-spacing: var(--pimp-letter-spacing-7xl);
364
+
365
+ --pimp-text-8xl--pimp-font-normal: var(--pimp-size-8xl);
366
+ --pimp-text-8xl--pimp-font-normal--pimp-line-height: var(--pimp-line-height-8xl);
367
+ --pimp-text-8xl--pimp-font-normal--pimp-letter-spacing: var(--pimp-letter-spacing-8xl);
368
+
369
+ --pimp-text-9xl--pimp-font-normal: var(--pimp-size-9xl);
370
+ --pimp-text-9xl--pimp-font-normal--pimp-line-height: var(--pimp-line-height-9xl);
371
+ --pimp-text-9xl--pimp-font-normal--pimp-letter-spacing: var(--pimp-letter-spacing-9xl);
372
+
373
+ /* monospace text-size styles */
374
+
375
+ --pimp-monospace-xs--pimp-font-light: var(--pimp-size-xs);
376
+ --pimp-monospace-xs--pimp-font-light--pimp-line-height: var(--pimp-line-height-xs);
377
+ --pimp-monospace-xs--pimp-font-light--pimp-letter-spacing: var(--pimp-letter-spacing-xs);
378
+
379
+ --pimp-monospace-sm--pimp-font-light: var(--pimp-size-sm);
380
+ --pimp-monospace-sm--pimp-font-light--pimp-line-height: var(--pimp-line-height-sm);
381
+ --pimp-monospace-sm--pimp-font-light--pimp-letter-spacing: var(--pimp-letter-spacing-sm);
382
+
383
+ --pimp-monospace-md--pimp-font-light: var(--pimp-size-md);
384
+ --pimp-monospace-md--pimp-font-light--pimp-line-height: var(--pimp-line-height-md);
385
+ --pimp-monospace-md--pimp-font-light--pimp-letter-spacing: var(--pimp-letter-spacing-md);
386
+
387
+ /**
388
+ * SHADOWS
389
+ */
390
+
391
+ --pimp-shadows--pimp-3xs: var(--pimp-drop-shadow-3xs-offset-x) var(--pimp-drop-shadow-3xs-offset-y)
392
+ var(--pimp-drop-shadow-3xs-blur) var(--pimp-drop-shadow-3xs-spread) var(--pimp-drop-shadow-3xs-color);
393
+ --pimp-shadows--pimp-2xs: var(--pimp-drop-shadow-2xs-offset-x) var(--pimp-drop-shadow-2xs-offset-y)
394
+ var(--pimp-drop-shadow-2xs-blur) var(--pimp-drop-shadow-2xs-spread) var(--pimp-drop-shadow-2xs-color);
395
+ --pimp-shadows--pimp-xs: var(--pimp-drop-shadow-xs-offset-x) var(--pimp-drop-shadow-xs-offset-y)
396
+ var(--pimp-drop-shadow-xs-blur) var(--pimp-drop-shadow-xs-spread) var(--pimp-drop-shadow-xs-color);
397
+ --pimp-shadows--pimp-sm: var(--pimp-drop-shadow-sm-offset-x) var(--pimp-drop-shadow-sm-offset-y)
398
+ var(--pimp-drop-shadow-sm-blur) var(--pimp-drop-shadow-sm-spread) var(--pimp-drop-shadow-sm-color);
399
+ --pimp-shadows--pimp-md: var(--pimp-drop-shadow-md-offset-x) var(--pimp-drop-shadow-md-offset-y)
400
+ var(--pimp-drop-shadow-md-blur) var(--pimp-drop-shadow-md-spread) var(--pimp-drop-shadow-md-color);
401
+ --pimp-shadows--pimp-lg: var(--pimp-drop-shadow-lg-offset-x) var(--pimp-drop-shadow-lg-offset-y)
402
+ var(--pimp-drop-shadow-lg-blur) var(--pimp-drop-shadow-lg-spread) var(--pimp-drop-shadow-lg-color);
403
+ --pimp-shadows--pimp-xl: var(--pimp-drop-shadow-xl-offset-x) var(--pimp-drop-shadow-xl-offset-y)
404
+ var(--pimp-drop-shadow-xl-blur) var(--pimp-drop-shadow-xl-spread) var(--pimp-drop-shadow-xl-color);
405
+ --pimp-shadows--pimp-side-panel: var(--pimp-drop-shadow-side-panel-offset-x)
406
+ var(--pimp-drop-shadow-side-panel-offset-y) var(--pimp-drop-shadow-side-panel-blur)
407
+ var(--pimp-drop-shadow-side-panel-spread) var(--pimp-drop-shadow-side-panel-color);
408
+
409
+ /* overlay shadows are multi-layered; keep linked to primitives */
410
+ --pimp-shadows--pimp-overlay:
411
+ var(--pimp-drop-shadow-overlay-1-offset-x) var(--pimp-drop-shadow-overlay-1-offset-y)
412
+ var(--pimp-drop-shadow-overlay-1-blur) var(--pimp-drop-shadow-overlay-1-spread)
413
+ var(--pimp-drop-shadow-overlay-1-color),
414
+ var(--pimp-drop-shadow-overlay-2-offset-x) var(--pimp-drop-shadow-overlay-2-offset-y)
415
+ var(--pimp-drop-shadow-overlay-2-blur) var(--pimp-drop-shadow-overlay-2-spread)
416
+ var(--pimp-drop-shadow-overlay-2-color),
417
+ var(--pimp-drop-shadow-overlay-3-offset-x) var(--pimp-drop-shadow-overlay-3-offset-y)
418
+ var(--pimp-drop-shadow-overlay-3-blur) var(--pimp-drop-shadow-overlay-3-spread)
419
+ var(--pimp-drop-shadow-overlay-3-color),
420
+ var(--pimp-drop-shadow-overlay-4-offset-x) var(--pimp-drop-shadow-overlay-4-offset-y)
421
+ var(--pimp-drop-shadow-overlay-4-blur) var(--pimp-drop-shadow-overlay-4-spread)
422
+ var(--pimp-drop-shadow-overlay-4-color),
423
+ var(--pimp-drop-shadow-overlay-5-offset-x) var(--pimp-drop-shadow-overlay-5-offset-y)
424
+ var(--pimp-drop-shadow-overlay-5-blur) var(--pimp-drop-shadow-overlay-5-spread)
425
+ var(--pimp-drop-shadow-overlay-5-color);
426
+ }
@@ -124,7 +124,7 @@
124
124
  </template>
125
125
 
126
126
  <script setup lang="ts">
127
- import { ref, computed, useId } from 'vue'
127
+ import { ref, computed, useId, watch } from 'vue'
128
128
 
129
129
  import { CpTableColumnObject } from '@/constants/CpTableColumn'
130
130
 
@@ -136,9 +136,9 @@ import { camelize, decamelize } from '@/helpers/string'
136
136
  import { PAGINATION_FORMATS, RESERVED_KEYS, VISIBLE_ROWS_MAX } from '@/constants'
137
137
 
138
138
  interface Emits {
139
- (e: 'onRowClick', data: Record<string, unknown>): void
140
- (e: 'onNextClick'): void
141
- (e: 'onPreviousClick'): void
139
+ (evt: 'onRowClick', data: Record<string, unknown>): void
140
+ (evt: 'onNextClick' | 'onPreviousClick'): void
141
+ (evt: 'onColumnsChanged', columns: CpTableColumnObject[]): void
142
142
  }
143
143
 
144
144
  interface PaginationServer {
@@ -235,35 +235,42 @@ const containerDOMElement = computed(() => cpTableContainer.value)
235
235
  const mainClasses = computed(() => ({ 'cpTable--isLoading': props.isLoading }))
236
236
  const containerClasses = computed(() => ({ 'cpTable__container--hasPagination': hasPagination.value }))
237
237
 
238
+ const formatColumns = (column: CpTableColumnObject | string) => {
239
+ if (typeof column === 'string') {
240
+ return {
241
+ id: camelize(column),
242
+ name: decamelize(column),
243
+ isHidden: false,
244
+ }
245
+ }
246
+
247
+ return {
248
+ ...column,
249
+ id: column.id || camelize(column.name),
250
+ }
251
+ }
252
+
238
253
  const normalizedColumns = computed<CpTableColumnObject[]>(() => {
239
254
  if (!props.columns) return []
240
255
 
241
256
  const columns = props.columns.length ? [...props.columns] : [...columnsFromRows.value]
242
257
 
243
- return columns.map((column) => {
244
- if (typeof column === 'string') {
245
- return {
246
- id: camelize(column),
247
- name: decamelize(column),
248
- isHidden: false,
249
- }
250
- }
251
-
252
- return {
253
- ...column,
254
- id: column.id || camelize(column.name),
255
- }
256
- })
258
+ return columns.map(formatColumns)
257
259
  })
258
260
 
259
- const visibleColumns = computed(() => normalizedColumns.value.filter(({ id }) => columnsModel.value.includes(id)))
260
-
261
261
  const getVisibleColumnsIds = () => {
262
262
  return normalizedColumns.value.filter(({ isHidden, isProtected }) => !isHidden || isProtected).map(({ id }) => id)
263
263
  }
264
264
 
265
265
  const columnsModel = ref<string[]>(getVisibleColumnsIds())
266
266
 
267
+ watch(columnsModel, (newColumnsModel) => {
268
+ const newColumns = normalizedColumns.value.map((col) => ({ ...col, isHidden: !newColumnsModel.includes(col.id) }))
269
+ emit('onColumnsChanged', newColumns)
270
+ })
271
+
272
+ const visibleColumns = computed(() => normalizedColumns.value.filter(({ id }) => columnsModel.value.includes(id)))
273
+
267
274
  const numberOfColumns = computed(() => visibleColumns.value.length)
268
275
 
269
276
  const hasGroupBy = computed(() => {
@@ -1,3 +1,4 @@
1
+ import { action } from 'storybook/actions'
1
2
  import { ref, computed } from 'vue'
2
3
 
3
4
  import type { Meta, StoryObj } from '@storybook/vue3'
@@ -9,56 +10,6 @@ import { PAGINATION_FORMATS } from '@/constants'
9
10
  const meta = {
10
11
  title: 'CpTable',
11
12
  component: CpTable,
12
- argTypes: {
13
- caption: {
14
- control: 'text',
15
- description: 'Table caption for accessibility',
16
- },
17
- columns: {
18
- control: 'object',
19
- description: 'Array of column definitions',
20
- },
21
- data: {
22
- control: 'object',
23
- description: 'Array of data objects to display',
24
- },
25
- pagination: {
26
- control: 'object',
27
- description: 'Pagination configuration (boolean or object)',
28
- },
29
- areRowsClickable: {
30
- control: 'boolean',
31
- description: 'Whether rows can be clicked',
32
- },
33
- emptyCellPlaceholder: {
34
- control: 'text',
35
- description: 'Placeholder text for empty cells',
36
- },
37
- noResultPlaceholder: {
38
- control: 'text',
39
- description: 'Placeholder text when no results found',
40
- },
41
- isLoading: {
42
- control: 'boolean',
43
- description: 'Whether the table is in loading state',
44
- },
45
- enableRowOptions: {
46
- control: 'boolean',
47
- description: 'Whether to show row options menu',
48
- },
49
- rowOptions: {
50
- control: 'object',
51
- description: 'Array of row options to display',
52
- },
53
- quickOptionsLimit: {
54
- control: 'number',
55
- description: 'Maximum number of quick options to display before showing the more button',
56
- },
57
- onRowClick: { action: 'row-clicked' },
58
- onRowRightClick: { action: 'row-right-clicked' },
59
- onNextClick: { action: 'next-clicked' },
60
- onPreviousClick: { action: 'previous-clicked' },
61
- },
62
13
  parameters: {
63
14
  backgrounds: {
64
15
  default: 'dark',
@@ -96,6 +47,10 @@ export const Default: Story = {
96
47
  pagination: {
97
48
  enabled: true,
98
49
  },
50
+ onOnRowClick: action('on-row-click'),
51
+ onOnPreviousClick: action('on-previous-click'),
52
+ onOnNextClick: action('on-next-click'),
53
+ onOnColumnsChanged: action('on-columns-changed'),
99
54
  },
100
55
  render: (args) => ({
101
56
  components: { CpTable },