@nxgt/material-vue 0.26.1 → 0.28.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 (168) hide show
  1. package/CHANGELOG.md +202 -0
  2. package/README.md +10 -7
  3. package/dist/Button-D1uzdbOJ.js +728 -0
  4. package/dist/{DropdownMenuTrigger-BHAhXGUO.js → DropdownMenuTrigger-BsuyNVzV.js} +48 -41
  5. package/dist/HoverCardTrigger-DaM5d4hE.js +510 -0
  6. package/dist/{camera-DvKuqT4L.js → camera-CxXijySa.js} +4 -4
  7. package/dist/components/base-content.css +139 -0
  8. package/dist/components/base.css +150 -0
  9. package/dist/components/components.css +2 -0
  10. package/dist/components/reduced-motion.css +56 -0
  11. package/dist/components/theme-tokens.css +116 -0
  12. package/dist/components/ui/actions/button-group/button-group.css +1 -1
  13. package/dist/components/ui/feedback/toast/toast.css +21 -0
  14. package/dist/components/ui/primitives/label/label.css +33 -0
  15. package/dist/{components-CCWod7cJ.js → components-Db9OdMfQ.js} +19053 -18364
  16. package/dist/components.js +7 -7
  17. package/dist/composables.js +3 -3
  18. package/dist/dnd.js +1 -1
  19. package/dist/field-name-attribute-Bl7LSVK0.js +4 -0
  20. package/dist/{form-scope-x-7TYn2s.js → form-scope-BILi3ke-.js} +1 -1
  21. package/dist/{i18n-provider-CaaZCmaR.js → i18n-provider-BPK68eqM.js} +1 -1
  22. package/dist/i18n.js +4 -4
  23. package/dist/icon-button-D60G5B_Z.js +262 -0
  24. package/dist/lib/components/ui/actions/button/Button.vue.d.ts +22 -4
  25. package/dist/lib/components/ui/actions/button/button-tones.d.ts +36 -0
  26. package/dist/lib/components/ui/actions/button/button.variants.d.ts +1 -1
  27. package/dist/lib/components/ui/actions/button/button.wrap.d.ts +8 -0
  28. package/dist/lib/components/ui/actions/button/label-text.d.ts +9 -0
  29. package/dist/lib/components/ui/actions/button/prepend-to-child.d.ts +18 -0
  30. package/dist/lib/components/ui/actions/button/use-click-lock.d.ts +14 -0
  31. package/dist/lib/components/ui/actions/copy-button/copy-button.vue.d.ts +6 -2
  32. package/dist/lib/components/ui/actions/icon-button/icon-button.compound-variants.d.ts +28 -0
  33. package/dist/lib/components/ui/actions/icon-button/icon-button.vue.d.ts +1 -1
  34. package/dist/lib/components/ui/actions/responsive-button/responsive-button.vue.d.ts +1 -3
  35. package/dist/lib/components/ui/collections/data-table/partials/data-table-empty.vue.d.ts +5 -1
  36. package/dist/lib/components/ui/collections/data-table/partials/data-table-scroll-region.vue.d.ts +28 -0
  37. package/dist/lib/components/ui/collections/data-table/partials/data-table-toolbar.d.ts +60 -0
  38. package/dist/lib/components/ui/collections/data-table/types.d.ts +9 -0
  39. package/dist/lib/components/ui/collections/data-table/use-scroll-edges.d.ts +22 -0
  40. package/dist/lib/components/ui/collections/pagination/PaginationFirst.vue.d.ts +1 -1
  41. package/dist/lib/components/ui/collections/pagination/PaginationItem.vue.d.ts +1 -1
  42. package/dist/lib/components/ui/collections/pagination/PaginationLast.vue.d.ts +1 -1
  43. package/dist/lib/components/ui/collections/pagination/PaginationNext.vue.d.ts +1 -1
  44. package/dist/lib/components/ui/collections/pagination/PaginationPrevious.vue.d.ts +1 -1
  45. package/dist/lib/components/ui/dates/calendar/Calendar.vue.d.ts +4 -4
  46. package/dist/lib/components/ui/dates/calendar/calendar-day-label.d.ts +17 -0
  47. package/dist/lib/components/ui/dates/calendar/calendar-years.d.ts +11 -0
  48. package/dist/lib/components/ui/dates/calendar/partials/calendar-month-select.vue.d.ts +18 -0
  49. package/dist/lib/components/ui/dates/calendar/partials/calendar-year-select.vue.d.ts +19 -0
  50. package/dist/lib/components/ui/dates/calendar/use-calendar-locale.d.ts +7 -0
  51. package/dist/lib/components/ui/dates/calendar/use-calendar-selected-hint.d.ts +17 -0
  52. package/dist/lib/components/ui/dates/date-range-field/partials/date-range-day.vue.d.ts +8 -0
  53. package/dist/lib/components/ui/display/cards/cards.gallery.d.ts +3 -3
  54. package/dist/lib/components/ui/display/list-tile/list-tile.vue.d.ts +10 -6
  55. package/dist/lib/components/ui/feedback/alert-dialog/AlertDialogContent.vue.d.ts +2 -2
  56. package/dist/lib/components/ui/feedback/sonner/index.d.ts +1 -0
  57. package/dist/lib/components/ui/feedback/toast/toast.d.ts +7 -0
  58. package/dist/lib/components/ui/feedback/toast/toast.vue.d.ts +18 -2
  59. package/dist/lib/components/ui/fields/contacts/consts.d.ts +1 -1
  60. package/dist/lib/components/ui/forms/use-field-blur.d.ts +3 -0
  61. package/dist/lib/components/ui/layout/app-shell/activity-content.vue.d.ts +9 -3
  62. package/dist/lib/components/ui/layout/app-shell/activity-layout.vue.d.ts +21 -4
  63. package/dist/lib/components/ui/layout/app-shell/app-header.vue.d.ts +7 -5
  64. package/dist/lib/components/ui/layout/app-shell/app-sidebar.vue.d.ts +4 -1
  65. package/dist/lib/components/ui/layout/app-shell/index.d.ts +2 -2
  66. package/dist/lib/components/ui/layout/app-shell/router-menu-link.d.ts +7 -0
  67. package/dist/lib/components/ui/layout/app-shell/types.d.ts +8 -0
  68. package/dist/lib/components/ui/layout/app-shell/use-content-scroll.d.ts +13 -0
  69. package/dist/lib/components/ui/layout/app-shell/use-navigation-sheet.d.ts +17 -0
  70. package/dist/lib/components/ui/layout/sidebar/sidebar-context.d.ts +15 -0
  71. package/dist/lib/components/ui/layout/sidebar/sidebar-menu-item.vue.d.ts +13 -4
  72. package/dist/lib/components/ui/media/carousel/carousel-next.vue.d.ts +1 -1
  73. package/dist/lib/components/ui/media/carousel/carousel-previous.vue.d.ts +1 -1
  74. package/dist/lib/components/ui/menu-item-variant.d.ts +4 -4
  75. package/dist/lib/components/ui/overlays/context-menu/ContextMenuContent.vue.d.ts +2 -2
  76. package/dist/lib/components/ui/overlays/dialog/DialogContent.vue.d.ts +2 -2
  77. package/dist/lib/components/ui/overlays/dialog/DialogScrollContent.vue.d.ts +2 -2
  78. package/dist/lib/components/ui/overlays/dialog/use-escape-forward.d.ts +17 -0
  79. package/dist/lib/components/ui/overlays/dialog/use-inert-others.d.ts +17 -0
  80. package/dist/lib/components/ui/overlays/dialog/use-modal-content.d.ts +32 -0
  81. package/dist/lib/components/ui/overlays/drawer/DrawerContent.vue.d.ts +2 -2
  82. package/dist/lib/components/ui/overlays/dropdown-menu/DropdownMenu.vue.d.ts +3 -1
  83. package/dist/lib/components/ui/overlays/dropdown-menu/DropdownMenuContent.vue.d.ts +2 -2
  84. package/dist/lib/components/ui/overlays/popover/PopoverContent.vue.d.ts +2 -2
  85. package/dist/lib/components/ui/overlays/sheet/SheetContent.vue.d.ts +2 -2
  86. package/dist/lib/components/ui/primitives/card/CardTitle.vue.d.ts +11 -4
  87. package/dist/lib/components/ui/primitives/card/index.d.ts +1 -0
  88. package/dist/lib/components/ui/primitives/tabs/Tabs.vue.d.ts +6 -2
  89. package/dist/lib/components/ui/primitives/tabs/TabsList.vue.d.ts +2 -2
  90. package/dist/lib/components/ui/primitives/tabs/TabsTrigger.vue.d.ts +6 -4
  91. package/dist/lib/components/ui/primitives/tabs/tabs-classes.d.ts +27 -0
  92. package/dist/lib/components/ui/primitives/tabs/tabs-indicator.vue.d.ts +25 -0
  93. package/dist/lib/components/ui/primitives/tabs/tabs-variant.d.ts +5 -8
  94. package/dist/lib/components/ui/primitives/toggle/Toggle.vue.d.ts +1 -1
  95. package/dist/lib/components/ui/primitives/toggle/index.d.ts +1 -1
  96. package/dist/lib/components/ui/selection/autocomplete/partials/autocomplete-box.vue.d.ts +2 -0
  97. package/dist/lib/components/ui/selection/select/SelectContent.vue.d.ts +2 -2
  98. package/dist/lib/components/ui/selection/select-chip-field/select-chip-field.vue.d.ts +1 -0
  99. package/dist/lib/components/ui/widgets/emoji/types.d.ts +1 -6
  100. package/dist/lib/i18n/resources/en/en.d.ts +23 -0
  101. package/dist/lib/i18n/resources/en/material.json.d.ts +28 -5
  102. package/dist/lib/i18n/resources/fr/fr.d.ts +23 -0
  103. package/dist/lib/i18n/resources/fr/material.json.d.ts +28 -5
  104. package/dist/lib/i18n/resources/resources.d.ts +46 -0
  105. package/dist/lib/i18n/translator.d.ts +1 -1
  106. package/dist/lib/lib/field-name-attribute.d.ts +7 -0
  107. package/dist/lib/lib/focus-field.d.ts +17 -0
  108. package/dist/lib/lib/index.d.ts +1 -0
  109. package/dist/lib.js +76 -74
  110. package/dist/main.js +13 -13
  111. package/dist/map.js +4 -4
  112. package/dist/material-vue.css +1 -1
  113. package/dist/{pdf-outline-sidebar-D3vq2qfS.js → pdf-outline-sidebar-BXGTDISI.js} +2 -2
  114. package/dist/{pdf-page-BrJbyjQj.js → pdf-page-BR4G03kN.js} +1 -1
  115. package/dist/{pdf-page-list-BCgYEszV.js → pdf-page-list-bjQm6_kf.js} +2 -2
  116. package/dist/{pdf-reader-BAzevSJU.js → pdf-reader-DGVEFNc0.js} +9 -9
  117. package/dist/{pdf-sidebar-DSh2Mend.js → pdf-sidebar-CiM6dwAm.js} +3 -3
  118. package/dist/{pdf-thumbnail-sidebar-D_EMcbKF.js → pdf-thumbnail-sidebar-fM3DGJzD.js} +3 -3
  119. package/dist/{pdf-toolbar-BcL7HlfS.js → pdf-toolbar-mWlGTWU1.js} +5 -5
  120. package/dist/pdf.js +2 -2
  121. package/dist/{sortable-provider-DMpmM7Ke.js → sortable-provider-Dml11nQY.js} +2 -2
  122. package/dist/{stored-language-Bxhsx4iB.js → stored-language-UnInBB6T.js} +56 -10
  123. package/dist/{stx-player-MldK_ZAZ.js → stx-player-BS7-CXFx.js} +2 -2
  124. package/dist/styles.css +10 -368
  125. package/dist/{translator-CLI_7Crg.js → translator-J3_vaV_A.js} +1 -1
  126. package/dist/{use-heading-spy-VPuFj2Gt.js → use-heading-spy-_dk8kGwL.js} +19 -19
  127. package/dist/use-inert-others-CtGqZKR8.js +22 -0
  128. package/dist/{use-material-translation-CONqD9wJ.js → use-material-translation-Do6ztdtV.js} +3 -3
  129. package/docs/components/buttons-and-actions.md +71 -16
  130. package/docs/components/data-display.md +13 -2
  131. package/docs/components/data-table-filter-and-lists.md +85 -5
  132. package/docs/components/date-and-time.md +25 -1
  133. package/docs/components/feedback-and-status.md +86 -11
  134. package/docs/components/form-fields.md +13 -4
  135. package/docs/components/media-and-files.md +7 -0
  136. package/docs/components/navigation-and-layout.md +19 -1
  137. package/docs/components/overlays-and-menus.md +20 -4
  138. package/docs/components/primitives.md +97 -20
  139. package/docs/components/rich-widgets.md +10 -0
  140. package/docs/components/selection-and-choice.md +12 -1
  141. package/docs/getting-started.md +2 -2
  142. package/docs/guides/app-shell.md +102 -6
  143. package/docs/guides/forms.md +58 -5
  144. package/docs/guides/helpers.md +2 -1
  145. package/docs/guides/i18n.md +24 -4
  146. package/docs/guides/ssr.md +1 -1
  147. package/docs/guides/theming.md +148 -6
  148. package/docs/previews/data-display-codegroup.webp +0 -0
  149. package/docs/previews/data-display-description.webp +0 -0
  150. package/docs/previews/feedback-status-toast.webp +0 -0
  151. package/docs/previews/primitives-tabs.webp +0 -0
  152. package/docs/previews/rich-widgets-emojipicker.webp +0 -0
  153. package/docs/roadmap.md +30 -1
  154. package/docs/troubleshooting.md +889 -12
  155. package/lib/components/base-content.css +139 -0
  156. package/lib/components/base.css +150 -0
  157. package/lib/components/components.css +2 -0
  158. package/lib/components/reduced-motion.css +56 -0
  159. package/lib/components/theme-tokens.css +116 -0
  160. package/lib/components/ui/actions/button-group/button-group.css +1 -1
  161. package/lib/components/ui/feedback/toast/toast.css +21 -0
  162. package/lib/components/ui/primitives/label/label.css +33 -0
  163. package/lib/styles.css +10 -368
  164. package/package.json +2 -2
  165. package/dist/Button-16J7vTpE.js +0 -665
  166. package/dist/HoverCardTrigger-C41002JS.js +0 -455
  167. package/dist/icon-button-CDdNsZuZ.js +0 -227
  168. package/dist/lib/components/ui/widgets/emoji/emoji.groups.d.ts +0 -6
@@ -82,4 +82,32 @@ export declare const iconButtonCompoundVariants: ({
82
82
  variant: "outlined";
83
83
  color: "default";
84
84
  class: string;
85
+ } | {
86
+ variant: "link";
87
+ color: "primary";
88
+ class: string;
89
+ } | {
90
+ variant: "link";
91
+ color: "secondary";
92
+ class: string;
93
+ } | {
94
+ variant: "link";
95
+ color: "success";
96
+ class: string;
97
+ } | {
98
+ variant: "link";
99
+ color: "info";
100
+ class: string;
101
+ } | {
102
+ variant: "link";
103
+ color: "warning";
104
+ class: string;
105
+ } | {
106
+ variant: "link";
107
+ color: "error";
108
+ class: string;
109
+ } | {
110
+ variant: "link";
111
+ color: "default";
112
+ class: string;
85
113
  })[];
@@ -16,9 +16,9 @@ type __VLS_Slots = {} & {
16
16
  default?: (props: typeof __VLS_13) => any;
17
17
  };
18
18
  declare const __VLS_base: import('vue').DefineComponent<IconButtonProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<IconButtonProps> & Readonly<{}>, {
19
+ as: import('reka-ui').AsTag | import('vue').Component;
19
20
  variant: "link" | "filled" | "tonal" | "outlined" | "ghost" | null;
20
21
  color: "default" | "error" | "success" | "primary" | "secondary" | "info" | "warning" | null;
21
- as: import('reka-ui').AsTag | import('vue').Component;
22
22
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
23
23
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
24
24
  declare const _default: typeof __VLS_export;
@@ -2,13 +2,11 @@ import { ButtonProps } from '../button/Button.vue';
2
2
  export type ResponsiveButtonProps = ButtonProps & {
3
3
  expanded?: boolean;
4
4
  };
5
- declare var __VLS_8: {}, __VLS_10: {}, __VLS_12: {};
5
+ declare var __VLS_8: {}, __VLS_10: {};
6
6
  type __VLS_Slots = {} & {
7
7
  icon?: (props: typeof __VLS_8) => any;
8
8
  } & {
9
9
  default?: (props: typeof __VLS_10) => any;
10
- } & {
11
- default?: (props: typeof __VLS_12) => any;
12
10
  };
13
11
  declare const __VLS_base: import('vue').DefineComponent<ResponsiveButtonProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ResponsiveButtonProps> & Readonly<{}>, {
14
12
  expanded: boolean;
@@ -1,5 +1,9 @@
1
1
  /** `DataTable`'s "nothing here" row: one `TableEmpty` cell spanning every
2
- * visible column, holding the default slot or the default icon and text. */
2
+ * visible column, holding the default slot or the default icon and text. The
3
+ * content is centred in the width the scroll region shows (its
4
+ * `--table-visible-width`, at most; the cell's width before it is measured),
5
+ * and sticks to its start, so a table wider than a phone does not
6
+ * push it out of view. */
3
7
  type __VLS_Props = {
4
8
  colspan: number;
5
9
  };
@@ -0,0 +1,28 @@
1
+ /**
2
+ * The one box `DataTable`'s table scrolls in — the `Table` primitive's own
3
+ * container is made `overflow-visible` here, so there is no scroll inside a
4
+ * scroll. While its content overflows, it is a keyboard-focusable region
5
+ * with a name (axe `scrollable-region-focusable`, WCAG 2.1.1), and an edge
6
+ * fades on each side where columns are hidden. Its measured visible width
7
+ * is set as `--table-visible-width`, so the empty state can centre itself
8
+ * within it — not a size container, which would collapse it inside a
9
+ * content-sized parent (`w-fit`, `inline-flex`, an `auto` grid track, a
10
+ * popover).
11
+ */
12
+ type __VLS_Props = {
13
+ label: string;
14
+ maxHeight?: number | string;
15
+ };
16
+ declare var __VLS_1: {};
17
+ type __VLS_Slots = {} & {
18
+ default?: (props: typeof __VLS_1) => any;
19
+ };
20
+ 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>;
21
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
22
+ declare const _default: typeof __VLS_export;
23
+ export default _default;
24
+ type __VLS_WithSlots<T, S> = T & {
25
+ new (): {
26
+ $slots: S;
27
+ };
28
+ };
@@ -0,0 +1,60 @@
1
+ import { PropType } from 'vue';
2
+ /** Whether rendered content shows anything: `null`, `false`, `''`,
3
+ * comments (a `v-if` left out) and fragments of them do not. A component
4
+ * that renders nothing cannot be seen from here. */
5
+ export declare function rendersContent(node: unknown): boolean;
6
+ /**
7
+ * `DataTable`'s toolbar: the `actions` prop, the `#actions` slot (its
8
+ * default slot here) and the view options. Rendered only when one of them
9
+ * has content — an empty `<fieldset>` is a nameless group to a screen
10
+ * reader. A fieldset disables every native control in it (filters, the view
11
+ * options) while loading, whoever rendered it. A render function, so the
12
+ * slot is called while rendering, never from `setup`.
13
+ *
14
+ * With `actions` (or the slot) and a `select` column, actions that show on
15
+ * the first selection must not push the rows down under a finger: the
16
+ * toolbar's height is reserved — an empty, hidden placeholder while they
17
+ * render nothing, and the same minimum height once they do.
18
+ */
19
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
20
+ table: {
21
+ type: ObjectConstructor;
22
+ required: true;
23
+ };
24
+ actions: {
25
+ type: PropType<(table: never) => unknown>;
26
+ default: undefined;
27
+ };
28
+ showViewOptions: {
29
+ type: BooleanConstructor;
30
+ default: boolean;
31
+ };
32
+ loading: {
33
+ type: BooleanConstructor;
34
+ default: boolean;
35
+ };
36
+ }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
37
+ [key: string]: any;
38
+ }> | null, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
39
+ table: {
40
+ type: ObjectConstructor;
41
+ required: true;
42
+ };
43
+ actions: {
44
+ type: PropType<(table: never) => unknown>;
45
+ default: undefined;
46
+ };
47
+ showViewOptions: {
48
+ type: BooleanConstructor;
49
+ default: boolean;
50
+ };
51
+ loading: {
52
+ type: BooleanConstructor;
53
+ default: boolean;
54
+ };
55
+ }>> & Readonly<{}>, {
56
+ loading: boolean;
57
+ actions: (table: never) => unknown;
58
+ showViewOptions: boolean;
59
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
60
+ export default _default;
@@ -34,7 +34,16 @@ export type DataTableProps<TData extends RowData> = {
34
34
  actions?: (table: DataTableTable<TData>) => unknown;
35
35
  options?: DataTableOptions;
36
36
  renderExpandedRow?: (row: Row<DataTableFeatures, TData>) => unknown;
37
+ /** The header row (column names, sorting, "Select all"). Shown at every
38
+ * width; `false` hides it. */
37
39
  showHeader?: boolean;
40
+ /** Caps the table's height (`400`, `'60vh'`); the rows then scroll inside
41
+ * it. Default: none — the table is as tall as its rows, and the page
42
+ * scrolls. */
43
+ maxHeight?: number | string;
44
+ /** The name of the scroll region the table becomes while it overflows.
45
+ * Default: "Scrollable table" (`material.table.labels.scroll-region`). */
46
+ scrollLabel?: string;
38
47
  onLoadMore?: () => void;
39
48
  isLoadingMore?: boolean;
40
49
  showViewOptions?: boolean;
@@ -0,0 +1,22 @@
1
+ import { ComputedRef, Ref } from 'vue';
2
+ /** What `useScrollEdges` reads off a scroll container. */
3
+ export type ScrollEdges = {
4
+ /** Its content is wider or taller than it: it scrolls. */
5
+ scrollable: boolean;
6
+ /** Content is hidden before the inline start (scrolled away from it). */
7
+ start: boolean;
8
+ /** Content is hidden past the inline end. */
9
+ end: boolean;
10
+ /** Its visible width (`clientWidth`), in pixels; `0` until measured. */
11
+ width: number;
12
+ };
13
+ /**
14
+ * Whether `el` scrolls, and on which inline edges content is hidden — for an
15
+ * edge fade and a focusable scroll region — and how wide it shows its
16
+ * content. The scroll offset comes from
17
+ * vueuse's `useScroll`; the sizes are re-read when the element or its
18
+ * `<table>` resizes (new rows, a column shown). `scrollLeft` is negative in
19
+ * a right-to-left table, so its absolute value is the distance from the
20
+ * start. Nothing scrolls on the server or before mount.
21
+ */
22
+ export declare function useScrollEdges(el: Ref<HTMLElement | null | undefined>): ComputedRef<ScrollEdges>;
@@ -10,7 +10,7 @@ type __VLS_Slots = {} & {
10
10
  default?: (props: typeof __VLS_8) => any;
11
11
  };
12
12
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
13
- size: "sm" | "default" | "icon" | "xs" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null;
13
+ size: "default" | "sm" | "icon" | "xs" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null;
14
14
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
15
15
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
16
16
  declare const _default: typeof __VLS_export;
@@ -11,7 +11,7 @@ type __VLS_Slots = {} & {
11
11
  default?: (props: typeof __VLS_8) => any;
12
12
  };
13
13
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
14
- size: "sm" | "default" | "icon" | "xs" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null;
14
+ size: "default" | "sm" | "icon" | "xs" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null;
15
15
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
16
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
17
  declare const _default: typeof __VLS_export;
@@ -10,7 +10,7 @@ type __VLS_Slots = {} & {
10
10
  default?: (props: typeof __VLS_8) => any;
11
11
  };
12
12
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
13
- size: "sm" | "default" | "icon" | "xs" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null;
13
+ size: "default" | "sm" | "icon" | "xs" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null;
14
14
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
15
15
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
16
16
  declare const _default: typeof __VLS_export;
@@ -10,7 +10,7 @@ type __VLS_Slots = {} & {
10
10
  default?: (props: typeof __VLS_8) => any;
11
11
  };
12
12
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
13
- size: "sm" | "default" | "icon" | "xs" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null;
13
+ size: "default" | "sm" | "icon" | "xs" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null;
14
14
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
15
15
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
16
16
  declare const _default: typeof __VLS_export;
@@ -10,7 +10,7 @@ type __VLS_Slots = {} & {
10
10
  default?: (props: typeof __VLS_8) => any;
11
11
  };
12
12
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
13
- size: "sm" | "default" | "icon" | "xs" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null;
13
+ size: "default" | "sm" | "icon" | "xs" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null;
14
14
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
15
15
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
16
16
  declare const _default: typeof __VLS_export;
@@ -6,7 +6,7 @@ type __VLS_Props = CalendarRootProps & {
6
6
  layout?: LayoutTypes;
7
7
  yearRange?: DateValue[];
8
8
  };
9
- declare var __VLS_59: {}, __VLS_67: {}, __VLS_69: {
9
+ declare var __VLS_41: {}, __VLS_49: {}, __VLS_51: {
10
10
  date: DateValue;
11
11
  month: import('@vueuse/core').ReuseTemplateComponent<{
12
12
  date: DateValue;
@@ -16,11 +16,11 @@ declare var __VLS_59: {}, __VLS_67: {}, __VLS_69: {
16
16
  }, Record<"default", undefined>>;
17
17
  };
18
18
  type __VLS_Slots = {} & {
19
- 'calendar-prev-icon'?: (props: typeof __VLS_59) => any;
19
+ 'calendar-prev-icon'?: (props: typeof __VLS_41) => any;
20
20
  } & {
21
- 'calendar-next-icon'?: (props: typeof __VLS_67) => any;
21
+ 'calendar-next-icon'?: (props: typeof __VLS_49) => any;
22
22
  } & {
23
- 'calendar-heading'?: (props: typeof __VLS_69) => any;
23
+ 'calendar-heading'?: (props: typeof __VLS_51) => any;
24
24
  };
25
25
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
26
26
  "update:modelValue": (date: DateValue | undefined) => any;
@@ -0,0 +1,17 @@
1
+ import { DateValue } from 'reka-ui';
2
+ /**
3
+ * A day's accessible name: its full localized date ("Thursday, October 1,
4
+ * 2026", "jeudi 1 octobre 2026"), nothing else. The chosen and current states
5
+ * are `aria-selected`, `aria-current` and a described-by "Selected", not words
6
+ * in the name. An unknown language tag falls back to English.
7
+ */
8
+ export declare function labelDay(date: DateValue, locale?: string): string;
9
+ /**
10
+ * A weekday column header's label: the full weekday of a date in that column
11
+ * ("Monday", "lundi"), as react-day-picker labels its own. The row shows the
12
+ * narrow form ("L", "M"…), and reka hides it from assistive tech (`<thead
13
+ * aria-hidden>`), so this is for whoever reads the header itself.
14
+ */
15
+ export declare function labelWeekday(date: DateValue | undefined, locale?: string): string | undefined;
16
+ /** `aria-current="date"` on today's cell, nothing on the others. */
17
+ export declare function dayCurrent(date: DateValue): 'date' | undefined;
@@ -0,0 +1,11 @@
1
+ import { DateValue } from 'reka-ui';
2
+ type YearRangeOptions = {
3
+ yearRange?: DateValue[];
4
+ minValue?: DateValue;
5
+ maxValue?: DateValue;
6
+ placeholder?: DateValue;
7
+ defaultPlaceholder?: DateValue;
8
+ };
9
+ /** Years offered by the year select: the caller's, else min/max or -100/+10 years around the placeholder. */
10
+ export declare function resolveYearRange(options: YearRangeOptions): DateValue[];
11
+ export {};
@@ -0,0 +1,18 @@
1
+ import { DateValue } from 'reka-ui';
2
+ type __VLS_Props = {
3
+ date: DateValue;
4
+ formatter: {
5
+ custom: (date: Date, options: Intl.DateTimeFormatOptions) => string;
6
+ };
7
+ };
8
+ type __VLS_ModelProps = {
9
+ 'placeholder': DateValue;
10
+ };
11
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
12
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
+ "update:placeholder": (value: DateValue) => any;
14
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
15
+ "onUpdate:placeholder"?: ((value: DateValue) => any) | undefined;
16
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
17
+ declare const _default: typeof __VLS_export;
18
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import { DateValue } from 'reka-ui';
2
+ type __VLS_Props = {
3
+ date: DateValue;
4
+ years: DateValue[];
5
+ formatter: {
6
+ custom: (date: Date, options: Intl.DateTimeFormatOptions) => string;
7
+ };
8
+ };
9
+ type __VLS_ModelProps = {
10
+ 'placeholder': DateValue;
11
+ };
12
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
13
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
14
+ "update:placeholder": (value: DateValue) => any;
15
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
16
+ "onUpdate:placeholder"?: ((value: DateValue) => any) | undefined;
17
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
18
+ declare const _default: typeof __VLS_export;
19
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { ComputedRef } from 'vue';
2
+ /**
3
+ * The language of a calendar's month names, weekday row and day names: the
4
+ * calendar's own `locale`, else the active `I18nProvider` language, else
5
+ * English. It follows the provider when the language is switched.
6
+ */
7
+ export declare function useCalendarLocale(own: () => string | undefined): ComputedRef<string>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * One hidden, translated "Selected" node per calendar: the chosen day's button
3
+ * is `aria-describedby` it, so the state is announced without being part of
4
+ * the day's name. `useId` keeps the id the same on the server and the client.
5
+ * Call it in the calendar; render `<span :id="hint.id" hidden>{{ hint.text }}</span>`.
6
+ */
7
+ export declare function provideSelectedHint(): {
8
+ id: string;
9
+ readonly text: string;
10
+ };
11
+ /** The hint's id, for the day button of the calendar that provided it. */
12
+ export declare function injectSelectedHintId(): string | undefined;
13
+ /**
14
+ * The day button's `aria-describedby`: a consumer's own ids, then the hint
15
+ * when the day is chosen. Nothing when both are empty.
16
+ */
17
+ export declare function describedByHint(own: unknown, hintId: string | undefined, selected: boolean): string | undefined;
@@ -0,0 +1,8 @@
1
+ import { DateValue } from '@internationalized/date';
2
+ type __VLS_Props = {
3
+ day: DateValue;
4
+ month: DateValue;
5
+ };
6
+ declare const __VLS_export: 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>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
@@ -290,9 +290,9 @@ export declare function cardsGallery(): {
290
290
  ChecklistCard: import('vue').DefineComponent<import('./checklist-card.vue').ChecklistCardProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('./checklist-card.vue').ChecklistCardProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
291
291
  Button: {
292
292
  new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('../../actions/button/Button.vue').ButtonProps> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
293
+ as: import('reka-ui').AsTag | import('vue').Component;
293
294
  variant: "link" | "filled" | "tonal" | "outlined" | "ghost" | null;
294
295
  color: "default" | "error" | "success" | "primary" | "secondary" | "info" | "warning" | null;
295
- as: import('reka-ui').AsTag | import('vue').Component;
296
296
  spinnerVariant: "1" | "2" | "3" | "4" | null;
297
297
  }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
298
298
  P: {};
@@ -302,18 +302,18 @@ export declare function cardsGallery(): {
302
302
  M: {};
303
303
  Defaults: {};
304
304
  }, Readonly<import('../../actions/button/Button.vue').ButtonProps> & Readonly<{}>, {}, {}, {}, {}, {
305
+ as: import('reka-ui').AsTag | import('vue').Component;
305
306
  variant: "link" | "filled" | "tonal" | "outlined" | "ghost" | null;
306
307
  color: "default" | "error" | "success" | "primary" | "secondary" | "info" | "warning" | null;
307
- as: import('reka-ui').AsTag | import('vue').Component;
308
308
  spinnerVariant: "1" | "2" | "3" | "4" | null;
309
309
  }>;
310
310
  __isFragment?: never;
311
311
  __isTeleport?: never;
312
312
  __isSuspense?: never;
313
313
  } & import('vue').ComponentOptionsBase<Readonly<import('../../actions/button/Button.vue').ButtonProps> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
314
+ as: import('reka-ui').AsTag | import('vue').Component;
314
315
  variant: "link" | "filled" | "tonal" | "outlined" | "ghost" | null;
315
316
  color: "default" | "error" | "success" | "primary" | "secondary" | "info" | "warning" | null;
316
- as: import('reka-ui').AsTag | import('vue').Component;
317
317
  spinnerVariant: "1" | "2" | "3" | "4" | null;
318
318
  }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
319
319
  $slots: {
@@ -1,22 +1,26 @@
1
- import { HTMLAttributes } from 'vue';
1
+ import { Component, HTMLAttributes } from 'vue';
2
2
  export type ListTileProps = {
3
3
  title: string;
4
4
  subtitle?: string;
5
5
  selected?: boolean;
6
6
  size?: 'sm' | 'md';
7
7
  href?: string;
8
+ /** The link element of a tile with an `href`, given `href` (the app shell's
9
+ * contract: it takes `href`, other attributes fall through; wrap `RouterLink`, which takes `to`).
10
+ * A plain `<a>` by default, which reloads the page. */
11
+ linkComponent?: Component;
8
12
  disabled?: boolean;
9
13
  class?: HTMLAttributes['class'];
10
14
  };
11
- declare var __VLS_1: {}, __VLS_15: {}, __VLS_17: {}, __VLS_31: {};
15
+ declare var __VLS_10: {}, __VLS_24: {}, __VLS_26: {}, __VLS_40: {};
12
16
  type __VLS_Slots = {} & {
13
- leading?: (props: typeof __VLS_1) => any;
17
+ leading?: (props: typeof __VLS_10) => any;
14
18
  } & {
15
- trailing?: (props: typeof __VLS_15) => any;
19
+ trailing?: (props: typeof __VLS_24) => any;
16
20
  } & {
17
- leading?: (props: typeof __VLS_17) => any;
21
+ leading?: (props: typeof __VLS_26) => any;
18
22
  } & {
19
- trailing?: (props: typeof __VLS_31) => any;
23
+ trailing?: (props: typeof __VLS_40) => any;
20
24
  };
21
25
  declare const __VLS_base: import('vue').DefineComponent<ListTileProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
22
26
  click: (event: MouseEvent) => any;
@@ -3,9 +3,9 @@ import { HTMLAttributes } from 'vue';
3
3
  type __VLS_Props = AlertDialogContentProps & {
4
4
  class?: HTMLAttributes['class'];
5
5
  };
6
- declare var __VLS_21: {};
6
+ declare var __VLS_25: {};
7
7
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_21) => any;
8
+ default?: (props: typeof __VLS_25) => any;
9
9
  };
10
10
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
11
  escapeKeyDown: (event: KeyboardEvent) => any;
@@ -1 +1,2 @@
1
+ export type { ToasterProps } from 'vue-sonner';
1
2
  export { default as Toaster } from './Sonner.vue';
@@ -4,6 +4,13 @@ export type ToastMethodProps = Omit<ToastProps, 'id'> & {
4
4
  icon?: unknown;
5
5
  options?: ExternalToast;
6
6
  };
7
+ /**
8
+ * Shows a toast. One with an `action` stays until dismissed (WCAG 2.2.1: an
9
+ * auto-dismissed action cannot be reached by a keyboard or screen-reader user
10
+ * in time) unless `options.duration` says otherwise, and gets a close (X)
11
+ * button named by `dismissLabel`, by default the translated
12
+ * `material.toast.buttons.close`.
13
+ */
7
14
  export declare function toast({ options, icon, ...props }: ToastMethodProps): string | number;
8
15
  export type { ToastAction, ToastProps };
9
16
  export { sonnerToast, Toast };
@@ -1,14 +1,30 @@
1
- import { HTMLAttributes } from 'vue';
1
+ import { HTMLAttributes, VNodeChild } from 'vue';
2
2
  export type ToastAction = {
3
3
  label: string;
4
4
  onClick?: () => void;
5
- } | ((dismiss: () => void) => unknown);
5
+ } | ((dismiss: () => void) => VNodeChild);
6
6
  export type ToastProps = {
7
7
  id: string | number;
8
8
  title?: string;
9
9
  description?: string;
10
10
  class?: HTMLAttributes['class'];
11
11
  action?: ToastAction;
12
+ /**
13
+ * Live-region role of the toast. None by default: the Toaster's own
14
+ * `aria-live="polite"` region already announces every toast, and a role on
15
+ * each one nests a second live region (read twice by some screen readers).
16
+ * `toasts.error` sets `alert`, which interrupts. A Toast rendered outside a
17
+ * Toaster needs its own live region.
18
+ */
19
+ role?: 'status' | 'alert';
20
+ /**
21
+ * Accessible name of the small close (X) icon button shown beside the
22
+ * `action`. `toast()` defaults it to the translated
23
+ * `material.toast.buttons.close` whenever an `action` is given; pass your
24
+ * own to rename it, or `''` to hide the button. Escape closes a toast
25
+ * whenever focus is inside it, with or without this button.
26
+ */
27
+ dismissLabel?: string;
12
28
  };
13
29
  declare var __VLS_1: {};
14
30
  type __VLS_Slots = {} & {