@mui/x-license 9.1.0 → 9.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +417 -0
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/package.json +4 -18
- package/test-keys.d.mts +0 -102
- package/test-keys.d.ts +0 -102
- package/test-keys.js +0 -149
- package/test-keys.mjs +0 -143
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,422 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 9.4.0
|
|
4
|
+
|
|
5
|
+
<!-- generated comparing v9.3.0..master -->
|
|
6
|
+
|
|
7
|
+
_Jun 4, 2026_
|
|
8
|
+
|
|
9
|
+
We'd like to extend a big thank you to the 21 contributors who made this release possible. Here are some highlights ✨:
|
|
10
|
+
|
|
11
|
+
- 🎉 Scheduler is now in Beta shipping with Timeline vitualization and lazy loading
|
|
12
|
+
- 📆 Implement Event Timeline virtualization (#22339)
|
|
13
|
+
- 🫧 Introduce bubble charts (#22537)
|
|
14
|
+
- 🐞 Bugfixes
|
|
15
|
+
- 📚 Documentation improvements
|
|
16
|
+
|
|
17
|
+
Special thanks go out to these community members for their valuable contributions:
|
|
18
|
+
@imxv, @mixelburg, @mustafajw07
|
|
19
|
+
|
|
20
|
+
The following team members contributed to this release:
|
|
21
|
+
@aemartos, @alexfauquette, @arminmeh, @bernardobelchior, @cherniavskii, @flaviendelangle, @hasdfa, @Janpot, @JCQuintas, @joserodolfofreitas, @LukasTy, @MBilalShafi, @michelengelen, @mj12albert, @noraleonte, @oliviertassinari, @rita-codes, @romgrk, @sai6855
|
|
22
|
+
|
|
23
|
+
### Data Grid
|
|
24
|
+
|
|
25
|
+
#### `@mui/x-data-grid@9.4.0`
|
|
26
|
+
|
|
27
|
+
- [DataGrid] Fix `avg` aggregation when the average is zero (#22652) @mj12albert
|
|
28
|
+
- [DataGrid] Inherit icon `fontSize` from `baseIconButton` size (#22187) @imxv
|
|
29
|
+
- [DataGrid] Fix `noRowsOverlay` flicker between `dataSource` re-fetches (#22465) @LukasTy
|
|
30
|
+
|
|
31
|
+
#### `@mui/x-data-grid-pro@9.4.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
32
|
+
|
|
33
|
+
Same changes as in `@mui/x-data-grid@9.4.0`.
|
|
34
|
+
|
|
35
|
+
#### `@mui/x-data-grid-premium@9.4.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
36
|
+
|
|
37
|
+
> This release includes a version bump of the `@mui/x-internal-exceljs-fork` package to address the vulnerable dependencies.
|
|
38
|
+
> The following CVEs are fixed:
|
|
39
|
+
>
|
|
40
|
+
> - <https://github.com/advisories/GHSA-ph9p-34f9-6g65>
|
|
41
|
+
> - <https://github.com/isaacs/minimatch/security/advisories/GHSA-23c5-xmqv-rm74>
|
|
42
|
+
> - <https://github.com/advisories/GHSA-w5hq-g745-h8pq>
|
|
43
|
+
>
|
|
44
|
+
> To make this security update possible, we bumped the `node` version requirement from `>=14.0.0` to `>=14.17.0`.
|
|
45
|
+
> [Node.js 14.17.0](https://nodejs.org/en/blog/release/v14.17.0) was released in May 2021, so we consider it safe to bump the requirement without causing issues for our users.
|
|
46
|
+
|
|
47
|
+
Same changes as in `@mui/x-data-grid-pro@9.4.0`, plus:
|
|
48
|
+
|
|
49
|
+
- [DataGridPremium] Nested Lazy Loading (#21043) @MBilalShafi
|
|
50
|
+
- [DataGridPremium] Update exceljs fork (#22658) @cherniavskii
|
|
51
|
+
|
|
52
|
+
### Date and Time Pickers
|
|
53
|
+
|
|
54
|
+
#### `@mui/x-date-pickers@9.4.0`
|
|
55
|
+
|
|
56
|
+
Internal changes.
|
|
57
|
+
|
|
58
|
+
#### `@mui/x-date-pickers-pro@9.4.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
59
|
+
|
|
60
|
+
Same changes as in `@mui/x-date-pickers@9.4.0`.
|
|
61
|
+
|
|
62
|
+
### Charts
|
|
63
|
+
|
|
64
|
+
#### `@mui/x-charts@9.4.0`
|
|
65
|
+
|
|
66
|
+
- [charts] Add functionality to hide elements during chart export (#22525) @sai6855
|
|
67
|
+
- [charts] Add option to show marks only on the first/last values (#22645) @alexfauquette
|
|
68
|
+
- [charts] Add text customization section and demo for axis labels (#22597) @sai6855
|
|
69
|
+
- [charts] Allow axes to scale according to the visible series only (#22566) @alexfauquette
|
|
70
|
+
- [charts] Correctly handle different identifiers for each series (#22556) @sai6855
|
|
71
|
+
- [charts] Fix inverted Y axis zoom/pan on ordinal scales (#22654) @JCQuintas
|
|
72
|
+
- [charts] Introduce bubble charts (#22537) @alexfauquette
|
|
73
|
+
- [charts] Let scatter chart tooltip ignore hidden series (#22614) @alexfauquette
|
|
74
|
+
- [charts] Make `'sqrt'` size mapping the default (#22683) @alexfauquette
|
|
75
|
+
- [charts] Remove unused proptypes (#22618) @alexfauquette
|
|
76
|
+
- [charts] Support module augmentation for slots (#22519) @sai6855
|
|
77
|
+
- [charts] Support multiple marker size in `findClosestPoint` (#22622) @alexfauquette
|
|
78
|
+
- [charts] Upgrade bezier-easing to v3 and use it for line chart hit-detection (#22608) @sai6855
|
|
79
|
+
- [charts] Use `useLayoutEffect` with `ResizeObserver` (#22646) @JCQuintas
|
|
80
|
+
|
|
81
|
+
#### `@mui/x-charts-pro@9.4.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
82
|
+
|
|
83
|
+
Same changes as in `@mui/x-charts@9.4.0`, plus:
|
|
84
|
+
|
|
85
|
+
- [charts-pro] Auto-select range button matching current zoom (#22137) @JCQuintas
|
|
86
|
+
- [charts-pro] Support range values in `initialZoom` (#22563) @JCQuintas
|
|
87
|
+
|
|
88
|
+
#### `@mui/x-charts-premium@9.4.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
89
|
+
|
|
90
|
+
Same changes as in `@mui/x-charts-pro@9.4.0`, plus:
|
|
91
|
+
|
|
92
|
+
- [charts-premium] Support range-bar series in WebGL bar renderer (#22607) @JCQuintas
|
|
93
|
+
- [charts-premium] Fix `onAxisClick` for radial bar and lines (#22522) @alexfauquette
|
|
94
|
+
|
|
95
|
+
### Tree View
|
|
96
|
+
|
|
97
|
+
#### `@mui/x-tree-view@9.4.0`
|
|
98
|
+
|
|
99
|
+
Internal changes.
|
|
100
|
+
|
|
101
|
+
#### `@mui/x-tree-view-pro@9.4.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
102
|
+
|
|
103
|
+
Same changes as in `@mui/x-tree-view@9.4.0`.
|
|
104
|
+
|
|
105
|
+
### Scheduler
|
|
106
|
+
|
|
107
|
+
#### Breaking changes
|
|
108
|
+
|
|
109
|
+
The theme `styleOverrides` slots for the skeleton and the error container were
|
|
110
|
+
renamed and unified. The CSS utility class names (for example
|
|
111
|
+
`.MuiEventCalendar-eventSkeleton`) are **not** affected — only
|
|
112
|
+
`theme.components.*` overrides need updating.
|
|
113
|
+
|
|
114
|
+
**Event skeleton**
|
|
115
|
+
|
|
116
|
+
| Before | After |
|
|
117
|
+
| --------------------------------------- | ------------------------------ |
|
|
118
|
+
| `MuiEventCalendar` slot `EventSkeleton` | `MuiEventSkeleton` slot `Root` |
|
|
119
|
+
| `MuiEventTimeline` slot `EventSkeleton` | `MuiEventSkeleton` slot `Root` |
|
|
120
|
+
|
|
121
|
+
**Error container**
|
|
122
|
+
|
|
123
|
+
| Before | After |
|
|
124
|
+
| ------------------------------------------------------------- | --------------------------------------- |
|
|
125
|
+
| `MuiEventCalendar` / `MuiEventTimeline` slot `ErrorContainer` | `MuiEventErrorContainer` slot `Root` |
|
|
126
|
+
| `MuiEventCalendar` / `MuiEventTimeline` slot `ErrorAlert` | `MuiEventErrorContainer` slot `Alert` |
|
|
127
|
+
| `MuiEventCalendar` / `MuiEventTimeline` slot `ErrorMessage` | `MuiEventErrorContainer` slot `Message` |
|
|
128
|
+
|
|
129
|
+
If you customized these through the theme, update the component name and slot
|
|
130
|
+
names accordingly:
|
|
131
|
+
|
|
132
|
+
```diff
|
|
133
|
+
components: {
|
|
134
|
+
- MuiEventCalendar: {
|
|
135
|
+
+ MuiEventSkeleton: {
|
|
136
|
+
styleOverrides: {
|
|
137
|
+
- EventSkeleton: { /* ... */ },
|
|
138
|
+
+ Root: { /* ... */ },
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
#### `@mui/x-scheduler@9.0.0-beta.0`
|
|
146
|
+
|
|
147
|
+
- [scheduler] Add a prop to control whether the resource of an event can be cleared (#22464) @rita-codes
|
|
148
|
+
- [scheduler] Add week number labels to agenda, day and week views (#22594) @mustafajw07
|
|
149
|
+
- [scheduler] Add `weekStartsOn` preference and update date functions to support custom week start (#22426) @mustafajw07
|
|
150
|
+
- [scheduler] Export premium version of the standalone views (#22621) @flaviendelangle
|
|
151
|
+
- [scheduler] Implement timeline virtualization (#22339) @romgrk
|
|
152
|
+
- [scheduler] Split scheduler overview (#22453) @joserodolfofreitas
|
|
153
|
+
- [scheduler] Unify `EventSkeleton` and `ErrorContainer` between `EventCalendar` and `EventTimeline` (#22676) @noraleonte
|
|
154
|
+
|
|
155
|
+
#### `@mui/x-scheduler-premium@9.0.0-beta.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
156
|
+
|
|
157
|
+
Same changes as in `@mui/x-scheduler@9.0.0-beta.0`.
|
|
158
|
+
|
|
159
|
+
### Docs
|
|
160
|
+
|
|
161
|
+
- [docs] Add a performance docs page for charts (#22656) @alexfauquette
|
|
162
|
+
- [docs] Add real dataset for maps documentation (#22599) @alexfauquette
|
|
163
|
+
- [docs] Add spacing between selects on charts overview demo (#22589) @bernardobelchior
|
|
164
|
+
- [docs] Reorganize existing chat docs navigation (#22478) @hasdfa
|
|
165
|
+
- [docs] Switch to visionscarto's world atlas dataset (#22669) @cherniavskii
|
|
166
|
+
- [docs] Update TreeView `domstructure` docs and add demo (#22420) @mj12albert
|
|
167
|
+
- [docs] Fix indexation of Scheduler (#22567) @oliviertassinari
|
|
168
|
+
- [docs] Fix wide layout on event timeline lazy loading and Import title (#22604) @rita-codes
|
|
169
|
+
- [docs] Derive class name owners for shared charts classes (#22674) @JCQuintas
|
|
170
|
+
|
|
171
|
+
### Core
|
|
172
|
+
|
|
173
|
+
- [code-infra] Drop unused and now-transitive deps from docs/package.json (#22549) @LukasTy
|
|
174
|
+
- [code-infra] Refresh CI Node pins to 22.22.3 (#22598) @LukasTy
|
|
175
|
+
- [code-infra] Skip empty product sections in changelog (#22541) @rita-codes
|
|
176
|
+
- [code-infra] Stabilize DataGridScrollRestoration visual regression test (#22553) @Janpot
|
|
177
|
+
- [internal] Add license to the `x-data-grid-generator` (#22240) @arminmeh
|
|
178
|
+
- [internal] Express default value for resource_class (#22569) @oliviertassinari
|
|
179
|
+
- [internal] Fix use of ellipsis (#21852) @oliviertassinari
|
|
180
|
+
- [internal] `useLayoutEffect` with `ResizeObserver` (#22428) @romgrk
|
|
181
|
+
|
|
182
|
+
### Miscellaneous
|
|
183
|
+
|
|
184
|
+
- [chat-headless] Add built-in chat adapters (#22479) @hasdfa
|
|
185
|
+
- [chat-headless] Harden runtime model and message errors (#22480) @hasdfa
|
|
186
|
+
- [core] Prepare for TypeScript 6 bump (#22551) @LukasTy
|
|
187
|
+
- [core] Use CircleCI Gen2 resource classes (#22610) @LukasTy
|
|
188
|
+
- [infra] Fix broken tag retrieval on `master` during release (#22174) @michelengelen
|
|
189
|
+
- [infra] Group Base UI renovate updates (#22590) @LukasTy
|
|
190
|
+
- [pnpm] Add security settings to pnpm-workspace.yaml (#22611) @Janpot
|
|
191
|
+
- [release] Fix release PR scripts (#22680) @JCQuintas
|
|
192
|
+
- [test] Add a Tree View regression test for lazy loading with getChildrenCount returning -1 (#22605) @mixelburg
|
|
193
|
+
- [test] Disable LCD subpixel antialiasing in regression screenshots (#22602) @Janpot
|
|
194
|
+
- [test] Fix flaky Data Grid Pro data source tree data tests (#22659) @LukasTy
|
|
195
|
+
- [test] Remove stale form-submit TODO from e2e suite (#22564) @LukasTy
|
|
196
|
+
- [x-license] Exclude test keys from the published npm package (#22647) @aemartos
|
|
197
|
+
- [test] Fix flaky WebGL benchmark by polling for canvas content (#22535) @JCQuintas
|
|
198
|
+
|
|
199
|
+
## 9.3.0
|
|
200
|
+
|
|
201
|
+
_May 21, 2026_
|
|
202
|
+
|
|
203
|
+
We'd like to extend a big thank you to the 16 contributors who made this release possible. Here are some highlights ✨:
|
|
204
|
+
|
|
205
|
+
- 📆 Refactor Calendar Range drag editing to use Pointer Events instead of drag and touch events combination (#22279)
|
|
206
|
+
- ✨ Apply lazy loading to `EventTimelinePremium` (#22308)
|
|
207
|
+
- 🐞 Bugfixes
|
|
208
|
+
- 📚 Documentation improvements
|
|
209
|
+
- 🌎 Added Norwegian bokmål (nb-NO) locale to the Scheduler
|
|
210
|
+
- 🌎 Improved Swedish (sv-SE) locale on the Data Grid
|
|
211
|
+
|
|
212
|
+
Special thanks go out to these community members for their valuable contributions:
|
|
213
|
+
@Anexus5919, @jvskriubakken, @oscar-b, @rin, @viktormelin
|
|
214
|
+
|
|
215
|
+
The following team members contributed to this release:
|
|
216
|
+
@aemartos, @alexfauquette, @arminmeh, @Janpot, @JCQuintas, @LukasTy, @mj12albert, @oliviertassinari, @rita-codes, @romgrk, @sai6855
|
|
217
|
+
|
|
218
|
+
### Data Grid
|
|
219
|
+
|
|
220
|
+
#### `@mui/x-data-grid@9.3.0`
|
|
221
|
+
|
|
222
|
+
- [DataGrid] Fix scrollbar disappearing after multiple resizes (#22512) @LukasTy
|
|
223
|
+
- [DataGrid] Revert "Add support for pinned columns in `GridVirtualScroller`" (#22467) @oliviertassinari
|
|
224
|
+
- [l10n] Improve Swedish (svSE) locale (#21851) @viktormelin
|
|
225
|
+
|
|
226
|
+
#### `@mui/x-data-grid-pro@9.3.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
227
|
+
|
|
228
|
+
Same changes as in `@mui/x-data-grid@9.3.0`.
|
|
229
|
+
|
|
230
|
+
#### `@mui/x-data-grid-premium@9.3.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
231
|
+
|
|
232
|
+
Same changes as in `@mui/x-data-grid-pro@9.3.0`.
|
|
233
|
+
|
|
234
|
+
### Date and Time Pickers
|
|
235
|
+
|
|
236
|
+
#### `@mui/x-date-pickers@9.3.0`
|
|
237
|
+
|
|
238
|
+
- [pickers] Fix disabled state styling for `PickersTextField` standard and filled variants (#22189) @LukasTy
|
|
239
|
+
- [pickers] Fix previous month disabled state calculation (#22524) @mj12albert
|
|
240
|
+
- [pickers] Merge `slotProps.sectionContent` in `PickersInputBase` (#22324) @rin
|
|
241
|
+
|
|
242
|
+
#### `@mui/x-date-pickers-pro@9.3.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
243
|
+
|
|
244
|
+
Same changes as in `@mui/x-date-pickers@9.3.0`, plus:
|
|
245
|
+
|
|
246
|
+
- [DateRangeCalendar] Use Pointer Events for drag editing (#22279) @LukasTy
|
|
247
|
+
|
|
248
|
+
### Charts
|
|
249
|
+
|
|
250
|
+
#### `@mui/x-charts@9.3.0`
|
|
251
|
+
|
|
252
|
+
- [charts] Add `data-series` to elements of radar chart (#22523) @alexfauquette
|
|
253
|
+
- [charts] Add environment check for warning messages in axis and radar hooks (#22506) @sai6855
|
|
254
|
+
- [charts] Chart `seriesConfig` deduplication for lines and bars (#22257) @sai6855
|
|
255
|
+
- [charts] Fix highlighted item crash (#22539) @oscar-b
|
|
256
|
+
- [charts] Fix the line and mark class (#22526) @alexfauquette
|
|
257
|
+
- [charts] Fix use of deprecated API in docs (#22469) @oliviertassinari
|
|
258
|
+
- [charts] Improve performance of `evaluateCurveY` function (#22407) @sai6855
|
|
259
|
+
|
|
260
|
+
#### `@mui/x-charts-pro@9.3.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
261
|
+
|
|
262
|
+
Same changes as in `@mui/x-charts@9.3.0`.
|
|
263
|
+
|
|
264
|
+
#### `@mui/x-charts-premium@9.3.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
265
|
+
|
|
266
|
+
Same changes as in `@mui/x-charts-pro@9.3.0`, plus:
|
|
267
|
+
|
|
268
|
+
- [charts-premium] Add `closePath` option to the radial line series (#22517) @alexfauquette
|
|
269
|
+
|
|
270
|
+
### Tree View
|
|
271
|
+
|
|
272
|
+
#### `@mui/x-tree-view-pro@9.3.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
273
|
+
|
|
274
|
+
Internal changes.
|
|
275
|
+
|
|
276
|
+
### Scheduler
|
|
277
|
+
|
|
278
|
+
#### `@mui/x-scheduler@9.0.0-alpha.7`
|
|
279
|
+
|
|
280
|
+
- [I10n] Add Norwegian bokmål (nb-NO) locale (#22415) @jvskriubakken
|
|
281
|
+
|
|
282
|
+
#### `@mui/x-scheduler-premium@9.0.0-alpha.7` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
283
|
+
|
|
284
|
+
Same changes as in `@mui/x-scheduler@9.0.0-alpha.7`, plus:
|
|
285
|
+
|
|
286
|
+
- [scheduler] Apply lazy loading to `EventTimelinePremium` (#22308) @rita-codes
|
|
287
|
+
- [scheduler] Deduplicate staged ranges within the debounce window (#22476) @Anexus5919
|
|
288
|
+
- [scheduler] Pass full event objects to `dataSource.updateEvents` (#22462) @rita-codes
|
|
289
|
+
|
|
290
|
+
### Docs
|
|
291
|
+
|
|
292
|
+
- [docs] Automatically update supported versions (#21850) @arminmeh
|
|
293
|
+
- [docs] Fix `New` label on bar charts docs (#22473) @oliviertassinari
|
|
294
|
+
- [docs] Improve premium page header for charts (#22474) @oliviertassinari
|
|
295
|
+
- [docs] Sync `README` with licensing/licensing.md in scheduler (#22468) @oliviertassinari
|
|
296
|
+
|
|
297
|
+
### Core
|
|
298
|
+
|
|
299
|
+
- [code-infra] Cover docs overview composites with Argos (#22283) @LukasTy
|
|
300
|
+
- [code-infra] Enable `mui/no-presentation-role` lint rule (#22360) @Janpot
|
|
301
|
+
- [code-infra] Make generated `propTypes` union order deterministic (#22521) @JCQuintas
|
|
302
|
+
- [code-infra] Make screenshots stable across different ordering of the tests (#22449) @Janpot
|
|
303
|
+
- [code-infra] Optimize visual regression testing (#22447) @Janpot
|
|
304
|
+
- [code-infra] Replace markdownlint with remark from code-infra (#22255) @Janpot
|
|
305
|
+
|
|
306
|
+
### Miscellaneous
|
|
307
|
+
|
|
308
|
+
- [virtualizer] Improve `controlled` mode performance (#22123) @romgrk
|
|
309
|
+
- [data-grid-generator] Include `tree-data` params in `useDemoData` cache key (#22456) @Janpot
|
|
310
|
+
- [test] Fix flaky browser tests and optimize (#22431) @Janpot
|
|
311
|
+
- [test] Speed up `test_types` job (#22442) @Janpot
|
|
312
|
+
- [test] Trim ffmpeg install in `test_regressions` (#22459) @Janpot
|
|
313
|
+
- [test] Add WebGL performance benchmarks for charts (#22471) @JCQuintas
|
|
314
|
+
- [test] Expand chart performance benchmarks for charts (#22472) @JCQuintas
|
|
315
|
+
- [x-license] use workspace dep for v9 in cross-major compat tests (#22504) @aemartos
|
|
316
|
+
|
|
317
|
+
## 9.2.0
|
|
318
|
+
|
|
319
|
+
_May 13, 2026_
|
|
320
|
+
|
|
321
|
+
We'd like to extend a big thank you to the 9 contributors who made this release possible. Here are some highlights ✨:
|
|
322
|
+
|
|
323
|
+
- ⚡️ Add a WebGL renderer to the [Bar chart](https://mui.com/x/react-charts/bars/#webgl-renderer)
|
|
324
|
+
- 📊 Add a radial charts with the [radial line](https://mui.com/x/react-charts/radial-lines/), [radial bar](https://mui.com/x/react-charts/radial-bars/), and the [radial grid and axes](https://mui.com/x/react-charts/radial-axes/)
|
|
325
|
+
- 🐞 Bugfixes
|
|
326
|
+
- 📚 Documentation improvements
|
|
327
|
+
|
|
328
|
+
Special thanks go out to these community members for their valuable contributions:
|
|
329
|
+
@Anexus5919, @mustafajw07
|
|
330
|
+
|
|
331
|
+
The following team members contributed to this release:
|
|
332
|
+
@aemartos, @alexfauquette, @bernardobelchior, @JCQuintas, @oliviertassinari, @sai6855, @siriwatknp
|
|
333
|
+
|
|
334
|
+
### Data Grid
|
|
335
|
+
|
|
336
|
+
#### `@mui/x-data-grid@9.2.0`
|
|
337
|
+
|
|
338
|
+
- [data grid] Add support for pinned columns in `GridVirtualScroller` (#22347) @sai6855
|
|
339
|
+
- [data grid] Remove unused CSS (#22390) @oliviertassinari
|
|
340
|
+
|
|
341
|
+
#### `@mui/x-data-grid-pro@9.2.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
342
|
+
|
|
343
|
+
Same changes as in `@mui/x-data-grid@9.2.0`.
|
|
344
|
+
|
|
345
|
+
#### `@mui/x-data-grid-premium@9.2.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
346
|
+
|
|
347
|
+
Same changes as in `@mui/x-data-grid-pro@9.2.0`.
|
|
348
|
+
|
|
349
|
+
### Date and Time Pickers
|
|
350
|
+
|
|
351
|
+
#### `@mui/x-date-pickers@9.2.0`
|
|
352
|
+
|
|
353
|
+
- [pickers] Trim test helpers' default load graph (#22421) @JCQuintas
|
|
354
|
+
|
|
355
|
+
#### `@mui/x-date-pickers-pro@9.2.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
356
|
+
|
|
357
|
+
Same changes as in `@mui/x-date-pickers@9.2.0`.
|
|
358
|
+
|
|
359
|
+
### Charts
|
|
360
|
+
|
|
361
|
+
#### `@mui/x-charts@9.2.0`
|
|
362
|
+
|
|
363
|
+
Internal changes.
|
|
364
|
+
|
|
365
|
+
#### `@mui/x-charts-pro@9.2.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
366
|
+
|
|
367
|
+
Same changes as in `@mui/x-charts@9.2.0`.
|
|
368
|
+
|
|
369
|
+
#### `@mui/x-charts-premium@9.2.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
370
|
+
|
|
371
|
+
Same changes as in `@mui/x-charts-pro@9.2.0`, plus:
|
|
372
|
+
|
|
373
|
+
- [charts-premium] Add `Highlight` support to `RadialBarChart` (#22322) @alexfauquette
|
|
374
|
+
- [charts-premium] Add `WebGL` renderer to `BarChartPremium` (#22354) @JCQuintas
|
|
375
|
+
- [charts-premium] Add mark shape support to the radial line (#22242) @alexfauquette
|
|
376
|
+
- [charts-premium] `RadialBarChart` support axis interaction with layout horizontal (#22319) @alexfauquette
|
|
377
|
+
|
|
378
|
+
### Tree View
|
|
379
|
+
|
|
380
|
+
#### `@mui/x-tree-view@9.1.0`
|
|
381
|
+
|
|
382
|
+
Internal changes.
|
|
383
|
+
|
|
384
|
+
#### `@mui/x-tree-view-pro@9.1.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
385
|
+
|
|
386
|
+
Same changes as in `@mui/x-tree-view@9.1.0`.
|
|
387
|
+
|
|
388
|
+
### Scheduler
|
|
389
|
+
|
|
390
|
+
#### `@mui/x-scheduler@9.0.0-alpha.6`
|
|
391
|
+
|
|
392
|
+
- [scheduler] Complete ARIA grid semantics on `EventTimeline` and `EventCalendar` (#22266) @Anexus5919
|
|
393
|
+
- [scheduler] Improve UX for recurrence tab (#22287) @mustafajw07
|
|
394
|
+
|
|
395
|
+
#### `@mui/x-scheduler-premium@9.0.0-alpha.6` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
396
|
+
|
|
397
|
+
Same changes as in `@mui/x-scheduler@9.0.0-alpha.6`.
|
|
398
|
+
|
|
399
|
+
### Codemod
|
|
400
|
+
|
|
401
|
+
#### `@mui/x-codemod@9.1.0`
|
|
402
|
+
|
|
403
|
+
Internal changes.
|
|
404
|
+
|
|
405
|
+
### Docs
|
|
406
|
+
|
|
407
|
+
- [docs] Document the `RadialBarChart` (#22320) @alexfauquette
|
|
408
|
+
- [docs] Add histogram demo to bar-demo page (#22373) @siriwatknp
|
|
409
|
+
- [docs] Add radial bar to the nav bar (#22429) @alexfauquette
|
|
410
|
+
- [docs] Split radial grid and radial line pages (#22238) @alexfauquette
|
|
411
|
+
|
|
412
|
+
### Miscellaneous
|
|
413
|
+
|
|
414
|
+
- [test] Disable animations in chart benchmarks (#22433) @bernardobelchior
|
|
415
|
+
- [test] Move `x-internal-gestures` vitest isolate flag to test block (#22427) @JCQuintas
|
|
416
|
+
- [test] Reduce flakiness in `MobileTimeRangePicker` multi-input `describeValue` tests (#22422) @JCQuintas
|
|
417
|
+
- [x-license] Exclude compat test pins from Renovate major bumps (#22414) @aemartos
|
|
418
|
+
- [x-license] Add cross-major license format compatibility tests (#22335) @aemartos
|
|
419
|
+
|
|
3
420
|
## 9.1.0
|
|
4
421
|
|
|
5
422
|
_May 8, 2026_
|
package/index.js
CHANGED
package/index.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-license",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.4.0",
|
|
4
4
|
"author": "MUI Team",
|
|
5
5
|
"description": "MUI X License verification.",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
"directory": "packages/x-license"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@babel/runtime": "^7.29.
|
|
25
|
-
"@mui/utils": "9.0.
|
|
24
|
+
"@babel/runtime": "^7.29.7",
|
|
25
|
+
"@mui/utils": "9.0.1",
|
|
26
26
|
"@mui/x-internals": "^9.1.0",
|
|
27
|
-
"@mui/x-telemetry": "^9.
|
|
27
|
+
"@mui/x-telemetry": "^9.2.0"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"react": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
|
@@ -62,20 +62,6 @@
|
|
|
62
62
|
"types": "./internals/index.d.mts",
|
|
63
63
|
"default": "./internals/index.mjs"
|
|
64
64
|
}
|
|
65
|
-
},
|
|
66
|
-
"./test-keys": {
|
|
67
|
-
"import": {
|
|
68
|
-
"types": "./test-keys.d.mts",
|
|
69
|
-
"default": "./test-keys.mjs"
|
|
70
|
-
},
|
|
71
|
-
"require": {
|
|
72
|
-
"types": "./test-keys.d.ts",
|
|
73
|
-
"default": "./test-keys.js"
|
|
74
|
-
},
|
|
75
|
-
"default": {
|
|
76
|
-
"types": "./test-keys.d.mts",
|
|
77
|
-
"default": "./test-keys.mjs"
|
|
78
|
-
}
|
|
79
65
|
}
|
|
80
66
|
},
|
|
81
67
|
"main": "./index.js",
|
package/test-keys.d.mts
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test Premium license key.
|
|
3
|
-
* orderId: #123, scope: premium, licenseModel: annual, planVersion: Q3-2024
|
|
4
|
-
* keyVersion: 2, expiryDate: 2099-12-30T23:00:00.000Z
|
|
5
|
-
*/
|
|
6
|
-
export declare const TEST_LICENSE_KEY_PREMIUM = "715a2f48d6140e8e6f2484e6c4b981aeTz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJlbWl1bSxMTT1hbm51YWwsUFY9UTMtMjAyNCxUPXRydWUsS1Y9Mg==";
|
|
7
|
-
/**
|
|
8
|
-
* Test Pro license key.
|
|
9
|
-
* orderId: #123, scope: pro, licenseModel: annual, planVersion: Q3-2024
|
|
10
|
-
* keyVersion: 2, expiryDate: 2099-12-30T23:00:00.000Z
|
|
11
|
-
*/
|
|
12
|
-
export declare const TEST_LICENSE_KEY_PRO = "8d0500f3fe93ffea84445b2aed17c59cTz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1RMy0yMDI0LFQ9dHJ1ZSxLVj0y";
|
|
13
|
-
/**
|
|
14
|
-
* Key version 1 format (pro, perpetual, initial implied).
|
|
15
|
-
* orderId: #123, expiryDate: 2026-08-02
|
|
16
|
-
*/
|
|
17
|
-
export declare const TEST_KEY_V1 = "8f5bd7d70e4d7aeecd1d5b9d0d1759bbT1JERVI6MTIzLEVYUElSWT0xNzg1ODc0MDEwNzA4LFQ9dHJ1ZSxLRVlWRVJTSU9OPTE=";
|
|
18
|
-
/**
|
|
19
|
-
* Pro subscription, initial, expiry = releaseDate + 1 day.
|
|
20
|
-
* orderId: #123, keyVersion: 2
|
|
21
|
-
*/
|
|
22
|
-
export declare const TEST_KEY_PRO_SUBSCRIPTION = "b4cb282aa165b05f65f70a4caddadc81Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
23
|
-
/**
|
|
24
|
-
* Premium subscription, initial, expiry = releaseDate + 1 day.
|
|
25
|
-
* orderId: #123, keyVersion: 2
|
|
26
|
-
*/
|
|
27
|
-
export declare const TEST_KEY_PREMIUM_SUBSCRIPTION = "22bd1051015e3c663f8ca5cba9ebe56aTz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJlbWl1bSxMTT1zdWJzY3JpcHRpb24sUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==";
|
|
28
|
-
/**
|
|
29
|
-
* Pro perpetual, initial, expiry = releaseDate + 1 day (valid).
|
|
30
|
-
* orderId: #123, keyVersion: 2
|
|
31
|
-
*/
|
|
32
|
-
export declare const TEST_KEY_PRO_PERPETUAL = "f4221ac32d1b8b102c143dcf65080414Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
33
|
-
/**
|
|
34
|
-
* Pro perpetual, initial, expiry = releaseDate - 1 day (expired before release).
|
|
35
|
-
* orderId: #123, keyVersion: 2
|
|
36
|
-
*/
|
|
37
|
-
export declare const TEST_KEY_PRO_PERPETUAL_EXPIRED = "64245e2bb861fc92856e682b32dc8bf2Tz0xMjMsRT0xNTE0NTg4NDAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
38
|
-
/**
|
|
39
|
-
* Pro annual, initial, expiry = releaseDate + 1 day.
|
|
40
|
-
* orderId: #123, keyVersion: 2
|
|
41
|
-
*/
|
|
42
|
-
export declare const TEST_KEY_PRO_ANNUAL_INITIAL = "d82e3196c55fc5dc21a4145b796a77a7Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
43
|
-
/**
|
|
44
|
-
* Premium annual, initial, expiry = releaseDate + 1 day.
|
|
45
|
-
* orderId: #123, keyVersion: 2
|
|
46
|
-
*/
|
|
47
|
-
export declare const TEST_KEY_PREMIUM_ANNUAL_INITIAL = "8fc9fa79e1b5f30ce737ccec8f3e36f4Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJlbWl1bSxMTT1hbm51YWwsUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==";
|
|
48
|
-
/**
|
|
49
|
-
* Pro subscription, initial, expiry = 2024-06-14 (fakeNow - 1 day, within grace period).
|
|
50
|
-
* orderId: #123, keyVersion: 2
|
|
51
|
-
*/
|
|
52
|
-
export declare const TEST_KEY_EXPIRED_GRACE = "84dcbd1c5a6169c74e6c70ec23e0df55Tz0xMjMsRT0xNzE4MzIzMjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
53
|
-
/**
|
|
54
|
-
* Pro subscription, initial, expiry = 2024-05-16 (fakeNow - 30 days, past grace period).
|
|
55
|
-
* orderId: #123, keyVersion: 2
|
|
56
|
-
*/
|
|
57
|
-
export declare const TEST_KEY_EXPIRED_30DAYS = "4081d3863dda2ca60be4a5b29f582117Tz0xMjMsRT0xNzE1ODE3NjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
58
|
-
/**
|
|
59
|
-
* Pro subscription, initial, expiry = 3001-01-01.
|
|
60
|
-
* orderId: #123, keyVersion: 2
|
|
61
|
-
*/
|
|
62
|
-
export declare const TEST_KEY_PRO_SUBSCRIPTION_FUTURE = "e83a283135bbd911e4aa0fd55ceea3ebTz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXBybyxMTT1zdWJzY3JpcHRpb24sUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==";
|
|
63
|
-
/**
|
|
64
|
-
* Premium subscription, initial, expiry = 3001-01-01.
|
|
65
|
-
* orderId: #123, keyVersion: 2
|
|
66
|
-
*/
|
|
67
|
-
export declare const TEST_KEY_PREMIUM_SUBSCRIPTION_FUTURE = "1c6ea00fadedfcb3f2ef393f1de32f29Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXByZW1pdW0sTE09c3Vic2NyaXB0aW9uLFBWPWluaXRpYWwsVD10cnVlLEtWPTI=";
|
|
68
|
-
/**
|
|
69
|
-
* Pro annual, Q3-2024, quantity: 5, appType: single.
|
|
70
|
-
* orderId: #123, keyVersion: 3, expiryDate: 2099-12-30T23:00:00.000Z
|
|
71
|
-
*/
|
|
72
|
-
export declare const TEST_KEY_PRO_ANNUAL_V3 = "521a75b4cf0d0c5e8990ce070886e167Tz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1RMy0yMDI0LFE9NSxBVD1zaW5nbGUsVD10cnVlLEtWPTM=";
|
|
73
|
-
/**
|
|
74
|
-
* Pro annual, Q1-2026, quantity: 5, appType: single.
|
|
75
|
-
* orderId: #123, keyVersion: 3, expiryDate: 3001-01-01
|
|
76
|
-
*/
|
|
77
|
-
export declare const TEST_KEY_PRO_ANNUAL_Q1_2026_V3 = "5f52871b5845f28ebdd0fabbe0b89695Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXBybyxMTT1hbm51YWwsUFY9UTEtMjAyNixRPTUsQVQ9c2luZ2xlLFQ9dHJ1ZSxLVj0z";
|
|
78
|
-
/**
|
|
79
|
-
* Premium annual, Q1-2026, quantity: 10, appType: single.
|
|
80
|
-
* orderId: #123, keyVersion: 3, expiryDate: 3001-01-01
|
|
81
|
-
*/
|
|
82
|
-
export declare const TEST_KEY_PREMIUM_ANNUAL_Q1_2026_V3 = "450d9fc1b28e709fcb73969bd10e1c30Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXByZW1pdW0sTE09YW5udWFsLFBWPVExLTIwMjYsUT0xMCxBVD1zaW5nbGUsVD10cnVlLEtWPTM=";
|
|
83
|
-
/**
|
|
84
|
-
* Pro perpetual, Q1-2026, expiry = releaseDate + 1 day (not expired).
|
|
85
|
-
* orderId: #123, keyVersion: 2
|
|
86
|
-
*/
|
|
87
|
-
export declare const TEST_KEY_PRO_PERPETUAL_Q1_2026 = "5f78509380f3ea3b3c91d7af3f5496eaTz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1RMS0yMDI2LFQ9dHJ1ZSxLVj0y";
|
|
88
|
-
/**
|
|
89
|
-
* Pro perpetual, Q1-2026, expiry = releaseDate - 1 day (expired before release).
|
|
90
|
-
* orderId: #123, keyVersion: 2
|
|
91
|
-
*/
|
|
92
|
-
export declare const TEST_KEY_PRO_PERPETUAL_Q1_2026_EXPIRED = "191d8aaf174e38bcbf367e07fa39e423Tz0xMjMsRT0xNTE0NTg4NDAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1RMS0yMDI2LFQ9dHJ1ZSxLVj0y";
|
|
93
|
-
/**
|
|
94
|
-
* Invalid key: hash does not match payload (tampered).
|
|
95
|
-
* Used to test that verifyLicense rejects tampered keys.
|
|
96
|
-
*/
|
|
97
|
-
export declare const TEST_KEY_INVALID = "c0b3c1c31055976260628def9b697020TkFNRTpNYC1VSSBTQVMsREVWRUxPUEVSX0NPVU5UPTEwLEVYUElSWT0xNTkxNzIzMDY3MDQyLFZFUlNJT049MS4yLjMsVD10cnVl";
|
|
98
|
-
/**
|
|
99
|
-
* Valid hash but unknown key version (KV=99).
|
|
100
|
-
* Used to test that decodeLicense returns null for unrecognized versions.
|
|
101
|
-
*/
|
|
102
|
-
export declare const TEST_KEY_UNKNOWN_VERSION = "64152474c774ae343484f08bbbc1a231Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj05OQ==";
|
package/test-keys.d.ts
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test Premium license key.
|
|
3
|
-
* orderId: #123, scope: premium, licenseModel: annual, planVersion: Q3-2024
|
|
4
|
-
* keyVersion: 2, expiryDate: 2099-12-30T23:00:00.000Z
|
|
5
|
-
*/
|
|
6
|
-
export declare const TEST_LICENSE_KEY_PREMIUM = "715a2f48d6140e8e6f2484e6c4b981aeTz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJlbWl1bSxMTT1hbm51YWwsUFY9UTMtMjAyNCxUPXRydWUsS1Y9Mg==";
|
|
7
|
-
/**
|
|
8
|
-
* Test Pro license key.
|
|
9
|
-
* orderId: #123, scope: pro, licenseModel: annual, planVersion: Q3-2024
|
|
10
|
-
* keyVersion: 2, expiryDate: 2099-12-30T23:00:00.000Z
|
|
11
|
-
*/
|
|
12
|
-
export declare const TEST_LICENSE_KEY_PRO = "8d0500f3fe93ffea84445b2aed17c59cTz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1RMy0yMDI0LFQ9dHJ1ZSxLVj0y";
|
|
13
|
-
/**
|
|
14
|
-
* Key version 1 format (pro, perpetual, initial implied).
|
|
15
|
-
* orderId: #123, expiryDate: 2026-08-02
|
|
16
|
-
*/
|
|
17
|
-
export declare const TEST_KEY_V1 = "8f5bd7d70e4d7aeecd1d5b9d0d1759bbT1JERVI6MTIzLEVYUElSWT0xNzg1ODc0MDEwNzA4LFQ9dHJ1ZSxLRVlWRVJTSU9OPTE=";
|
|
18
|
-
/**
|
|
19
|
-
* Pro subscription, initial, expiry = releaseDate + 1 day.
|
|
20
|
-
* orderId: #123, keyVersion: 2
|
|
21
|
-
*/
|
|
22
|
-
export declare const TEST_KEY_PRO_SUBSCRIPTION = "b4cb282aa165b05f65f70a4caddadc81Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
23
|
-
/**
|
|
24
|
-
* Premium subscription, initial, expiry = releaseDate + 1 day.
|
|
25
|
-
* orderId: #123, keyVersion: 2
|
|
26
|
-
*/
|
|
27
|
-
export declare const TEST_KEY_PREMIUM_SUBSCRIPTION = "22bd1051015e3c663f8ca5cba9ebe56aTz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJlbWl1bSxMTT1zdWJzY3JpcHRpb24sUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==";
|
|
28
|
-
/**
|
|
29
|
-
* Pro perpetual, initial, expiry = releaseDate + 1 day (valid).
|
|
30
|
-
* orderId: #123, keyVersion: 2
|
|
31
|
-
*/
|
|
32
|
-
export declare const TEST_KEY_PRO_PERPETUAL = "f4221ac32d1b8b102c143dcf65080414Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
33
|
-
/**
|
|
34
|
-
* Pro perpetual, initial, expiry = releaseDate - 1 day (expired before release).
|
|
35
|
-
* orderId: #123, keyVersion: 2
|
|
36
|
-
*/
|
|
37
|
-
export declare const TEST_KEY_PRO_PERPETUAL_EXPIRED = "64245e2bb861fc92856e682b32dc8bf2Tz0xMjMsRT0xNTE0NTg4NDAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
38
|
-
/**
|
|
39
|
-
* Pro annual, initial, expiry = releaseDate + 1 day.
|
|
40
|
-
* orderId: #123, keyVersion: 2
|
|
41
|
-
*/
|
|
42
|
-
export declare const TEST_KEY_PRO_ANNUAL_INITIAL = "d82e3196c55fc5dc21a4145b796a77a7Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
43
|
-
/**
|
|
44
|
-
* Premium annual, initial, expiry = releaseDate + 1 day.
|
|
45
|
-
* orderId: #123, keyVersion: 2
|
|
46
|
-
*/
|
|
47
|
-
export declare const TEST_KEY_PREMIUM_ANNUAL_INITIAL = "8fc9fa79e1b5f30ce737ccec8f3e36f4Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJlbWl1bSxMTT1hbm51YWwsUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==";
|
|
48
|
-
/**
|
|
49
|
-
* Pro subscription, initial, expiry = 2024-06-14 (fakeNow - 1 day, within grace period).
|
|
50
|
-
* orderId: #123, keyVersion: 2
|
|
51
|
-
*/
|
|
52
|
-
export declare const TEST_KEY_EXPIRED_GRACE = "84dcbd1c5a6169c74e6c70ec23e0df55Tz0xMjMsRT0xNzE4MzIzMjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
53
|
-
/**
|
|
54
|
-
* Pro subscription, initial, expiry = 2024-05-16 (fakeNow - 30 days, past grace period).
|
|
55
|
-
* orderId: #123, keyVersion: 2
|
|
56
|
-
*/
|
|
57
|
-
export declare const TEST_KEY_EXPIRED_30DAYS = "4081d3863dda2ca60be4a5b29f582117Tz0xMjMsRT0xNzE1ODE3NjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
58
|
-
/**
|
|
59
|
-
* Pro subscription, initial, expiry = 3001-01-01.
|
|
60
|
-
* orderId: #123, keyVersion: 2
|
|
61
|
-
*/
|
|
62
|
-
export declare const TEST_KEY_PRO_SUBSCRIPTION_FUTURE = "e83a283135bbd911e4aa0fd55ceea3ebTz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXBybyxMTT1zdWJzY3JpcHRpb24sUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==";
|
|
63
|
-
/**
|
|
64
|
-
* Premium subscription, initial, expiry = 3001-01-01.
|
|
65
|
-
* orderId: #123, keyVersion: 2
|
|
66
|
-
*/
|
|
67
|
-
export declare const TEST_KEY_PREMIUM_SUBSCRIPTION_FUTURE = "1c6ea00fadedfcb3f2ef393f1de32f29Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXByZW1pdW0sTE09c3Vic2NyaXB0aW9uLFBWPWluaXRpYWwsVD10cnVlLEtWPTI=";
|
|
68
|
-
/**
|
|
69
|
-
* Pro annual, Q3-2024, quantity: 5, appType: single.
|
|
70
|
-
* orderId: #123, keyVersion: 3, expiryDate: 2099-12-30T23:00:00.000Z
|
|
71
|
-
*/
|
|
72
|
-
export declare const TEST_KEY_PRO_ANNUAL_V3 = "521a75b4cf0d0c5e8990ce070886e167Tz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1RMy0yMDI0LFE9NSxBVD1zaW5nbGUsVD10cnVlLEtWPTM=";
|
|
73
|
-
/**
|
|
74
|
-
* Pro annual, Q1-2026, quantity: 5, appType: single.
|
|
75
|
-
* orderId: #123, keyVersion: 3, expiryDate: 3001-01-01
|
|
76
|
-
*/
|
|
77
|
-
export declare const TEST_KEY_PRO_ANNUAL_Q1_2026_V3 = "5f52871b5845f28ebdd0fabbe0b89695Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXBybyxMTT1hbm51YWwsUFY9UTEtMjAyNixRPTUsQVQ9c2luZ2xlLFQ9dHJ1ZSxLVj0z";
|
|
78
|
-
/**
|
|
79
|
-
* Premium annual, Q1-2026, quantity: 10, appType: single.
|
|
80
|
-
* orderId: #123, keyVersion: 3, expiryDate: 3001-01-01
|
|
81
|
-
*/
|
|
82
|
-
export declare const TEST_KEY_PREMIUM_ANNUAL_Q1_2026_V3 = "450d9fc1b28e709fcb73969bd10e1c30Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXByZW1pdW0sTE09YW5udWFsLFBWPVExLTIwMjYsUT0xMCxBVD1zaW5nbGUsVD10cnVlLEtWPTM=";
|
|
83
|
-
/**
|
|
84
|
-
* Pro perpetual, Q1-2026, expiry = releaseDate + 1 day (not expired).
|
|
85
|
-
* orderId: #123, keyVersion: 2
|
|
86
|
-
*/
|
|
87
|
-
export declare const TEST_KEY_PRO_PERPETUAL_Q1_2026 = "5f78509380f3ea3b3c91d7af3f5496eaTz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1RMS0yMDI2LFQ9dHJ1ZSxLVj0y";
|
|
88
|
-
/**
|
|
89
|
-
* Pro perpetual, Q1-2026, expiry = releaseDate - 1 day (expired before release).
|
|
90
|
-
* orderId: #123, keyVersion: 2
|
|
91
|
-
*/
|
|
92
|
-
export declare const TEST_KEY_PRO_PERPETUAL_Q1_2026_EXPIRED = "191d8aaf174e38bcbf367e07fa39e423Tz0xMjMsRT0xNTE0NTg4NDAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1RMS0yMDI2LFQ9dHJ1ZSxLVj0y";
|
|
93
|
-
/**
|
|
94
|
-
* Invalid key: hash does not match payload (tampered).
|
|
95
|
-
* Used to test that verifyLicense rejects tampered keys.
|
|
96
|
-
*/
|
|
97
|
-
export declare const TEST_KEY_INVALID = "c0b3c1c31055976260628def9b697020TkFNRTpNYC1VSSBTQVMsREVWRUxPUEVSX0NPVU5UPTEwLEVYUElSWT0xNTkxNzIzMDY3MDQyLFZFUlNJT049MS4yLjMsVD10cnVl";
|
|
98
|
-
/**
|
|
99
|
-
* Valid hash but unknown key version (KV=99).
|
|
100
|
-
* Used to test that decodeLicense returns null for unrecognized versions.
|
|
101
|
-
*/
|
|
102
|
-
export declare const TEST_KEY_UNKNOWN_VERSION = "64152474c774ae343484f08bbbc1a231Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj05OQ==";
|
package/test-keys.js
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.TEST_LICENSE_KEY_PRO = exports.TEST_LICENSE_KEY_PREMIUM = exports.TEST_KEY_V1 = exports.TEST_KEY_UNKNOWN_VERSION = exports.TEST_KEY_PRO_SUBSCRIPTION_FUTURE = exports.TEST_KEY_PRO_SUBSCRIPTION = exports.TEST_KEY_PRO_PERPETUAL_Q1_2026_EXPIRED = exports.TEST_KEY_PRO_PERPETUAL_Q1_2026 = exports.TEST_KEY_PRO_PERPETUAL_EXPIRED = exports.TEST_KEY_PRO_PERPETUAL = exports.TEST_KEY_PRO_ANNUAL_V3 = exports.TEST_KEY_PRO_ANNUAL_Q1_2026_V3 = exports.TEST_KEY_PRO_ANNUAL_INITIAL = exports.TEST_KEY_PREMIUM_SUBSCRIPTION_FUTURE = exports.TEST_KEY_PREMIUM_SUBSCRIPTION = exports.TEST_KEY_PREMIUM_ANNUAL_Q1_2026_V3 = exports.TEST_KEY_PREMIUM_ANNUAL_INITIAL = exports.TEST_KEY_INVALID = exports.TEST_KEY_EXPIRED_GRACE = exports.TEST_KEY_EXPIRED_30DAYS = void 0;
|
|
7
|
-
// =============================================================================
|
|
8
|
-
// Test license keys for use in test suites.
|
|
9
|
-
// All keys contain T=true in their payload and are rejected outside test environments.
|
|
10
|
-
// Import via '@mui/x-license/internals'.
|
|
11
|
-
// =============================================================================
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Test Premium license key.
|
|
15
|
-
* orderId: #123, scope: premium, licenseModel: annual, planVersion: Q3-2024
|
|
16
|
-
* keyVersion: 2, expiryDate: 2099-12-30T23:00:00.000Z
|
|
17
|
-
*/
|
|
18
|
-
const TEST_LICENSE_KEY_PREMIUM = exports.TEST_LICENSE_KEY_PREMIUM = '715a2f48d6140e8e6f2484e6c4b981aeTz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJlbWl1bSxMTT1hbm51YWwsUFY9UTMtMjAyNCxUPXRydWUsS1Y9Mg==';
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Test Pro license key.
|
|
22
|
-
* orderId: #123, scope: pro, licenseModel: annual, planVersion: Q3-2024
|
|
23
|
-
* keyVersion: 2, expiryDate: 2099-12-30T23:00:00.000Z
|
|
24
|
-
*/
|
|
25
|
-
const TEST_LICENSE_KEY_PRO = exports.TEST_LICENSE_KEY_PRO = '8d0500f3fe93ffea84445b2aed17c59cTz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1RMy0yMDI0LFQ9dHJ1ZSxLVj0y';
|
|
26
|
-
|
|
27
|
-
// --- Key format v1 ---
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Key version 1 format (pro, perpetual, initial implied).
|
|
31
|
-
* orderId: #123, expiryDate: 2026-08-02
|
|
32
|
-
*/
|
|
33
|
-
const TEST_KEY_V1 = exports.TEST_KEY_V1 = '8f5bd7d70e4d7aeecd1d5b9d0d1759bbT1JERVI6MTIzLEVYUElSWT0xNzg1ODc0MDEwNzA4LFQ9dHJ1ZSxLRVlWRVJTSU9OPTE=';
|
|
34
|
-
|
|
35
|
-
// --- Keys for verifyLicense tests (paired with releaseDate = 2018-01-01) ---
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Pro subscription, initial, expiry = releaseDate + 1 day.
|
|
39
|
-
* orderId: #123, keyVersion: 2
|
|
40
|
-
*/
|
|
41
|
-
const TEST_KEY_PRO_SUBSCRIPTION = exports.TEST_KEY_PRO_SUBSCRIPTION = 'b4cb282aa165b05f65f70a4caddadc81Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Premium subscription, initial, expiry = releaseDate + 1 day.
|
|
45
|
-
* orderId: #123, keyVersion: 2
|
|
46
|
-
*/
|
|
47
|
-
const TEST_KEY_PREMIUM_SUBSCRIPTION = exports.TEST_KEY_PREMIUM_SUBSCRIPTION = '22bd1051015e3c663f8ca5cba9ebe56aTz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJlbWl1bSxMTT1zdWJzY3JpcHRpb24sUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==';
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Pro perpetual, initial, expiry = releaseDate + 1 day (valid).
|
|
51
|
-
* orderId: #123, keyVersion: 2
|
|
52
|
-
*/
|
|
53
|
-
const TEST_KEY_PRO_PERPETUAL = exports.TEST_KEY_PRO_PERPETUAL = 'f4221ac32d1b8b102c143dcf65080414Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Pro perpetual, initial, expiry = releaseDate - 1 day (expired before release).
|
|
57
|
-
* orderId: #123, keyVersion: 2
|
|
58
|
-
*/
|
|
59
|
-
const TEST_KEY_PRO_PERPETUAL_EXPIRED = exports.TEST_KEY_PRO_PERPETUAL_EXPIRED = '64245e2bb861fc92856e682b32dc8bf2Tz0xMjMsRT0xNTE0NTg4NDAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Pro annual, initial, expiry = releaseDate + 1 day.
|
|
63
|
-
* orderId: #123, keyVersion: 2
|
|
64
|
-
*/
|
|
65
|
-
const TEST_KEY_PRO_ANNUAL_INITIAL = exports.TEST_KEY_PRO_ANNUAL_INITIAL = 'd82e3196c55fc5dc21a4145b796a77a7Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Premium annual, initial, expiry = releaseDate + 1 day.
|
|
69
|
-
* orderId: #123, keyVersion: 2
|
|
70
|
-
*/
|
|
71
|
-
const TEST_KEY_PREMIUM_ANNUAL_INITIAL = exports.TEST_KEY_PREMIUM_ANNUAL_INITIAL = '8fc9fa79e1b5f30ce737ccec8f3e36f4Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJlbWl1bSxMTT1hbm51YWwsUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==';
|
|
72
|
-
|
|
73
|
-
// --- Keys for time-sensitive tests (used with vi.useFakeTimers, fakeNow = 2024-06-15) ---
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Pro subscription, initial, expiry = 2024-06-14 (fakeNow - 1 day, within grace period).
|
|
77
|
-
* orderId: #123, keyVersion: 2
|
|
78
|
-
*/
|
|
79
|
-
const TEST_KEY_EXPIRED_GRACE = exports.TEST_KEY_EXPIRED_GRACE = '84dcbd1c5a6169c74e6c70ec23e0df55Tz0xMjMsRT0xNzE4MzIzMjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Pro subscription, initial, expiry = 2024-05-16 (fakeNow - 30 days, past grace period).
|
|
83
|
-
* orderId: #123, keyVersion: 2
|
|
84
|
-
*/
|
|
85
|
-
const TEST_KEY_EXPIRED_30DAYS = exports.TEST_KEY_EXPIRED_30DAYS = '4081d3863dda2ca60be4a5b29f582117Tz0xMjMsRT0xNzE1ODE3NjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
86
|
-
|
|
87
|
-
// --- Keys for useLicenseVerifier plan combination tests (initial planVersion, far-future expiry) ---
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Pro subscription, initial, expiry = 3001-01-01.
|
|
91
|
-
* orderId: #123, keyVersion: 2
|
|
92
|
-
*/
|
|
93
|
-
const TEST_KEY_PRO_SUBSCRIPTION_FUTURE = exports.TEST_KEY_PRO_SUBSCRIPTION_FUTURE = 'e83a283135bbd911e4aa0fd55ceea3ebTz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXBybyxMTT1zdWJzY3JpcHRpb24sUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==';
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Premium subscription, initial, expiry = 3001-01-01.
|
|
97
|
-
* orderId: #123, keyVersion: 2
|
|
98
|
-
*/
|
|
99
|
-
const TEST_KEY_PREMIUM_SUBSCRIPTION_FUTURE = exports.TEST_KEY_PREMIUM_SUBSCRIPTION_FUTURE = '1c6ea00fadedfcb3f2ef393f1de32f29Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXByZW1pdW0sTE09c3Vic2NyaXB0aW9uLFBWPWluaXRpYWwsVD10cnVlLEtWPTI=';
|
|
100
|
-
|
|
101
|
-
// --- Key format v3 ---
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Pro annual, Q3-2024, quantity: 5, appType: single.
|
|
105
|
-
* orderId: #123, keyVersion: 3, expiryDate: 2099-12-30T23:00:00.000Z
|
|
106
|
-
*/
|
|
107
|
-
const TEST_KEY_PRO_ANNUAL_V3 = exports.TEST_KEY_PRO_ANNUAL_V3 = '521a75b4cf0d0c5e8990ce070886e167Tz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1RMy0yMDI0LFE9NSxBVD1zaW5nbGUsVD10cnVlLEtWPTM=';
|
|
108
|
-
|
|
109
|
-
// --- Key format v3 Q1-2026 ---
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Pro annual, Q1-2026, quantity: 5, appType: single.
|
|
113
|
-
* orderId: #123, keyVersion: 3, expiryDate: 3001-01-01
|
|
114
|
-
*/
|
|
115
|
-
const TEST_KEY_PRO_ANNUAL_Q1_2026_V3 = exports.TEST_KEY_PRO_ANNUAL_Q1_2026_V3 = '5f52871b5845f28ebdd0fabbe0b89695Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXBybyxMTT1hbm51YWwsUFY9UTEtMjAyNixRPTUsQVQ9c2luZ2xlLFQ9dHJ1ZSxLVj0z';
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* Premium annual, Q1-2026, quantity: 10, appType: single.
|
|
119
|
-
* orderId: #123, keyVersion: 3, expiryDate: 3001-01-01
|
|
120
|
-
*/
|
|
121
|
-
const TEST_KEY_PREMIUM_ANNUAL_Q1_2026_V3 = exports.TEST_KEY_PREMIUM_ANNUAL_Q1_2026_V3 = '450d9fc1b28e709fcb73969bd10e1c30Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXByZW1pdW0sTE09YW5udWFsLFBWPVExLTIwMjYsUT0xMCxBVD1zaW5nbGUsVD10cnVlLEtWPTM=';
|
|
122
|
-
|
|
123
|
-
// --- Keys for v9 plan version check tests (perpetual + Q1-2026) ---
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Pro perpetual, Q1-2026, expiry = releaseDate + 1 day (not expired).
|
|
127
|
-
* orderId: #123, keyVersion: 2
|
|
128
|
-
*/
|
|
129
|
-
const TEST_KEY_PRO_PERPETUAL_Q1_2026 = exports.TEST_KEY_PRO_PERPETUAL_Q1_2026 = '5f78509380f3ea3b3c91d7af3f5496eaTz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1RMS0yMDI2LFQ9dHJ1ZSxLVj0y';
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Pro perpetual, Q1-2026, expiry = releaseDate - 1 day (expired before release).
|
|
133
|
-
* orderId: #123, keyVersion: 2
|
|
134
|
-
*/
|
|
135
|
-
const TEST_KEY_PRO_PERPETUAL_Q1_2026_EXPIRED = exports.TEST_KEY_PRO_PERPETUAL_Q1_2026_EXPIRED = '191d8aaf174e38bcbf367e07fa39e423Tz0xMjMsRT0xNTE0NTg4NDAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1RMS0yMDI2LFQ9dHJ1ZSxLVj0y';
|
|
136
|
-
|
|
137
|
-
// --- Invalid / edge-case keys ---
|
|
138
|
-
|
|
139
|
-
/**
|
|
140
|
-
* Invalid key: hash does not match payload (tampered).
|
|
141
|
-
* Used to test that verifyLicense rejects tampered keys.
|
|
142
|
-
*/
|
|
143
|
-
const TEST_KEY_INVALID = exports.TEST_KEY_INVALID = 'c0b3c1c31055976260628def9b697020TkFNRTpNYC1VSSBTQVMsREVWRUxPUEVSX0NPVU5UPTEwLEVYUElSWT0xNTkxNzIzMDY3MDQyLFZFUlNJT049MS4yLjMsVD10cnVl';
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Valid hash but unknown key version (KV=99).
|
|
147
|
-
* Used to test that decodeLicense returns null for unrecognized versions.
|
|
148
|
-
*/
|
|
149
|
-
const TEST_KEY_UNKNOWN_VERSION = exports.TEST_KEY_UNKNOWN_VERSION = '64152474c774ae343484f08bbbc1a231Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj05OQ==';
|
package/test-keys.mjs
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
// =============================================================================
|
|
2
|
-
// Test license keys for use in test suites.
|
|
3
|
-
// All keys contain T=true in their payload and are rejected outside test environments.
|
|
4
|
-
// Import via '@mui/x-license/internals'.
|
|
5
|
-
// =============================================================================
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Test Premium license key.
|
|
9
|
-
* orderId: #123, scope: premium, licenseModel: annual, planVersion: Q3-2024
|
|
10
|
-
* keyVersion: 2, expiryDate: 2099-12-30T23:00:00.000Z
|
|
11
|
-
*/
|
|
12
|
-
export const TEST_LICENSE_KEY_PREMIUM = '715a2f48d6140e8e6f2484e6c4b981aeTz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJlbWl1bSxMTT1hbm51YWwsUFY9UTMtMjAyNCxUPXRydWUsS1Y9Mg==';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Test Pro license key.
|
|
16
|
-
* orderId: #123, scope: pro, licenseModel: annual, planVersion: Q3-2024
|
|
17
|
-
* keyVersion: 2, expiryDate: 2099-12-30T23:00:00.000Z
|
|
18
|
-
*/
|
|
19
|
-
export const TEST_LICENSE_KEY_PRO = '8d0500f3fe93ffea84445b2aed17c59cTz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1RMy0yMDI0LFQ9dHJ1ZSxLVj0y';
|
|
20
|
-
|
|
21
|
-
// --- Key format v1 ---
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Key version 1 format (pro, perpetual, initial implied).
|
|
25
|
-
* orderId: #123, expiryDate: 2026-08-02
|
|
26
|
-
*/
|
|
27
|
-
export const TEST_KEY_V1 = '8f5bd7d70e4d7aeecd1d5b9d0d1759bbT1JERVI6MTIzLEVYUElSWT0xNzg1ODc0MDEwNzA4LFQ9dHJ1ZSxLRVlWRVJTSU9OPTE=';
|
|
28
|
-
|
|
29
|
-
// --- Keys for verifyLicense tests (paired with releaseDate = 2018-01-01) ---
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Pro subscription, initial, expiry = releaseDate + 1 day.
|
|
33
|
-
* orderId: #123, keyVersion: 2
|
|
34
|
-
*/
|
|
35
|
-
export const TEST_KEY_PRO_SUBSCRIPTION = 'b4cb282aa165b05f65f70a4caddadc81Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Premium subscription, initial, expiry = releaseDate + 1 day.
|
|
39
|
-
* orderId: #123, keyVersion: 2
|
|
40
|
-
*/
|
|
41
|
-
export const TEST_KEY_PREMIUM_SUBSCRIPTION = '22bd1051015e3c663f8ca5cba9ebe56aTz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJlbWl1bSxMTT1zdWJzY3JpcHRpb24sUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==';
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Pro perpetual, initial, expiry = releaseDate + 1 day (valid).
|
|
45
|
-
* orderId: #123, keyVersion: 2
|
|
46
|
-
*/
|
|
47
|
-
export const TEST_KEY_PRO_PERPETUAL = 'f4221ac32d1b8b102c143dcf65080414Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Pro perpetual, initial, expiry = releaseDate - 1 day (expired before release).
|
|
51
|
-
* orderId: #123, keyVersion: 2
|
|
52
|
-
*/
|
|
53
|
-
export const TEST_KEY_PRO_PERPETUAL_EXPIRED = '64245e2bb861fc92856e682b32dc8bf2Tz0xMjMsRT0xNTE0NTg4NDAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Pro annual, initial, expiry = releaseDate + 1 day.
|
|
57
|
-
* orderId: #123, keyVersion: 2
|
|
58
|
-
*/
|
|
59
|
-
export const TEST_KEY_PRO_ANNUAL_INITIAL = 'd82e3196c55fc5dc21a4145b796a77a7Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Premium annual, initial, expiry = releaseDate + 1 day.
|
|
63
|
-
* orderId: #123, keyVersion: 2
|
|
64
|
-
*/
|
|
65
|
-
export const TEST_KEY_PREMIUM_ANNUAL_INITIAL = '8fc9fa79e1b5f30ce737ccec8f3e36f4Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJlbWl1bSxMTT1hbm51YWwsUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==';
|
|
66
|
-
|
|
67
|
-
// --- Keys for time-sensitive tests (used with vi.useFakeTimers, fakeNow = 2024-06-15) ---
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Pro subscription, initial, expiry = 2024-06-14 (fakeNow - 1 day, within grace period).
|
|
71
|
-
* orderId: #123, keyVersion: 2
|
|
72
|
-
*/
|
|
73
|
-
export const TEST_KEY_EXPIRED_GRACE = '84dcbd1c5a6169c74e6c70ec23e0df55Tz0xMjMsRT0xNzE4MzIzMjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Pro subscription, initial, expiry = 2024-05-16 (fakeNow - 30 days, past grace period).
|
|
77
|
-
* orderId: #123, keyVersion: 2
|
|
78
|
-
*/
|
|
79
|
-
export const TEST_KEY_EXPIRED_30DAYS = '4081d3863dda2ca60be4a5b29f582117Tz0xMjMsRT0xNzE1ODE3NjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
80
|
-
|
|
81
|
-
// --- Keys for useLicenseVerifier plan combination tests (initial planVersion, far-future expiry) ---
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Pro subscription, initial, expiry = 3001-01-01.
|
|
85
|
-
* orderId: #123, keyVersion: 2
|
|
86
|
-
*/
|
|
87
|
-
export const TEST_KEY_PRO_SUBSCRIPTION_FUTURE = 'e83a283135bbd911e4aa0fd55ceea3ebTz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXBybyxMTT1zdWJzY3JpcHRpb24sUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==';
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Premium subscription, initial, expiry = 3001-01-01.
|
|
91
|
-
* orderId: #123, keyVersion: 2
|
|
92
|
-
*/
|
|
93
|
-
export const TEST_KEY_PREMIUM_SUBSCRIPTION_FUTURE = '1c6ea00fadedfcb3f2ef393f1de32f29Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXByZW1pdW0sTE09c3Vic2NyaXB0aW9uLFBWPWluaXRpYWwsVD10cnVlLEtWPTI=';
|
|
94
|
-
|
|
95
|
-
// --- Key format v3 ---
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Pro annual, Q3-2024, quantity: 5, appType: single.
|
|
99
|
-
* orderId: #123, keyVersion: 3, expiryDate: 2099-12-30T23:00:00.000Z
|
|
100
|
-
*/
|
|
101
|
-
export const TEST_KEY_PRO_ANNUAL_V3 = '521a75b4cf0d0c5e8990ce070886e167Tz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1RMy0yMDI0LFE9NSxBVD1zaW5nbGUsVD10cnVlLEtWPTM=';
|
|
102
|
-
|
|
103
|
-
// --- Key format v3 Q1-2026 ---
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Pro annual, Q1-2026, quantity: 5, appType: single.
|
|
107
|
-
* orderId: #123, keyVersion: 3, expiryDate: 3001-01-01
|
|
108
|
-
*/
|
|
109
|
-
export const TEST_KEY_PRO_ANNUAL_Q1_2026_V3 = '5f52871b5845f28ebdd0fabbe0b89695Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXBybyxMTT1hbm51YWwsUFY9UTEtMjAyNixRPTUsQVQ9c2luZ2xlLFQ9dHJ1ZSxLVj0z';
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Premium annual, Q1-2026, quantity: 10, appType: single.
|
|
113
|
-
* orderId: #123, keyVersion: 3, expiryDate: 3001-01-01
|
|
114
|
-
*/
|
|
115
|
-
export const TEST_KEY_PREMIUM_ANNUAL_Q1_2026_V3 = '450d9fc1b28e709fcb73969bd10e1c30Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXByZW1pdW0sTE09YW5udWFsLFBWPVExLTIwMjYsUT0xMCxBVD1zaW5nbGUsVD10cnVlLEtWPTM=';
|
|
116
|
-
|
|
117
|
-
// --- Keys for v9 plan version check tests (perpetual + Q1-2026) ---
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Pro perpetual, Q1-2026, expiry = releaseDate + 1 day (not expired).
|
|
121
|
-
* orderId: #123, keyVersion: 2
|
|
122
|
-
*/
|
|
123
|
-
export const TEST_KEY_PRO_PERPETUAL_Q1_2026 = '5f78509380f3ea3b3c91d7af3f5496eaTz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1RMS0yMDI2LFQ9dHJ1ZSxLVj0y';
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Pro perpetual, Q1-2026, expiry = releaseDate - 1 day (expired before release).
|
|
127
|
-
* orderId: #123, keyVersion: 2
|
|
128
|
-
*/
|
|
129
|
-
export const TEST_KEY_PRO_PERPETUAL_Q1_2026_EXPIRED = '191d8aaf174e38bcbf367e07fa39e423Tz0xMjMsRT0xNTE0NTg4NDAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1RMS0yMDI2LFQ9dHJ1ZSxLVj0y';
|
|
130
|
-
|
|
131
|
-
// --- Invalid / edge-case keys ---
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Invalid key: hash does not match payload (tampered).
|
|
135
|
-
* Used to test that verifyLicense rejects tampered keys.
|
|
136
|
-
*/
|
|
137
|
-
export const TEST_KEY_INVALID = 'c0b3c1c31055976260628def9b697020TkFNRTpNYC1VSSBTQVMsREVWRUxPUEVSX0NPVU5UPTEwLEVYUElSWT0xNTkxNzIzMDY3MDQyLFZFUlNJT049MS4yLjMsVD10cnVl';
|
|
138
|
-
|
|
139
|
-
/**
|
|
140
|
-
* Valid hash but unknown key version (KV=99).
|
|
141
|
-
* Used to test that decodeLicense returns null for unrecognized versions.
|
|
142
|
-
*/
|
|
143
|
-
export const TEST_KEY_UNKNOWN_VERSION = '64152474c774ae343484f08bbbc1a231Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj05OQ==';
|