@xleddyl/443-components-vue 0.1.0 → 0.2.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.
- package/README.md +81 -20
- package/dist/chart/BarChart.vue.d.ts +6 -6
- package/dist/chart/ChartLegend.vue.d.ts +16 -16
- package/dist/chart/ChartPanel.vue +10 -6
- package/dist/chart/ChartPanel.vue.d.ts +6 -8
- package/dist/chart/ChartSummary.vue.d.ts +6 -6
- package/dist/chart/DoughnutChart.vue.d.ts +6 -6
- package/dist/chart/LineChart.vue.d.ts +6 -6
- package/dist/components/core/Button.vue +3 -1
- package/dist/components/core/Button.vue.d.ts +6 -6
- package/dist/components/core/FormField.vue.d.ts +6 -6
- package/dist/components/core/Icon.vue +9 -1
- package/dist/components/core/Icon.vue.d.ts +4 -4
- package/dist/components/core/Input.vue +6 -3
- package/dist/components/core/Input.vue.d.ts +18 -19
- package/dist/components/core/Kbd.vue.d.ts +6 -6
- package/dist/components/core/Root.vue.d.ts +10 -10
- package/dist/components/core/Spinner.vue +7 -3
- package/dist/components/core/Spinner.vue.d.ts +6 -7
- package/dist/components/core/Textarea.vue +36 -23
- package/dist/components/core/Textarea.vue.d.ts +31 -21
- package/dist/components/core/VisuallyHidden.vue.d.ts +10 -10
- package/dist/components/data/Avatar.vue +4 -2
- package/dist/components/data/Avatar.vue.d.ts +6 -6
- package/dist/components/data/AvatarGroup.vue +5 -2
- package/dist/components/data/AvatarGroup.vue.d.ts +7 -8
- package/dist/components/data/Badge.vue.d.ts +6 -6
- package/dist/components/data/DescriptionList.vue +7 -3
- package/dist/components/data/DescriptionList.vue.d.ts +7 -8
- package/dist/components/data/FilterPills.vue +13 -4
- package/dist/components/data/FilterPills.vue.d.ts +16 -18
- package/dist/components/data/Pagination.vue +23 -14
- package/dist/components/data/Pagination.vue.d.ts +16 -23
- package/dist/components/data/Stat.vue +9 -6
- package/dist/components/data/Stat.vue.d.ts +10 -13
- package/dist/components/data/Table.vue +12 -7
- package/dist/components/data/Tag.vue +7 -4
- package/dist/components/data/Tag.vue.d.ts +16 -17
- package/dist/components/data/Timeline.vue.d.ts +6 -6
- package/dist/components/data/Tree.vue +5 -2
- package/dist/components/data/Tree.vue.d.ts +16 -17
- package/dist/components/feedback/Alert.vue +5 -2
- package/dist/components/feedback/Alert.vue.d.ts +14 -15
- package/dist/components/feedback/EmptyState.vue.d.ts +7 -7
- package/dist/components/feedback/LoadingOverlay.vue +8 -4
- package/dist/components/feedback/LoadingOverlay.vue.d.ts +6 -7
- package/dist/components/feedback/Meter.vue.d.ts +6 -6
- package/dist/components/feedback/Progress.vue +6 -3
- package/dist/components/feedback/Progress.vue.d.ts +6 -7
- package/dist/components/feedback/ProgressRing.vue +5 -2
- package/dist/components/feedback/ProgressRing.vue.d.ts +6 -7
- package/dist/components/feedback/Skeleton.vue.d.ts +6 -6
- package/dist/components/forms/Calendar.vue +16 -11
- package/dist/components/forms/Calendar.vue.d.ts +17 -21
- package/dist/components/forms/ColorInput.vue +8 -4
- package/dist/components/forms/ColorInput.vue.d.ts +18 -20
- package/dist/components/forms/Combobox.vue +31 -19
- package/dist/components/forms/Combobox.vue.d.ts +2 -2
- package/dist/components/forms/DateInput.vue.d.ts +16 -16
- package/dist/components/forms/DatePicker.vue +17 -11
- package/dist/components/forms/DatePicker.vue.d.ts +14 -18
- package/dist/components/forms/FileInput.vue +23 -13
- package/dist/components/forms/FileInput.vue.d.ts +17 -23
- package/dist/components/forms/InputAddon.vue.d.ts +6 -6
- package/dist/components/forms/InputGroup.vue.d.ts +6 -6
- package/dist/components/forms/NumberInput.vue +15 -10
- package/dist/components/forms/NumberInput.vue.d.ts +16 -19
- package/dist/components/forms/PasswordInput.vue +21 -13
- package/dist/components/forms/PasswordInput.vue.d.ts +14 -20
- package/dist/components/forms/PinInput.vue +7 -2
- package/dist/components/forms/PinInput.vue.d.ts +18 -16
- package/dist/components/forms/Radio.vue.d.ts +6 -6
- package/dist/components/forms/Slider.vue.d.ts +18 -18
- package/dist/components/forms/Switch.vue.d.ts +16 -16
- package/dist/components/forms/TimeInput.vue.d.ts +16 -16
- package/dist/components/layout/Accordion.vue.d.ts +16 -16
- package/dist/components/layout/AppShell.vue +11 -6
- package/dist/components/layout/AppShell.vue.d.ts +16 -19
- package/dist/components/layout/Breadcrumbs.vue +5 -2
- package/dist/components/layout/Breadcrumbs.vue.d.ts +6 -7
- package/dist/components/layout/Card.vue.d.ts +8 -8
- package/dist/components/layout/CopyButton.vue +11 -6
- package/dist/components/layout/CopyButton.vue.d.ts +16 -18
- package/dist/components/layout/Grid.vue.d.ts +7 -7
- package/dist/components/layout/NavLink.vue.d.ts +10 -10
- package/dist/components/layout/PageHeader.vue.d.ts +6 -6
- package/dist/components/layout/Separator.vue.d.ts +6 -6
- package/dist/components/layout/Sidebar.vue +10 -5
- package/dist/components/layout/Sidebar.vue.d.ts +7 -11
- package/dist/components/layout/SidebarSection.vue.d.ts +6 -6
- package/dist/components/layout/Stack.vue.d.ts +10 -10
- package/dist/components/layout/Tabs.vue.d.ts +16 -16
- package/dist/components/layout/ThemeSwitch.vue +12 -6
- package/dist/components/layout/ThemeSwitch.vue.d.ts +6 -7
- package/dist/components/layout/Toolbar.vue.d.ts +6 -6
- package/dist/components/overlays/CommandPalette.vue +38 -24
- package/dist/components/overlays/CommandPalette.vue.d.ts +18 -30
- package/dist/components/overlays/ConfirmDialog.vue +14 -9
- package/dist/components/overlays/ConfirmDialog.vue.d.ts +12 -15
- package/dist/components/overlays/ConfirmHost.vue +6 -3
- package/dist/components/overlays/ConfirmHost.vue.d.ts +16 -16
- package/dist/components/overlays/ContextMenu.vue +6 -3
- package/dist/components/overlays/ContextMenu.vue.d.ts +11 -13
- package/dist/components/overlays/Drawer.vue +1 -1
- package/dist/components/overlays/Drawer.vue.d.ts +10 -11
- package/dist/components/overlays/DropdownMenu.vue.d.ts +10 -10
- package/dist/components/overlays/HoverCard.vue.d.ts +16 -16
- package/dist/components/overlays/Modal.vue +1 -1
- package/dist/components/overlays/Modal.vue.d.ts +10 -11
- package/dist/components/overlays/OverlayHost.vue.d.ts +1 -1
- package/dist/components/overlays/Popover.vue.d.ts +16 -16
- package/dist/components/overlays/Toaster.vue +8 -4
- package/dist/components/overlays/Toaster.vue.d.ts +8 -10
- package/dist/components/overlays/Tooltip.vue.d.ts +6 -6
- package/dist/components/templates/AccountMenu.vue +5 -2
- package/dist/components/templates/AccountMenu.vue.d.ts +18 -19
- package/dist/components/templates/AppearanceSettings.vue +26 -12
- package/dist/components/templates/AppearanceSettings.vue.d.ts +7 -11
- package/dist/components/templates/AuthLayout.vue +11 -7
- package/dist/components/templates/AuthLayout.vue.d.ts +6 -9
- package/dist/components/templates/Brand.vue.d.ts +10 -10
- package/dist/components/templates/DashboardLayout.vue +25 -16
- package/dist/components/templates/DashboardLayout.vue.d.ts +12 -24
- package/dist/components/templates/DashboardPage.vue +7 -3
- package/dist/components/templates/DashboardPage.vue.d.ts +6 -7
- package/dist/components/templates/DetailPage.vue +14 -8
- package/dist/components/templates/DetailPage.vue.d.ts +14 -18
- package/dist/components/templates/EmptyPage.vue +15 -8
- package/dist/components/templates/EmptyPage.vue.d.ts +7 -11
- package/dist/components/templates/ErrorPage.vue +32 -25
- package/dist/components/templates/ErrorPage.vue.d.ts +6 -6
- package/dist/components/templates/FormPage.vue +19 -11
- package/dist/components/templates/FormPage.vue.d.ts +3 -3
- package/dist/components/templates/ListPage.vue +39 -23
- package/dist/components/templates/ListPage.vue.d.ts +2 -2
- package/dist/components/templates/NotFoundPage.vue +4 -4
- package/dist/components/templates/NotFoundPage.vue.d.ts +1 -1
- package/dist/components/templates/SaveBar.vue +20 -11
- package/dist/components/templates/SaveBar.vue.d.ts +16 -19
- package/dist/components/templates/SettingsGroup.vue.d.ts +7 -7
- package/dist/components/templates/SettingsModal.vue +29 -21
- package/dist/components/templates/SettingsModal.vue.d.ts +15 -25
- package/dist/components/templates/SettingsPage.vue +8 -5
- package/dist/components/templates/SettingsPage.vue.d.ts +18 -21
- package/dist/components/templates/SettingsSection.vue +7 -3
- package/dist/components/templates/SettingsSection.vue.d.ts +8 -9
- package/dist/composables/core.d.ts +1 -0
- package/dist/composables/core.mjs +1 -0
- package/dist/composables/useAlert.mjs +3 -1
- package/dist/composables/useConfirm.mjs +5 -3
- package/dist/composables/useDirtyGuard.mjs +7 -5
- package/dist/composables/useForm.d.ts +4 -1
- package/dist/composables/useForm.mjs +33 -16
- package/dist/composables/useIcons.d.ts +4 -0
- package/dist/composables/useIcons.mjs +10 -0
- package/dist/composables/useLocale.d.ts +11 -0
- package/dist/composables/useLocale.mjs +26 -0
- package/dist/composables/usePasswordStrength.mjs +11 -7
- package/dist/composables/usePrompt.mjs +3 -1
- package/dist/editor/RichTextEditor.vue +20 -14
- package/dist/editor/RichTextEditor.vue.d.ts +22 -15
- package/dist/editor/index.d.ts +0 -1
- package/dist/editor/index.mjs +0 -1
- package/dist/editor/types.d.ts +3 -18
- package/dist/grid/DataGrid.vue +11 -2
- package/dist/grid/GridToolbar.vue +6 -2
- package/dist/grid/GridToolbar.vue.d.ts +21 -20
- package/dist/grid/cells/BadgeCell.vue.d.ts +6 -6
- package/dist/grid/cells/BooleanCell.vue +5 -2
- package/dist/grid/cells/BooleanCell.vue.d.ts +6 -6
- package/dist/grid/cells/DateCell.vue +4 -1
- package/dist/grid/cells/DateCell.vue.d.ts +6 -6
- package/dist/grid/cells/ImageCell.vue.d.ts +6 -6
- package/dist/grid/cells/LinkCell.vue.d.ts +6 -6
- package/dist/grid/index.d.ts +0 -1
- package/dist/grid/index.mjs +0 -1
- package/dist/grid/types.d.ts +5 -17
- package/dist/icons/collections.d.ts +39 -0
- package/dist/icons/collections.mjs +67 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.mjs +11 -1
- package/dist/internal/feedback/LoadingHost.vue +6 -3
- package/dist/internal/feedback/LoadingHost.vue.d.ts +0 -1
- package/dist/internal/forms/files.mjs +1 -1
- package/dist/internal/forms/standard-schema.d.ts +26 -0
- package/dist/internal/forms/standard-schema.mjs +21 -0
- package/dist/internal/keys.d.ts +4 -1
- package/dist/internal/keys.mjs +2 -0
- package/dist/internal/overlays/DialogFrame.vue +5 -2
- package/dist/internal/overlays/DialogFrame.vue.d.ts +14 -14
- package/dist/internal/overlays/MenuList.vue.d.ts +16 -16
- package/dist/internal/overlays/OverlayView.vue.d.ts +16 -16
- package/dist/internal/overlays/confirm.d.ts +3 -0
- package/dist/locale/en.d.ts +2 -0
- package/dist/locale/en.mjs +284 -0
- package/dist/locale/index.d.ts +16 -0
- package/dist/locale/index.mjs +50 -0
- package/dist/locale/it.d.ts +2 -0
- package/dist/locale/it.mjs +284 -0
- package/dist/locale/types.d.ts +292 -0
- package/dist/locale/types.mjs +0 -0
- package/dist/nuxt/module.d.ts +14 -0
- package/dist/nuxt/module.mjs +136 -8
- package/dist/nuxt/runtime/layouts/auth.vue.d.ts +16 -16
- package/dist/nuxt/runtime/layouts/dashboard.vue.d.ts +16 -16
- package/dist/nuxt/runtime/locale.d.ts +2 -0
- package/dist/nuxt/runtime/locale.mjs +20 -0
- package/dist/styles/core/icon.css +4 -0
- package/dist/styles/core/textarea.css +21 -0
- package/package.json +1 -1
- package/dist/editor/messages.d.ts +0 -2
- package/dist/editor/messages.mjs +0 -18
- package/dist/grid/messages.d.ts +0 -3
- package/dist/grid/messages.mjs +0 -21
package/README.md
CHANGED
|
@@ -10,8 +10,8 @@ pnpm add @xleddyl/443-components-vue
|
|
|
10
10
|
|
|
11
11
|
Optional integrations need their own peer dependencies, install only what you use:
|
|
12
12
|
|
|
13
|
-
| Subpath
|
|
14
|
-
|
|
|
13
|
+
| Subpath | Peer dependencies |
|
|
14
|
+
| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- |
|
|
15
15
|
| `@xleddyl/443-components-vue/grid` | `ag-grid-community`, `ag-grid-vue3` |
|
|
16
16
|
| `@xleddyl/443-components-vue/editor` | `@tiptap/vue-3`, `@tiptap/starter-kit`, `@tiptap/pm`, `@tiptap/extension-placeholder`, `@tiptap/extension-character-count` |
|
|
17
17
|
| `@xleddyl/443-components-vue/chart` | `chart.js`, `vue-chartjs` |
|
|
@@ -40,23 +40,29 @@ export default defineNuxtConfig({
|
|
|
40
40
|
|
|
41
41
|
Every component is registered with the prefix (`Button.vue` becomes `<KButton>`) and every `use*` composable plus `toast` and `withLoading` is auto-imported.
|
|
42
42
|
|
|
43
|
-
| Option
|
|
44
|
-
|
|
|
45
|
-
| `prefix`
|
|
46
|
-
| `css`
|
|
47
|
-
| `
|
|
48
|
-
| `
|
|
49
|
-
| `
|
|
50
|
-
| `
|
|
51
|
-
| `
|
|
52
|
-
| `
|
|
53
|
-
| `
|
|
54
|
-
| `
|
|
55
|
-
| `
|
|
56
|
-
| `
|
|
57
|
-
| `
|
|
58
|
-
| `
|
|
59
|
-
| `
|
|
43
|
+
| Option | Default | Effect |
|
|
44
|
+
| ------------------------- | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
45
|
+
| `prefix` | `'K'` | Component name prefix. |
|
|
46
|
+
| `css` | `true` | Injects `@xleddyl/443-components-vue/style.css` (and the CSS of enabled optional groups). |
|
|
47
|
+
| `cssLayers` | `'theme, base, k, components, utilities'` | Cascade layer order declared before any other CSS. The library layer `k` sits after the `theme` and `base` layers of Tailwind (so preflight does not reset components) and before `components` and `utilities` (so host classes win). `false` declares nothing. See [Scoping](#scoping). |
|
|
48
|
+
| `locale` | `'en'` | Language of the built-in copy: `'en'`, `'it'`, or any code completed with `messages`. With `@nuxtjs/i18n` the current i18n locale wins. See [Languages](#languages). |
|
|
49
|
+
| `messages` | `{}` | Overrides per locale code, for example `{ it: { common: { cancel: 'Indietro' } } }`. |
|
|
50
|
+
| `composables` | `true` | Auto-imports the composables. |
|
|
51
|
+
| `global` | `false` | Puts `k-root` and `data-theme` on `<html>` for apps that are dashboard only. |
|
|
52
|
+
| `theme.cookie` | `'k-theme'` | Cookie that stores the theme preference (SSR safe, no flash). |
|
|
53
|
+
| `theme.default` | `'system'` | `'light'`, `'dark'` or `'system'`. |
|
|
54
|
+
| `preset.default` | `'default'` | Built-in preset: `'default'`, `'suedtirol'` or `'spotfish'`. |
|
|
55
|
+
| `preset.cookie` | `'k-preset'` | Cookie that stores the preset preference (SSR safe, no flash). |
|
|
56
|
+
| `fonts` | `true` | Injects the self-hosted fonts of `preset.default` (`true`), of a list of presets (`['default', 'suedtirol']`) or none (`false`). Install the `@fontsource-variable/*` packages they need. |
|
|
57
|
+
| `icons.dir` | none | Folder of `.svg` files registered as icons by file name (watched in dev). |
|
|
58
|
+
| `icons.collections` | `[]` | Iconify collections usable as `prefix:name`, for example `['lucide', { prefix: 'heroicons', exclude: ['*-solid', '*-20-*', '*-16-*'] }]`. See [Icons](#icons). |
|
|
59
|
+
| `icons.defaultCollection` | none | Collection tried for names without a prefix that are not registered or built in. |
|
|
60
|
+
| `icons.aliases` | `{}` | Replaces any icon, built-ins included: `{ 'x-mark': 'lucide:x', logo: 'brand-logo' }` (a collection icon or a file of `icons.dir`). |
|
|
61
|
+
| `grid` | `false` | Registers `KDataGrid` and `KGridToolbar` and injects their CSS. |
|
|
62
|
+
| `editor` | `false` | Registers `KRichTextEditor` and injects its CSS. |
|
|
63
|
+
| `chart` | `false` | Registers `KChartPanel`, `KChartLegend`, `KLineChart`, `KBarChart`, `KDoughnutChart` and injects their CSS. |
|
|
64
|
+
| `layouts` | `false` | Registers the ready Nuxt layouts `k-dashboard` and `k-auth` (configured from `app.config.ts`, see [Layouts](#layouts-and-page-templates)). Pass `{ dashboard: 'admin', auth: false }` to rename or skip one. |
|
|
65
|
+
| `cssTarget` | modern browsers | Sets `vite.build.cssTarget` when the host did not, so Lightning CSS keeps `light-dark()`. Pass `false` to leave the build target alone. |
|
|
60
66
|
|
|
61
67
|
The module also adds the optional peer dependencies that are installed in the host to `vite.optimizeDeps.include`, so the first visit to a page with a grid, editor or chart does not trigger a dependency reload.
|
|
62
68
|
|
|
@@ -86,6 +92,8 @@ import { Button, OverlayHost, Root, toast } from '@xleddyl/443-components-vue'
|
|
|
86
92
|
</template>
|
|
87
93
|
```
|
|
88
94
|
|
|
95
|
+
Language and icon collections without Nuxt: `app.use(createLocale(it))` (or `createLocale(computed(() => ...))` to follow your own i18n), and `registerIconCollection('lucide', () => import('@iconify-json/lucide/icons.json'))`.
|
|
96
|
+
|
|
89
97
|
Without Nuxt the theme and preset preferences are kept in `localStorage`; pass your own stores with `app.use(createTheme(ref('dark')))` and `app.use(createPreset(ref('suedtirol')))`. Import the fonts of the presets you use yourself (see [Presets](#presets)). Optional groups: `import { DataGrid } from '@xleddyl/443-components-vue/grid'` plus `import '@xleddyl/443-components-vue/grid/style.css'` (same for `editor` and `chart`). With a router, provide the link component once: `app.use(createLinkComponent(RouterLink))`.
|
|
90
98
|
|
|
91
99
|
Vite 8 minifies CSS with Lightning CSS. Set `build.cssTarget` to browsers that support `light-dark()` (for example `['chrome123', 'edge123', 'firefox128', 'safari17.5']`) to keep the native function. See the theming notes below for what changes when it is transpiled.
|
|
@@ -159,9 +167,62 @@ Semantic color props are always called `tone` and accept `'neutral' | 'accent' |
|
|
|
159
167
|
- The reset only matches `.k-root` and its descendants, wrapped in `:where()` (zero specificity). Markup outside a root keeps browser defaults.
|
|
160
168
|
- All classes and keyframes are `k-` prefixed.
|
|
161
169
|
- Everything sits in `@layer k.tokens, k.base, k.components, k.utilities`. Any unlayered host CSS wins, so overrides need no `!important`. The flip side: unlayered host element selectors (`button { ... }`) also reach library elements. Put global element styles in a layer or scope them.
|
|
170
|
+
- Tailwind 4 puts its preflight in the `base` layer. The Nuxt module declares `@layer theme, base, k, components, utilities` before any stylesheet (option `cssLayers`), so preflight never resets library components while Tailwind utilities still win on them. Without Nuxt, put the same statement at the top of your first stylesheet. A host reset of your own belongs in `base` (or any layer declared before `k`).
|
|
162
171
|
- The one exception is the dashboard frame: while an `AppShell` (`.k-shell`) is on the page, or with `k.global`, `html` and `body` get `overscroll-behavior: none` and `overflow-x: clip`, so the page never rubber bands or scrolls sideways. Only the content panel and the sidebar list scroll, with `overscroll-behavior: contain`.
|
|
163
172
|
- Overlays stay inside the root in the DOM (native top layer through `<dialog>` and `popover`), so they inherit tokens.
|
|
164
173
|
|
|
174
|
+
## Icons
|
|
175
|
+
|
|
176
|
+
`<KIcon name="..." />` resolves a name in this order:
|
|
177
|
+
|
|
178
|
+
1. Icons registered with `createIcons()`, `provideIcons()`, `k.icons.dir` or `k.icons.aliases`. A registered name replaces a built-in one, so `k.icons.aliases: { 'x-mark': 'lucide:x' }` changes the close icon of every component.
|
|
179
|
+
2. The built-in Heroicons outline set (`builtinIcons`, the icons the components use).
|
|
180
|
+
3. Iconify collections, written `prefix:name` (`heroicons:newspaper`, `lucide:file-text`). Names without a prefix also try `k.icons.defaultCollection`.
|
|
181
|
+
|
|
182
|
+
Collections come from the `@iconify-json/*` packages (or `@iconify/json`), installed in the host:
|
|
183
|
+
|
|
184
|
+
```sh
|
|
185
|
+
pnpm add -D @iconify-json/heroicons @iconify-json/lucide
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
```ts
|
|
189
|
+
k: {
|
|
190
|
+
icons: {
|
|
191
|
+
collections: ['lucide', { prefix: 'heroicons', exclude: ['*-solid', '*-20-*', '*-16-*'] }],
|
|
192
|
+
defaultCollection: 'heroicons',
|
|
193
|
+
},
|
|
194
|
+
}
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Each collection is a separate chunk loaded the first time one of its icons renders. The server loads every collection, records which ones a page used and the client loads those before hydration, so server rendered icons never flash. `include` and `exclude` take `*` wildcards and keep a collection small.
|
|
198
|
+
|
|
199
|
+
## Languages
|
|
200
|
+
|
|
201
|
+
The components have no hardcoded copy. Every label, placeholder, status text and validation message comes from a typed catalog (`KMessages`), with English (`en`) and Italian (`it`) built in. Plurals are `'one | other'` templates with a `{count}` parameter.
|
|
202
|
+
|
|
203
|
+
```ts
|
|
204
|
+
k: { locale: 'it', messages: { it: { common: { cancel: 'Indietro' } } } }
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
- With `@nuxtjs/i18n` the module follows the current i18n locale (a `de-CH` locale uses `de` overrides, then English).
|
|
208
|
+
- A new language is a full `messages[code]` object, or `defineLocale({ code: 'de', messages: {...} })` passed to `createLocale()` / `provideLocale()` in plain Vue.
|
|
209
|
+
- `useLocale()` returns `{ locale, t }` for your own components (`t('common.cancel')`).
|
|
210
|
+
- The `*Label` and `*Text` props of each component still override a single instance.
|
|
211
|
+
|
|
212
|
+
## Forms
|
|
213
|
+
|
|
214
|
+
`useForm({ schema })` takes field definitions (`initial`, `required`, `min`, `max`, `minLength`, `maxLength`, `pattern`, `validate`). Any [Standard Schema](https://standardschema.dev) library (Zod 4, Valibot, ArkType) also works, per field (`schema` in the definition) or for the whole form (`validator`, issues are matched to fields by their first path segment):
|
|
215
|
+
|
|
216
|
+
```ts
|
|
217
|
+
const form = useForm({
|
|
218
|
+
schema: { email: { initial: '' }, password: { initial: '' } },
|
|
219
|
+
validator: z.object({ email: z.email(), password: z.string().min(12) }),
|
|
220
|
+
onSubmit: (values) => save(values),
|
|
221
|
+
})
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Built-in messages follow the active language. `messages` overrides them for one form.
|
|
225
|
+
|
|
165
226
|
## Components
|
|
166
227
|
|
|
167
228
|
| Group | Components |
|
|
@@ -220,7 +281,7 @@ await run(() => api.save(form))
|
|
|
220
281
|
```
|
|
221
282
|
|
|
222
283
|
- Toasts stack behind the newest one (up to `max`, default 4) and expand on hover or focus, which also pauses their timers. Each tone has its own icon; `description` takes a string or a list of lines. `dismissible: false` hides the close button, `duration: Infinity` keeps a toast open, `progress` on the toaster shows a timer bar.
|
|
223
|
-
- `useConfirm()` resolves `true` or `false`, `useAlert()` resolves when closed, `usePrompt()` resolves the string or `null`. Prompt options: `label`, `placeholder`, `value`, `type`, `required`, `requiredText`, `validate(value)` (return an error message to keep the dialog open), `onConfirm(value)`. Without a host they fall back to the native browser dialogs.
|
|
284
|
+
- `useConfirm()` resolves `true` or `false`, `useAlert()` resolves when closed, `usePrompt()` resolves the string or `null`. `useConfirm()` and `useAlert()` also take `body`, a component rendered under the description (for example a list of the pages that use a file). Prompt options: `label`, `placeholder`, `value`, `type`, `required`, `requiredText`, `validate(value)` (return an error message to keep the dialog open), `onConfirm(value)`. Without a host they fall back to the native browser dialogs.
|
|
224
285
|
- `modal.open(Component, props, options)` returns a promise for the result plus `id`, `close(result)` and `update(props)`. Options: `title`, `description`, `size`, `side` (drawers), `sheet`, `flush`, `dismissible`, `hideClose`, `closeLabel`, `as: 'modal' | 'drawer'`. Inside the component, `useModalContext<R>()` gives `close(result?)` and `setLoading(boolean)`. A component can open another modal on top; Escape and the backdrop resolve `undefined`. `modal.close(id?, result?)` and `modal.closeAll()` close from outside.
|
|
225
286
|
- `useLoading()` is ref counted: `start()` returns a stop function, `wrap(promise | fn, options?)` and `withLoading(fn)` stop when settled, `active`, `count` and `blocking` are refs. The host shows a top progress bar after `delay`, and a blocking screen (a modal dialog, so the page is inert) for tasks started with `blocking: true`. `useLoadingState({ global? })` returns a scoped `{ loading, error, run }` for buttons and forms.
|
|
226
287
|
|
|
@@ -20,7 +20,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
20
20
|
dir?: string | undefined | undefined;
|
|
21
21
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
22
22
|
enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
23
|
-
enterKeyHint?: "search" | "done" | "
|
|
23
|
+
enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
24
24
|
hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
|
|
25
25
|
id?: string | undefined | undefined;
|
|
26
26
|
inert?: (boolean | "true" | "false") | undefined;
|
|
@@ -66,7 +66,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
66
66
|
'aria-colindex'?: (string | number) | undefined;
|
|
67
67
|
'aria-colspan'?: (string | number) | undefined;
|
|
68
68
|
'aria-controls'?: string | undefined | undefined;
|
|
69
|
-
'aria-current'?: "location" | "time" | (boolean | "true" | "false") | "
|
|
69
|
+
'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
|
|
70
70
|
'aria-describedby'?: string | undefined | undefined;
|
|
71
71
|
'aria-details'?: string | undefined | undefined;
|
|
72
72
|
'aria-disabled'?: (boolean | "true" | "false") | undefined;
|
|
@@ -75,7 +75,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
75
75
|
'aria-expanded'?: (boolean | "true" | "false") | undefined;
|
|
76
76
|
'aria-flowto'?: string | undefined | undefined;
|
|
77
77
|
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
|
|
78
|
-
'aria-haspopup'?: "dialog" | "menu" | (boolean | "true" | "false") | "listbox" |
|
|
78
|
+
'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
|
|
79
79
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
80
80
|
'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
|
|
81
81
|
'aria-keyshortcuts'?: string | undefined | undefined;
|
|
@@ -223,7 +223,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
223
223
|
dir?: string | undefined | undefined;
|
|
224
224
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
225
225
|
enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
226
|
-
enterKeyHint?: "search" | "done" | "
|
|
226
|
+
enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
227
227
|
hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
|
|
228
228
|
id?: string | undefined | undefined;
|
|
229
229
|
inert?: (boolean | "true" | "false") | undefined;
|
|
@@ -269,7 +269,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
269
269
|
'aria-colindex'?: (string | number) | undefined;
|
|
270
270
|
'aria-colspan'?: (string | number) | undefined;
|
|
271
271
|
'aria-controls'?: string | undefined | undefined;
|
|
272
|
-
'aria-current'?: "location" | "time" | (boolean | "true" | "false") | "
|
|
272
|
+
'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
|
|
273
273
|
'aria-describedby'?: string | undefined | undefined;
|
|
274
274
|
'aria-details'?: string | undefined | undefined;
|
|
275
275
|
'aria-disabled'?: (boolean | "true" | "false") | undefined;
|
|
@@ -278,7 +278,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
278
278
|
'aria-expanded'?: (boolean | "true" | "false") | undefined;
|
|
279
279
|
'aria-flowto'?: string | undefined | undefined;
|
|
280
280
|
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
|
|
281
|
-
'aria-haspopup'?: "dialog" | "menu" | (boolean | "true" | "false") | "listbox" |
|
|
281
|
+
'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
|
|
282
282
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
283
283
|
'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
|
|
284
284
|
'aria-keyshortcuts'?: string | undefined | undefined;
|
|
@@ -3,14 +3,16 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
3
3
|
items: ChartLegendItem[];
|
|
4
4
|
position?: ChartLegendPosition;
|
|
5
5
|
key?: PropertyKey | undefined;
|
|
6
|
-
|
|
6
|
+
prefix?: string | undefined | undefined;
|
|
7
|
+
title?: string | undefined | undefined;
|
|
8
|
+
style?: import("vue").StyleValue;
|
|
9
|
+
results?: (string | number) | undefined;
|
|
7
10
|
placeholder?: string | undefined | undefined;
|
|
11
|
+
ref?: import("vue").VNodeRef | undefined;
|
|
8
12
|
class?: import("vue").ClassValue;
|
|
9
13
|
role?: string | undefined | undefined;
|
|
10
14
|
'aria-label'?: string | undefined | undefined;
|
|
11
15
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
12
|
-
style?: import("vue").StyleValue;
|
|
13
|
-
title?: string | undefined | undefined;
|
|
14
16
|
onCopy?: ((payload: ClipboardEvent) => void) | undefined;
|
|
15
17
|
onCut?: ((payload: ClipboardEvent) => void) | undefined;
|
|
16
18
|
onPaste?: ((payload: ClipboardEvent) => void) | undefined;
|
|
@@ -118,7 +120,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
118
120
|
'aria-colindex'?: (string | number) | undefined;
|
|
119
121
|
'aria-colspan'?: (string | number) | undefined;
|
|
120
122
|
'aria-controls'?: string | undefined | undefined;
|
|
121
|
-
'aria-current'?: "location" | "time" | (boolean | "true" | "false") | "
|
|
123
|
+
'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
|
|
122
124
|
'aria-describedby'?: string | undefined | undefined;
|
|
123
125
|
'aria-details'?: string | undefined | undefined;
|
|
124
126
|
'aria-disabled'?: (boolean | "true" | "false") | undefined;
|
|
@@ -127,7 +129,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
127
129
|
'aria-expanded'?: (boolean | "true" | "false") | undefined;
|
|
128
130
|
'aria-flowto'?: string | undefined | undefined;
|
|
129
131
|
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
|
|
130
|
-
'aria-haspopup'?: "dialog" | "menu" | (boolean | "true" | "false") | "listbox" |
|
|
132
|
+
'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
|
|
131
133
|
'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
|
|
132
134
|
'aria-keyshortcuts'?: string | undefined | undefined;
|
|
133
135
|
'aria-labelledby'?: string | undefined | undefined;
|
|
@@ -163,7 +165,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
163
165
|
dir?: string | undefined | undefined;
|
|
164
166
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
165
167
|
enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
166
|
-
enterKeyHint?: "search" | "done" | "
|
|
168
|
+
enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
167
169
|
hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
|
|
168
170
|
inert?: (boolean | "true" | "false") | undefined;
|
|
169
171
|
spellcheck?: (boolean | "true" | "false") | undefined;
|
|
@@ -172,7 +174,6 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
172
174
|
about?: string | undefined | undefined;
|
|
173
175
|
datatype?: string | undefined | undefined;
|
|
174
176
|
inlist?: any;
|
|
175
|
-
prefix?: string | undefined | undefined;
|
|
176
177
|
property?: string | undefined | undefined;
|
|
177
178
|
resource?: string | undefined | undefined;
|
|
178
179
|
typeof?: string | undefined | undefined;
|
|
@@ -185,7 +186,6 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
185
186
|
itemtype?: string | undefined | undefined;
|
|
186
187
|
itemid?: string | undefined | undefined;
|
|
187
188
|
itemref?: string | undefined | undefined;
|
|
188
|
-
results?: (string | number) | undefined;
|
|
189
189
|
security?: string | undefined | undefined;
|
|
190
190
|
unselectable?: "on" | "off" | undefined | undefined;
|
|
191
191
|
inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
|
|
@@ -199,14 +199,16 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
199
199
|
items: ChartLegendItem[];
|
|
200
200
|
position?: ChartLegendPosition;
|
|
201
201
|
key?: PropertyKey | undefined;
|
|
202
|
-
|
|
202
|
+
prefix?: string | undefined | undefined;
|
|
203
|
+
title?: string | undefined | undefined;
|
|
204
|
+
style?: import("vue").StyleValue;
|
|
205
|
+
results?: (string | number) | undefined;
|
|
203
206
|
placeholder?: string | undefined | undefined;
|
|
207
|
+
ref?: import("vue").VNodeRef | undefined;
|
|
204
208
|
class?: import("vue").ClassValue;
|
|
205
209
|
role?: string | undefined | undefined;
|
|
206
210
|
'aria-label'?: string | undefined | undefined;
|
|
207
211
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
208
|
-
style?: import("vue").StyleValue;
|
|
209
|
-
title?: string | undefined | undefined;
|
|
210
212
|
onCopy?: ((payload: ClipboardEvent) => void) | undefined;
|
|
211
213
|
onCut?: ((payload: ClipboardEvent) => void) | undefined;
|
|
212
214
|
onPaste?: ((payload: ClipboardEvent) => void) | undefined;
|
|
@@ -314,7 +316,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
314
316
|
'aria-colindex'?: (string | number) | undefined;
|
|
315
317
|
'aria-colspan'?: (string | number) | undefined;
|
|
316
318
|
'aria-controls'?: string | undefined | undefined;
|
|
317
|
-
'aria-current'?: "location" | "time" | (boolean | "true" | "false") | "
|
|
319
|
+
'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
|
|
318
320
|
'aria-describedby'?: string | undefined | undefined;
|
|
319
321
|
'aria-details'?: string | undefined | undefined;
|
|
320
322
|
'aria-disabled'?: (boolean | "true" | "false") | undefined;
|
|
@@ -323,7 +325,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
323
325
|
'aria-expanded'?: (boolean | "true" | "false") | undefined;
|
|
324
326
|
'aria-flowto'?: string | undefined | undefined;
|
|
325
327
|
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
|
|
326
|
-
'aria-haspopup'?: "dialog" | "menu" | (boolean | "true" | "false") | "listbox" |
|
|
328
|
+
'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
|
|
327
329
|
'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
|
|
328
330
|
'aria-keyshortcuts'?: string | undefined | undefined;
|
|
329
331
|
'aria-labelledby'?: string | undefined | undefined;
|
|
@@ -359,7 +361,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
359
361
|
dir?: string | undefined | undefined;
|
|
360
362
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
361
363
|
enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
362
|
-
enterKeyHint?: "search" | "done" | "
|
|
364
|
+
enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
363
365
|
hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
|
|
364
366
|
inert?: (boolean | "true" | "false") | undefined;
|
|
365
367
|
spellcheck?: (boolean | "true" | "false") | undefined;
|
|
@@ -368,7 +370,6 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
368
370
|
about?: string | undefined | undefined;
|
|
369
371
|
datatype?: string | undefined | undefined;
|
|
370
372
|
inlist?: any;
|
|
371
|
-
prefix?: string | undefined | undefined;
|
|
372
373
|
property?: string | undefined | undefined;
|
|
373
374
|
resource?: string | undefined | undefined;
|
|
374
375
|
typeof?: string | undefined | undefined;
|
|
@@ -381,7 +382,6 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
381
382
|
itemtype?: string | undefined | undefined;
|
|
382
383
|
itemid?: string | undefined | undefined;
|
|
383
384
|
itemref?: string | undefined | undefined;
|
|
384
|
-
results?: (string | number) | undefined;
|
|
385
385
|
security?: string | undefined | undefined;
|
|
386
386
|
unselectable?: "on" | "off" | undefined | undefined;
|
|
387
387
|
inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
class="k-chart-skeleton"
|
|
19
19
|
:style="{ height }"
|
|
20
20
|
role="status"
|
|
21
|
-
:aria-label="
|
|
21
|
+
:aria-label="loadingLabel"
|
|
22
22
|
>
|
|
23
23
|
<span v-for="bar in skeletonBars" :key="bar" :style="{ height: `${bar}%` }" />
|
|
24
24
|
</div>
|
|
25
25
|
<div v-else-if="empty" class="k-chart-empty" :style="{ height }">
|
|
26
|
-
<slot name="empty">{{
|
|
26
|
+
<slot name="empty">{{ emptyLabel }}</slot>
|
|
27
27
|
</div>
|
|
28
28
|
<slot v-else />
|
|
29
29
|
</div>
|
|
@@ -32,16 +32,20 @@
|
|
|
32
32
|
</template>
|
|
33
33
|
|
|
34
34
|
<script setup>
|
|
35
|
-
import { useId } from "vue";
|
|
36
|
-
|
|
35
|
+
import { computed, useId } from "vue";
|
|
36
|
+
import { useLocale } from "../composables/useLocale";
|
|
37
|
+
const props = defineProps({
|
|
37
38
|
title: { type: String, required: false },
|
|
38
39
|
description: { type: String, required: false },
|
|
39
40
|
loading: { type: Boolean, required: false },
|
|
40
41
|
empty: { type: Boolean, required: false },
|
|
41
|
-
emptyText: { type: String, required: false
|
|
42
|
-
loadingText: { type: String, required: false
|
|
42
|
+
emptyText: { type: String, required: false },
|
|
43
|
+
loadingText: { type: String, required: false },
|
|
43
44
|
height: { type: String, required: false, default: "16rem" }
|
|
44
45
|
});
|
|
46
|
+
const { t } = useLocale();
|
|
47
|
+
const emptyLabel = computed(() => props.emptyText ?? t("chart.empty"));
|
|
48
|
+
const loadingLabel = computed(() => props.loadingText ?? t("chart.loading"));
|
|
45
49
|
const titleId = useId();
|
|
46
50
|
const skeletonBars = [42, 68, 54, 86, 62, 74, 48, 92, 58, 70, 52, 80];
|
|
47
51
|
</script>
|
|
@@ -27,7 +27,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
27
27
|
dir?: string | undefined | undefined;
|
|
28
28
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
29
29
|
enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
30
|
-
enterKeyHint?: "search" | "done" | "
|
|
30
|
+
enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
31
31
|
hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
|
|
32
32
|
id?: string | undefined | undefined;
|
|
33
33
|
inert?: (boolean | "true" | "false") | undefined;
|
|
@@ -72,7 +72,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
72
72
|
'aria-colindex'?: (string | number) | undefined;
|
|
73
73
|
'aria-colspan'?: (string | number) | undefined;
|
|
74
74
|
'aria-controls'?: string | undefined | undefined;
|
|
75
|
-
'aria-current'?: "location" | "time" | (boolean | "true" | "false") | "
|
|
75
|
+
'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
|
|
76
76
|
'aria-describedby'?: string | undefined | undefined;
|
|
77
77
|
'aria-details'?: string | undefined | undefined;
|
|
78
78
|
'aria-disabled'?: (boolean | "true" | "false") | undefined;
|
|
@@ -81,7 +81,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
81
81
|
'aria-expanded'?: (boolean | "true" | "false") | undefined;
|
|
82
82
|
'aria-flowto'?: string | undefined | undefined;
|
|
83
83
|
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
|
|
84
|
-
'aria-haspopup'?: "dialog" | "menu" | (boolean | "true" | "false") | "listbox" |
|
|
84
|
+
'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
|
|
85
85
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
86
86
|
'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
|
|
87
87
|
'aria-keyshortcuts'?: string | undefined | undefined;
|
|
@@ -226,7 +226,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
226
226
|
dir?: string | undefined | undefined;
|
|
227
227
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
228
228
|
enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
229
|
-
enterKeyHint?: "search" | "done" | "
|
|
229
|
+
enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
230
230
|
hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
|
|
231
231
|
id?: string | undefined | undefined;
|
|
232
232
|
inert?: (boolean | "true" | "false") | undefined;
|
|
@@ -271,7 +271,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
271
271
|
'aria-colindex'?: (string | number) | undefined;
|
|
272
272
|
'aria-colspan'?: (string | number) | undefined;
|
|
273
273
|
'aria-controls'?: string | undefined | undefined;
|
|
274
|
-
'aria-current'?: "location" | "time" | (boolean | "true" | "false") | "
|
|
274
|
+
'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
|
|
275
275
|
'aria-describedby'?: string | undefined | undefined;
|
|
276
276
|
'aria-details'?: string | undefined | undefined;
|
|
277
277
|
'aria-disabled'?: (boolean | "true" | "false") | undefined;
|
|
@@ -280,7 +280,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
280
280
|
'aria-expanded'?: (boolean | "true" | "false") | undefined;
|
|
281
281
|
'aria-flowto'?: string | undefined | undefined;
|
|
282
282
|
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
|
|
283
|
-
'aria-haspopup'?: "dialog" | "menu" | (boolean | "true" | "false") | "listbox" |
|
|
283
|
+
'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
|
|
284
284
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
285
285
|
'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
|
|
286
286
|
'aria-keyshortcuts'?: string | undefined | undefined;
|
|
@@ -410,8 +410,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
410
410
|
ref_key?: string | undefined | undefined;
|
|
411
411
|
}> & Readonly<{}>, {
|
|
412
412
|
height: string;
|
|
413
|
-
emptyText: string;
|
|
414
|
-
loadingText: string;
|
|
415
413
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
416
414
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
417
415
|
declare const _default: typeof __VLS_export;
|
|
@@ -16,7 +16,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
16
16
|
dir?: string | undefined | undefined;
|
|
17
17
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
18
18
|
enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
19
|
-
enterKeyHint?: "search" | "done" | "
|
|
19
|
+
enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
20
20
|
hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
|
|
21
21
|
id?: string | undefined | undefined;
|
|
22
22
|
inert?: (boolean | "true" | "false") | undefined;
|
|
@@ -62,7 +62,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
62
62
|
'aria-colindex'?: (string | number) | undefined;
|
|
63
63
|
'aria-colspan'?: (string | number) | undefined;
|
|
64
64
|
'aria-controls'?: string | undefined | undefined;
|
|
65
|
-
'aria-current'?: "location" | "time" | (boolean | "true" | "false") | "
|
|
65
|
+
'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
|
|
66
66
|
'aria-describedby'?: string | undefined | undefined;
|
|
67
67
|
'aria-details'?: string | undefined | undefined;
|
|
68
68
|
'aria-disabled'?: (boolean | "true" | "false") | undefined;
|
|
@@ -71,7 +71,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
71
71
|
'aria-expanded'?: (boolean | "true" | "false") | undefined;
|
|
72
72
|
'aria-flowto'?: string | undefined | undefined;
|
|
73
73
|
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
|
|
74
|
-
'aria-haspopup'?: "dialog" | "menu" | (boolean | "true" | "false") | "listbox" |
|
|
74
|
+
'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
|
|
75
75
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
76
76
|
'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
|
|
77
77
|
'aria-keyshortcuts'?: string | undefined | undefined;
|
|
@@ -216,7 +216,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
216
216
|
dir?: string | undefined | undefined;
|
|
217
217
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
218
218
|
enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
219
|
-
enterKeyHint?: "search" | "done" | "
|
|
219
|
+
enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
220
220
|
hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
|
|
221
221
|
id?: string | undefined | undefined;
|
|
222
222
|
inert?: (boolean | "true" | "false") | undefined;
|
|
@@ -262,7 +262,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
262
262
|
'aria-colindex'?: (string | number) | undefined;
|
|
263
263
|
'aria-colspan'?: (string | number) | undefined;
|
|
264
264
|
'aria-controls'?: string | undefined | undefined;
|
|
265
|
-
'aria-current'?: "location" | "time" | (boolean | "true" | "false") | "
|
|
265
|
+
'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
|
|
266
266
|
'aria-describedby'?: string | undefined | undefined;
|
|
267
267
|
'aria-details'?: string | undefined | undefined;
|
|
268
268
|
'aria-disabled'?: (boolean | "true" | "false") | undefined;
|
|
@@ -271,7 +271,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
|
|
|
271
271
|
'aria-expanded'?: (boolean | "true" | "false") | undefined;
|
|
272
272
|
'aria-flowto'?: string | undefined | undefined;
|
|
273
273
|
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
|
|
274
|
-
'aria-haspopup'?: "dialog" | "menu" | (boolean | "true" | "false") | "listbox" |
|
|
274
|
+
'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
|
|
275
275
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
276
276
|
'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
|
|
277
277
|
'aria-keyshortcuts'?: string | undefined | undefined;
|
|
@@ -24,7 +24,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
24
24
|
dir?: string | undefined | undefined;
|
|
25
25
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
26
26
|
enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
27
|
-
enterKeyHint?: "search" | "done" | "
|
|
27
|
+
enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
28
28
|
hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
|
|
29
29
|
id?: string | undefined | undefined;
|
|
30
30
|
inert?: (boolean | "true" | "false") | undefined;
|
|
@@ -70,7 +70,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
70
70
|
'aria-colindex'?: (string | number) | undefined;
|
|
71
71
|
'aria-colspan'?: (string | number) | undefined;
|
|
72
72
|
'aria-controls'?: string | undefined | undefined;
|
|
73
|
-
'aria-current'?: "location" | "time" | (boolean | "true" | "false") | "
|
|
73
|
+
'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
|
|
74
74
|
'aria-describedby'?: string | undefined | undefined;
|
|
75
75
|
'aria-details'?: string | undefined | undefined;
|
|
76
76
|
'aria-disabled'?: (boolean | "true" | "false") | undefined;
|
|
@@ -79,7 +79,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
79
79
|
'aria-expanded'?: (boolean | "true" | "false") | undefined;
|
|
80
80
|
'aria-flowto'?: string | undefined | undefined;
|
|
81
81
|
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
|
|
82
|
-
'aria-haspopup'?: "dialog" | "menu" | (boolean | "true" | "false") | "listbox" |
|
|
82
|
+
'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
|
|
83
83
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
84
84
|
'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
|
|
85
85
|
'aria-keyshortcuts'?: string | undefined | undefined;
|
|
@@ -227,7 +227,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
227
227
|
dir?: string | undefined | undefined;
|
|
228
228
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
229
229
|
enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
230
|
-
enterKeyHint?: "search" | "done" | "
|
|
230
|
+
enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
|
|
231
231
|
hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
|
|
232
232
|
id?: string | undefined | undefined;
|
|
233
233
|
inert?: (boolean | "true" | "false") | undefined;
|
|
@@ -273,7 +273,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
273
273
|
'aria-colindex'?: (string | number) | undefined;
|
|
274
274
|
'aria-colspan'?: (string | number) | undefined;
|
|
275
275
|
'aria-controls'?: string | undefined | undefined;
|
|
276
|
-
'aria-current'?: "location" | "time" | (boolean | "true" | "false") | "
|
|
276
|
+
'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
|
|
277
277
|
'aria-describedby'?: string | undefined | undefined;
|
|
278
278
|
'aria-details'?: string | undefined | undefined;
|
|
279
279
|
'aria-disabled'?: (boolean | "true" | "false") | undefined;
|
|
@@ -282,7 +282,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
282
282
|
'aria-expanded'?: (boolean | "true" | "false") | undefined;
|
|
283
283
|
'aria-flowto'?: string | undefined | undefined;
|
|
284
284
|
'aria-grabbed'?: (boolean | "true" | "false") | undefined;
|
|
285
|
-
'aria-haspopup'?: "dialog" | "menu" | (boolean | "true" | "false") | "listbox" |
|
|
285
|
+
'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
|
|
286
286
|
'aria-hidden'?: (boolean | "true" | "false") | undefined;
|
|
287
287
|
'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
|
|
288
288
|
'aria-keyshortcuts'?: string | undefined | undefined;
|