@xleddyl/443-components-vue 0.3.0 → 0.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 (98) hide show
  1. package/README.md +52 -25
  2. package/dist/components/core/FieldBoundary.vue +14 -0
  3. package/dist/components/core/FieldBoundary.vue.d.ts +15 -0
  4. package/dist/components/core/Form.vue +91 -12
  5. package/dist/components/core/Form.vue.d.ts +27 -2
  6. package/dist/components/core/FormAlerts.vue +30 -0
  7. package/dist/{internal/forms → components/core}/FormAlerts.vue.d.ts +4 -4
  8. package/dist/components/core/FormField.vue +18 -3
  9. package/dist/components/core/index.d.ts +2 -0
  10. package/dist/components/core/index.mjs +2 -0
  11. package/dist/components/data/FilterPills.vue +82 -37
  12. package/dist/components/data/FilterPills.vue.d.ts +46 -427
  13. package/dist/components/data/SelectionBar.vue +7 -4
  14. package/dist/components/data/Tree.vue +9 -4
  15. package/dist/components/data/Tree.vue.d.ts +4 -1
  16. package/dist/components/data/types.d.ts +7 -2
  17. package/dist/components/forms/CheckboxGroup.vue +2 -1
  18. package/dist/components/forms/FileInput.vue +98 -26
  19. package/dist/components/forms/FileInput.vue.d.ts +28 -10
  20. package/dist/components/forms/RadioGroup.vue +2 -1
  21. package/dist/components/forms/SegmentedControl.vue +2 -1
  22. package/dist/components/forms/types.d.ts +3 -0
  23. package/dist/components/layout/Accordion.vue.d.ts +4 -4
  24. package/dist/components/layout/AppShell.vue +1 -1
  25. package/dist/components/layout/AppShell.vue.d.ts +2 -2
  26. package/dist/components/layout/Tabs.vue +10 -1
  27. package/dist/components/layout/Tabs.vue.d.ts +4 -0
  28. package/dist/components/layout/types.d.ts +1 -0
  29. package/dist/components/overlays/CommandPalette.vue +10 -4
  30. package/dist/components/overlays/CommandPalette.vue.d.ts +273 -511
  31. package/dist/components/overlays/HoverCard.vue +1 -1
  32. package/dist/components/overlays/HoverCard.vue.d.ts +2 -2
  33. package/dist/components/overlays/Popover.vue +1 -1
  34. package/dist/components/overlays/Popover.vue.d.ts +2 -2
  35. package/dist/components/overlays/types.d.ts +7 -4
  36. package/dist/components/templates/DashboardLayout.vue +21 -18
  37. package/dist/components/templates/DashboardLayout.vue.d.ts +332 -565
  38. package/dist/components/templates/ListPage.vue +1 -1
  39. package/dist/components/templates/ListPage.vue.d.ts +3 -3
  40. package/dist/components/templates/types.d.ts +4 -4
  41. package/dist/composables/useField.d.ts +6 -1
  42. package/dist/composables/useField.mjs +40 -12
  43. package/dist/composables/useFieldBoundary.d.ts +1 -0
  44. package/dist/composables/useFieldBoundary.mjs +5 -1
  45. package/dist/composables/useFileDrop.d.ts +14 -1
  46. package/dist/composables/useFileDrop.mjs +21 -20
  47. package/dist/composables/useForm.d.ts +4 -0
  48. package/dist/composables/useForm.mjs +62 -22
  49. package/dist/editor/RichTextEditor.vue +2 -1
  50. package/dist/internal/core/ButtonElement.d.ts +2 -0
  51. package/dist/internal/core/ButtonElement.mjs +8 -0
  52. package/dist/internal/forms/files.d.ts +7 -0
  53. package/dist/internal/forms/files.mjs +24 -0
  54. package/dist/internal/keys.d.ts +2 -1
  55. package/dist/internal/keys.mjs +1 -0
  56. package/dist/locale/en.mjs +2 -0
  57. package/dist/locale/it.mjs +2 -0
  58. package/dist/locale/types.d.ts +2 -0
  59. package/dist/styles/core/button.css +1 -13
  60. package/dist/styles/data/avatar.css +1 -1
  61. package/dist/styles/data/filter-pills.css +0 -1
  62. package/dist/styles/data/pagination.css +0 -1
  63. package/dist/styles/data/selection-bar.css +4 -0
  64. package/dist/styles/data/stat.css +1 -6
  65. package/dist/styles/data/table.css +1 -3
  66. package/dist/styles/data/tag.css +1 -4
  67. package/dist/styles/data/tree.css +8 -2
  68. package/dist/styles/feedback/alert.css +0 -1
  69. package/dist/styles/feedback/empty-state.css +0 -1
  70. package/dist/styles/forms/color-input.css +1 -1
  71. package/dist/styles/forms/combobox.css +0 -1
  72. package/dist/styles/forms/date-picker.css +1 -1
  73. package/dist/styles/forms/file-input.css +9 -1
  74. package/dist/styles/forms/number-input.css +1 -1
  75. package/dist/styles/forms/password-input.css +1 -5
  76. package/dist/styles/forms/switch.css +0 -1
  77. package/dist/styles/layout/accordion.css +6 -1
  78. package/dist/styles/layout/card.css +1 -5
  79. package/dist/styles/layout/copy-button.css +2 -2
  80. package/dist/styles/layout/nav-link.css +1 -2
  81. package/dist/styles/layout/sidebar-nav.css +1 -1
  82. package/dist/styles/layout/sidebar.css +1 -1
  83. package/dist/styles/layout/tabs.css +22 -2
  84. package/dist/styles/layout/theme-switch.css +1 -3
  85. package/dist/styles/overlays/command.css +1 -1
  86. package/dist/styles/overlays/confirm.css +0 -1
  87. package/dist/styles/overlays/menu.css +2 -4
  88. package/dist/styles/overlays/toast.css +0 -1
  89. package/dist/styles/templates/auth-layout.css +0 -1
  90. package/dist/styles/templates/empty-page.css +3 -3
  91. package/dist/styles/templates/form-page.css +1 -1
  92. package/dist/styles/templates/page.css +1 -1
  93. package/dist/styles/templates/settings-modal.css +0 -1
  94. package/dist/styles/tokens.css +1 -1
  95. package/package.json +1 -1
  96. package/dist/internal/forms/FormAlerts.vue +0 -25
  97. package/dist/internal/overlays/FieldBoundary.d.ts +0 -4
  98. package/dist/internal/overlays/FieldBoundary.mjs +0 -9
@@ -57,11 +57,7 @@
57
57
  background: var(--k-subtle);
58
58
  box-shadow: inset 0 0 0 1px var(--k-line);
59
59
  color: var(--k-accent-text);
60
- transition: transform var(--k-duration-lg) var(--k-ease-spring);
61
- }
62
-
63
- .k-stat.is-interactive:hover .k-stat-icon {
64
- transform: scale(1.08) rotate(-4deg);
60
+ transition: transform var(--k-duration-lg) var(--k-ease-out);
65
61
  }
66
62
 
67
63
  .k-stat-body {
@@ -141,7 +137,6 @@
141
137
 
142
138
  .k-stat-delta-icon {
143
139
  stroke-width: 2.25;
144
- animation: k-icon-pop 400ms var(--k-ease-spring) 200ms backwards;
145
140
  }
146
141
 
147
142
  .k-stat-delta.is-up .k-stat-delta-icon {
@@ -111,7 +111,7 @@
111
111
  transition:
112
112
  opacity var(--k-duration) var(--k-ease),
113
113
  color var(--k-duration) var(--k-ease),
114
- transform var(--k-duration-lg) var(--k-ease-spring);
114
+ transform var(--k-duration-lg) var(--k-ease-out);
115
115
  }
116
116
 
117
117
  .k-table-sort:hover .k-table-sort-icon,
@@ -122,7 +122,6 @@
122
122
 
123
123
  .k-table-th.is-sorted .k-table-sort-icon {
124
124
  color: var(--k-accent-text);
125
- animation: k-icon-pop 300ms var(--k-ease-spring);
126
125
  }
127
126
 
128
127
  .k-table-th.is-align-end .k-table-sort {
@@ -255,7 +254,6 @@
255
254
  margin-top: -0.125rem;
256
255
  border: solid var(--k-accent-contrast);
257
256
  border-width: 0 0 2px 2px;
258
- rotate: -45deg;
259
257
  opacity: 0;
260
258
  scale: 0.4;
261
259
  transition:
@@ -108,9 +108,6 @@
108
108
  }
109
109
 
110
110
  .k-tag-remove > .k-icon {
111
- transition: transform var(--k-duration-lg) var(--k-ease-spring);
111
+ transition: transform var(--k-duration-lg) var(--k-ease-out);
112
112
  }
113
113
 
114
- .k-tag-remove:hover:not(:disabled) > .k-icon {
115
- transform: rotate(90deg);
116
- }
@@ -107,11 +107,18 @@
107
107
  overflow: hidden;
108
108
  text-overflow: ellipsis;
109
109
  white-space: nowrap;
110
- font-family: var(--k-font-mono);
111
110
  font-size: 0.75rem;
112
111
  color: var(--k-text-dimmed);
113
112
  }
114
113
 
114
+ .k-tree-description-mono {
115
+ font-family: var(--k-font-mono);
116
+ }
117
+
118
+ .k-tree-description-text {
119
+ color: var(--k-text-muted);
120
+ }
121
+
115
122
  .k-tree-meta {
116
123
  flex-shrink: 0;
117
124
  font-size: 0.75rem;
@@ -137,7 +144,6 @@
137
144
 
138
145
  .k-tree-check > .k-icon {
139
146
  stroke-width: 2.25;
140
- animation: k-icon-pop 300ms var(--k-ease-spring);
141
147
  }
142
148
 
143
149
  .k-tree-empty {
@@ -70,7 +70,6 @@
70
70
  }
71
71
 
72
72
  .k-alert-icon > .k-icon {
73
- animation: k-icon-pop var(--k-duration-xl) var(--k-ease-spring) 120ms backwards;
74
73
  }
75
74
 
76
75
  .k-alert-body {
@@ -51,7 +51,6 @@
51
51
  var(--k-shadow-raised),
52
52
  0 6px 16px -6px var(--k-shadow-tint-strong);
53
53
  color: var(--k-text-muted);
54
- animation: k-float 4s ease-in-out infinite;
55
54
  }
56
55
 
57
56
  .k-empty-sm .k-empty-icon {
@@ -94,7 +94,7 @@
94
94
  background: var(--k-swatch);
95
95
  box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--k-text) 14%, transparent);
96
96
  transition:
97
- scale var(--k-duration-lg) var(--k-ease-spring),
97
+ scale var(--k-duration-lg) var(--k-ease-out),
98
98
  box-shadow var(--k-duration) var(--k-ease);
99
99
  }
100
100
 
@@ -221,7 +221,6 @@
221
221
  .k-combobox-option-selected {
222
222
  --k-icon-size: 0.875rem;
223
223
  color: var(--k-accent-text);
224
- animation: k-icon-pop var(--k-duration-lg) var(--k-ease-spring);
225
224
  }
226
225
 
227
226
  .k-combobox-check {
@@ -31,7 +31,7 @@
31
31
  color: var(--k-text-dimmed);
32
32
  transition:
33
33
  color var(--k-duration) var(--k-ease),
34
- transform var(--k-duration-lg) var(--k-ease-spring);
34
+ transform var(--k-duration-lg) var(--k-ease-out);
35
35
  }
36
36
 
37
37
  .k-date-picker-trigger:hover:not(:disabled) .k-date-picker-icon {
@@ -78,7 +78,7 @@
78
78
  box-shadow: var(--k-shadow-raised);
79
79
  color: var(--k-text-muted);
80
80
  transition:
81
- transform var(--k-duration-lg) var(--k-ease-spring),
81
+ transform var(--k-duration-lg) var(--k-ease-out),
82
82
  color var(--k-duration) var(--k-ease);
83
83
  }
84
84
 
@@ -120,6 +120,14 @@
120
120
  color: var(--k-text-muted);
121
121
  }
122
122
 
123
+ .k-file-input-actions {
124
+ display: flex;
125
+ flex-wrap: wrap;
126
+ align-items: center;
127
+ justify-content: center;
128
+ gap: 0.375rem;
129
+ }
130
+
123
131
  .k-file-input-native {
124
132
  position: absolute;
125
133
  width: 1px;
@@ -67,7 +67,7 @@
67
67
  }
68
68
 
69
69
  .k-number-input-step > .k-icon {
70
- transition: transform var(--k-duration-lg) var(--k-ease-spring);
70
+ transition: transform var(--k-duration-lg) var(--k-ease-out);
71
71
  }
72
72
 
73
73
  .k-number-input-step:hover:not(:disabled) {
@@ -35,7 +35,7 @@
35
35
  }
36
36
 
37
37
  .k-password-input-action > .k-icon {
38
- transition: transform var(--k-duration-lg) var(--k-ease-spring);
38
+ transition: transform var(--k-duration) var(--k-ease-out);
39
39
  }
40
40
 
41
41
  .k-password-input-action:hover:not(:disabled) {
@@ -47,10 +47,6 @@
47
47
  transform: scale(0.85);
48
48
  }
49
49
 
50
- .k-password-input-action:hover:not(:disabled) > .k-icon[data-icon='arrow-path'] {
51
- transform: rotate(60deg);
52
- }
53
-
54
50
  .k-password-input-action:disabled {
55
51
  opacity: 0.4;
56
52
  cursor: not-allowed;
@@ -82,7 +82,6 @@
82
82
 
83
83
  .k-switch-thumb > .k-icon {
84
84
  stroke-width: 2.5;
85
- animation: k-icon-spin var(--k-duration-lg) var(--k-ease-spring);
86
85
  }
87
86
 
88
87
  .k-switch-track[aria-checked='true'] .k-switch-thumb {
@@ -4,11 +4,15 @@
4
4
  min-width: 0;
5
5
  }
6
6
 
7
- .k-accordion-card {
7
+ .k-accordion-card,
8
+ .k-accordion-outline {
8
9
  overflow: hidden;
9
10
  border: 1px solid var(--k-line);
10
11
  border-radius: var(--k-radius-lg);
11
12
  background: var(--k-surface);
13
+ }
14
+
15
+ .k-accordion-card {
12
16
  box-shadow: var(--k-shadow-xs);
13
17
  }
14
18
 
@@ -32,6 +36,7 @@
32
36
  }
33
37
 
34
38
  .k-accordion-card .k-accordion-item + .k-accordion-item,
39
+ .k-accordion-outline .k-accordion-item + .k-accordion-item,
35
40
  .k-accordion-plain .k-accordion-item + .k-accordion-item {
36
41
  border-top: 1px solid var(--k-line);
37
42
  }
@@ -63,7 +63,7 @@
63
63
  background: var(--k-subtle);
64
64
  box-shadow: inset 0 0 0 1px var(--k-line);
65
65
  color: var(--k-accent-text);
66
- transition: transform var(--k-duration-lg) var(--k-ease-spring);
66
+ transition: transform var(--k-duration-lg) var(--k-ease-out);
67
67
  }
68
68
 
69
69
  .k-card-heading {
@@ -154,10 +154,6 @@
154
154
  box-shadow: var(--k-shadow-sm);
155
155
  }
156
156
 
157
- .k-card.is-interactive:hover .k-card-icon {
158
- transform: scale(1.08) rotate(-4deg);
159
- }
160
-
161
157
  .k-card.is-interactive:active {
162
158
  scale: 0.99;
163
159
  }
@@ -14,14 +14,14 @@
14
14
  grid-area: 1 / 1;
15
15
  transition:
16
16
  opacity var(--k-duration) var(--k-ease),
17
- transform var(--k-duration-lg) var(--k-ease-spring);
17
+ transform var(--k-duration-lg) var(--k-ease-out);
18
18
  }
19
19
 
20
20
  .k-copy-icon.is-done {
21
21
  stroke-width: 2;
22
22
  color: var(--k-success);
23
23
  opacity: 0;
24
- transform: scale(0.4) rotate(-45deg);
24
+ transform: scale(0.6);
25
25
  }
26
26
 
27
27
  .k-copy-button.is-copied .k-copy-icon.is-idle {
@@ -47,7 +47,7 @@
47
47
  color: var(--k-text-dimmed);
48
48
  transition:
49
49
  color var(--k-duration) var(--k-ease),
50
- transform var(--k-duration-lg) var(--k-ease-spring);
50
+ transform var(--k-duration-lg) var(--k-ease-out);
51
51
  }
52
52
 
53
53
  .k-navlink:hover .k-navlink-icon {
@@ -57,7 +57,6 @@
57
57
  .k-navlink.is-active .k-navlink-icon,
58
58
  .k-navlink[aria-current='page'] .k-navlink-icon {
59
59
  color: var(--k-accent-text);
60
- animation: k-icon-pop 360ms var(--k-ease-spring);
61
60
  }
62
61
 
63
62
  .k-navlink-label {
@@ -20,7 +20,7 @@
20
20
  --k-icon-size: 0.875rem;
21
21
  flex: none;
22
22
  color: var(--k-text-dimmed);
23
- transition: transform var(--k-duration-lg) var(--k-ease-spring);
23
+ transition: transform var(--k-duration-lg) var(--k-ease-out);
24
24
  }
25
25
 
26
26
  .k-navgroup.is-open .k-navgroup-chevron {
@@ -24,7 +24,7 @@
24
24
  }
25
25
 
26
26
  .k-sidebar-collapse > .k-icon {
27
- transition: transform var(--k-duration-lg) var(--k-ease-spring);
27
+ transition: transform var(--k-duration-lg) var(--k-ease-out);
28
28
  }
29
29
 
30
30
  .k-sidebar-nav {
@@ -23,6 +23,27 @@
23
23
  flex: 1;
24
24
  }
25
25
 
26
+ .k-tabs.is-stretch {
27
+ flex: 1;
28
+ min-height: 0;
29
+ }
30
+
31
+ .k-tabs.is-stretch > .k-tabs-panel {
32
+ display: flex;
33
+ flex: 1;
34
+ flex-direction: column;
35
+ min-height: 0;
36
+ }
37
+
38
+ .k-tabs.is-inset {
39
+ gap: 0;
40
+ }
41
+
42
+ .k-tabs.is-inset > .k-tabs-list {
43
+ max-width: calc(100% - 1.75rem);
44
+ margin: 0.75rem 0.875rem 0;
45
+ }
46
+
26
47
  .k-tab {
27
48
  --k-icon-size: 0.9375rem;
28
49
  position: relative;
@@ -57,12 +78,11 @@
57
78
  }
58
79
 
59
80
  .k-tab-icon {
60
- transition: transform var(--k-duration-lg) var(--k-ease-spring);
81
+ transition: transform var(--k-duration-lg) var(--k-ease-out);
61
82
  }
62
83
 
63
84
  .k-tab[aria-selected='true'] .k-tab-icon {
64
85
  color: var(--k-accent-text);
65
- animation: k-icon-pop 360ms var(--k-ease-spring);
66
86
  }
67
87
 
68
88
  .k-tab-badge {
@@ -62,11 +62,10 @@
62
62
  }
63
63
 
64
64
  .k-theme-switch-icon {
65
- transition: transform var(--k-duration-lg) var(--k-ease-spring);
65
+ transition: transform var(--k-duration-lg) var(--k-ease-out);
66
66
  }
67
67
 
68
68
  .k-theme-switch-option.is-active .k-theme-switch-icon {
69
- animation: k-icon-spin var(--k-duration-xl) var(--k-ease-spring);
70
69
  }
71
70
 
72
71
  .k-theme-switch-sm .k-theme-switch-option {
@@ -75,5 +74,4 @@
75
74
  }
76
75
 
77
76
  .k-theme-cycle-icon {
78
- animation: k-icon-spin var(--k-duration-xl) var(--k-ease-spring);
79
77
  }
@@ -148,7 +148,7 @@
148
148
  color: var(--k-text-dimmed);
149
149
  transition:
150
150
  color var(--k-duration) var(--k-ease),
151
- transform var(--k-duration-lg) var(--k-ease-spring);
151
+ transform var(--k-duration-lg) var(--k-ease-out);
152
152
  }
153
153
 
154
154
  .k-command-option.is-active .k-command-option-icon {
@@ -24,7 +24,6 @@
24
24
  border-radius: var(--k-radius-full);
25
25
  color: var(--k-confirm-tone);
26
26
  background: color-mix(in oklab, var(--k-confirm-tone) 12%, transparent);
27
- animation: k-icon-pop var(--k-duration-xl) var(--k-ease-spring) 120ms;
28
27
  }
29
28
 
30
29
  .k-confirm-danger .k-confirm-icon {
@@ -48,7 +48,7 @@
48
48
 
49
49
  .k-menu-item-icon {
50
50
  color: var(--k-text-muted);
51
- transition: transform var(--k-duration-lg) var(--k-ease-spring);
51
+ transition: transform var(--k-duration-lg) var(--k-ease-out);
52
52
  }
53
53
 
54
54
  .k-menu-item:focus .k-menu-item-icon {
@@ -84,7 +84,7 @@
84
84
  --k-icon-size: 0.875rem;
85
85
  margin-left: auto;
86
86
  color: var(--k-text-dimmed);
87
- transition: transform var(--k-duration-lg) var(--k-ease-spring);
87
+ transition: transform var(--k-duration-lg) var(--k-ease-out);
88
88
  }
89
89
 
90
90
  .k-menu-item.is-expanded .k-menu-item-chevron,
@@ -103,7 +103,6 @@
103
103
  }
104
104
 
105
105
  .k-menu-item-indicator > .k-icon {
106
- animation: k-icon-pop 300ms var(--k-ease-spring);
107
106
  }
108
107
 
109
108
  .k-menu-item-dot {
@@ -111,7 +110,6 @@
111
110
  height: 0.375rem;
112
111
  border-radius: var(--k-radius-full);
113
112
  background: currentColor;
114
- animation: k-icon-pop 300ms var(--k-ease-spring);
115
113
  }
116
114
 
117
115
  .k-menu-label {
@@ -220,7 +220,6 @@
220
220
  color: var(--k-toast-tone);
221
221
  background: color-mix(in oklab, var(--k-toast-tone) 14%, transparent);
222
222
  border-radius: var(--k-radius-full);
223
- animation: k-icon-pop var(--k-duration-xl) var(--k-ease-spring) 120ms;
224
223
  }
225
224
 
226
225
  .k-toast-content {
@@ -166,7 +166,6 @@
166
166
  border-radius: var(--k-radius-full);
167
167
  background: radial-gradient(circle at 30% 30%, rgb(255 255 255 / 0.5), transparent 65%);
168
168
  filter: blur(2px);
169
- animation: k-float 9s ease-in-out infinite;
170
169
  }
171
170
 
172
171
  .k-auth-aside-content {
@@ -38,13 +38,13 @@
38
38
  .k-empty-page-card.is-back {
39
39
  transform: translateX(-1.5rem) rotate(-10deg) scale(0.86);
40
40
  background: var(--k-subtle);
41
- animation: k-empty-fan 600ms var(--k-ease-spring) 120ms backwards;
41
+ animation: k-empty-fan 600ms var(--k-ease-out) 120ms backwards;
42
42
  }
43
43
 
44
44
  .k-empty-page-card.is-middle {
45
45
  transform: translateX(1.5rem) rotate(10deg) scale(0.86);
46
46
  background: var(--k-subtle);
47
- animation: k-empty-fan 600ms var(--k-ease-spring) 120ms backwards;
47
+ animation: k-empty-fan 600ms var(--k-ease-out) 120ms backwards;
48
48
  }
49
49
 
50
50
  .k-empty-page-card.is-front {
@@ -52,7 +52,7 @@
52
52
  display: grid;
53
53
  place-items: center;
54
54
  color: var(--k-accent-text);
55
- animation: k-pop var(--k-duration-xl) var(--k-ease-spring) backwards;
55
+ animation: k-pop var(--k-duration-xl) var(--k-ease-out) backwards;
56
56
  }
57
57
 
58
58
  .k-empty-page-title {
@@ -63,7 +63,7 @@
63
63
  border-radius: var(--k-radius-full);
64
64
  background: var(--k-warning);
65
65
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--k-warning) 22%, transparent);
66
- animation: k-pop 260ms var(--k-ease-spring);
66
+ animation: k-pop 260ms var(--k-ease-out);
67
67
  }
68
68
 
69
69
  .k-form-page-actions {
@@ -13,7 +13,7 @@
13
13
  }
14
14
 
15
15
  .k-page-back .k-icon {
16
- transition: transform var(--k-duration-lg) var(--k-ease-spring);
16
+ transition: transform var(--k-duration-lg) var(--k-ease-out);
17
17
  }
18
18
 
19
19
  .k-page-back .k-btn:hover .k-icon {
@@ -430,7 +430,6 @@
430
430
  .k-appearance-card-check {
431
431
  margin-inline-start: auto;
432
432
  color: var(--k-accent-text);
433
- animation: k-icon-pop 300ms var(--k-ease-spring);
434
433
  }
435
434
 
436
435
  @media (max-width: 639px) {
@@ -81,7 +81,7 @@
81
81
  --k-ease: cubic-bezier(0.2, 0, 0, 1);
82
82
  --k-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
83
83
  --k-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
84
- --k-ease-spring: cubic-bezier(0.34, 1.4, 0.64, 1);
84
+ --k-ease-spring: cubic-bezier(0.34, 1.22, 0.64, 1);
85
85
  }
86
86
 
87
87
  :where(.k-root:not(.k-root .k-root)),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xleddyl/443-components-vue",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Compact, scoped dashboard components for Vue and Nuxt",
5
5
  "license": "MIT",
6
6
  "author": "Edoardo Alberti (https://github.com/xleddyl)",
@@ -1,25 +0,0 @@
1
- <template>
2
- <div v-if="errors.length || warnings.length" class="k-form-alerts" tabindex="-1">
3
- <Alert
4
- v-for="message in errors"
5
- :key="`error:${message}`"
6
- tone="danger"
7
- :description="message"
8
- />
9
- <Alert
10
- v-for="message in warnings"
11
- :key="`warning:${message}`"
12
- tone="warning"
13
- role="status"
14
- :description="message"
15
- />
16
- </div>
17
- </template>
18
-
19
- <script setup>
20
- import Alert from "../../components/feedback/Alert.vue";
21
- defineProps({
22
- errors: { type: Array, required: true },
23
- warnings: { type: Array, required: true }
24
- });
25
- </script>
@@ -1,4 +0,0 @@
1
- declare const _default: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
2
- [key: string]: any;
3
- }>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
4
- export default _default;
@@ -1,9 +0,0 @@
1
- import { defineComponent } from "vue";
2
- import { provideFieldBoundary } from "../../composables/useFieldBoundary.mjs";
3
- export default defineComponent({
4
- name: "KFieldBoundary",
5
- setup(_, { slots }) {
6
- provideFieldBoundary();
7
- return () => slots.default?.();
8
- }
9
- });