@evixcard/evx-ui-kit 1.1.1 → 1.4.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 (46) hide show
  1. package/dist/components/BrandCard/BrandCard.vue.d.ts +1 -1
  2. package/dist/components/EvAppBackground/EvAppBackground.vue.d.ts +1 -1
  3. package/dist/components/EvButton/variants.d.ts +3 -0
  4. package/dist/components/EvComboboxSelect/EvComboboxSelect.spec.d.ts +1 -0
  5. package/dist/components/EvComboboxSelect/EvComboboxSelect.vue.d.ts +62 -0
  6. package/dist/components/EvComboboxSelect/index.d.ts +2 -0
  7. package/dist/components/EvComboboxSelect/types.d.ts +8 -0
  8. package/dist/components/EvConfirmDialog/EvConfirmDialog.vue.d.ts +1 -1
  9. package/dist/components/EvDatePicker/EvDatePicker.vue.d.ts +26 -0
  10. package/dist/components/EvDatePicker/index.d.ts +1 -0
  11. package/dist/components/EvIcon/EvIcon.spec.d.ts +1 -0
  12. package/dist/components/EvIcon/EvIcon.vue.d.ts +15 -0
  13. package/dist/components/EvIcon/icons.d.ts +69 -0
  14. package/dist/components/EvIcon/index.d.ts +2 -0
  15. package/dist/components/EvInput/EvInput.spec.d.ts +1 -0
  16. package/dist/components/EvInput/EvInput.vue.d.ts +2 -0
  17. package/dist/components/EvMenu/EvMenu.spec.d.ts +1 -0
  18. package/dist/components/EvMenu/EvMenu.vue.d.ts +44 -0
  19. package/dist/components/EvMenu/EvMenuDivider.vue.d.ts +5 -0
  20. package/dist/components/EvMenu/EvMenuItem.vue.d.ts +37 -0
  21. package/dist/components/EvMenu/index.d.ts +4 -0
  22. package/dist/components/EvMenu/types.d.ts +13 -0
  23. package/dist/components/EvMultiSelect/EvMultiSelect.spec.d.ts +1 -0
  24. package/dist/components/EvMultiSelect/EvMultiSelect.vue.d.ts +26 -0
  25. package/dist/components/EvMultiSelect/index.d.ts +2 -0
  26. package/dist/components/EvMultiSelect/types.d.ts +5 -0
  27. package/dist/components/EvPopup/EvPopup.vue.d.ts +9 -0
  28. package/dist/components/EvSearch/EvSearch.vue.d.ts +6 -0
  29. package/dist/components/EvSelect/EvSelect.spec.d.ts +1 -0
  30. package/dist/components/EvSelect/EvSelect.vue.d.ts +18 -1
  31. package/dist/components/EvTabs/EvTabs.vue.d.ts +17 -3
  32. package/dist/components/EvTooltip/EvTooltip.spec.d.ts +1 -0
  33. package/dist/components/EvTooltip/EvTooltip.vue.d.ts +39 -0
  34. package/dist/components/EvTooltip/index.d.ts +2 -0
  35. package/dist/components/EvTooltip/variants.d.ts +12 -0
  36. package/dist/components/charts/ChartTooltip.spec.d.ts +1 -0
  37. package/dist/components/charts/useChartTheme.spec.d.ts +1 -0
  38. package/dist/evx-ui-kit.cjs.js +12 -11
  39. package/dist/evx-ui-kit.cjs.js.map +1 -1
  40. package/dist/evx-ui-kit.css +1 -1
  41. package/dist/evx-ui-kit.es.js +8174 -6516
  42. package/dist/evx-ui-kit.es.js.map +1 -1
  43. package/dist/index.d.ts +8 -0
  44. package/dist/theme.css +171 -5
  45. package/package.json +2 -1
  46. package/dist/components/EvCopyField/icons.d.ts +0 -32
package/dist/index.d.ts CHANGED
@@ -30,6 +30,8 @@ export * from './components/EvSpinner';
30
30
  export * from './components/EvAlert';
31
31
  export * from './components/EvSelect';
32
32
  export * from './components/EvDropdown';
33
+ export * from './components/EvComboboxSelect';
34
+ export * from './components/EvDatePicker';
33
35
  export * from './components/EvPagination';
34
36
  export * from './components/EvFilterChip';
35
37
  export * from './components/EvTagInput';
@@ -45,5 +47,11 @@ export * from './components/EvToast';
45
47
  export * from './components/EvStepper';
46
48
  export * from './components/EvCategoryLabel';
47
49
  export * from './components/EvCopyField';
50
+ export * from './components/EvIcon';
51
+ export { EvTooltip } from './components/EvTooltip';
52
+ export type { EvTooltipPosition } from './components/EvTooltip';
53
+ export * from './components/EvMenu';
54
+ export { EvMultiSelect } from './components/EvMultiSelect';
55
+ export type { EvMultiSelectOption, EvMultiSelectValue } from './components/EvMultiSelect';
48
56
  export * from './components/charts';
49
57
  export * from './icons';
package/dist/theme.css CHANGED
@@ -47,7 +47,8 @@
47
47
  /* Brand backdrop base (behind the gradient image) */
48
48
  --color-backdrop: #ededef;
49
49
  --color-disabled: #cfcfcf;
50
- --color-disabled-bg: #f2f2f2;
50
+ /* Canon disabled surface (design v14 button spec). Admin used to override this. */
51
+ --color-disabled-bg: #e2e2e2;
51
52
  --color-disabled-text: #828282;
52
53
  --color-border: #e2e2e2;
53
54
  --color-surface: #f2f2f2;
@@ -101,10 +102,10 @@
101
102
 
102
103
  /* Charts */
103
104
  --chart-1: var(--brand-blue);
104
- --chart-2: var(--brand-pink);
105
- --chart-3: var(--brand-yellow);
106
- --chart-4: var(--brand-violet);
107
- --chart-5: var(--brand-green-cold);
105
+ --chart-2: var(--brand-violet);
106
+ --chart-3: var(--brand-pink);
107
+ --chart-4: var(--brand-green-warm);
108
+ --chart-5: var(--brand-yellow);
108
109
 
109
110
  /* Radius */
110
111
  --radius: 0.5rem;
@@ -124,6 +125,14 @@
124
125
  --sidebar-border: var(--gray-light);
125
126
  --sidebar-ring: var(--brand-blue);
126
127
 
128
+ /* Button */
129
+ --button-primary: #343434;
130
+ --button-primary-hover: var(--brand-black);
131
+ --button-primary-active: #292929;
132
+ --button-secondary: #ffffff;
133
+ --button-secondary-hover: #E4E4E4;
134
+ --button-secondary-active: #F0F0F0;
135
+
127
136
  /* Brand gradient */
128
137
  --brand-gradient: linear-gradient(135deg, #f6dd85 0%, #f7a1f4 46%, #6888fb 100%);
129
138
  /* Soft control gradient used by toggles/tabs (white → pink → light blue) */
@@ -223,6 +232,12 @@
223
232
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
224
233
  --color-sidebar-border: var(--sidebar-border);
225
234
  --color-sidebar-ring: var(--sidebar-ring);
235
+ --color-button-primary: var(--button-primary);
236
+ --color-button-primary-hover: var(--button-primary-hover);
237
+ --color-button-primary-active: var(--button-primary-active);
238
+ --color-button-secondary: var(--button-secondary);
239
+ --color-button-secondary-hover: var(--button-secondary-hover);
240
+ --color-button-secondary-active: var(--button-secondary-active);
226
241
  --radius-button: var(--radius-button);
227
242
  --radius-sm: var(--radius-form-sm);
228
243
  --radius-md: var(--radius-form-md);
@@ -350,3 +365,154 @@
350
365
  font-weight: 400;
351
366
  line-height: 1.4;
352
367
  }
368
+ .text-xxs-medium {
369
+ font-size: 10px;
370
+ font-weight: 500;
371
+ line-height: 1.4;
372
+ }
373
+ .text-xxs-regular {
374
+ font-size: 10px;
375
+ font-weight: 400;
376
+ line-height: 1.4;
377
+ }
378
+
379
+ /* Uppercase label variants — eyebrows, table captions, section headers.
380
+ Tighter line-height (130%) + letter-spacing; small label sizes only. */
381
+ .text-sm-uppercase-medium {
382
+ font-size: 14px;
383
+ font-weight: 500;
384
+ line-height: 1.3;
385
+ text-transform: uppercase;
386
+ letter-spacing: 0.04em;
387
+ }
388
+ .text-sm-uppercase-regular {
389
+ font-size: 14px;
390
+ font-weight: 400;
391
+ line-height: 1.3;
392
+ text-transform: uppercase;
393
+ letter-spacing: 0.04em;
394
+ }
395
+ .text-xs-uppercase-medium {
396
+ font-size: 12px;
397
+ font-weight: 500;
398
+ line-height: 1.3;
399
+ text-transform: uppercase;
400
+ letter-spacing: 0.06em;
401
+ }
402
+ .text-xs-uppercase-regular {
403
+ font-size: 12px;
404
+ font-weight: 400;
405
+ line-height: 1.3;
406
+ text-transform: uppercase;
407
+ letter-spacing: 0.06em;
408
+ }
409
+ .text-xxs-uppercase-medium {
410
+ font-size: 10px;
411
+ font-weight: 500;
412
+ line-height: 1.3;
413
+ text-transform: uppercase;
414
+ letter-spacing: 0.08em;
415
+ }
416
+ .text-xxs-uppercase-regular {
417
+ font-size: 10px;
418
+ font-weight: 400;
419
+ line-height: 1.3;
420
+ text-transform: uppercase;
421
+ letter-spacing: 0.08em;
422
+ }
423
+
424
+ /* Elevation — soft card / popover shadows (design v14). */
425
+ .shadow-card {
426
+ box-shadow:
427
+ 0 1px 0 rgba(15, 22, 41, 0.04),
428
+ 0 4px 14px rgba(15, 22, 41, 0.04);
429
+ }
430
+ .shadow-popover {
431
+ box-shadow:
432
+ 0 12px 36px rgba(15, 22, 41, 0.12),
433
+ 0 2px 8px rgba(15, 22, 41, 0.06);
434
+ }
435
+
436
+ /* Thin scrollbar — for inline scroll regions like tables. */
437
+ .scrollbar-thin {
438
+ scrollbar-width: thin;
439
+ scrollbar-color: #00000030 transparent;
440
+ }
441
+ .scrollbar-thin::-webkit-scrollbar {
442
+ width: 2px;
443
+ height: 2px;
444
+ }
445
+ .scrollbar-thin::-webkit-scrollbar-thumb {
446
+ background: #00000033;
447
+ border-radius: 2px;
448
+ }
449
+ .scrollbar-thin::-webkit-scrollbar-thumb:hover {
450
+ background: #00000066;
451
+ }
452
+ .scrollbar-thin::-webkit-scrollbar-track {
453
+ background: transparent;
454
+ }
455
+ .scrollbar-thin::-webkit-scrollbar-corner {
456
+ background: transparent;
457
+ }
458
+
459
+ /* Entrance animations (design v14) — overlays, modals, drawers. */
460
+ @keyframes fadeIn {
461
+ from {
462
+ opacity: 0;
463
+ transform: translateY(4px);
464
+ }
465
+ to {
466
+ opacity: 1;
467
+ transform: none;
468
+ }
469
+ }
470
+ @keyframes overlayIn {
471
+ from {
472
+ opacity: 0;
473
+ }
474
+ to {
475
+ opacity: 1;
476
+ }
477
+ }
478
+ @keyframes modalIn {
479
+ from {
480
+ opacity: 0;
481
+ transform: translateY(8px) scale(0.98);
482
+ }
483
+ to {
484
+ opacity: 1;
485
+ transform: none;
486
+ }
487
+ }
488
+ @keyframes drawerInRight {
489
+ from {
490
+ transform: translateX(100%);
491
+ }
492
+ to {
493
+ transform: translateX(0);
494
+ }
495
+ }
496
+ @keyframes drawerInLeft {
497
+ from {
498
+ transform: translateX(-100%);
499
+ }
500
+ to {
501
+ transform: translateX(0);
502
+ }
503
+ }
504
+ .fade-in {
505
+ animation: fadeIn 0.18s ease-out;
506
+ }
507
+ .overlay-in {
508
+ animation: overlayIn 0.15s ease-out;
509
+ }
510
+ .modal-in {
511
+ animation: modalIn 0.18s ease-out;
512
+ }
513
+ .drawer-in-right {
514
+ animation: drawerInRight 0.24s cubic-bezier(0.22, 0.61, 0.36, 1);
515
+ }
516
+ .drawer-in-left {
517
+ animation: drawerInLeft 0.24s cubic-bezier(0.22, 0.61, 0.36, 1);
518
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evixcard/evx-ui-kit",
3
- "version": "1.1.1",
3
+ "version": "1.4.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "engines": {
@@ -49,6 +49,7 @@
49
49
  "@headlessui/vue": "^1.7.23",
50
50
  "d3-scale": "^4.0.2",
51
51
  "d3-shape": "^3.2.0",
52
+ "lucide-vue-next": "^0.487.0",
52
53
  "motion-v": "^2.2.1",
53
54
  "tailwind-merge": "^3.4.0",
54
55
  "vue": "^3.5.25"
@@ -1,32 +0,0 @@
1
- import { PropType } from 'vue';
2
- /**
3
- * Inline lucide-style icons used by EvCopyField. The kit has no lucide
4
- * dependency, so we render the same geometric children inside an <svg> shell
5
- * (matching the reference CopyField which used lucide `eye` / `eye-off` /
6
- * `copy` / `check`).
7
- */
8
- type IconName = 'eye' | 'eye-off' | 'copy' | 'check';
9
- export declare const EvCopyFieldIcon: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
10
- name: {
11
- type: PropType<IconName>;
12
- required: true;
13
- };
14
- size: {
15
- type: NumberConstructor;
16
- default: number;
17
- };
18
- }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
19
- [key: string]: any;
20
- }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
21
- name: {
22
- type: PropType<IconName>;
23
- required: true;
24
- };
25
- size: {
26
- type: NumberConstructor;
27
- default: number;
28
- };
29
- }>> & Readonly<{}>, {
30
- size: number;
31
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
32
- export type { IconName };