Skip to content

Commit eaa8f3b

Browse files
author
pipeline
committed
v30.1.37 is released
1 parent c00fbe4 commit eaa8f3b

File tree

2,102 files changed

+250841
-47677
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,102 files changed

+250841
-47677
lines changed

controls/barcodegenerator/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## [Unreleased]
44

5-
## 29.2.11 (2025-06-17)
5+
## 30.1.37 (2025-06-25)
66

77
### Barcode
88

controls/base/CHANGELOG.md

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,7 @@
22

33
## [Unreleased]
44

5-
## 29.2.11 (2025-06-17)
6-
7-
### Common
8-
9-
#### Bug Fixes
10-
11-
- `#I734291` - Resolved invalid CSS custom property issue in Fluent 2 theme
12-
13-
## 29.2.4 (2025-05-14)
5+
## 30.1.37 (2025-06-25)
146

157
### Common
168

controls/base/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@syncfusion/ej2-base",
3-
"version": "29.2.4",
3+
"version": "29.1.35",
44
"description": "A common package of Essential JS 2 base libraries, methods and class definitions",
55
"author": "Syncfusion Inc.",
66
"license": "SEE LICENSE IN license",

controls/base/styles/definition/_fluent2-dark.scss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -627,7 +627,7 @@ $rating-selected-color:mapcolorvariable('rating-selected-color') !default;
627627
$rating-unrated-color: mapcolorvariable('rating-unrated-color') !default;
628628
$rating-selected-disabled-color: mapcolorvariable('rating-selected-disabled-color') !default;
629629
$rating-unrated-disabled-color: mapcolorvariable('rating-unrated-disabled-color') !default;
630-
$rating-selected-hover-color: mapcolorvariable('rating-selected-hover-color') !default;
630+
$rating-selected-hover-color: mapcolorvariable('rating-selected-hover-color:') !default;
631631
$rating-unrated-hover-color: mapcolorvariable('rating-unrated-hover-color') !default;
632632
$rating-pressed-color: mapcolorvariable('rating-pressed-color') !default;
633633

@@ -646,7 +646,7 @@ $msg-icon-color-alt2: mapcolorvariable('msg-icon-color-alt2') !default;
646646

647647
$msg-close-icon-color: mapcolorvariable('msg-close-icon-color') !default;
648648
$msg-close-icon-color-alt1: mapcolorvariable('msg-close-icon-color-alt21') !default;
649-
$msg-close-icon-color-alt2: mapcolorvariable('msg-close-icon-color-alt2') !default;
649+
$msg-close-icon-color-alt2: mapcolorvariable('msg-close-icon-color-alt2:') !default;
650650

651651
$msg-success-color: mapcolorvariable('msg-success-color') !default;
652652
$msg-success-bg-color: mapcolorvariable('msg-success-bg-color') !default;

controls/base/styles/definition/_fluent2.scss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -638,7 +638,7 @@ $rating-selected-color:mapcolorvariable('rating-selected-color') !default;
638638
$rating-unrated-color: mapcolorvariable('rating-unrated-color') !default;
639639
$rating-selected-disabled-color: mapcolorvariable('rating-selected-disabled-color') !default;
640640
$rating-unrated-disabled-color: mapcolorvariable('rating-unrated-disabled-color') !default;
641-
$rating-selected-hover-color: mapcolorvariable('rating-selected-hover-color') !default;
641+
$rating-selected-hover-color: mapcolorvariable('rating-selected-hover-color:') !default;
642642
$rating-unrated-hover-color: mapcolorvariable('rating-unrated-hover-color') !default;
643643
$rating-pressed-color: mapcolorvariable('rating-pressed-color') !default;
644644

@@ -657,7 +657,7 @@ $msg-icon-color-alt2: mapcolorvariable('msg-icon-color-alt2') !default;
657657

658658
$msg-close-icon-color: mapcolorvariable('msg-close-icon-color') !default;
659659
$msg-close-icon-color-alt1: mapcolorvariable('msg-close-icon-color-alt21') !default;
660-
$msg-close-icon-color-alt2: mapcolorvariable('msg-close-icon-color-alt2') !default;
660+
$msg-close-icon-color-alt2: mapcolorvariable('msg-close-icon-color-alt2:') !default;
661661

662662
$msg-success-color: mapcolorvariable('msg-success-color') !default;
663663
$msg-success-bg-color: mapcolorvariable('msg-success-bg-color') !default;

controls/blockeditor/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Changelog
2+
3+
## [Unreleased]

controls/blockeditor/README.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
[![coverage](http://ej2.syncfusion.com/badges/ej2-blockeditor/coverage.svg)](http://ej2.syncfusion.com/badges/ej2-blockeditor)
2+
3+
# JavaScript Block Editor Component
4+
5+
A package of JavaScript Block Editor is a modern, block-based content editing solution for web applications. It provides an intuitive and flexible interface for creating rich, structured documents using interactive content blocks.
6+
7+
## What's Included in the JavaScript Block Editor Package
8+
9+
The JavaScript Block Editor package includes the following,
10+
11+
### JavaScript Block Editor
12+
13+
This [JavaScript Block Editor](https://www.syncfusion.com/javascript-ui-controls/js-blockeditor?utm_source=npm&utm_medium=listing&utm_campaign=javascript-blockeditor-npm) control is designed to support a wide range of block types and text formatting options, enabling users to compose and manage content with precision and ease. Whether for document editing, note-taking, or content creation tools, the Block Editor offers a seamless editing experience.
14+
15+
<p align="center">
16+
<a href="https://ej2.syncfusion.com/documentation/block-editor/getting-started/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-blockeditor-npm">Getting Started</a> .
17+
<a href="https://ej2.syncfusion.com/demos/?utm_source=npm&utm_medium=listing&utm_campaign=javascript-blockeditor-npm#/fluent2/block-editor/overview.html">Online demos</a> .
18+
<a href="https://www.syncfusion.com/javascript-ui-controls/js-blockeditor?utm_source=npm&utm_medium=listing&utm_campaign=javascript-blockeditor-npm">Learn more</a>
19+
</p>
20+
21+
<p align="center">
22+
<img alt="JavaScript Block Editor Control" src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/javascript/javascript-blockeditor.png">
23+
</p>
24+
25+
## Key features
26+
27+
* **Multiple block types**: Includes Heading levels 1-4, Paragraph, Lists, Checklist, Quote, Callout, Divider, Code block, and more.
28+
* **Slash commands**: Interactive `/` commands to insert or transform content blocks efficiently.
29+
* **Drag and drop**: Reorder blocks effortlessly with built-in drag-and-drop support.
30+
* **Rich text formatting**: Apply styles such as Bold, Italic, Underline, Strikethrough, Uppercase and more.
31+
* **Action menu**: Perform block-level operations such as Move, Delete, and Duplicate.
32+
* **Contextmenu support**: Right-click context menus for quick block actions.
33+
* **Inline content support**: Insert inline elements like Links, Labels and Mention directly within blocks.
34+
* **Undo/Redo operations**: Undo and redo support for the user interactions.
35+
36+
<p align="center">
37+
Trusted by the world's leading companies
38+
<a href="https://www.syncfusion.com/">
39+
<img src="https://raw.githubusercontent.com/SyncfusionExamples/nuget-img/master/syncfusion/syncfusion-trusted-companies.webp" alt="Syncfusion logo">
40+
</a>
41+
</p>
42+
43+
## Setup
44+
45+
To install `blockeditor` and its dependent packages, use the following command,
46+
47+
```sh
48+
npm install @syncfusion/ej2-blockeditor
49+
```
50+
51+
## Supported frameworks
52+
53+
Input controls are also offered in following list of frameworks.
54+
55+
| [<img src="https://ej2.syncfusion.com/github/images/angular-new.svg" height="50" />](https://www.syncfusion.com/angular-ui-components?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Angular](https://www.syncfusion.com/angular-ui-components?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/react.svg" height="50" />](https://www.syncfusion.com/react-ui-components?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[React](https://www.syncfusion.com/react-ui-components?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/vue.svg" height="50" />](https://www.syncfusion.com/vue-ui-components?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Vue](https://www.syncfusion.com/vue-ui-components?utm_medium=listing&utm_source=github)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/netcore.svg" height="50" />](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;[ASP.NET&nbsp;Core](https://www.syncfusion.com/aspnet-core-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp; | [<img src="https://ej2.syncfusion.com/github/images/netmvc.svg" height="50" />](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github)<br/>&nbsp;&nbsp;[ASP.NET&nbsp;MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_medium=listing&utm_source=github)&nbsp;&nbsp; |
56+
| :-----: | :-----: | :-----: | :-----: | :-----: |
57+
58+
## Showcase samples
59+
60+
* Expanse Tracker - [Source](https://github.com/syncfusion/ej2-sample-ts-expensetracker), [Live Demo]( https://ej2.syncfusion.com/showcase/typescript/expensetracker/?utm_source=npm&utm_campaign=numerictextbox#/expense)
61+
* Loan Calculator - [Source](https://github.com/syncfusion/ej2-sample-ts-loancalculator), [Live Demo]( https://ej2.syncfusion.com/showcase/typescript/loancalculator/?utm_source=npm&utm_campaign=slider)
62+
* Cloud Pricing - [Live Demo](https://ej2.syncfusion.com/demos/?utm_source=npm&utm_campaign=slider#/fluent2/slider/azure-pricing.html)
63+
64+
## Support
65+
66+
Product support is available through following mediums.
67+
68+
* [Support ticket](https://support.syncfusion.com/support/tickets/create) - Guaranteed Response in 24 hours | Unlimited tickets | Holiday support
69+
* [Community forum](https://www.syncfusion.com/forums/essential-js2?utm_source=npm&utm_medium=listing&utm_campaign=javascript-blockeditor-npm)
70+
* [GitHub issues](https://github.com/syncfusion/ej2-javascript-ui-controls/issues/new)
71+
* [Request feature or report bug](https://www.syncfusion.com/feedback/javascript?utm_source=npm&utm_medium=listing&utm_campaign=javascript-blockeditor-npm)
72+
* Live chat
73+
74+
## Changelog
75+
76+
Check the changelog [here](https://github.com/syncfusion/ej2-javascript-ui-controls/blob/master/controls/blockeditor/CHANGELOG.md/?utm_source=npm&utm_campaign=input). Get minor improvements and bug fixes every week to stay up to date with frequent updates.
77+
78+
## License and copyright
79+
80+
> This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's [EULA](https://www.syncfusion.com/eula/es/). To acquire a license for 80+ [JavaScript UI controls](https://www.syncfusion.com/javascript-ui-controls), you can [purchase](https://www.syncfusion.com/sales/products) or [start a free 30-day trial](https://www.syncfusion.com/account/manage-trials/start-trials).
81+
82+
> A [free community license](https://www.syncfusion.com/products/communitylicense) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
83+
84+
See [LICENSE FILE](https://github.com/syncfusion/ej2-javascript-ui-controls/blob/master/license/?utm_source=npm&utm_campaign=input) for more info.
85+
86+
&copy; Copyright 2025 Syncfusion, Inc. All Rights Reserved. The Syncfusion Essential Studio license and copyright applies to this distribution.

controls/blockeditor/gulpfile.js

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
'use strict';
2+
3+
var gulp = require('gulp');
4+
5+
/**
6+
* Build ts and scss files
7+
*/
8+
gulp.task('build', gulp.series('scripts', 'styles'));
9+
10+
/**
11+
* Compile ts files
12+
*/
13+
gulp.task('scripts', function(done) {
14+
var ts = require('gulp-typescript');
15+
var tsProject = ts.createProject('tsconfig.json', { typescript: require('typescript') });
16+
17+
var tsResult = gulp.src(['./**/*.ts','./**/*.tsx', '!./node_modules/**/*.ts','!./node_modules/**/*.tsx'], { base: '.' })
18+
.pipe(tsProject());
19+
tsResult.js.pipe(gulp.dest('./'))
20+
.on('end', function() {
21+
done();
22+
});
23+
});
24+
25+
/**
26+
* Compile styles
27+
*/
28+
gulp.task('styles', function() {
29+
var sass = require('gulp-sass');
30+
return gulp.src(['./**/*.scss', '!./node_modules/**/*.scss'], { base: './' })
31+
.pipe(sass({
32+
outputStyle: 'expanded',
33+
includePaths: './node_modules/@syncfusion/'
34+
}))
35+
.pipe(gulp.dest('.'));
36+
});
37+
38+
/* jshint strict: false */
39+
/* jshint undef: false */
40+
41+
var service, proxyPort;
42+
43+
/**
44+
* Run test scripts
45+
*/
46+
gulp.task('test', function(done) {
47+
var path = require('path');
48+
var packageJson = require('./package.json');
49+
if (packageJson.dependencies['@syncfusion/ej2-data'] || packageJson.name === '@syncfusion/ej2-data') {
50+
console.log('Service Started');
51+
var spawn = require('child_process').spawn;
52+
service = spawn('node', [path.join(__dirname, '/spec/services/V4service.js')]);
53+
54+
service.stdout.on('data', (data) => {
55+
proxyPort = data.toString().trim();
56+
console.log('Proxy port: ' + proxyPort);
57+
startKarma(done);
58+
});
59+
} else {
60+
startKarma(done);
61+
}
62+
});
63+
64+
function startKarma(done) {
65+
var karma = require('karma');
66+
return new karma.Server({
67+
configFile: __dirname + '/karma.conf.js',
68+
singleRun: true,
69+
browsers: ['ChromeHeadless']
70+
}, function(e) {
71+
if (service) {
72+
service.kill();
73+
}
74+
if (e === 1) {
75+
console.log('Karma has exited with ' + e);
76+
process.exit(e);
77+
} else {
78+
done();
79+
}
80+
}).start();
81+
}

controls/blockeditor/karma.conf.js

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
// Karma configuration
2+
// Generated on Tue Apr 26 2016 09:56:05 GMT+0530 (India Standard Time)
3+
4+
module.exports = function (config) {
5+
config.set({
6+
7+
// base path that will be used to resolve all patterns (eg. files, exclude)
8+
basePath: '',
9+
10+
11+
// frameworks to use
12+
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
13+
frameworks: ['jasmine-ajax', 'jasmine', 'requirejs'],
14+
15+
16+
// list of files / patterns to load in the browser
17+
files: [
18+
"node_modules/@syncfusion/ej2-base/styles/material.css",
19+
"node_modules/@syncfusion/ej2-icons/styles/material.css",
20+
"node_modules/@syncfusion/ej2-lists/styles/material.css",
21+
"node_modules/@syncfusion/ej2-popups/styles/material.css",
22+
"node_modules/@syncfusion/ej2-buttons/styles/material.css",
23+
"node_modules/@syncfusion/ej2-inputs/styles/material.css",
24+
"node_modules/@syncfusion/ej2-notifications/styles/material.css",
25+
"node_modules/@syncfusion/ej2-navigations/styles/material.css",
26+
"node_modules/@syncfusion/ej2-splitbuttons/styles/material.css",
27+
"node_modules/@syncfusion/ej2-dropdowns/styles/material.css",
28+
29+
"styles/material.css",
30+
31+
"test-main.js",
32+
{ pattern: "src/**/*.js", included: false },
33+
{ pattern: "spec/**/*.spec.js", included: false },
34+
35+
{ pattern: "node_modules/@syncfusion/ej2-base/**/*.js", included: false },
36+
{ pattern: "node_modules/@syncfusion/ej2-data/**/*.js", included: false },
37+
{ pattern: "node_modules/@syncfusion/ej2-lists/**/*.js", included: false },
38+
{ pattern: "node_modules/@syncfusion/ej2-popups/**/*.js", included: false },
39+
{ pattern: "node_modules/@syncfusion/ej2-buttons/**/*.js", included: false },
40+
{ pattern: "node_modules/@syncfusion/ej2-inputs/**/*.js", included: false },
41+
{ pattern: "node_modules/@syncfusion/ej2-notifications/**/*.js", included: false },
42+
{ pattern: "node_modules/@syncfusion/ej2-navigations/**/*.js", included: false },
43+
{ pattern: "node_modules/@syncfusion/ej2-splitbuttons/**/*.js", included: false },
44+
{ pattern: "node_modules/@syncfusion/ej2-dropdowns/**/*.js", included: false },
45+
// Add dependent package's script files here
46+
],
47+
48+
49+
// list of files to exclude
50+
exclude: [
51+
],
52+
53+
54+
// preprocess matching files before serving them to the browser
55+
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
56+
preprocessors: {},
57+
58+
59+
// test results reporter to use
60+
// possible values: 'dots', 'progress'
61+
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
62+
reporters: ['dots', 'html'],
63+
64+
// the default html configuration
65+
htmlReporter: {
66+
outputFile: "test-report/units.html",
67+
pageTitle: "Unit Tests",
68+
subPageTitle: "Asampleprojectdescription"
69+
},
70+
71+
// web server port
72+
port: 9876,
73+
74+
75+
// enable / disable colors in the output (reporters and logs)
76+
colors: true,
77+
78+
79+
// level of logging
80+
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
81+
logLevel: config.LOG_INFO,
82+
83+
84+
// enable / disable watching file and executing tests whenever any file changes
85+
autoWatch: true,
86+
87+
88+
// start these browsers
89+
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
90+
// browsers: ['ChromeHeadless', 'Chrome', 'Firefox'],
91+
browsers: ['ChromeHeadless', 'Chrome'],
92+
93+
// Continuous Integration mode
94+
// if true, Karma captures browsers, runs the tests and exits
95+
singleRun: false,
96+
97+
// Concurrency level
98+
// how many browser should be started simultaneous
99+
concurrency: Infinity,
100+
failOnEmptyTestSuite: false,
101+
102+
103+
coverageReporter: {
104+
type: "html",
105+
check: {
106+
each: {
107+
statements: 90,
108+
branches: 90,
109+
functions: 100,
110+
lines: 90
111+
}
112+
}
113+
}
114+
})
115+
}

controls/blockeditor/license

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Essential JS 2 library is available under the Syncfusion Essential Studio program, and can be licensed either under the Syncfusion Community License Program or the Syncfusion commercial license.
2+
3+
To be qualified for the Syncfusion Community License Program you must have a gross revenue of less than one (1) million U.S. dollars ($1,000,000.00 USD) per year and have less than five (5) developers in your organization, and agree to be bound by Syncfusion’s terms and conditions.
4+
5+
Customers who do not qualify for the community license can contact [email protected] for commercial licensing options.
6+
7+
Under no circumstances can you use this product without (1) either a Community License or a commercial license and (2) without agreeing and abiding by Syncfusion’s license containing all terms and conditions.
8+
9+
The Syncfusion license that contains the terms and conditions can be found at
10+
https://www.syncfusion.com/content/downloads/syncfusion_license.pdf

0 commit comments

Comments
 (0)