material-plus-ui 1.10.0 → 1.12.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 (93) hide show
  1. package/README.md +17 -12
  2. package/dist/a2ui/catalog.d.ts +8 -5
  3. package/dist/a2ui/catalog.js +1 -1
  4. package/dist/a2ui/components/MPA2uiList.js +1 -1
  5. package/dist/a2ui/extended/api.d.ts +142 -810
  6. package/dist/a2ui/index.d.ts +8 -6
  7. package/dist/components/accordion/MPAccordion.js +1 -1
  8. package/dist/components/badge/MPBadge.d.ts +7 -6
  9. package/dist/components/button/MPButton.d.ts +5 -3
  10. package/dist/components/chip/MPChip.d.ts +1 -1
  11. package/dist/components/chip/MPChip.js +1 -1
  12. package/dist/components/collapsible/MPCollapsible.js +1 -1
  13. package/dist/components/color-picker/MPColorPicker.js +1 -1
  14. package/dist/components/combobox/MPCombobox.d.ts +11 -4
  15. package/dist/components/combobox/MPCombobox.js +1 -1
  16. package/dist/components/command-palette/MPCommandPalette.d.ts +3 -1
  17. package/dist/components/container/MPContainer.d.ts +1 -1
  18. package/dist/components/data-table/MPDataTable.d.ts +3 -2
  19. package/dist/components/data-table/MPDataTable.js +1 -1
  20. package/dist/components/date-picker/MPDatePicker.js +1 -1
  21. package/dist/components/date-range-picker/MPDateRangePicker.js +1 -1
  22. package/dist/components/date-time-picker/MPDateTimePicker.js +1 -1
  23. package/dist/components/dialog/MPDialog.d.ts +3 -2
  24. package/dist/components/floating-action-button/MPFloatingActionButton.d.ts +3 -1
  25. package/dist/components/floating-bottom-navigation/MPFloatingBottomNavigation.d.ts +10 -1
  26. package/dist/components/floating-bottom-navigation/MPFloatingBottomNavigation.js +1 -1
  27. package/dist/components/hover-card/MPHoverCard.d.ts +8 -7
  28. package/dist/components/icon-button/MPIconButton.js +1 -1
  29. package/dist/components/list/MPList.d.ts +3 -2
  30. package/dist/components/pagination/MPPagination.d.ts +4 -4
  31. package/dist/components/progress-box/MPProgressBox.js +1 -1
  32. package/dist/components/progress-linear/MPProgressLinear.d.ts +4 -3
  33. package/dist/components/segmented-button/MPSegmentedButton.js +1 -1
  34. package/dist/components/sidebar/MPSidebar.d.ts +4 -2
  35. package/dist/components/snackbar/MPSnackbar.d.ts +8 -6
  36. package/dist/components/stepper/MPStepper.d.ts +9 -7
  37. package/dist/components/stepper/MPStepper.js +1 -1
  38. package/dist/components/table/MPTable.d.ts +7 -3
  39. package/dist/components/text-field/MPTextField.d.ts +9 -0
  40. package/dist/components/text-field/MPTextField.js +1 -1
  41. package/dist/components/time-picker/MPTimePicker.js +1 -1
  42. package/dist/components/toolbar/MPToolbar.d.ts +3 -3
  43. package/dist/components/tooltip/MPTooltip.d.ts +6 -0
  44. package/dist/components/tree-select/MPTreeSelect.d.ts +12 -2
  45. package/dist/components/tree-select/MPTreeSelect.js +1 -1
  46. package/dist/internal/FieldOutline.d.ts +11 -1
  47. package/dist/internal/FieldOutline.js +1 -1
  48. package/dist/internal/FieldValue.d.ts +35 -0
  49. package/dist/internal/FieldValue.js +2 -0
  50. package/dist/internal/Picker.d.ts +24 -5
  51. package/dist/internal/Picker.js +1 -1
  52. package/dist/internal/fold.d.ts +45 -0
  53. package/dist/internal/fold.js +2 -0
  54. package/dist/internal/i18n.d.ts +6 -0
  55. package/dist/internal/messages/common.js +1 -1
  56. package/dist/internal/table.d.ts +4 -4
  57. package/dist/locales/ar.js +1 -1
  58. package/dist/locales/de.js +1 -1
  59. package/dist/locales/es.js +1 -1
  60. package/dist/locales/fr.js +1 -1
  61. package/dist/locales/hi.js +1 -1
  62. package/dist/locales/id.js +1 -1
  63. package/dist/locales/it.js +1 -1
  64. package/dist/locales/ja.js +1 -1
  65. package/dist/locales/ko.js +1 -1
  66. package/dist/locales/nl.js +1 -1
  67. package/dist/locales/pl.js +1 -1
  68. package/dist/locales/pt.js +1 -1
  69. package/dist/locales/ru.js +1 -1
  70. package/dist/locales/th.js +1 -1
  71. package/dist/locales/tr.js +1 -1
  72. package/dist/locales/vi.js +1 -1
  73. package/dist/locales/zh-hans.js +1 -1
  74. package/dist/locales/zh-hant.js +1 -1
  75. package/dist/styles/accordion.css +1 -1
  76. package/dist/styles/calendar.css +1 -1
  77. package/dist/styles/collapsible.css +1 -1
  78. package/dist/styles/color-picker.css +1 -1
  79. package/dist/styles/combobox.css +1 -1
  80. package/dist/styles/date-picker.css +1 -1
  81. package/dist/styles/date-range-picker.css +1 -1
  82. package/dist/styles/date-time-picker.css +1 -1
  83. package/dist/styles/number-field.css +1 -1
  84. package/dist/styles/progress-linear.css +1 -1
  85. package/dist/styles/segmented-button.css +1 -1
  86. package/dist/styles/select.css +1 -1
  87. package/dist/styles/stepper.css +1 -1
  88. package/dist/styles/text-field.css +1 -1
  89. package/dist/styles/time-picker.css +1 -1
  90. package/dist/styles/tree-select.css +1 -1
  91. package/dist/styles.css +1 -1
  92. package/dist/tailwind.css +62 -25
  93. package/package.json +24 -30
package/dist/tailwind.css CHANGED
@@ -2350,12 +2350,12 @@
2350
2350
  /*
2351
2351
  * Motion.
2352
2352
  *
2353
- * Seven of MD3's sixteen duration tokens and six of its seven easing curves
2354
- * — the ones something in the library actually reads, on the rule every
2355
- * other token here follows. `short4` is what a text field's label and
2356
- * outline transition on; most of the rest arrived with the `MPAnimate*`
2357
- * components, which take these as their defaults rather than numbers of
2358
- * their own.
2353
+ * Six of MD3's sixteen duration tokens, and its six standard and emphasized
2354
+ * easing curves with `linear` beside them — the ones something in the
2355
+ * library actually reads, on the rule every other token here follows.
2356
+ * `short4` is what a text field's label and outline transition on; most of
2357
+ * the rest arrived with the `MPAnimate*` components, which take these as
2358
+ * their defaults rather than numbers of their own.
2359
2359
  *
2360
2360
  * `short2` is the shortest of them and has one reader: an `MPSlider`'s
2361
2361
  * handle catching up with a value the keyboard moved. A control the reader
@@ -3117,40 +3117,70 @@
3117
3117
  *
3118
3118
  * MD3's indeterminate bar is a long sweep followed by a short one that catches
3119
3119
  * up — the second is what keeps the track from being empty for most of the
3120
- * cycle. Both are written as `inset-inline-*` rather than as a translate so
3121
- * that the whole thing runs the other way under RTL without a second rule.
3120
+ * cycle. What makes a sweep read as one is that its two edges do not move
3121
+ * together: the head leaves first and settles, the tail lingers and then
3122
+ * hurries after it, so the bar stretches across the track and gathers itself
3123
+ * up at the far end. So each edge is an animation of its own, on a curve of its
3124
+ * own, and a bar wears two of them.
3125
+ *
3126
+ * The curves are the library's tokens rather than numbers of this rule's own —
3127
+ * `standard` for a head, which leaves quickly and arrives slowly, and
3128
+ * `standard-accelerate` for a tail — and the cycle is two `extra-long4`s. A
3129
+ * page that retunes its motion retunes this with it.
3130
+ *
3131
+ * Every edge runs the full cycle, with its pauses written as keyframes that
3132
+ * hold, so the four stay in step however long a cycle is. A bar is zero wide
3133
+ * at both ends of the cycle, which is what lets each loop start over without a
3134
+ * visible jump.
3135
+ *
3136
+ * Both edges are `inset-inline-*` rather than a translate, so that the whole
3137
+ * thing runs the other way under RTL without a second rule.
3122
3138
  */
3123
- @keyframes mp-progress-linear-lead {
3139
+ @keyframes mp-progress-linear-lead-head {
3124
3140
  0% {
3125
- inset-inline-start: -35%;
3126
3141
  inset-inline-end: 100%;
3127
3142
  }
3128
3143
 
3129
- 60% {
3130
- inset-inline-start: 100%;
3131
- inset-inline-end: -90%;
3144
+ 50%,
3145
+ 100% {
3146
+ inset-inline-end: 0%;
3132
3147
  }
3148
+ }
3133
3149
 
3150
+ @keyframes mp-progress-linear-lead-tail {
3151
+ 0%,
3152
+ 20% {
3153
+ inset-inline-start: 0%;
3154
+ }
3155
+
3156
+ 70%,
3134
3157
  100% {
3135
3158
  inset-inline-start: 100%;
3136
- inset-inline-end: -90%;
3137
3159
  }
3138
3160
  }
3139
3161
 
3140
- @keyframes mp-progress-linear-trail {
3141
- 0% {
3142
- inset-inline-start: -200%;
3162
+ /* The catch-up: it sets off as the first bar slows at the far end, and covers
3163
+ the same track in a little over half the time. */
3164
+ @keyframes mp-progress-linear-trail-head {
3165
+ 0%,
3166
+ 50% {
3143
3167
  inset-inline-end: 100%;
3144
3168
  }
3145
3169
 
3146
- 60% {
3147
- inset-inline-start: 107%;
3148
- inset-inline-end: -8%;
3170
+ 80%,
3171
+ 100% {
3172
+ inset-inline-end: 0%;
3173
+ }
3174
+ }
3175
+
3176
+ @keyframes mp-progress-linear-trail-tail {
3177
+ 0%,
3178
+ 62% {
3179
+ inset-inline-start: 0%;
3149
3180
  }
3150
3181
 
3151
3182
  100% {
3152
- inset-inline-start: 107%;
3153
- inset-inline-end: -8%;
3183
+ inset-inline-start: 100%;
3154
3184
  }
3155
3185
  }
3156
3186
 
@@ -3213,13 +3243,20 @@
3213
3243
  }
3214
3244
  }
3215
3245
 
3246
+ .mp-progress-linear-lead,
3247
+ .mp-progress-linear-trail {
3248
+ animation-duration: calc(var(--mp-sys-motion-duration-extra-long4) * 2);
3249
+ animation-timing-function:
3250
+ var(--mp-sys-motion-easing-standard), var(--mp-sys-motion-easing-standard-accelerate);
3251
+ animation-iteration-count: infinite;
3252
+ }
3253
+
3216
3254
  .mp-progress-linear-lead {
3217
- animation: mp-progress-linear-lead 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
3255
+ animation-name: mp-progress-linear-lead-head, mp-progress-linear-lead-tail;
3218
3256
  }
3219
3257
 
3220
3258
  .mp-progress-linear-trail {
3221
- animation: mp-progress-linear-trail 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
3222
- animation-delay: 1.15s;
3259
+ animation-name: mp-progress-linear-trail-head, mp-progress-linear-trail-tail;
3223
3260
  }
3224
3261
 
3225
3262
  .mp-progress-circular-turn {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "material-plus-ui",
3
- "version": "1.10.0",
3
+ "version": "1.12.0",
4
4
  "description": "A React component library written from the Material Design 3 specification and extended past it — wider versions of the components it names, and the charts, data table and command palette it does not. Built on Base UI and Tailwind CSS v4, themed with CSS custom properties so it coexists with an existing Material setup. ESM only, types included.",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -12,7 +12,8 @@
12
12
  "homepage": "https://material-plus.cdget.com",
13
13
  "repository": {
14
14
  "type": "git",
15
- "url": "git+https://github.com/jooy2/material-plus-ui.git"
15
+ "url": "git+https://github.com/jooy2/material-plus-ui.git",
16
+ "directory": "packages/react"
16
17
  },
17
18
  "bugs": {
18
19
  "url": "https://github.com/jooy2/material-plus-ui/issues"
@@ -26,13 +27,9 @@
26
27
  "prepare": "npm run build",
27
28
  "format": "prettier .",
28
29
  "format:fix": "prettier . --write",
29
- "docs:changelog": "node scripts/copy-changelog.mjs",
30
- "docs:dev": "npm run build && npm run docs:changelog && vitepress dev docs",
31
- "docs:build": "npm run build && npm run docs:changelog && vitepress build docs",
32
- "docs:serve": "npm run build && npm run docs:build && vitepress serve docs",
33
30
  "test": "vitest run",
34
31
  "test:watch": "vitest",
35
- "typecheck": "tsc --project tsconfig.prod.json --noEmit && tsc --project test/tsconfig.json && tsc --project docs/tsconfig.json"
32
+ "typecheck": "tsc --project tsconfig.prod.json --noEmit && tsc --project test/tsconfig.json"
36
33
  },
37
34
  "engines": {
38
35
  "node": ">=22.0.0"
@@ -129,51 +126,48 @@
129
126
  "composition"
130
127
  ],
131
128
  "devDependencies": {
132
- "@a2ui/react": "^0.11.1",
133
- "@a2ui/web_core": "^0.11.0",
134
- "@base-ui/react": "^1.8.0",
129
+ "@a2ui/react": "^0.12.0",
130
+ "@a2ui/web_core": "^0.12.0",
131
+ "@base-ui/react": "^1.9.0",
135
132
  "@eslint/js": "^9.39.1",
136
133
  "@tailwindcss/postcss": "^4.3.3",
137
- "@types/node": "^26.6.1",
134
+ "@types/node": "^26.6.4",
138
135
  "@types/react": "^19.3.0",
139
136
  "@types/react-dom": "^19.3.0",
140
- "@typescript-eslint/parser": "^8.70.0",
141
- "@vitejs/plugin-react": "^6.1.1",
142
- "@vitest/browser": "^5.0.1",
143
- "@vitest/browser-playwright": "^5.0.1",
137
+ "@typescript-eslint/parser": "^8.71.1",
138
+ "@vitejs/plugin-react": "^6.1.2",
139
+ "@vitest/browser": "^5.0.3",
140
+ "@vitest/browser-playwright": "^5.0.3",
144
141
  "esbuild": "^0.28.2",
145
142
  "eslint": "^9.39.1",
146
143
  "eslint-config-prettier": "^10.1.8",
147
- "eslint-plugin-n": "^18.3.0",
148
- "globals": "^17.12.0",
144
+ "eslint-plugin-n": "^18.4.1",
145
+ "globals": "^17.13.0",
149
146
  "jiti": "^2.7.0",
150
- "playwright": "^1.63.0",
151
- "postcss": "^8.5.28",
152
- "prettier": "^3.9.7",
147
+ "playwright": "^1.64.0",
148
+ "postcss": "^8.5.29",
149
+ "prettier": "^3.9.9",
153
150
  "prettier-plugin-tailwindcss": "^0.8.1",
154
151
  "react": "^19.3.0",
155
152
  "react-dom": "^19.3.0",
156
153
  "tailwindcss": "^4.3.3",
157
154
  "terser-glob": "^1.2.1",
158
- "tsx": "^4.23.13",
155
+ "tsx": "^4.23.15",
159
156
  "typescript": "^6.0.3",
160
- "typescript-eslint": "^8.70.0",
161
- "vite": "^8.3.0",
162
- "vitepress": "^1.6.4",
163
- "vitepress-i18n": "^1.4.0",
164
- "vitepress-sidebar": "^1.40.0",
165
- "vitest": "^5.0.1",
157
+ "typescript-eslint": "^8.71.1",
158
+ "vite": "^8.3.4",
159
+ "vitest": "^5.0.3",
166
160
  "vitest-browser-react": "^2.3.0",
167
161
  "zod": "^3.25.76",
168
162
  "zod-to-json-schema": "^3.25.2"
169
163
  },
170
164
  "dependencies": {
171
165
  "highlight.js": "^11.12.0",
172
- "lucide-react": "^1.47.0"
166
+ "lucide-react": "^1.54.0"
173
167
  },
174
168
  "peerDependencies": {
175
- "@a2ui/react": "^0.11.0",
176
- "@a2ui/web_core": "^0.11.0",
169
+ "@a2ui/react": "^0.12.0",
170
+ "@a2ui/web_core": "^0.12.0",
177
171
  "@base-ui/react": "^1.7.0",
178
172
  "@types/react": "^18.0.0 || ^19.0.0",
179
173
  "react": "^18.0.0 || ^19.0.0",