@nxgt/material-vue 0.37.1 → 0.38.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/CHANGELOG.md +80 -0
- package/README.md +1 -0
- package/dist/{Button-CurFF4Zt.js → Button-5UyKA-x_.js} +1 -1
- package/dist/{HoverCardTrigger-jCXl6TrX.js → HoverCardTrigger-CmCDiTn8.js} +2 -2
- package/dist/{camera-CYwiFuGE.js → camera-BWzF8sOW.js} +4 -4
- package/dist/components/base.css +3 -1
- package/dist/{components--v_k8diD.js → components-B_s5oxUp.js} +11816 -11302
- package/dist/components.js +8 -8
- package/dist/composables.js +2 -2
- package/dist/dnd.js +1 -1
- package/dist/{form-scope-B2oJ5fHr.js → form-scope-UzoU38db.js} +1 -1
- package/dist/{i18n-provider-B2q6vp6H.js → i18n-provider-BEvjls8b.js} +1 -1
- package/dist/i18n.js +4 -4
- package/dist/{icon-button-CIUc1bEp.js → icon-button-DhqJE6Ej.js} +1 -1
- package/dist/lib/components/ui/feedback/banner/banner.vue.d.ts +1 -1
- package/dist/lib/components/ui/fields/contacts/consts.d.ts +1 -1
- package/dist/lib/components/ui/fields/index.d.ts +1 -0
- package/dist/lib/components/ui/fields/repeatable-group/index.d.ts +4 -0
- package/dist/lib/components/ui/fields/repeatable-group/partials/repeatable-group-footer.vue.d.ts +14 -0
- package/dist/lib/components/ui/fields/repeatable-group/partials/repeatable-group-row.vue.d.ts +33 -0
- package/dist/lib/components/ui/fields/repeatable-group/repeatable-group-classes.d.ts +33 -0
- package/dist/lib/components/ui/fields/repeatable-group/repeatable-group-form-field.vue.d.ts +44 -0
- package/dist/lib/components/ui/fields/repeatable-group/repeatable-group-names.d.ts +16 -0
- package/dist/lib/components/ui/fields/repeatable-group/repeatable-group.vue.d.ts +69 -0
- package/dist/lib/components/ui/fields/repeatable-group/use-repeatable-group.d.ts +39 -0
- package/dist/lib/components/ui/fields/search-field/search-field.vue.d.ts +10 -1
- package/dist/lib/components/ui/media/stx-player/stx-player-extras.vue.d.ts +1 -1
- package/dist/lib/components/ui/overlays/command/CommandItem.vue.d.ts +10 -3
- package/dist/lib/components/ui/overlays/command/CommandList.vue.d.ts +4 -2
- package/dist/lib/components/ui/primitives/typography/typography.variants.d.ts +1 -0
- package/dist/lib/components/ui/primitives/typography/typography.vue.d.ts +2 -0
- package/dist/lib/components/ui/selection/checkbox-group/checkbox-group.vue.d.ts +2 -0
- package/dist/lib/components/ui/selection/option-count/option-count.vue.d.ts +25 -0
- package/dist/lib/components/ui/selection/option-count/use-option-count-text.d.ts +10 -0
- package/dist/lib/components/ui/selection/radio-group/radio-group-field.vue.d.ts +2 -0
- package/dist/lib/components/ui/selection/select-chip-field/select-chip-field.vue.d.ts +11 -0
- package/dist/lib/components/ui/selection/sortable-list/sortable-list.vue.d.ts +1 -1
- package/dist/lib/components/ui/selection/transfer-list/transfer-list.vue.d.ts +1 -1
- package/dist/lib/i18n/resources/en/en.d.ts +14 -0
- package/dist/lib/i18n/resources/en/material.json.d.ts +14 -0
- package/dist/lib/i18n/resources/fr/fr.d.ts +14 -0
- package/dist/lib/i18n/resources/fr/material.json.d.ts +14 -0
- package/dist/lib/i18n/resources/resources.d.ts +28 -0
- package/dist/lib/i18n/translator.d.ts +1 -1
- package/dist/lib/nuxt/component-names.d.ts +1 -1
- package/dist/lib.js +1 -1
- package/dist/main.js +17 -17
- package/dist/map.js +4 -4
- package/dist/material-vue.css +1 -1
- package/dist/{pdf-outline-sidebar-DJJ-ARco.js → pdf-outline-sidebar-BsePJlTi.js} +2 -2
- package/dist/{pdf-page-CRt6KXdJ.js → pdf-page-Ct313mNF.js} +1 -1
- package/dist/{pdf-page-list-BgCp5Asx.js → pdf-page-list-JrRo2BeU.js} +2 -2
- package/dist/{pdf-reader-BGxqEx8O.js → pdf-reader-tABBZMbZ.js} +8 -8
- package/dist/{pdf-sidebar-Cvtuomgp.js → pdf-sidebar-Caw9rzU-.js} +3 -3
- package/dist/{pdf-thumbnail-sidebar-CeWPs7o7.js → pdf-thumbnail-sidebar-ZybLeUG7.js} +3 -3
- package/dist/{pdf-toolbar-BtXcyEpd.js → pdf-toolbar-BM8Sz_JN.js} +4 -4
- package/dist/pdf.js +2 -2
- package/dist/{print-format.utils-keJqahvw.js → print-format.utils-CQFIVeUA.js} +2 -2
- package/dist/{sortable-provider-DMu8DL2z.js → sortable-provider-CKkWYijj.js} +2 -2
- package/dist/{stored-language-dtksFoGO.js → stored-language-CvOHC8AD.js} +24 -0
- package/dist/{stx-player-nDsDyvc-.js → stx-player-CsVKbwFk.js} +5 -5
- package/dist/{translator-DqiGrSH_.js → translator-k1rKIgC7.js} +1 -1
- package/dist/{use-heading-spy-BZ7ctGZ5.js → use-heading-spy-D-ipoQwl.js} +1 -1
- package/dist/{use-material-translation-DRB6oPdF.js → use-material-translation-1FdRx9I7.js} +3 -3
- package/docs/components/README.md +1 -1
- package/docs/components/form-fields.md +146 -0
- package/docs/components/overlays-and-menus.md +2 -0
- package/docs/components/primitives.md +3 -1
- package/docs/components/selection-and-choice.md +28 -4
- package/docs/guides/forms.md +34 -0
- package/docs/previews/form-fields-repeatablegroup.webp +0 -0
- package/docs/roadmap.md +7 -0
- package/docs/troubleshooting.md +43 -0
- package/lib/components/base.css +3 -1
- package/lib/nuxt/component-names.ts +2 -0
- package/package.json +2 -2
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { RowAnnouncement } from '@nxgt/material-core/repeatable-group';
|
|
2
|
+
import { useMaterialTranslation } from '../../../../i18n/use-material-translation';
|
|
3
|
+
type Translate = ReturnType<typeof useMaterialTranslation>['t'];
|
|
4
|
+
/** Why Add is disabled at `max`. */
|
|
5
|
+
export declare const maxReached: (t: Translate, max?: number) => string;
|
|
6
|
+
/** The group's button names, after the row's `label` and 1-based position. */
|
|
7
|
+
export declare function rowNames(t: Translate, label: string, max?: number): {
|
|
8
|
+
add: string;
|
|
9
|
+
remove: (position: number) => string;
|
|
10
|
+
moveUp: (position: number) => string;
|
|
11
|
+
moveDown: (position: number) => string;
|
|
12
|
+
maxReached: string;
|
|
13
|
+
};
|
|
14
|
+
/** What the live region says about a change. */
|
|
15
|
+
export declare function announcement(t: Translate, label: string, said: RowAnnouncement): string;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'vue';
|
|
2
|
+
export type RepeatableGroupProps<TItem> = {
|
|
3
|
+
/** The rows' values, one row each. */
|
|
4
|
+
items: readonly TItem[];
|
|
5
|
+
/**
|
|
6
|
+
* A stable key per row; by default the item's `key` (what vee-validate's
|
|
7
|
+
* `useFieldArray` gives each entry), else its `id`, else its index.
|
|
8
|
+
*/
|
|
9
|
+
getKey?: (item: TItem, index: number) => PropertyKey;
|
|
10
|
+
/** The group's label, above the rows; it names the group and the list. */
|
|
11
|
+
label?: string;
|
|
12
|
+
/**
|
|
13
|
+
* What one row is, lower case: it names the row's buttons ("Remove
|
|
14
|
+
* period 2") and the announcements. Default "row", translated.
|
|
15
|
+
*/
|
|
16
|
+
rowLabel?: string;
|
|
17
|
+
/** The Add button's text. Default "Add {rowLabel}", translated. */
|
|
18
|
+
addLabel?: string;
|
|
19
|
+
/** Move up and move down buttons on each row. */
|
|
20
|
+
reorderable?: boolean;
|
|
21
|
+
/** No Remove at this many rows. */
|
|
22
|
+
min?: number;
|
|
23
|
+
/** The Add button is disabled at this many rows, and says why. */
|
|
24
|
+
max?: number;
|
|
25
|
+
disabled?: boolean;
|
|
26
|
+
/** An error about the whole group, under the rows. */
|
|
27
|
+
error?: string;
|
|
28
|
+
/** With no row: an EmptyState with this title (and description). */
|
|
29
|
+
emptyTitle?: string;
|
|
30
|
+
emptyDescription?: string;
|
|
31
|
+
class?: HTMLAttributes['class'];
|
|
32
|
+
/**
|
|
33
|
+
* Called by the move buttons (`@move`), which `reorderable` shows only
|
|
34
|
+
* with a listener: a prop rather than an emit, so the group can tell.
|
|
35
|
+
*/
|
|
36
|
+
onMove?: (from: number, to: number) => void;
|
|
37
|
+
};
|
|
38
|
+
/** What the `row` slot is given. `index` is 0-based, `position` 1-based. */
|
|
39
|
+
export type RepeatableGroupRowContext<TItem> = {
|
|
40
|
+
item: TItem;
|
|
41
|
+
index: number;
|
|
42
|
+
position: number;
|
|
43
|
+
};
|
|
44
|
+
declare const __VLS_export: <TItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
45
|
+
props: import('vue').PublicProps & __VLS_PrettifyLocal<RepeatableGroupProps<TItem> & {
|
|
46
|
+
onRemove?: ((index: number) => any) | undefined;
|
|
47
|
+
onAdd?: (() => any) | undefined;
|
|
48
|
+
}> & (typeof globalThis extends {
|
|
49
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
50
|
+
} ? P : {});
|
|
51
|
+
expose: (exposed: {}) => void;
|
|
52
|
+
attrs: any;
|
|
53
|
+
slots: {
|
|
54
|
+
/** One row's fields. */
|
|
55
|
+
row?: (row: RepeatableGroupRowContext<TItem>) => unknown;
|
|
56
|
+
label?: () => unknown;
|
|
57
|
+
empty?: () => unknown;
|
|
58
|
+
};
|
|
59
|
+
emit: ((evt: "remove", index: number) => void) & ((evt: "add") => void);
|
|
60
|
+
}>) => import('vue').VNode & {
|
|
61
|
+
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
62
|
+
};
|
|
63
|
+
declare const _default: typeof __VLS_export;
|
|
64
|
+
export default _default;
|
|
65
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
66
|
+
[K in keyof T]: T[K];
|
|
67
|
+
} : {
|
|
68
|
+
[K in keyof T as K]: T[K];
|
|
69
|
+
}) & {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { RowMoveDirection } from '@nxgt/material-core/repeatable-group';
|
|
2
|
+
import { Ref } from 'vue';
|
|
3
|
+
type Options = {
|
|
4
|
+
root: Readonly<Ref<HTMLElement | null>>;
|
|
5
|
+
items: () => readonly unknown[];
|
|
6
|
+
rowLabel: () => string | undefined;
|
|
7
|
+
max: () => number | undefined;
|
|
8
|
+
onAdd: () => void;
|
|
9
|
+
onRemove: (index: number) => void;
|
|
10
|
+
onMove: () => ((from: number, to: number) => void) | undefined;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* A RepeatableGroup's behaviour: the buttons' names, the focus after a row
|
|
14
|
+
* is added, removed or moved (the rules are `@nxgt/material-core`'s, shared
|
|
15
|
+
* with the React group), and what the polite live region says.
|
|
16
|
+
*/
|
|
17
|
+
export declare function useRepeatableGroup(options: Options): {
|
|
18
|
+
message: Ref<{
|
|
19
|
+
text: string;
|
|
20
|
+
id: number;
|
|
21
|
+
}, {
|
|
22
|
+
text: string;
|
|
23
|
+
id: number;
|
|
24
|
+
} | {
|
|
25
|
+
text: string;
|
|
26
|
+
id: number;
|
|
27
|
+
}>;
|
|
28
|
+
names: import('vue').ComputedRef<{
|
|
29
|
+
add: string;
|
|
30
|
+
remove: (position: number) => string;
|
|
31
|
+
moveUp: (position: number) => string;
|
|
32
|
+
moveDown: (position: number) => string;
|
|
33
|
+
maxReached: string;
|
|
34
|
+
}>;
|
|
35
|
+
add: () => void;
|
|
36
|
+
remove: (index: number) => void;
|
|
37
|
+
move: (index: number, direction: RowMoveDirection) => void;
|
|
38
|
+
};
|
|
39
|
+
export {};
|
|
@@ -12,8 +12,17 @@ export type SearchFieldProps = {
|
|
|
12
12
|
id?: string;
|
|
13
13
|
placeholder?: string;
|
|
14
14
|
modelValue?: string;
|
|
15
|
+
/**
|
|
16
|
+
* A hint for the key that focuses the field, for example `"/"`: shown as a
|
|
17
|
+
* `Kbd` while the field is empty and set as `aria-keyshortcuts`. It binds no
|
|
18
|
+
* key; the page owns the listener.
|
|
19
|
+
*/
|
|
20
|
+
shortcut?: string;
|
|
15
21
|
};
|
|
16
|
-
declare
|
|
22
|
+
declare function focus(): void;
|
|
23
|
+
declare const __VLS_export: import('vue').DefineComponent<SearchFieldProps, {
|
|
24
|
+
focus: typeof focus;
|
|
25
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
17
26
|
"update:modelValue": (value: string) => any;
|
|
18
27
|
valueChange: (value: string) => any;
|
|
19
28
|
}, string, import('vue').PublicProps, Readonly<SearchFieldProps> & Readonly<{
|
|
@@ -5,8 +5,8 @@ export type StxPlayerExtrasProps = {
|
|
|
5
5
|
dense?: boolean;
|
|
6
6
|
};
|
|
7
7
|
declare const __VLS_export: import('vue').DefineComponent<StxPlayerExtrasProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<StxPlayerExtrasProps> & Readonly<{}>, {
|
|
8
|
-
dense: boolean;
|
|
9
8
|
tone: "overlay" | "surface";
|
|
9
|
+
dense: boolean;
|
|
10
10
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
11
11
|
declare const _default: typeof __VLS_export;
|
|
12
12
|
export default _default;
|
|
@@ -2,16 +2,23 @@ import { ListboxItemProps } from 'reka-ui';
|
|
|
2
2
|
import { HTMLAttributes } from 'vue';
|
|
3
3
|
type __VLS_Props = ListboxItemProps & {
|
|
4
4
|
class?: HTMLAttributes['class'];
|
|
5
|
+
/**
|
|
6
|
+
* Sets `aria-checked` and shows a checkbox indicator. reka's
|
|
7
|
+
* `aria-selected` stays the selected value, so `multiple` is not used.
|
|
8
|
+
*/
|
|
9
|
+
checked?: boolean;
|
|
5
10
|
};
|
|
6
|
-
declare var
|
|
11
|
+
declare var __VLS_16: {};
|
|
7
12
|
type __VLS_Slots = {} & {
|
|
8
|
-
default?: (props: typeof
|
|
13
|
+
default?: (props: typeof __VLS_16) => any;
|
|
9
14
|
};
|
|
10
15
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
11
16
|
select: (event: import('reka-ui').ListboxItemSelectEvent<import('reka-ui').AcceptableValue>) => any;
|
|
12
17
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
13
18
|
onSelect?: ((event: import('reka-ui').ListboxItemSelectEvent<import('reka-ui').AcceptableValue>) => any) | undefined;
|
|
14
|
-
}>, {
|
|
19
|
+
}>, {
|
|
20
|
+
checked: boolean;
|
|
21
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
15
22
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
16
23
|
declare const _default: typeof __VLS_export;
|
|
17
24
|
export default _default;
|
|
@@ -2,10 +2,12 @@ import { ListboxContentProps } from 'reka-ui';
|
|
|
2
2
|
import { HTMLAttributes } from 'vue';
|
|
3
3
|
type __VLS_Props = ListboxContentProps & {
|
|
4
4
|
class?: HTMLAttributes['class'];
|
|
5
|
+
/** Sets `aria-multiselectable`: the items carry a `checked` state. */
|
|
6
|
+
multiselectable?: boolean;
|
|
5
7
|
};
|
|
6
|
-
declare var
|
|
8
|
+
declare var __VLS_9: {};
|
|
7
9
|
type __VLS_Slots = {} & {
|
|
8
|
-
default?: (props: typeof
|
|
10
|
+
default?: (props: typeof __VLS_9) => any;
|
|
9
11
|
};
|
|
10
12
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
11
13
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { VariantProps } from 'class-variance-authority';
|
|
2
2
|
export declare const typographyVariants: (props?: ({
|
|
3
3
|
variant?: "caption" | "normal" | "huge-larger" | "huge-large" | "huge-medium" | "huge-small" | "headline-larger" | "headline-large" | "headline-medium" | "headline-small" | "title-large" | "title-medium" | "title-small" | "body-medium" | "body-small" | null | undefined;
|
|
4
|
+
tone?: "default" | "error" | "primary" | "muted" | null | undefined;
|
|
4
5
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
5
6
|
export type TypographyVariants = VariantProps<typeof typographyVariants>;
|
|
@@ -3,6 +3,8 @@ import { HTMLAttributes } from 'vue';
|
|
|
3
3
|
import { TypographyVariants } from './typography.variants';
|
|
4
4
|
export type TypographyProps = PrimitiveProps & {
|
|
5
5
|
variant?: TypographyVariants['variant'];
|
|
6
|
+
/** The text colour: `default` inherits it, `muted` is `text-muted-foreground`. */
|
|
7
|
+
tone?: TypographyVariants['tone'];
|
|
6
8
|
class?: HTMLAttributes['class'];
|
|
7
9
|
};
|
|
8
10
|
declare var __VLS_8: {};
|
|
@@ -2,6 +2,8 @@ import { HTMLAttributes } from 'vue';
|
|
|
2
2
|
export type CheckboxGroupOption = {
|
|
3
3
|
value: string;
|
|
4
4
|
label: string;
|
|
5
|
+
/** Shown after the label and added to its accessible name. */
|
|
6
|
+
count?: number;
|
|
5
7
|
};
|
|
6
8
|
export type CheckboxGroupProps = {
|
|
7
9
|
options: CheckboxGroupOption[];
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An option's trailing count, as plain text inside the option's label or
|
|
3
|
+
* chip: " 24" in muted `tabular-nums`, then a `sr-only` " results" (the
|
|
4
|
+
* `material.option-count.label` ICU plural, the unit word only). The name
|
|
5
|
+
* reads "CE1 24 results": it starts with the visible label (WCAG 2.5.3), and
|
|
6
|
+
* no zero-size or clipped trick is involved, so it names the same in
|
|
7
|
+
* Chromium, WebKit and Firefox. A checkbox or radio also gets that name
|
|
8
|
+
* as an explicit `aria-label` (`useOptionCountName`): Reka would derive one
|
|
9
|
+
* from `innerText`, which breaks the line before the `sr-only` unit.
|
|
10
|
+
*
|
|
11
|
+
* Limits: put it right after the label text, in the same inline wrapper
|
|
12
|
+
* (a `<span>`) for a checkbox or radio, so a flex `Label` sees one item. The
|
|
13
|
+
* leading space is a text node; a flex chip drops it and its `gap` spaces
|
|
14
|
+
* the items instead. On a filled chip (`inChip`) the count keeps the chip's
|
|
15
|
+
* colour: the muted one would not reach 4.5:1.
|
|
16
|
+
*/
|
|
17
|
+
type __VLS_Props = {
|
|
18
|
+
count: number;
|
|
19
|
+
inChip?: boolean;
|
|
20
|
+
};
|
|
21
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
22
|
+
inChip: boolean;
|
|
23
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
24
|
+
declare const _default: typeof __VLS_export;
|
|
25
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** The unit word of a count in the page's language: "result" / "results". */
|
|
2
|
+
export declare function useOptionCountUnit(): (count: number) => string;
|
|
3
|
+
/**
|
|
4
|
+
* The accessible name of a checkbox or radio with a count: "CE1 24 results",
|
|
5
|
+
* the string `OptionCount`'s text also forms. Reka sets the `aria-label` of
|
|
6
|
+
* these two from their label's `innerText`, where the `sr-only` (absolute)
|
|
7
|
+
* unit lands on its own line ("CE1 24\nresults"), so the control gets it
|
|
8
|
+
* explicitly. `undefined` without a count: the control keeps its own name.
|
|
9
|
+
*/
|
|
10
|
+
export declare function useOptionCountName(): (label: string, count?: number) => string | undefined;
|
|
@@ -4,6 +4,8 @@ export type RadioGroupOption = {
|
|
|
4
4
|
label: string;
|
|
5
5
|
/** Rendered and announced as disabled, skipped by the arrow keys. */
|
|
6
6
|
disabled?: boolean;
|
|
7
|
+
/** Shown after the label and added to its accessible name. */
|
|
8
|
+
count?: number;
|
|
7
9
|
};
|
|
8
10
|
export type RadioGroupFieldProps = {
|
|
9
11
|
options: RadioGroupOption[];
|
|
@@ -1,11 +1,21 @@
|
|
|
1
|
+
import { Component } from 'vue';
|
|
1
2
|
export type SelectChipOption = {
|
|
2
3
|
value: string;
|
|
3
4
|
label: string;
|
|
5
|
+
/** An icon component, shown before the label. */
|
|
6
|
+
icon?: Component;
|
|
7
|
+
/** Shown after the label and added to its accessible name. */
|
|
8
|
+
count?: number;
|
|
4
9
|
};
|
|
5
10
|
export type SelectChipFieldProps = {
|
|
6
11
|
mode?: 'single' | 'multiple';
|
|
7
12
|
modelValue?: string[];
|
|
8
13
|
options: SelectChipOption[];
|
|
14
|
+
/**
|
|
15
|
+
* Single mode: pressing the chosen chip again clears it (`true`, the
|
|
16
|
+
* default). `false` keeps it chosen, as a radio group does.
|
|
17
|
+
*/
|
|
18
|
+
deselectable?: boolean;
|
|
9
19
|
label?: string;
|
|
10
20
|
helperText?: string;
|
|
11
21
|
error?: boolean;
|
|
@@ -24,6 +34,7 @@ declare const __VLS_export: import('vue').DefineComponent<SelectChipFieldProps,
|
|
|
24
34
|
}>, {
|
|
25
35
|
mode: "single" | "multiple";
|
|
26
36
|
modelValue: string[];
|
|
37
|
+
deselectable: boolean;
|
|
27
38
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
28
39
|
declare const _default: typeof __VLS_export;
|
|
29
40
|
export default _default;
|
|
@@ -31,8 +31,8 @@ declare const __VLS_base: import('vue').DefineComponent<SortableListProps, {}, {
|
|
|
31
31
|
height: number | string;
|
|
32
32
|
disabled: boolean;
|
|
33
33
|
draggable: boolean;
|
|
34
|
-
searchable: boolean;
|
|
35
34
|
reorderable: boolean;
|
|
35
|
+
searchable: boolean;
|
|
36
36
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
37
37
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
38
38
|
declare const _default: typeof __VLS_export;
|
|
@@ -36,8 +36,8 @@ declare const __VLS_base: import('vue').DefineComponent<TransferListProps, {}, {
|
|
|
36
36
|
height: number | string;
|
|
37
37
|
disabled: boolean;
|
|
38
38
|
draggable: boolean;
|
|
39
|
-
searchable: boolean;
|
|
40
39
|
reorderable: boolean;
|
|
40
|
+
searchable: boolean;
|
|
41
41
|
showTransferAll: boolean;
|
|
42
42
|
showSelectAll: boolean;
|
|
43
43
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
@@ -795,6 +795,9 @@ export declare const en: {
|
|
|
795
795
|
placeholder: string;
|
|
796
796
|
empty: string;
|
|
797
797
|
};
|
|
798
|
+
"option-count": {
|
|
799
|
+
label: string;
|
|
800
|
+
};
|
|
798
801
|
autocomplete: {
|
|
799
802
|
empty: string;
|
|
800
803
|
add: string;
|
|
@@ -1285,5 +1288,16 @@ export declare const en: {
|
|
|
1285
1288
|
"saved-required": string;
|
|
1286
1289
|
done: string;
|
|
1287
1290
|
};
|
|
1291
|
+
"repeatable-group": {
|
|
1292
|
+
row: string;
|
|
1293
|
+
add: string;
|
|
1294
|
+
remove: string;
|
|
1295
|
+
"move-up": string;
|
|
1296
|
+
"move-down": string;
|
|
1297
|
+
added: string;
|
|
1298
|
+
removed: string;
|
|
1299
|
+
moved: string;
|
|
1300
|
+
"max-reached": string;
|
|
1301
|
+
};
|
|
1288
1302
|
};
|
|
1289
1303
|
};
|
|
@@ -785,6 +785,9 @@ declare const _default: {
|
|
|
785
785
|
"placeholder": "Search…",
|
|
786
786
|
"empty": "No results"
|
|
787
787
|
},
|
|
788
|
+
"option-count": {
|
|
789
|
+
"label": "{count, plural, one {result} other {results}}"
|
|
790
|
+
},
|
|
788
791
|
"autocomplete": {
|
|
789
792
|
"empty": "No option found.",
|
|
790
793
|
"add": "Add \"{query}\"",
|
|
@@ -1274,6 +1277,17 @@ declare const _default: {
|
|
|
1274
1277
|
"saved": "I have saved these codes",
|
|
1275
1278
|
"saved-required": "Tick the box once your codes are safe",
|
|
1276
1279
|
"done": "Done"
|
|
1280
|
+
},
|
|
1281
|
+
"repeatable-group": {
|
|
1282
|
+
"row": "row",
|
|
1283
|
+
"add": "Add {label}",
|
|
1284
|
+
"remove": "Remove {label} {index}",
|
|
1285
|
+
"move-up": "Move {label} {index} up",
|
|
1286
|
+
"move-down": "Move {label} {index} down",
|
|
1287
|
+
"added": "Added {label} {index}",
|
|
1288
|
+
"removed": "Removed {label} {index}",
|
|
1289
|
+
"moved": "Moved {label} {from} to position {to}",
|
|
1290
|
+
"max-reached": "Maximum reached ({max})"
|
|
1277
1291
|
}
|
|
1278
1292
|
}
|
|
1279
1293
|
;
|
|
@@ -795,6 +795,9 @@ export declare const fr: {
|
|
|
795
795
|
placeholder: string;
|
|
796
796
|
empty: string;
|
|
797
797
|
};
|
|
798
|
+
"option-count": {
|
|
799
|
+
label: string;
|
|
800
|
+
};
|
|
798
801
|
autocomplete: {
|
|
799
802
|
empty: string;
|
|
800
803
|
add: string;
|
|
@@ -1285,5 +1288,16 @@ export declare const fr: {
|
|
|
1285
1288
|
"saved-required": string;
|
|
1286
1289
|
done: string;
|
|
1287
1290
|
};
|
|
1291
|
+
"repeatable-group": {
|
|
1292
|
+
row: string;
|
|
1293
|
+
add: string;
|
|
1294
|
+
remove: string;
|
|
1295
|
+
"move-up": string;
|
|
1296
|
+
"move-down": string;
|
|
1297
|
+
added: string;
|
|
1298
|
+
removed: string;
|
|
1299
|
+
moved: string;
|
|
1300
|
+
"max-reached": string;
|
|
1301
|
+
};
|
|
1288
1302
|
};
|
|
1289
1303
|
};
|
|
@@ -785,6 +785,9 @@ declare const _default: {
|
|
|
785
785
|
"placeholder": "Rechercher…",
|
|
786
786
|
"empty": "Aucun résultat"
|
|
787
787
|
},
|
|
788
|
+
"option-count": {
|
|
789
|
+
"label": "{count, plural, one {résultat} other {résultats}}"
|
|
790
|
+
},
|
|
788
791
|
"autocomplete": {
|
|
789
792
|
"empty": "Aucune option.",
|
|
790
793
|
"add": "Ajouter « {query} »",
|
|
@@ -1274,6 +1277,17 @@ declare const _default: {
|
|
|
1274
1277
|
"saved": "J'ai enregistré ces codes",
|
|
1275
1278
|
"saved-required": "Cochez la case une fois vos codes en lieu sûr",
|
|
1276
1279
|
"done": "Terminé"
|
|
1280
|
+
},
|
|
1281
|
+
"repeatable-group": {
|
|
1282
|
+
"row": "ligne",
|
|
1283
|
+
"add": "Ajouter une {label}",
|
|
1284
|
+
"remove": "Retirer la {label} {index}",
|
|
1285
|
+
"move-up": "Monter la {label} {index}",
|
|
1286
|
+
"move-down": "Descendre la {label} {index}",
|
|
1287
|
+
"added": "Ajout : {label} {index}",
|
|
1288
|
+
"removed": "Suppression : {label} {index}",
|
|
1289
|
+
"moved": "Déplacement : {label} {from} en position {to}",
|
|
1290
|
+
"max-reached": "Maximum atteint ({max})"
|
|
1277
1291
|
}
|
|
1278
1292
|
}
|
|
1279
1293
|
;
|
|
@@ -793,6 +793,9 @@ export declare const resources: {
|
|
|
793
793
|
placeholder: string;
|
|
794
794
|
empty: string;
|
|
795
795
|
};
|
|
796
|
+
"option-count": {
|
|
797
|
+
label: string;
|
|
798
|
+
};
|
|
796
799
|
autocomplete: {
|
|
797
800
|
empty: string;
|
|
798
801
|
add: string;
|
|
@@ -1283,6 +1286,17 @@ export declare const resources: {
|
|
|
1283
1286
|
"saved-required": string;
|
|
1284
1287
|
done: string;
|
|
1285
1288
|
};
|
|
1289
|
+
"repeatable-group": {
|
|
1290
|
+
row: string;
|
|
1291
|
+
add: string;
|
|
1292
|
+
remove: string;
|
|
1293
|
+
"move-up": string;
|
|
1294
|
+
"move-down": string;
|
|
1295
|
+
added: string;
|
|
1296
|
+
removed: string;
|
|
1297
|
+
moved: string;
|
|
1298
|
+
"max-reached": string;
|
|
1299
|
+
};
|
|
1286
1300
|
};
|
|
1287
1301
|
};
|
|
1288
1302
|
fr: {
|
|
@@ -2073,6 +2087,9 @@ export declare const resources: {
|
|
|
2073
2087
|
placeholder: string;
|
|
2074
2088
|
empty: string;
|
|
2075
2089
|
};
|
|
2090
|
+
"option-count": {
|
|
2091
|
+
label: string;
|
|
2092
|
+
};
|
|
2076
2093
|
autocomplete: {
|
|
2077
2094
|
empty: string;
|
|
2078
2095
|
add: string;
|
|
@@ -2563,6 +2580,17 @@ export declare const resources: {
|
|
|
2563
2580
|
"saved-required": string;
|
|
2564
2581
|
done: string;
|
|
2565
2582
|
};
|
|
2583
|
+
"repeatable-group": {
|
|
2584
|
+
row: string;
|
|
2585
|
+
add: string;
|
|
2586
|
+
remove: string;
|
|
2587
|
+
"move-up": string;
|
|
2588
|
+
"move-down": string;
|
|
2589
|
+
added: string;
|
|
2590
|
+
removed: string;
|
|
2591
|
+
moved: string;
|
|
2592
|
+
"max-reached": string;
|
|
2593
|
+
};
|
|
2566
2594
|
};
|
|
2567
2595
|
};
|
|
2568
2596
|
};
|