@nxgt/material-vue 0.25.1 → 0.26.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 (52) hide show
  1. package/CHANGELOG.md +1650 -0
  2. package/README.md +25 -3
  3. package/dist/{Button-C1aaI0Gw.js → Button-16J7vTpE.js} +1 -1
  4. package/dist/{HoverCardTrigger-JtHn0IFQ.js → HoverCardTrigger-C41002JS.js} +2 -2
  5. package/dist/{camera-BacVyXl0.js → camera-DvKuqT4L.js} +4 -4
  6. package/dist/{components-DRBKkOqk.js → components-CCWod7cJ.js} +10461 -10194
  7. package/dist/components.js +8 -8
  8. package/dist/composables.js +2 -2
  9. package/dist/dnd.js +1 -1
  10. package/dist/{form-scope-VxlJuvFe.js → form-scope-x-7TYn2s.js} +1 -1
  11. package/dist/{i18n-provider-D0oYv0XS.js → i18n-provider-CaaZCmaR.js} +1 -1
  12. package/dist/i18n.js +4 -4
  13. package/dist/{icon-button-B2FQtIHS.js → icon-button-CDdNsZuZ.js} +1 -1
  14. package/dist/lib/components/ui/collections/data-table/data-table-server-footer.vue.d.ts +35 -0
  15. package/dist/lib/components/ui/collections/data-table/data-table.vue.d.ts +18 -30
  16. package/dist/lib/components/ui/collections/data-table/index.d.ts +3 -1
  17. package/dist/lib/components/ui/collections/data-table/partials/data-table-body.vue.d.ts +4 -0
  18. package/dist/lib/components/ui/collections/data-table/partials/data-table-page-control.vue.d.ts +15 -0
  19. package/dist/lib/components/ui/collections/data-table/partials/data-table-row.vue.d.ts +31 -0
  20. package/dist/lib/components/ui/collections/data-table/types.d.ts +66 -0
  21. package/dist/lib/components/ui/collections/data-table/use-data-table.d.ts +13 -3
  22. package/dist/lib/components/ui/fields/contacts/consts.d.ts +1 -1
  23. package/dist/lib/i18n/resources/en/en.d.ts +5 -0
  24. package/dist/lib/i18n/resources/en/material.json.d.ts +6 -1
  25. package/dist/lib/i18n/resources/fr/fr.d.ts +5 -0
  26. package/dist/lib/i18n/resources/fr/material.json.d.ts +6 -1
  27. package/dist/lib/i18n/resources/resources.d.ts +10 -0
  28. package/dist/lib/i18n/translator.d.ts +1 -1
  29. package/dist/lib/nuxt/component-names.d.ts +1 -1
  30. package/dist/lib.js +2 -2
  31. package/dist/main.js +17 -17
  32. package/dist/map.js +4 -4
  33. package/dist/material-vue.css +1 -1
  34. package/dist/{pdf-outline-sidebar-jJfhNjnN.js → pdf-outline-sidebar-D3vq2qfS.js} +2 -2
  35. package/dist/{pdf-page-BW1hXzPu.js → pdf-page-BrJbyjQj.js} +1 -1
  36. package/dist/{pdf-page-list-D277RtWS.js → pdf-page-list-BCgYEszV.js} +2 -2
  37. package/dist/{pdf-reader-BReUTsn_.js → pdf-reader-BAzevSJU.js} +8 -8
  38. package/dist/{pdf-sidebar-Bk6PowY1.js → pdf-sidebar-DSh2Mend.js} +3 -3
  39. package/dist/{pdf-thumbnail-sidebar-BcNDFsks.js → pdf-thumbnail-sidebar-D_EMcbKF.js} +3 -3
  40. package/dist/{pdf-toolbar-CHjaMhH9.js → pdf-toolbar-BcL7HlfS.js} +4 -4
  41. package/dist/pdf.js +2 -2
  42. package/dist/{sortable-provider-C83VBfGl.js → sortable-provider-DMpmM7Ke.js} +2 -2
  43. package/dist/{stored-language-CC_vdcCN.js → stored-language-Bxhsx4iB.js} +12 -2
  44. package/dist/{stx-player-BMQ1D2Li.js → stx-player-MldK_ZAZ.js} +17 -17
  45. package/dist/{translator-B-X_1taI.js → translator-CLI_7Crg.js} +1 -1
  46. package/dist/{use-heading-spy-C_ySuvTl.js → use-heading-spy-VPuFj2Gt.js} +1 -1
  47. package/dist/{use-material-translation-B6sIk0mF.js → use-material-translation-CONqD9wJ.js} +3 -3
  48. package/docs/components/data-table-filter-and-lists.md +173 -5
  49. package/docs/getting-started.md +2 -2
  50. package/docs/roadmap.md +6 -0
  51. package/lib/nuxt/component-names.ts +1 -0
  52. package/package.json +3 -2
package/README.md CHANGED
@@ -45,6 +45,7 @@ lists the React equivalent for each entry.
45
45
  - [Guides](#guides)
46
46
  - [Components](#components)
47
47
  - [Traps](#traps)
48
+ - [Using with Claude Code](#using-with-claude-code)
48
49
  - [Documentation](#documentation)
49
50
  - [Development](#development)
50
51
  - [License](#license)
@@ -76,8 +77,8 @@ stores silently split between two instances.
76
77
 
77
78
  The tarball ships `dist/`, `docs/`, the stylesheets (`lib/styles.css`, the
78
79
  component stylesheets it imports, `lib/components/**/*.css`, and
79
- `lib/map/map.css`) and the Nuxt module (`lib/nuxt`, with the `lib/vite/index.ts` it imports). There is no
80
- `postinstall` build.
80
+ `lib/map/map.css`) and the Nuxt module (`lib/nuxt`, with the `lib/vite/index.ts` it imports), and, from the
81
+ release after 0.25.1, `CHANGELOG.md`. There is no `postinstall` build.
81
82
 
82
83
  ## Setup
83
84
 
@@ -474,7 +475,7 @@ React-only for now: `StepperIndicator` ([roadmap](https://cdn.jsdelivr.net/npm/@
474
475
 
475
476
  | Preview | Component | What it does | @nxgt/material |
476
477
  | --- | --- | --- | --- |
477
- | <img src="https://cdn.jsdelivr.net/npm/@nxgt/material-vue@0/docs/previews/data-table-filter-lists-datatable.webp" width="120" alt="DataTable"> | [`DataTable`](https://cdn.jsdelivr.net/npm/@nxgt/material-vue@0/docs/components/data-table-filter-and-lists.md#datatable), `DataTableColumnHeader`, `DataTablePagination`, `DataTableViewOptions` | TanStack Table v9 with sorting, filtering, selection, expandable rows, pagination or load-more, column visibility, skeleton rows while loading and your own empty state. | `DataTable`, `DataTableColumnHeader`, `DataTablePagination`, `DataTableViewOptions` |
478
+ | <img src="https://cdn.jsdelivr.net/npm/@nxgt/material-vue@0/docs/previews/data-table-filter-lists-datatable.webp" width="120" alt="DataTable"> | [`DataTable`](https://cdn.jsdelivr.net/npm/@nxgt/material-vue@0/docs/components/data-table-filter-and-lists.md#datatable), `DataTableColumnHeader`, `DataTablePagination`, `DataTableServerFooter`, `DataTableViewOptions` | TanStack Table v9 with sorting, filtering, selection, expandable rows, pagination or load-more, column visibility, skeleton rows while loading and your own empty state — or one server page at a time, with controlled sorting and selection, cursor Previous / Next links and row links. | `DataTable`, `DataTableColumnHeader`, `DataTablePagination`, `DataTableServerFooter`, `DataTableViewOptions` |
478
479
  | <img src="https://cdn.jsdelivr.net/npm/@nxgt/material-vue@0/docs/previews/data-table-filter-lists-filter.webp" width="120" alt="Filter"> | [`Filter`](https://cdn.jsdelivr.net/npm/@nxgt/material-vue@0/docs/components/data-table-filter-and-lists.md#filter) · `FilterFormField`, `FilterProvider`, `FilterTrigger`, `FilterChips`, `FilterContent`, `FilterGroups`, `FilterGroup`, `FilterField`, `FilterActions`, `FilterPresets` | Schema-driven filters with chips, presets, validation, and URL or storage persistence. | `Filter`, `FilterProvider`, `FilterContent`, `FilterChips`, `FilterPresets`, `FilterFormField` |
479
480
  | — | [`FilterInline`](https://cdn.jsdelivr.net/npm/@nxgt/material-vue@0/docs/components/data-table-filter-and-lists.md#filterinline-filterpopover-filterdialog-filtersheet-filterdrawer), `FilterDialog`, `FilterSheet`, `FilterDrawer`, `FilterPopover` | The filter panel shown inline, or in a popover, dialog, sheet or drawer. | `FilterInline`, `FilterPopover`, `FilterDialog`, `FilterSheet`, `FilterDrawer` |
480
481
  | <img src="https://cdn.jsdelivr.net/npm/@nxgt/material-vue@0/docs/previews/data-table-filter-lists-pagination.webp" width="120" alt="Pagination"> | [`Pagination`](https://cdn.jsdelivr.net/npm/@nxgt/material-vue@0/docs/components/data-table-filter-and-lists.md#pagination), `PaginationContent`, `PaginationItem`, `PaginationFirst`, `PaginationLast`, `PaginationLink`, `PaginationBar`, `paginationItems` + parts | Pagination primitives on Reka UI's `Pagination`, with first / last buttons and ellipses. `PaginationBar` adds a sibling window with ellipses. | `Pagination` (parts), `PaginationFirst`, `PaginationLast`, `PaginationLink`, `PaginationBar`, `paginationItems` |
@@ -587,6 +588,27 @@ The ones that cost the most time. Every error message, with its fix, is in
587
588
  | `Cannot find module '…/pdfkit/js/standard-fonts/Helvetica.cjs'` from a Nuxt or Nitro production server | use the Nuxt module, or add pdfkit's font files to `nitro.externals.traceInclude` ([troubleshooting](https://cdn.jsdelivr.net/npm/@nxgt/material-vue@0/docs/troubleshooting.md#cannot-find-module-pdfkitjsstandard-fontshelveticacjs)) |
588
589
  | CSS or a test selecting `[data-variant=destructive]` on a menu item stops matching | menu items render `data-variant="error"`, for `variant="error"` and the deprecated `"destructive"` alike: select `[data-variant=error]` |
589
590
 
591
+ ## Using with Claude Code
592
+
593
+ The `nxgt-material-vue` plugin teaches Claude Code to build a Vue or Nuxt app with this
594
+ package. Add the marketplace once, then install the plugin in the app's
595
+ repository:
596
+
597
+ ```
598
+ /plugin marketplace add softistx/nxgt-material
599
+ /plugin install nxgt-material-vue@nxgt-material
600
+ ```
601
+
602
+ The marketplace lives in the `softistx/nxgt-material` GitHub repository,
603
+ which is private: adding it needs a GitHub account with access to it.
604
+
605
+ | Part | What it does |
606
+ | --- | --- |
607
+ | skill `use-nxgt-material-vue` | picks the component by need, and wires imports, `styles.css` and the tokens, forms, i18n, tests by role and SSR from these docs, read in `node_modules/@nxgt/material-vue/docs/` |
608
+ | agent `vue-screen-builder` | builds a page or a form from the catalogue, with tests by role and name and an accessibility check |
609
+ | agent `vue-upgrade-assistant` | upgrades between two versions: reads the release notes in between, applies the migrations that match, runs the app's typecheck and tests |
610
+ | hook (after Write / Edit) | names the component and its docs page when a file hand-rolls one (a native date input, a home-made dialog or tabs, a paged `<table>`, a file input with a preview). Advisory only; `NXGT_MATERIAL_ADVISOR_DISABLE=1` turns it off |
611
+
590
612
  ## Documentation
591
613
 
592
614
  - [docs/README.md](https://cdn.jsdelivr.net/npm/@nxgt/material-vue@0/docs/README.md) — every page, and when to read it
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./utils-CykWQ0iJ.js";
2
- import { t } from "./use-material-translation-B6sIk0mF.js";
2
+ import { t } from "./use-material-translation-CONqD9wJ.js";
3
3
  import { Comment as n, Text as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createTextVNode as l, createVNode as u, defineComponent as d, guardReactiveProps as f, inject as p, isVNode as m, mergeProps as h, normalizeClass as g, normalizeProps as _, openBlock as v, provide as y, renderSlot as b, shallowRef as x, toDisplayString as S, unref as C, useAttrs as w, useSlots as T, withCtx as E } from "vue";
4
4
  import { Primitive as D, TooltipArrow as O, TooltipContent as k, TooltipPortal as A, TooltipProvider as j, TooltipRoot as M, TooltipTrigger as N, useForwardPropsEmits as P } from "reka-ui";
5
5
  import { cva as F } from "class-variance-authority";
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./utils-CykWQ0iJ.js";
2
- import { t } from "./use-material-translation-B6sIk0mF.js";
3
- import { t as n } from "./Button-C1aaI0Gw.js";
2
+ import { t } from "./use-material-translation-CONqD9wJ.js";
3
+ import { t as n } from "./Button-16J7vTpE.js";
4
4
  import { createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createTextVNode as s, createVNode as c, defineComponent as l, guardReactiveProps as u, isRef as d, mergeProps as f, normalizeClass as p, normalizeProps as m, openBlock as h, renderSlot as g, toDisplayString as _, unref as v, useId as y, useTemplateRef as b, vModelText as x, withCtx as S, withDirectives as C } from "vue";
5
5
  import { X as w } from "@lucide/vue";
6
6
  import { DialogClose as T, DialogContent as E, DialogDescription as D, DialogOverlay as O, DialogPortal as k, DialogRoot as ee, DialogTitle as te, DialogTrigger as A, HoverCardContent as j, HoverCardPortal as M, HoverCardRoot as N, HoverCardTrigger as P, Label as F, useForwardProps as I, useForwardPropsEmits as L } from "reka-ui";
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./utils-CykWQ0iJ.js";
2
- import { gr as t, mr as n, pr as r } from "./components-DRBKkOqk.js";
3
- import { t as i } from "./use-material-translation-B6sIk0mF.js";
4
- import { t as a } from "./Button-C1aaI0Gw.js";
5
- import { t as o } from "./icon-button-B2FQtIHS.js";
2
+ import { gr as t, mr as n, pr as r } from "./components-CCWod7cJ.js";
3
+ import { t as i } from "./use-material-translation-CONqD9wJ.js";
4
+ import { t as a } from "./Button-16J7vTpE.js";
5
+ import { t as o } from "./icon-button-CDdNsZuZ.js";
6
6
  import { createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as d, createVNode as f, defineComponent as p, normalizeClass as m, openBlock as h, ref as g, renderSlot as _, shallowRef as v, toDisplayString as y, unref as b, withCtx as x } from "vue";
7
7
  import { Pause as S, Play as C } from "@lucide/vue";
8
8
  //#region lib/components/ui/media/camera/camera-content.vue?vue&type=script&setup=true&lang.ts