@xleddyl/443-components-vue 0.2.3 → 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 (236) hide show
  1. package/README.md +106 -19
  2. package/dist/chart/BarChart.vue.d.ts +2 -2
  3. package/dist/chart/ChartLegend.vue.d.ts +4 -4
  4. package/dist/chart/ChartPanel.vue.d.ts +2 -2
  5. package/dist/chart/ChartSummary.vue.d.ts +2 -2
  6. package/dist/chart/DoughnutChart.vue.d.ts +2 -2
  7. package/dist/chart/LineChart.vue.d.ts +2 -2
  8. package/dist/components/core/Button.vue.d.ts +2 -2
  9. package/dist/components/core/FieldBoundary.vue +14 -0
  10. package/dist/components/core/FieldBoundary.vue.d.ts +15 -0
  11. package/dist/components/core/FieldMessage.vue +28 -0
  12. package/dist/components/core/FieldMessage.vue.d.ts +409 -0
  13. package/dist/components/core/Form.vue +109 -11
  14. package/dist/components/core/Form.vue.d.ts +45 -6
  15. package/dist/components/core/FormAlerts.vue +30 -0
  16. package/dist/components/core/FormAlerts.vue.d.ts +393 -0
  17. package/dist/components/core/FormField.vue +54 -17
  18. package/dist/components/core/FormField.vue.d.ts +5 -4
  19. package/dist/components/core/Icon.vue.d.ts +2 -2
  20. package/dist/components/core/Input.vue.d.ts +4 -4
  21. package/dist/components/core/Kbd.vue.d.ts +2 -2
  22. package/dist/components/core/Root.vue.d.ts +6 -6
  23. package/dist/components/core/Spinner.vue +13 -1
  24. package/dist/components/core/Spinner.vue.d.ts +4 -2
  25. package/dist/components/core/Textarea.vue.d.ts +4 -4
  26. package/dist/components/core/VisuallyHidden.vue.d.ts +6 -6
  27. package/dist/components/core/index.d.ts +3 -0
  28. package/dist/components/core/index.mjs +3 -0
  29. package/dist/components/data/Avatar.vue.d.ts +2 -2
  30. package/dist/components/data/AvatarGroup.vue.d.ts +2 -2
  31. package/dist/components/data/Badge.vue.d.ts +2 -2
  32. package/dist/components/data/DescriptionList.vue.d.ts +2 -2
  33. package/dist/components/data/FilterPill.vue +35 -0
  34. package/dist/components/data/FilterPill.vue.d.ts +445 -0
  35. package/dist/components/data/FilterPills.vue +100 -27
  36. package/dist/components/data/FilterPills.vue.d.ts +47 -411
  37. package/dist/components/data/Pagination.vue.d.ts +4 -4
  38. package/dist/components/data/SelectionBar.vue +81 -0
  39. package/dist/components/data/SelectionBar.vue.d.ts +427 -0
  40. package/dist/components/data/Stat.vue.d.ts +8 -8
  41. package/dist/components/data/Tag.vue.d.ts +4 -4
  42. package/dist/components/data/Timeline.vue.d.ts +2 -2
  43. package/dist/components/data/Tree.vue +245 -21
  44. package/dist/components/data/Tree.vue.d.ts +40 -10
  45. package/dist/components/data/index.d.ts +3 -0
  46. package/dist/components/data/index.mjs +3 -0
  47. package/dist/components/data/types.d.ts +26 -2
  48. package/dist/components/feedback/Alert.vue.d.ts +18 -18
  49. package/dist/components/feedback/EmptyState.vue.d.ts +2 -2
  50. package/dist/components/feedback/LoadingOverlay.vue.d.ts +2 -2
  51. package/dist/components/feedback/Meter.vue.d.ts +2 -2
  52. package/dist/components/feedback/Progress.vue.d.ts +2 -2
  53. package/dist/components/feedback/ProgressRing.vue.d.ts +2 -2
  54. package/dist/components/feedback/Skeleton.vue.d.ts +3 -3
  55. package/dist/components/forms/Calendar.vue.d.ts +4 -4
  56. package/dist/components/forms/CheckboxGroup.vue +2 -1
  57. package/dist/components/forms/ColorInput.vue.d.ts +6 -6
  58. package/dist/components/forms/DateInput.vue.d.ts +14 -14
  59. package/dist/components/forms/DatePicker.vue.d.ts +6 -6
  60. package/dist/components/forms/FileInput.vue +160 -34
  61. package/dist/components/forms/FileInput.vue.d.ts +43 -15
  62. package/dist/components/forms/InputAddon.vue.d.ts +2 -2
  63. package/dist/components/forms/InputGroup.vue.d.ts +2 -2
  64. package/dist/components/forms/NumberInput.vue.d.ts +6 -6
  65. package/dist/components/forms/PasswordInput.vue.d.ts +16 -16
  66. package/dist/components/forms/PinInput.vue.d.ts +6 -6
  67. package/dist/components/forms/Radio.vue.d.ts +2 -2
  68. package/dist/components/forms/RadioGroup.vue +2 -1
  69. package/dist/components/forms/SegmentedControl.vue +33 -8
  70. package/dist/components/forms/SegmentedControl.vue.d.ts +15 -7
  71. package/dist/components/forms/Slider.vue.d.ts +6 -6
  72. package/dist/components/forms/Switch.vue.d.ts +6 -6
  73. package/dist/components/forms/TimeInput.vue.d.ts +16 -16
  74. package/dist/components/forms/types.d.ts +17 -0
  75. package/dist/components/layout/Accordion.vue +25 -5
  76. package/dist/components/layout/Accordion.vue.d.ts +11 -8
  77. package/dist/components/layout/AppShell.vue +1 -1
  78. package/dist/components/layout/AppShell.vue.d.ts +7 -7
  79. package/dist/components/layout/Breadcrumbs.vue +28 -20
  80. package/dist/components/layout/Breadcrumbs.vue.d.ts +18 -3
  81. package/dist/components/layout/Card.vue +22 -3
  82. package/dist/components/layout/Card.vue.d.ts +10 -4
  83. package/dist/components/layout/CopyButton.vue.d.ts +4 -4
  84. package/dist/components/layout/Grid.vue.d.ts +2 -2
  85. package/dist/components/layout/NavLink.vue.d.ts +8 -8
  86. package/dist/components/layout/PageHeader.vue +10 -1
  87. package/dist/components/layout/PageHeader.vue.d.ts +17 -9
  88. package/dist/components/layout/Separator.vue.d.ts +2 -2
  89. package/dist/components/layout/Sidebar.vue.d.ts +2 -2
  90. package/dist/components/layout/SidebarSection.vue.d.ts +2 -2
  91. package/dist/components/layout/Stack.vue.d.ts +6 -6
  92. package/dist/components/layout/Tabs.vue +37 -7
  93. package/dist/components/layout/Tabs.vue.d.ts +11 -4
  94. package/dist/components/layout/ThemeSwitch.vue.d.ts +2 -2
  95. package/dist/components/layout/Toolbar.vue.d.ts +2 -2
  96. package/dist/components/layout/types.d.ts +8 -1
  97. package/dist/components/overlays/CommandPalette.vue +35 -8
  98. package/dist/components/overlays/CommandPalette.vue.d.ts +273 -497
  99. package/dist/components/overlays/ConfirmDialog.vue.d.ts +8 -6
  100. package/dist/components/overlays/ConfirmHost.vue +5 -1
  101. package/dist/components/overlays/ConfirmHost.vue.d.ts +10 -8
  102. package/dist/components/overlays/ContextMenu.vue.d.ts +4 -4
  103. package/dist/components/overlays/Drawer.vue +4 -2
  104. package/dist/components/overlays/Drawer.vue.d.ts +8 -6
  105. package/dist/components/overlays/DropdownMenu.vue.d.ts +2 -2
  106. package/dist/components/overlays/HoverCard.vue +2 -1
  107. package/dist/components/overlays/HoverCard.vue.d.ts +8 -8
  108. package/dist/components/overlays/Modal.vue +5 -3
  109. package/dist/components/overlays/Modal.vue.d.ts +8 -6
  110. package/dist/components/overlays/Popover.vue +2 -1
  111. package/dist/components/overlays/Popover.vue.d.ts +8 -8
  112. package/dist/components/overlays/Toaster.vue.d.ts +4 -4
  113. package/dist/components/overlays/Tooltip.vue.d.ts +2 -2
  114. package/dist/components/overlays/types.d.ts +11 -5
  115. package/dist/components/templates/AccountMenu.vue.d.ts +6 -6
  116. package/dist/components/templates/AppearanceSettings.vue.d.ts +2 -2
  117. package/dist/components/templates/AuthLayout.vue.d.ts +2 -2
  118. package/dist/components/templates/Brand.vue +34 -5
  119. package/dist/components/templates/Brand.vue.d.ts +20 -15
  120. package/dist/components/templates/DashboardLayout.vue +49 -10
  121. package/dist/components/templates/DashboardLayout.vue.d.ts +332 -553
  122. package/dist/components/templates/DashboardPage.vue.d.ts +2 -2
  123. package/dist/components/templates/DetailPage.vue.d.ts +4 -4
  124. package/dist/components/templates/EmptyPage.vue.d.ts +2 -2
  125. package/dist/components/templates/ErrorPage.vue.d.ts +2 -2
  126. package/dist/components/templates/ListPage.vue +17 -11
  127. package/dist/components/templates/ListPage.vue.d.ts +3 -3
  128. package/dist/components/templates/NotFoundPage.vue.d.ts +1 -1
  129. package/dist/components/templates/SaveBar.vue.d.ts +4 -4
  130. package/dist/components/templates/SettingsGroup.vue.d.ts +2 -2
  131. package/dist/components/templates/SettingsModal.vue +5 -2
  132. package/dist/components/templates/SettingsModal.vue.d.ts +13 -8
  133. package/dist/components/templates/SettingsPage.vue.d.ts +4 -4
  134. package/dist/components/templates/SettingsSection.vue.d.ts +12 -8
  135. package/dist/components/templates/types.d.ts +25 -2
  136. package/dist/composables/core.d.ts +1 -0
  137. package/dist/composables/core.mjs +1 -0
  138. package/dist/composables/useField.d.ts +8 -1
  139. package/dist/composables/useField.mjs +41 -10
  140. package/dist/composables/useFieldBoundary.d.ts +2 -0
  141. package/dist/composables/useFieldBoundary.mjs +9 -0
  142. package/dist/composables/useFileDrop.d.ts +20 -0
  143. package/dist/composables/useFileDrop.mjs +115 -7
  144. package/dist/composables/useForm.d.ts +36 -19
  145. package/dist/composables/useForm.mjs +258 -51
  146. package/dist/editor/RichTextEditor.vue +32 -4
  147. package/dist/editor/RichTextEditor.vue.d.ts +11 -6
  148. package/dist/editor/rich-text-editor.css +1 -1
  149. package/dist/editor/types.d.ts +3 -0
  150. package/dist/grid/GridToolbar.vue.d.ts +4 -4
  151. package/dist/grid/cells/BadgeCell.vue.d.ts +2 -2
  152. package/dist/grid/cells/BooleanCell.vue.d.ts +2 -2
  153. package/dist/grid/cells/DateCell.vue.d.ts +2 -2
  154. package/dist/grid/cells/ImageCell.vue.d.ts +2 -2
  155. package/dist/grid/cells/LinkCell.vue.d.ts +2 -2
  156. package/dist/internal/core/ButtonElement.d.ts +2 -0
  157. package/dist/internal/core/ButtonElement.mjs +8 -0
  158. package/dist/internal/data/tree.d.ts +8 -0
  159. package/dist/internal/data/tree.mjs +41 -0
  160. package/dist/internal/forms/files.d.ts +9 -0
  161. package/dist/internal/forms/files.mjs +32 -1
  162. package/dist/internal/forms/standard-schema.d.ts +17 -0
  163. package/dist/internal/forms/standard-schema.mjs +40 -0
  164. package/dist/internal/keys.d.ts +2 -1
  165. package/dist/internal/keys.mjs +1 -0
  166. package/dist/internal/overlays/DialogFrame.vue +17 -7
  167. package/dist/internal/overlays/DialogFrame.vue.d.ts +9 -5
  168. package/dist/internal/overlays/MenuList.vue +2 -0
  169. package/dist/internal/overlays/MenuList.vue.d.ts +5 -5
  170. package/dist/internal/overlays/OverlayView.vue +2 -0
  171. package/dist/internal/overlays/OverlayView.vue.d.ts +14 -12
  172. package/dist/internal/overlays/dialog.d.ts +4 -1
  173. package/dist/internal/overlays/dialog.mjs +39 -5
  174. package/dist/internal/overlays/stack.d.ts +2 -1
  175. package/dist/locale/en.mjs +19 -2
  176. package/dist/locale/it.mjs +19 -2
  177. package/dist/locale/types.d.ts +17 -0
  178. package/dist/nuxt/module.d.ts +1 -0
  179. package/dist/nuxt/module.mjs +6 -3
  180. package/dist/nuxt/runtime/layouts/auth.vue.d.ts +8 -8
  181. package/dist/nuxt/runtime/layouts/dashboard.vue.d.ts +8 -8
  182. package/dist/styles/base.css +2 -0
  183. package/dist/styles/core/button.css +1 -13
  184. package/dist/styles/core/field-message.css +34 -0
  185. package/dist/styles/core/form-field.css +0 -23
  186. package/dist/styles/core/form.css +11 -0
  187. package/dist/styles/core/kbd.css +2 -2
  188. package/dist/styles/core/spinner.css +19 -0
  189. package/dist/styles/core.css +1 -0
  190. package/dist/styles/data/avatar.css +1 -1
  191. package/dist/styles/data/badge.css +1 -1
  192. package/dist/styles/data/filter-pills.css +40 -4
  193. package/dist/styles/data/pagination.css +0 -1
  194. package/dist/styles/data/selection-bar.css +89 -0
  195. package/dist/styles/data/stat.css +1 -6
  196. package/dist/styles/data/table.css +1 -3
  197. package/dist/styles/data/tag.css +1 -4
  198. package/dist/styles/data/tree.css +163 -2
  199. package/dist/styles/data.css +1 -0
  200. package/dist/styles/feedback/alert.css +0 -1
  201. package/dist/styles/feedback/empty-state.css +0 -1
  202. package/dist/styles/forms/calendar.css +1 -1
  203. package/dist/styles/forms/color-input.css +1 -1
  204. package/dist/styles/forms/combobox.css +0 -1
  205. package/dist/styles/forms/date-picker.css +1 -1
  206. package/dist/styles/forms/file-input.css +17 -1
  207. package/dist/styles/forms/number-input.css +1 -1
  208. package/dist/styles/forms/password-input.css +1 -5
  209. package/dist/styles/forms/segmented.css +8 -0
  210. package/dist/styles/forms/select.css +1 -1
  211. package/dist/styles/forms/slider.css +2 -2
  212. package/dist/styles/forms/switch.css +0 -1
  213. package/dist/styles/layout/accordion.css +22 -1
  214. package/dist/styles/layout/app-shell.css +4 -0
  215. package/dist/styles/layout/breadcrumbs.css +16 -1
  216. package/dist/styles/layout/card.css +20 -6
  217. package/dist/styles/layout/copy-button.css +2 -2
  218. package/dist/styles/layout/nav-link.css +2 -3
  219. package/dist/styles/layout/sidebar-nav.css +1 -1
  220. package/dist/styles/layout/sidebar.css +2 -2
  221. package/dist/styles/layout/tabs.css +65 -3
  222. package/dist/styles/layout/theme-switch.css +1 -3
  223. package/dist/styles/overlays/command.css +21 -3
  224. package/dist/styles/overlays/confirm.css +0 -1
  225. package/dist/styles/overlays/menu.css +3 -5
  226. package/dist/styles/overlays/modal.css +38 -0
  227. package/dist/styles/overlays/toast.css +0 -1
  228. package/dist/styles/templates/auth-layout.css +0 -1
  229. package/dist/styles/templates/brand.css +15 -0
  230. package/dist/styles/templates/empty-page.css +4 -4
  231. package/dist/styles/templates/form-page.css +1 -1
  232. package/dist/styles/templates/list-page.css +2 -6
  233. package/dist/styles/templates/page.css +1 -1
  234. package/dist/styles/templates/settings-modal.css +2 -3
  235. package/dist/styles/tokens.css +1 -1
  236. package/package.json +1 -1
@@ -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 {
@@ -55,7 +55,7 @@
55
55
  .k-sidebar-section-label {
56
56
  margin-bottom: 0.25rem;
57
57
  padding-inline: 0.5rem;
58
- font-size: 0.6875rem;
58
+ font-size: 0.75rem;
59
59
  font-weight: 500;
60
60
  letter-spacing: 0.01em;
61
61
  color: var(--k-text-dimmed);
@@ -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 {
@@ -70,7 +90,7 @@
70
90
  padding: 0.125rem 0.3125rem;
71
91
  border-radius: var(--k-radius-full);
72
92
  background: var(--k-fill);
73
- font-size: 0.6875rem;
93
+ font-size: 0.75rem;
74
94
  line-height: 1;
75
95
  text-align: center;
76
96
  font-variant-numeric: tabular-nums;
@@ -180,3 +200,45 @@
180
200
  .k-tabs-panel:focus-visible {
181
201
  outline-offset: 4px;
182
202
  }
203
+
204
+ .k-tab
205
+ .k-tab-badge:is(
206
+ .k-tab-badge-accent,
207
+ .k-tab-badge-info,
208
+ .k-tab-badge-success,
209
+ .k-tab-badge-warning,
210
+ .k-tab-badge-danger
211
+ ) {
212
+ background: color-mix(in oklab, var(--k-tab-badge-tone) 14%, transparent);
213
+ color: var(--k-tab-badge-text);
214
+ }
215
+
216
+ .k-tab .k-tab-badge.k-tab-badge-neutral {
217
+ background: var(--k-fill);
218
+ color: var(--k-text-muted);
219
+ }
220
+
221
+ .k-tab-badge-accent {
222
+ --k-tab-badge-tone: var(--k-accent);
223
+ --k-tab-badge-text: var(--k-accent-text);
224
+ }
225
+
226
+ .k-tab-badge-info {
227
+ --k-tab-badge-tone: var(--k-info);
228
+ --k-tab-badge-text: var(--k-info);
229
+ }
230
+
231
+ .k-tab-badge-success {
232
+ --k-tab-badge-tone: var(--k-success);
233
+ --k-tab-badge-text: var(--k-success);
234
+ }
235
+
236
+ .k-tab-badge-warning {
237
+ --k-tab-badge-tone: var(--k-warning);
238
+ --k-tab-badge-text: var(--k-warning);
239
+ }
240
+
241
+ .k-tab-badge-danger {
242
+ --k-tab-badge-tone: var(--k-danger);
243
+ --k-tab-badge-text: var(--k-danger);
244
+ }
@@ -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
  }
@@ -104,12 +104,30 @@
104
104
  }
105
105
 
106
106
  .k-command-group-label {
107
+ display: flex;
108
+ flex-wrap: wrap;
109
+ align-items: baseline;
110
+ gap: 0 0.375rem;
111
+ min-width: 0;
107
112
  padding: 0.5rem 0.625rem 0.25rem;
108
- font-size: 0.6875rem;
113
+ font-size: 0.75rem;
109
114
  font-weight: 500;
110
115
  color: var(--k-text-muted);
111
116
  }
112
117
 
118
+ .k-command-group-description {
119
+ min-width: 0;
120
+ font-weight: 400;
121
+ color: var(--k-text-dimmed);
122
+ }
123
+
124
+ .k-command-notice {
125
+ padding: 0.5rem 0.625rem 0.25rem;
126
+ font-size: 0.75rem;
127
+ color: var(--k-text-dimmed);
128
+ text-align: center;
129
+ }
130
+
113
131
  .k-command-option {
114
132
  --k-icon-size: 1rem;
115
133
  display: flex;
@@ -130,7 +148,7 @@
130
148
  color: var(--k-text-dimmed);
131
149
  transition:
132
150
  color var(--k-duration) var(--k-ease),
133
- transform var(--k-duration-lg) var(--k-ease-spring);
151
+ transform var(--k-duration-lg) var(--k-ease-out);
134
152
  }
135
153
 
136
154
  .k-command-option.is-active .k-command-option-icon {
@@ -166,7 +184,7 @@
166
184
  flex-wrap: wrap;
167
185
  gap: 1rem;
168
186
  padding: 0.5rem 1rem;
169
- font-size: 0.6875rem;
187
+ font-size: 0.75rem;
170
188
  color: var(--k-text-dimmed);
171
189
  border-top: 1px solid var(--k-line);
172
190
  }
@@ -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,12 +110,11 @@
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 {
118
116
  padding: 0.375rem 0.5rem 0.25rem;
119
- font-size: 0.6875rem;
117
+ font-size: 0.75rem;
120
118
  font-weight: 500;
121
119
  color: var(--k-text-muted);
122
120
  }
@@ -107,6 +107,29 @@
107
107
  height: 100%;
108
108
  }
109
109
 
110
+ .k-modal.k-modal-fullscreen {
111
+ padding: 0;
112
+ }
113
+
114
+ .k-modal-fullscreen > .k-modal-panel {
115
+ --k-modal-width: none;
116
+ width: 100%;
117
+ height: 100%;
118
+ max-height: none;
119
+ padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom)
120
+ env(safe-area-inset-left);
121
+ border-radius: 0;
122
+ box-shadow: none;
123
+ transform: translateY(8px);
124
+ }
125
+
126
+ @starting-style {
127
+ .k-modal-fullscreen[open] > .k-modal-panel {
128
+ opacity: 0;
129
+ transform: translateY(8px);
130
+ }
131
+ }
132
+
110
133
  .k-modal-fit > .k-modal-panel {
111
134
  --k-modal-width: calc(100vw - 2rem);
112
135
  width: auto;
@@ -134,6 +157,21 @@
134
157
  padding-top: 0.125rem;
135
158
  }
136
159
 
160
+ .k-modal-title-row,
161
+ .k-drawer-title-row {
162
+ display: flex;
163
+ flex-wrap: wrap;
164
+ align-items: center;
165
+ gap: 0.375rem 0.5rem;
166
+ min-width: 0;
167
+ }
168
+
169
+ .k-modal-title-row > .k-modal-title,
170
+ .k-drawer-title-row > .k-drawer-title {
171
+ min-width: 0;
172
+ overflow-wrap: anywhere;
173
+ }
174
+
137
175
  .k-modal-title,
138
176
  .k-drawer-title {
139
177
  font-size: 0.9375rem;
@@ -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 {
@@ -53,6 +53,21 @@
53
53
  object-fit: contain;
54
54
  }
55
55
 
56
+ .k-brand-logo.is-svg,
57
+ .k-brand-logo.is-slot {
58
+ display: inline-flex;
59
+ align-items: center;
60
+ }
61
+
62
+ .k-brand-logo.is-svg > svg,
63
+ .k-brand-logo.is-slot > :is(svg, img) {
64
+ display: block;
65
+ width: auto;
66
+ max-width: 100%;
67
+ height: 100%;
68
+ object-fit: contain;
69
+ }
70
+
56
71
  .k-brand-text {
57
72
  display: flex;
58
73
  flex-direction: column;
@@ -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 {
@@ -125,7 +125,7 @@
125
125
  flex: none;
126
126
  border-radius: var(--k-radius-full);
127
127
  background: var(--k-fill);
128
- font-size: 0.6875rem;
128
+ font-size: 0.75rem;
129
129
  font-weight: 600;
130
130
  font-variant-numeric: tabular-nums;
131
131
  color: var(--k-text-muted);
@@ -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 {
@@ -26,12 +26,8 @@
26
26
  max-width: 18rem;
27
27
  }
28
28
 
29
- .k-list-selection {
30
- font-size: 0.8125rem;
31
- font-weight: 600;
32
- font-variant-numeric: tabular-nums;
33
- color: var(--k-text);
34
- animation: k-pop 200ms var(--k-ease-out);
29
+ .k-list-selection:not(.is-visible) {
30
+ display: contents;
35
31
  }
36
32
 
37
33
  .k-list-footer {
@@ -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 {
@@ -54,7 +54,7 @@
54
54
  .k-settings-modal-nav-label {
55
55
  margin: 0.875rem 0 0.25rem;
56
56
  padding-inline: 0.5rem;
57
- font-size: 0.6875rem;
57
+ font-size: 0.75rem;
58
58
  font-weight: 500;
59
59
  color: var(--k-text-dimmed);
60
60
  }
@@ -127,7 +127,7 @@
127
127
  padding: 0 0.375rem;
128
128
  border-radius: var(--k-radius-full);
129
129
  background: var(--k-fill);
130
- font-size: 0.6875rem;
130
+ font-size: 0.75rem;
131
131
  line-height: 1.125rem;
132
132
  text-align: center;
133
133
  color: var(--k-text-muted);
@@ -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.2.3",
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)",