@nxgt/material-vue 0.23.4 → 0.25.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 (182) hide show
  1. package/README.md +30 -28
  2. package/dist/{Button-CVIR6uLK.js → Button-C1aaI0Gw.js} +95 -72
  3. package/dist/{HoverCardTrigger-iAL5ALrL.js → HoverCardTrigger-JtHn0IFQ.js} +2 -2
  4. package/dist/{camera-Gvg5N956.js → camera-BacVyXl0.js} +6 -6
  5. package/dist/{components-AScwCcds.js → components-DRBKkOqk.js} +15764 -13833
  6. package/dist/components.js +8 -8
  7. package/dist/composables.js +2 -2
  8. package/dist/dnd.js +1 -1
  9. package/dist/form-scope-VxlJuvFe.js +43 -0
  10. package/dist/{i18n-provider-BqWxpaKu.js → i18n-provider-D0oYv0XS.js} +1 -1
  11. package/dist/i18n.js +4 -4
  12. package/dist/{icon-button-DbEME76t.js → icon-button-B2FQtIHS.js} +34 -37
  13. package/dist/lib/components/ui/actions/button/has-text-content.d.ts +10 -0
  14. package/dist/lib/components/ui/actions/copy-button/copy-value.vue.d.ts +21 -0
  15. package/dist/lib/components/ui/actions/copy-button/index.d.ts +2 -0
  16. package/dist/lib/components/ui/collections/data-table/data-table-context.d.ts +6 -0
  17. package/dist/lib/components/ui/collections/data-table/data-table-pagination.vue.d.ts +2 -0
  18. package/dist/lib/components/ui/collections/data-table/data-table.vue.d.ts +17 -27
  19. package/dist/lib/components/ui/collections/data-table/index.d.ts +1 -1
  20. package/dist/lib/components/ui/collections/data-table/partials/data-table-body.vue.d.ts +10 -1
  21. package/dist/lib/components/ui/collections/data-table/partials/data-table-empty.vue.d.ts +13 -1
  22. package/dist/lib/components/ui/collections/data-table/partials/data-table-head.vue.d.ts +22 -0
  23. package/dist/lib/components/ui/collections/data-table/partials/data-table-skeleton-rows.vue.d.ts +10 -0
  24. package/dist/lib/components/ui/collections/data-table/use-data-table.d.ts +17 -0
  25. package/dist/lib/components/ui/collections/filter/partials/filter-field-slider-range.vue.d.ts +1 -4
  26. package/dist/lib/components/ui/collections/pagination/index.d.ts +5 -0
  27. package/dist/lib/components/ui/collections/pagination/pagination-bar.vue.d.ts +21 -0
  28. package/dist/lib/components/ui/collections/pagination/pagination-items.d.ts +2 -0
  29. package/dist/lib/components/ui/collections/pagination/pagination-link.vue.d.ts +18 -0
  30. package/dist/lib/components/ui/collections/tree/use-tree.d.ts +2 -0
  31. package/dist/lib/components/ui/dates/date-field/date-field.vue.d.ts +10 -1
  32. package/dist/lib/components/ui/dates/date-field/date-form-field.vue.d.ts +3 -1
  33. package/dist/lib/components/ui/dates/date-field/day-matcher.d.ts +26 -0
  34. package/dist/lib/components/ui/dates/date-field/index.d.ts +1 -0
  35. package/dist/lib/components/ui/dates/date-field/partials/date-field-content.vue.d.ts +2 -0
  36. package/dist/lib/components/ui/dates/date-range-field/date-range-field.utils.d.ts +11 -0
  37. package/dist/lib/components/ui/dates/date-range-field/date-range-field.vue.d.ts +26 -1
  38. package/dist/lib/components/ui/dates/date-range-field/date-range-form-field.vue.d.ts +3 -1
  39. package/dist/lib/components/ui/dates/date-range-field/index.d.ts +1 -0
  40. package/dist/lib/components/ui/dates/date-range-field/partials/date-range-calendar.vue.d.ts +5 -0
  41. package/dist/lib/components/ui/dates/date-range-field/partials/date-range-field-trigger.vue.d.ts +2 -0
  42. package/dist/lib/components/ui/dates/date-range-field/partials/date-range-presets.vue.d.ts +12 -0
  43. package/dist/lib/components/ui/dates/date-range-field/partials/date-range-times.vue.d.ts +13 -0
  44. package/dist/lib/components/ui/dates/date-range-field/use-date-range-presets.d.ts +23 -0
  45. package/dist/lib/components/ui/dates/time-picker/time-picker-utils.d.ts +7 -0
  46. package/dist/lib/components/ui/display/accordion-card/accordion-card.vue.d.ts +29 -1
  47. package/dist/lib/components/ui/display/avatar/Avatar.vue.d.ts +14 -3
  48. package/dist/lib/components/ui/display/avatar/index.d.ts +1 -0
  49. package/dist/lib/components/ui/display/cards/cards.gallery.d.ts +5 -9
  50. package/dist/lib/components/ui/display/markdown/index.d.ts +18 -0
  51. package/dist/lib/components/ui/display/qrcode/qrcode.vue.d.ts +5 -3
  52. package/dist/lib/components/ui/display/status-indicator/status-tone.d.ts +3 -0
  53. package/dist/lib/components/ui/feedback/confirmation-dialog/async-form-scope.d.ts +15 -0
  54. package/dist/lib/components/ui/feedback/confirmation-dialog/confirmation-dialog.vue.d.ts +37 -24
  55. package/dist/lib/components/ui/feedback/confirmation-dialog/index.d.ts +1 -1
  56. package/dist/lib/components/ui/feedback/confirmation-dialog/partials/confirmation-dialog-form-error.vue.d.ts +3 -0
  57. package/dist/lib/components/ui/feedback/skeleton/skeleton-text.vue.d.ts +1 -1
  58. package/dist/lib/components/ui/feedback/spinner/spinner.compound-variants.d.ts +4 -0
  59. package/dist/lib/components/ui/fields/attributes/form-schema.d.ts +24 -22
  60. package/dist/lib/components/ui/fields/contacts/consts.d.ts +1 -1
  61. package/dist/lib/components/ui/fields/inline-edit/index.d.ts +1 -0
  62. package/dist/lib/components/ui/fields/inline-edit/inline-edit-form-field.vue.d.ts +7 -0
  63. package/dist/lib/components/ui/fields/number-field/number-field.vue.d.ts +2 -0
  64. package/dist/lib/components/ui/fields/slider/partials/slider-field-row.vue.d.ts +32 -0
  65. package/dist/lib/components/ui/fields/slider/slider-field.vue.d.ts +22 -1
  66. package/dist/lib/components/ui/fields/slider/slider-form-field.vue.d.ts +13 -1
  67. package/dist/lib/components/ui/forms/form-scope-schema.d.ts +43 -0
  68. package/dist/lib/components/ui/forms/form-scope.vue.d.ts +33 -0
  69. package/dist/lib/components/ui/layout/doc/doc.vue.d.ts +5 -5
  70. package/dist/lib/components/ui/layout/doc/index.d.ts +8 -1
  71. package/dist/lib/components/ui/layout/doc/partials/default-doc-link.vue.d.ts +14 -0
  72. package/dist/lib/components/ui/layout/doc/partials/doc-copy-page.vue.d.ts +6 -0
  73. package/dist/lib/components/ui/layout/doc/partials/doc-link.vue.d.ts +3 -7
  74. package/dist/lib/components/ui/layout/doc/types.d.ts +6 -1
  75. package/dist/lib/components/ui/media/file-preview/file-preview-pdf.lazy.d.ts +8 -0
  76. package/dist/lib/components/ui/media/file-preview/file-preview.vue.d.ts +9 -0
  77. package/dist/lib/components/ui/media/file-preview/index.d.ts +3 -0
  78. package/dist/lib/components/ui/media/file-preview/partials/file-preview-body.vue.d.ts +21 -0
  79. package/dist/lib/components/ui/media/file-preview/partials/file-preview-card.vue.d.ts +15 -0
  80. package/dist/lib/components/ui/media/file-preview/partials/file-preview-download.vue.d.ts +11 -0
  81. package/dist/lib/components/ui/media/file-preview/partials/file-preview-media.vue.d.ts +17 -0
  82. package/dist/lib/components/ui/media/file-preview/partials/file-preview-pdf.vue.d.ts +21 -0
  83. package/dist/lib/components/ui/media/file-preview/partials/file-preview-status.vue.d.ts +22 -0
  84. package/dist/lib/components/ui/media/file-preview/partials/file-preview-text.vue.d.ts +16 -0
  85. package/dist/lib/components/ui/media/file-preview/types.d.ts +19 -0
  86. package/dist/lib/components/ui/media/file-preview/use-file-preview.d.ts +21 -0
  87. package/dist/lib/components/ui/media/file-preview/use-text-preview.d.ts +17 -0
  88. package/dist/lib/components/ui/media/files-form-field/files-form-field.vue.d.ts +29 -0
  89. package/dist/lib/components/ui/media/files-form-field/index.d.ts +2 -0
  90. package/dist/lib/components/ui/media/image-cropper/partials/image-cropper-canvas.vue.d.ts +1 -1
  91. package/dist/lib/components/ui/media/index.d.ts +2 -0
  92. package/dist/lib/components/ui/media/pdf-viewer/index.d.ts +6 -6
  93. package/dist/lib/components/ui/media/pdf-viewer/partials/pdf-page.vue.d.ts +1 -1
  94. package/dist/lib/components/ui/media/pdf-viewer/partials/pdf-reader-body.vue.d.ts +2 -2
  95. package/dist/lib/components/ui/media/pdf-viewer/pdf-reader.vue.d.ts +2 -2
  96. package/dist/lib/components/ui/media/upload/network-upload-field/use-image-preview.d.ts +9 -1
  97. package/dist/lib/components/ui/primitives/icon/icon-context.d.ts +1 -1
  98. package/dist/lib/components/ui/primitives/tabs/Tabs.vue.d.ts +3 -0
  99. package/dist/lib/components/ui/primitives/tabs/index.d.ts +1 -0
  100. package/dist/lib/components/ui/primitives/tabs/tabs-variant.d.ts +9 -0
  101. package/dist/lib/components/ui/selection/autocomplete/autocomplete-form-field.vue.d.ts +31 -5
  102. package/dist/lib/components/ui/selection/autocomplete/autocomplete-items.d.ts +23 -0
  103. package/dist/lib/components/ui/selection/autocomplete/autocomplete.vue.d.ts +48 -13
  104. package/dist/lib/components/ui/selection/autocomplete/filter-options.d.ts +2 -1
  105. package/dist/lib/components/ui/selection/autocomplete/partials/autocomplete-box.vue.d.ts +13 -1
  106. package/dist/lib/components/ui/selection/autocomplete/partials/autocomplete-list.vue.d.ts +17 -3
  107. package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-items.d.ts +15 -0
  108. package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-open.d.ts +15 -0
  109. package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-texts.d.ts +14 -0
  110. package/dist/lib/components/ui/selection/autocomplete/use-autocomplete.d.ts +34 -0
  111. package/dist/lib/components/ui/selection/checkbox/Checkbox.vue.d.ts +21 -5
  112. package/dist/lib/components/ui/selection/checkbox/checkbox-form-field.vue.d.ts +17 -0
  113. package/dist/lib/components/ui/selection/checkbox/index.d.ts +2 -0
  114. package/dist/lib/components/ui/selection/index.d.ts +1 -0
  115. package/dist/lib/components/ui/selection/select-field/select-field.vue.d.ts +16 -1
  116. package/dist/lib/components/ui/selection/select-field/select-form-field.vue.d.ts +16 -2
  117. package/dist/lib/components/ui/selection/tree-select-field/index.d.ts +3 -0
  118. package/dist/lib/components/ui/selection/tree-select-field/partials/tree-select-panel.vue.d.ts +27 -0
  119. package/dist/lib/components/ui/selection/tree-select-field/partials/tree-select-trigger.vue.d.ts +28 -0
  120. package/dist/lib/components/ui/selection/tree-select-field/tree-select-field.vue.d.ts +8 -0
  121. package/dist/lib/components/ui/selection/tree-select-field/tree-select-form-field.vue.d.ts +8 -0
  122. package/dist/lib/components/ui/selection/tree-select-field/tree-select.utils.d.ts +29 -0
  123. package/dist/lib/components/ui/selection/tree-select-field/types.d.ts +28 -0
  124. package/dist/lib/components/ui/selection/tree-select-field/use-tree-select-field.d.ts +19 -0
  125. package/dist/lib/components/ui/widgets/charts/chart-container.vue.d.ts +1 -1
  126. package/dist/lib/components/ui/widgets/code-editor/code-editor-form-field.vue.d.ts +13 -0
  127. package/dist/lib/components/ui/widgets/code-editor/code-editor-options.d.ts +4 -1
  128. package/dist/lib/components/ui/widgets/code-editor/code-editor.vue.d.ts +7 -0
  129. package/dist/lib/components/ui/widgets/code-editor/index.d.ts +2 -0
  130. package/dist/lib/components/ui/widgets/code-editor/monaco-editor.vue.d.ts +3 -0
  131. package/dist/lib/i18n/resources/en/en.d.ts +40 -0
  132. package/dist/lib/i18n/resources/en/material.json.d.ts +43 -3
  133. package/dist/lib/i18n/resources/fr/fr.d.ts +40 -0
  134. package/dist/lib/i18n/resources/fr/material.json.d.ts +43 -3
  135. package/dist/lib/i18n/resources/resources.d.ts +80 -0
  136. package/dist/lib/i18n/translator.d.ts +1 -1
  137. package/dist/lib/nuxt/component-names.d.ts +1 -1
  138. package/dist/lib.js +2 -2
  139. package/dist/main.js +17 -17
  140. package/dist/map.js +4 -4
  141. package/dist/material-vue.css +1 -1
  142. package/dist/{pdf-outline-sidebar-oz9wdBhB.js → pdf-outline-sidebar-jJfhNjnN.js} +2 -2
  143. package/dist/{pdf-page-0rlq1Lo6.js → pdf-page-BW1hXzPu.js} +1 -1
  144. package/dist/{pdf-page-list-DfhjNHoI.js → pdf-page-list-D277RtWS.js} +2 -2
  145. package/dist/{pdf-reader-Dr8RVcs4.js → pdf-reader-BReUTsn_.js} +73 -71
  146. package/dist/{pdf-sidebar-VXPQbC_R.js → pdf-sidebar-Bk6PowY1.js} +3 -3
  147. package/dist/{pdf-thumbnail-sidebar-BpgXrVBj.js → pdf-thumbnail-sidebar-BcNDFsks.js} +3 -3
  148. package/dist/{pdf-toolbar-B6gRRcsv.js → pdf-toolbar-CHjaMhH9.js} +4 -4
  149. package/dist/pdf.js +2 -2
  150. package/dist/{sortable-provider-oEVjQiCl.js → sortable-provider-C83VBfGl.js} +2 -2
  151. package/dist/{stored-language-rjOMJkyX.js → stored-language-CC_vdcCN.js} +90 -6
  152. package/dist/{stx-player-DNADkQ31.js → stx-player-BMQ1D2Li.js} +20 -20
  153. package/dist/{translator-BCSJSO1-.js → translator-B-X_1taI.js} +1 -1
  154. package/dist/{use-heading-spy-d50_nxgR.js → use-heading-spy-C_ySuvTl.js} +1 -1
  155. package/dist/{use-material-translation-C5zPFhbk.js → use-material-translation-B6sIk0mF.js} +3 -3
  156. package/docs/components/README.md +2 -1
  157. package/docs/components/buttons-and-actions.md +19 -3
  158. package/docs/components/data-display.md +65 -11
  159. package/docs/components/data-table-filter-and-lists.md +94 -8
  160. package/docs/components/date-and-time.md +116 -9
  161. package/docs/components/feedback-and-status.md +57 -5
  162. package/docs/components/form-fields.md +21 -9
  163. package/docs/components/media-and-files.md +120 -6
  164. package/docs/components/navigation-and-layout.md +68 -7
  165. package/docs/components/primitives.md +25 -6
  166. package/docs/components/rich-widgets.md +21 -3
  167. package/docs/components/selection-and-choice.md +151 -22
  168. package/docs/guides/forms.md +16 -8
  169. package/docs/guides/i18n.md +50 -6
  170. package/docs/guides/ssr.md +2 -0
  171. package/docs/previews/buttons-actions-copybutton.webp +0 -0
  172. package/docs/previews/data-table-filter-lists-pagination.webp +0 -0
  173. package/docs/previews/date-time-daterangefield.webp +0 -0
  174. package/docs/previews/form-fields-slider.webp +0 -0
  175. package/docs/previews/media-files-filepreview.webp +0 -0
  176. package/docs/previews/navigation-layout-stepper.webp +0 -0
  177. package/docs/previews/selection-choice-checkbox.webp +0 -0
  178. package/docs/previews/selection-choice-treeselectfield.webp +0 -0
  179. package/docs/roadmap.md +47 -1
  180. package/docs/troubleshooting.md +213 -0
  181. package/lib/nuxt/component-names.ts +16 -0
  182. package/package.json +2 -2
@@ -0,0 +1,34 @@
1
+ import { Ref } from 'vue';
2
+ import { AutocompleteOption } from './autocomplete.vue';
3
+ import { AutocompleteItemsOptions } from './use-autocomplete-items';
4
+ type Options<T> = AutocompleteItemsOptions<T> & {
5
+ freeSolo: boolean;
6
+ disabled?: boolean;
7
+ empty?: string;
8
+ freeSoloLabel?: (query: string) => string;
9
+ };
10
+ type Emit = {
11
+ (event: 'update:modelValue', value: string | string[] | null): void;
12
+ (event: 'queryChange', query: string): void;
13
+ };
14
+ /** Autocomplete's state and actions; the SFC only lays them out. */
15
+ export declare function useAutocomplete<T extends AutocompleteOption>(props: Options<T>, emit: Emit, root: Readonly<Ref<HTMLElement | null>>, box: Readonly<Ref<{
16
+ focus: () => void;
17
+ } | null>>): {
18
+ pick: (value: string) => void;
19
+ remove: (value: string) => void;
20
+ addFreeSolo: () => void;
21
+ onKeydown: (event: KeyboardEvent) => void;
22
+ canAddFreeSolo: import('vue').ComputedRef<boolean>;
23
+ emptyText: import('vue').ComputedRef<string>;
24
+ addLabel: import('vue').ComputedRef<string>;
25
+ query: Ref<string, string>;
26
+ selectedValues: import('vue').ComputedRef<string[]>;
27
+ selectedItems: import('vue').ComputedRef<import('./autocomplete-items').AutocompleteItem<T>[]>;
28
+ filtered: import('vue').ComputedRef<import('./autocomplete-items').AutocompleteItem<T>[]>;
29
+ open: Ref<boolean, boolean>;
30
+ onFocus(): void;
31
+ focusInput(): void;
32
+ onInput(event: Event): void;
33
+ };
34
+ export {};
@@ -1,18 +1,34 @@
1
1
  import { CheckboxRootProps } from 'reka-ui';
2
2
  import { HTMLAttributes } from 'vue';
3
- type __VLS_Props = CheckboxRootProps & {
3
+ export type CheckboxProps = CheckboxRootProps & {
4
4
  class?: HTMLAttributes['class'];
5
+ /**
6
+ * Renders the box in a row with this label (or the `label` slot). With a
7
+ * label or helper text, `class` styles that row; without, the box.
8
+ */
9
+ label?: string;
10
+ /** A line under the label (or the `helper-text` slot). */
11
+ helperText?: string;
5
12
  };
6
- declare var __VLS_14: {
13
+ declare var __VLS_13: {
14
+ modelValue: boolean | "indeterminate";
15
+ state: import('reka-ui').CheckboxCheckedState;
16
+ }, __VLS_26: {}, __VLS_34: {}, __VLS_49: {
7
17
  modelValue: boolean | "indeterminate";
8
18
  state: import('reka-ui').CheckboxCheckedState;
9
19
  };
10
20
  type __VLS_Slots = {} & {
11
- default?: (props: typeof __VLS_14) => any;
21
+ default?: (props: typeof __VLS_13) => any;
22
+ } & {
23
+ label?: (props: typeof __VLS_26) => any;
24
+ } & {
25
+ 'helper-text'?: (props: typeof __VLS_34) => any;
26
+ } & {
27
+ default?: (props: typeof __VLS_49) => any;
12
28
  };
13
- declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
29
+ declare const __VLS_base: import('vue').DefineComponent<CheckboxProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
14
30
  "update:modelValue": (value: boolean | "indeterminate") => any;
15
- }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
31
+ }, string, import('vue').PublicProps, Readonly<CheckboxProps> & Readonly<{
16
32
  "onUpdate:modelValue"?: ((value: boolean | "indeterminate") => any) | undefined;
17
33
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
18
34
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -0,0 +1,17 @@
1
+ import { CheckboxProps } from './Checkbox.vue';
2
+ type __VLS_Props = {
3
+ name: string;
4
+ } & Omit<CheckboxProps, 'name' | 'modelValue' | 'defaultValue'>;
5
+ declare var __VLS_13: string, __VLS_14: any;
6
+ type __VLS_Slots = {} & {
7
+ [K in NonNullable<typeof __VLS_13>]?: (props: typeof __VLS_14) => any;
8
+ };
9
+ 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>;
10
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
13
+ type __VLS_WithSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -1 +1,3 @@
1
+ export type { CheckboxProps } from './Checkbox.vue';
1
2
  export { default as Checkbox } from './Checkbox.vue';
3
+ export { default as CheckboxFormField } from './checkbox-form-field.vue';
@@ -12,3 +12,4 @@ export * from './select-field';
12
12
  export * from './sortable-list';
13
13
  export * from './switcher';
14
14
  export * from './transfer-list';
15
+ export * from './tree-select-field';
@@ -15,10 +15,25 @@ export type SelectFieldProps = {
15
15
  options: SelectOption[];
16
16
  class?: HTMLAttributes['class'];
17
17
  };
18
- declare const __VLS_export: import('vue').DefineComponent<SelectFieldProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
18
+ /** `#option` is `@nxgt/material`'s `renderOption`. */
19
+ type __VLS_Slots = {
20
+ /** One option's content in the list. Defaults to its `label`. */
21
+ option?: (props: {
22
+ option: SelectOption;
23
+ index: number;
24
+ selected: boolean;
25
+ }) => unknown;
26
+ };
27
+ declare const __VLS_base: import('vue').DefineComponent<SelectFieldProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
19
28
  "update:modelValue": (value: string) => any;
20
29
  }, string, import('vue').PublicProps, Readonly<SelectFieldProps> & Readonly<{
21
30
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
22
31
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
32
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
23
33
  declare const _default: typeof __VLS_export;
24
34
  export default _default;
35
+ type __VLS_WithSlots<T, S> = T & {
36
+ new (): {
37
+ $slots: S;
38
+ };
39
+ };
@@ -1,7 +1,21 @@
1
- import { SelectFieldProps } from './select-field.vue';
1
+ import { SelectFieldProps, SelectOption } from './select-field.vue';
2
2
  type __VLS_Props = {
3
3
  name: string;
4
4
  } & Omit<SelectFieldProps, 'modelValue' | 'error' | 'name'>;
5
- 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>;
5
+ type __VLS_Slots = {
6
+ /** One option's content in the list, as on `SelectField`. */
7
+ option?: (props: {
8
+ option: SelectOption;
9
+ index: number;
10
+ selected: boolean;
11
+ }) => unknown;
12
+ };
13
+ 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>;
14
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
6
15
  declare const _default: typeof __VLS_export;
7
16
  export default _default;
17
+ type __VLS_WithSlots<T, S> = T & {
18
+ new (): {
19
+ $slots: S;
20
+ };
21
+ };
@@ -0,0 +1,3 @@
1
+ export { default as TreeSelectField } from './tree-select-field.vue';
2
+ export { default as TreeSelectFormField } from './tree-select-form-field.vue';
3
+ export type { TreeSelectFieldProps, TreeSelectFieldValue } from './types';
@@ -0,0 +1,27 @@
1
+ import { TreeNode } from '../../../collections/tree/types';
2
+ /** What the popover holds: the optional filter input, then the tree. */
3
+ type __VLS_Props = {
4
+ nodes: TreeNode[];
5
+ multiple?: boolean;
6
+ selectedIds: string[];
7
+ expandedIds: string[];
8
+ /** Names the tree: the field's label. */
9
+ treeLabel?: string;
10
+ searchable?: boolean;
11
+ query: string;
12
+ searchLabel: string;
13
+ emptyText: string;
14
+ };
15
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
16
+ select: (id: string) => any;
17
+ "update:selectedIds": (ids: string[]) => any;
18
+ "update:expandedIds": (ids: string[]) => any;
19
+ "update:query": (query: string) => any;
20
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
21
+ onSelect?: ((id: string) => any) | undefined;
22
+ "onUpdate:selectedIds"?: ((ids: string[]) => any) | undefined;
23
+ "onUpdate:expandedIds"?: ((ids: string[]) => any) | undefined;
24
+ "onUpdate:query"?: ((query: string) => any) | undefined;
25
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
26
+ declare const _default: typeof __VLS_export;
27
+ export default _default;
@@ -0,0 +1,28 @@
1
+ import { TreeNode } from '../../../collections/tree/types';
2
+ /**
3
+ * The field's box: in multiple mode, a chip per picked node, then the
4
+ * `combobox` button that opens the tree. The chips sit beside the button, not
5
+ * in it — a chip's remove button may not be nested in another button — and the
6
+ * box is the popover's anchor, so the tree opens under all of it.
7
+ */
8
+ type __VLS_Props = {
9
+ open: boolean;
10
+ multiple?: boolean;
11
+ disabled?: boolean;
12
+ error?: boolean;
13
+ name?: string;
14
+ /** What the button shows while nothing is picked. */
15
+ placeholder: string;
16
+ /** What the button shows in multiple mode once something is picked. */
17
+ countText: string;
18
+ selectedNodes: TreeNode[];
19
+ /** The combobox's attributes, role, name and description (`pickerTriggerBindings`). */
20
+ a11y: Record<string, unknown>;
21
+ };
22
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
23
+ remove: (id: string) => any;
24
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
25
+ onRemove?: ((id: string) => any) | undefined;
26
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
27
+ declare const _default: typeof __VLS_export;
28
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import { TreeSelectFieldProps, TreeSelectFieldValue } from './types';
2
+ declare const __VLS_export: import('vue').DefineComponent<TreeSelectFieldProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
3
+ "update:modelValue": (value: TreeSelectFieldValue) => any;
4
+ }, string, import('vue').PublicProps, Readonly<TreeSelectFieldProps> & Readonly<{
5
+ "onUpdate:modelValue"?: ((value: TreeSelectFieldValue) => any) | undefined;
6
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import { TreeSelectFieldProps } from './types';
2
+ /** `TreeSelectField` bound to vee-validate: touched when focus leaves it. */
3
+ type __VLS_Props = {
4
+ name: string;
5
+ } & Omit<TreeSelectFieldProps, 'modelValue' | 'error' | 'name'>;
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;
@@ -0,0 +1,29 @@
1
+ import { TreeNode } from '../../collections/tree/types';
2
+ /** The text a node shows, which the search matches against. */
3
+ export declare function treeNodeText(node: TreeNode): string;
4
+ export type FilteredTree = {
5
+ /** The matches, each under its ancestors; a match keeps its own subtree. */
6
+ nodes: TreeNode[];
7
+ /** The ancestors kept for a match below them: open, so the match shows. */
8
+ expandedIds: string[];
9
+ };
10
+ /**
11
+ * The tree narrowed to the nodes whose text contains `query` (case- and
12
+ * accent-insensitive), with every match's ancestors kept so it stays in place.
13
+ * An empty query keeps the whole tree, with nothing forced open.
14
+ */
15
+ export declare function filterTree(nodes: TreeNode[], query: string): FilteredTree;
16
+ /** The ids of the ancestors of `ids`: opened, so a picked node is in view. */
17
+ export declare function ancestorIds(nodes: TreeNode[], ids: string[]): string[];
18
+ /** The nodes of `ids`, in the order of `ids`; an id the tree lacks is skipped. */
19
+ export declare function treeNodesOf(nodes: TreeNode[], ids: string[]): TreeNode[];
20
+ /** The value as a list of ids, whatever the mode. */
21
+ export declare function toIds(value: string | string[] | null | undefined): string[];
22
+ /** The first tree item a keyboard user lands on: the roving one, else the first. */
23
+ export declare function treeEntry(root: ParentNode | null | undefined): HTMLElement | null;
24
+ /**
25
+ * Before a chip is removed, hand focus on, so a keyboard user is not dropped
26
+ * to `<body>` (which also blurs, so touches, the form field): the next chip's
27
+ * remove button, else the previous one's, else the combobox trigger.
28
+ */
29
+ export declare function focusAfterChipRemoval(box: ParentNode | null | undefined, index: number): void;
@@ -0,0 +1,28 @@
1
+ import { HTMLAttributes } from 'vue';
2
+ import { TreeNode } from '../../collections/tree/types';
3
+ export type TreeSelectFieldProps = {
4
+ /** The tree to pick from: `Tree`'s node shape. */
5
+ items: TreeNode[];
6
+ /** The picked node's id, or the picked ids with `multiple` (`v-model`). */
7
+ modelValue?: string | string[] | null;
8
+ /** Checkboxes in the tree, and the picked nodes as chips in the trigger. */
9
+ multiple?: boolean;
10
+ label?: string;
11
+ helperText?: string;
12
+ error?: boolean;
13
+ /** Shown while nothing is picked; `material.tree-select-field.placeholder` otherwise. */
14
+ placeholder?: string;
15
+ disabled?: boolean;
16
+ required?: boolean;
17
+ /** A filter input above the tree: matches stay under their ancestors. */
18
+ searchable?: boolean;
19
+ /** The filter input's placeholder and name; `material.tree-select-field.search` otherwise. */
20
+ searchPlaceholder?: string;
21
+ name?: string;
22
+ class?: HTMLAttributes['class'];
23
+ /** Names the trigger (`aria-label`); it wins over `label`. */
24
+ ariaLabel?: string;
25
+ ariaLabelledby?: string;
26
+ };
27
+ /** What the field emits: one id (or `null`), or the ids with `multiple`. */
28
+ export type TreeSelectFieldValue = string | string[] | null;
@@ -0,0 +1,19 @@
1
+ import { TreeSelectFieldProps, TreeSelectFieldValue } from './types';
2
+ /**
3
+ * A `TreeSelectField`'s chrome — open, the search query, the open branches —
4
+ * and what picking does. The value stays the caller's (`v-model`); three
5
+ * local refs need no store, as in `Autocomplete`.
6
+ */
7
+ export declare function useTreeSelectField(props: TreeSelectFieldProps, change: (value: TreeSelectFieldValue) => void): {
8
+ open: import('vue').Ref<boolean, boolean>;
9
+ setOpen: (next: boolean) => void;
10
+ query: import('vue').Ref<string, string>;
11
+ search: (next: string) => void;
12
+ nodes: import('vue').ComputedRef<import('../../collections').TreeNode[]>;
13
+ expandedIds: import('vue').Ref<string[], string[]>;
14
+ selectedIds: import('vue').ComputedRef<string[]>;
15
+ selectedNodes: import('vue').ComputedRef<import('../../collections').TreeNode[]>;
16
+ onSelectedIdsChange: (ids: string[]) => void;
17
+ onSelect: (id: string) => void;
18
+ remove: (id: string) => void;
19
+ };
@@ -13,8 +13,8 @@ type __VLS_Slots = {} & {
13
13
  };
14
14
  declare const __VLS_base: import('vue').DefineComponent<ChartContainerProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ChartContainerProps> & Readonly<{}>, {
15
15
  height: string | number;
16
- empty: boolean;
17
16
  loading: boolean;
17
+ empty: boolean;
18
18
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
19
19
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
20
  declare const _default: typeof __VLS_export;
@@ -0,0 +1,13 @@
1
+ import { CodeEditorProps } from './code-editor.vue';
2
+ type __VLS_Props = {
3
+ name: string;
4
+ } & Omit<CodeEditorProps, 'name' | 'modelValue' | 'error'>;
5
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
6
+ languageChange: (language: string) => any;
7
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ onLanguageChange?: ((language: string) => any) | undefined;
9
+ }>, {
10
+ showChrome: boolean;
11
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
@@ -6,11 +6,14 @@ export type CodeEditorOptionsInput = {
6
6
  wordWrap?: boolean;
7
7
  /** The field's label: it names Monaco's textarea. */
8
8
  label?: string;
9
+ /** Monaco's own construction options, passed through; they win. */
10
+ options?: CodeEditorOptions;
9
11
  };
10
12
  /**
11
13
  * Monaco's options for `CodeEditor`, at creation and on every change of
12
14
  * these inputs. `ariaRequired` puts `aria-required` on Monaco's own textarea,
13
15
  * the element a screen reader lands on, and `ariaLabel` names it with the
14
16
  * field's label: the `Label` cannot be `for` a textarea Monaco creates.
17
+ * Caller `options` win, as on `@nxgt/material`.
15
18
  */
16
- export declare function codeEditorOptions({ readOnly, required, wordWrap, label, }: CodeEditorOptionsInput): any;
19
+ export declare function codeEditorOptions({ readOnly, required, wordWrap, label, options, }: CodeEditorOptionsInput): CodeEditorOptions;
@@ -1,3 +1,4 @@
1
+ import { CodeEditorOptions } from './code-editor-options';
1
2
  export type CodeEditorProps = {
2
3
  label?: string;
3
4
  helperText?: string;
@@ -12,6 +13,12 @@ export type CodeEditorProps = {
12
13
  scheme?: 'dark' | 'light';
13
14
  height?: string | number;
14
15
  modelValue?: string;
16
+ /**
17
+ * Monaco's own options (`IStandaloneEditorConstructionOptions`), passed
18
+ * through at creation and through `updateOptions` when they change. They
19
+ * win over the editor's defaults (`minimap`, `fontSize`, `wordWrap`…).
20
+ */
21
+ options?: CodeEditorOptions;
15
22
  };
16
23
  declare const __VLS_export: import('vue').DefineComponent<CodeEditorProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
17
24
  "update:modelValue": (value: string) => any;
@@ -1,2 +1,4 @@
1
1
  export type { CodeEditorProps } from './code-editor.vue';
2
2
  export { default as CodeEditor } from './code-editor.vue';
3
+ export { default as CodeEditorFormField } from './code-editor-form-field.vue';
4
+ export type { CodeEditorOptions } from './code-editor-options';
@@ -1,3 +1,4 @@
1
+ import { CodeEditorOptions } from './code-editor-options';
1
2
  type __VLS_Props = {
2
3
  modelValue: string;
3
4
  language: string;
@@ -8,6 +9,8 @@ type __VLS_Props = {
8
9
  required?: boolean;
9
10
  /** Names Monaco's textarea; a new one reaches it through `updateOptions`. */
10
11
  label?: string;
12
+ /** Monaco's own options; they win over the defaults above. */
13
+ options?: CodeEditorOptions;
11
14
  };
12
15
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
16
  "update:modelValue": (value: string) => any;
@@ -48,6 +48,7 @@ export declare const en: {
48
48
  cancel: string;
49
49
  processing: string;
50
50
  failed: string;
51
+ "form-failed": string;
51
52
  };
52
53
  "location-field": {
53
54
  placeholder: string;
@@ -328,6 +329,7 @@ export declare const en: {
328
329
  };
329
330
  };
330
331
  table: {
332
+ loading: string;
331
333
  labels: {
332
334
  asc: string;
333
335
  desc: string;
@@ -630,6 +632,12 @@ export declare const en: {
630
632
  expand: string;
631
633
  collapse: string;
632
634
  };
635
+ "tree-select-field": {
636
+ placeholder: string;
637
+ search: string;
638
+ empty: string;
639
+ selected: string;
640
+ };
633
641
  "image-cropper": {
634
642
  title: string;
635
643
  zoom: string;
@@ -754,6 +762,8 @@ export declare const en: {
754
762
  };
755
763
  stepper: {
756
764
  step: string;
765
+ completed: string;
766
+ error: string;
757
767
  };
758
768
  "combobox-field": {
759
769
  placeholder: string;
@@ -1156,6 +1166,11 @@ export declare const en: {
1156
1166
  spinner: {
1157
1167
  loading: string;
1158
1168
  };
1169
+ slider: {
1170
+ minimum: string;
1171
+ maximum: string;
1172
+ value: string;
1173
+ };
1159
1174
  "scroll-to-top": {
1160
1175
  label: string;
1161
1176
  };
@@ -1191,6 +1206,31 @@ export declare const en: {
1191
1206
  "time-picker": {
1192
1207
  am: string;
1193
1208
  pm: string;
1209
+ hours: string;
1210
+ minutes: string;
1211
+ };
1212
+ "date-range-field": {
1213
+ presets: string;
1214
+ preset: {
1215
+ today: string;
1216
+ yesterday: string;
1217
+ "last-7-days": string;
1218
+ "last-30-days": string;
1219
+ "this-month": string;
1220
+ "last-month": string;
1221
+ "this-year": string;
1222
+ };
1223
+ "start-time": string;
1224
+ "end-time": string;
1225
+ };
1226
+ "file-preview": {
1227
+ label: string;
1228
+ untitled: string;
1229
+ loading: string;
1230
+ error: string;
1231
+ download: string;
1232
+ truncated: string;
1233
+ content: string;
1194
1234
  };
1195
1235
  };
1196
1236
  };
@@ -37,7 +37,8 @@ declare const _default: {
37
37
  "confirm": "Confirm",
38
38
  "cancel": "Cancel",
39
39
  "processing": "Processing...",
40
- "failed": "The action failed."
40
+ "failed": "The action failed.",
41
+ "form-failed": "The form could not be loaded."
41
42
  },
42
43
  "location-field": {
43
44
  "placeholder": "No location selected",
@@ -318,6 +319,7 @@ declare const _default: {
318
319
  }
319
320
  },
320
321
  "table": {
322
+ "loading": "Loading data…",
321
323
  "labels": {
322
324
  "asc": "Asc",
323
325
  "desc": "Desc",
@@ -620,6 +622,12 @@ declare const _default: {
620
622
  "expand": "Expand",
621
623
  "collapse": "Collapse"
622
624
  },
625
+ "tree-select-field": {
626
+ "placeholder": "Select…",
627
+ "search": "Search",
628
+ "empty": "No match found.",
629
+ "selected": "{count} selected"
630
+ },
623
631
  "image-cropper": {
624
632
  "title": "Crop image",
625
633
  "zoom": "Zoom",
@@ -743,7 +751,9 @@ declare const _default: {
743
751
  "open": "Open URL"
744
752
  },
745
753
  "stepper": {
746
- "step": "Step {step}"
754
+ "step": "Step {step}",
755
+ "completed": "Completed",
756
+ "error": "Error"
747
757
  },
748
758
  "combobox-field": {
749
759
  "placeholder": "Search…",
@@ -1146,6 +1156,11 @@ declare const _default: {
1146
1156
  "spinner": {
1147
1157
  "loading": "Loading..."
1148
1158
  },
1159
+ "slider": {
1160
+ "minimum": "Minimum",
1161
+ "maximum": "Maximum",
1162
+ "value": "Value"
1163
+ },
1149
1164
  "scroll-to-top": {
1150
1165
  "label": "Scroll to top"
1151
1166
  },
@@ -1180,7 +1195,32 @@ declare const _default: {
1180
1195
  },
1181
1196
  "time-picker": {
1182
1197
  "am": "AM",
1183
- "pm": "PM"
1198
+ "pm": "PM",
1199
+ "hours": "Hours",
1200
+ "minutes": "Minutes"
1201
+ },
1202
+ "date-range-field": {
1203
+ "presets": "Presets",
1204
+ "preset": {
1205
+ "today": "Today",
1206
+ "yesterday": "Yesterday",
1207
+ "last-7-days": "Last 7 days",
1208
+ "last-30-days": "Last 30 days",
1209
+ "this-month": "This month",
1210
+ "last-month": "Last month",
1211
+ "this-year": "This year"
1212
+ },
1213
+ "start-time": "Start time",
1214
+ "end-time": "End time"
1215
+ },
1216
+ "file-preview": {
1217
+ "label": "Preview of {name}",
1218
+ "untitled": "Untitled file",
1219
+ "loading": "Loading preview…",
1220
+ "error": "This file could not be previewed.",
1221
+ "download": "Download",
1222
+ "truncated": "Showing the first {size} of this file.",
1223
+ "content": "Contents of {name}"
1184
1224
  }
1185
1225
  }
1186
1226
  ;
@@ -48,6 +48,7 @@ export declare const fr: {
48
48
  cancel: string;
49
49
  processing: string;
50
50
  failed: string;
51
+ "form-failed": string;
51
52
  };
52
53
  "location-field": {
53
54
  placeholder: string;
@@ -328,6 +329,7 @@ export declare const fr: {
328
329
  };
329
330
  };
330
331
  table: {
332
+ loading: string;
331
333
  labels: {
332
334
  asc: string;
333
335
  desc: string;
@@ -630,6 +632,12 @@ export declare const fr: {
630
632
  expand: string;
631
633
  collapse: string;
632
634
  };
635
+ "tree-select-field": {
636
+ placeholder: string;
637
+ search: string;
638
+ empty: string;
639
+ selected: string;
640
+ };
633
641
  "image-cropper": {
634
642
  title: string;
635
643
  zoom: string;
@@ -754,6 +762,8 @@ export declare const fr: {
754
762
  };
755
763
  stepper: {
756
764
  step: string;
765
+ completed: string;
766
+ error: string;
757
767
  };
758
768
  "combobox-field": {
759
769
  placeholder: string;
@@ -1156,6 +1166,11 @@ export declare const fr: {
1156
1166
  spinner: {
1157
1167
  loading: string;
1158
1168
  };
1169
+ slider: {
1170
+ minimum: string;
1171
+ maximum: string;
1172
+ value: string;
1173
+ };
1159
1174
  "scroll-to-top": {
1160
1175
  label: string;
1161
1176
  };
@@ -1191,6 +1206,31 @@ export declare const fr: {
1191
1206
  "time-picker": {
1192
1207
  am: string;
1193
1208
  pm: string;
1209
+ hours: string;
1210
+ minutes: string;
1211
+ };
1212
+ "date-range-field": {
1213
+ presets: string;
1214
+ preset: {
1215
+ today: string;
1216
+ yesterday: string;
1217
+ "last-7-days": string;
1218
+ "last-30-days": string;
1219
+ "this-month": string;
1220
+ "last-month": string;
1221
+ "this-year": string;
1222
+ };
1223
+ "start-time": string;
1224
+ "end-time": string;
1225
+ };
1226
+ "file-preview": {
1227
+ label: string;
1228
+ untitled: string;
1229
+ loading: string;
1230
+ error: string;
1231
+ download: string;
1232
+ truncated: string;
1233
+ content: string;
1194
1234
  };
1195
1235
  };
1196
1236
  };