igniteui-webcomponents 6.3.5 → 6.3.6
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
CHANGED
|
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
|
5
5
|
and this project adheres to [Semantic Versioning](http://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [6.3.6] - 2025-11-14
|
|
8
|
+
### Fixed
|
|
9
|
+
- #### Date picker
|
|
10
|
+
- Value not committed on browser auto-fill behavior [#1932](https://github.com/IgniteUI/igniteui-webcomponents/pull/1932)
|
|
11
|
+
|
|
7
12
|
## [6.3.5] - 2025-11-13
|
|
8
13
|
### Changed
|
|
9
14
|
- **License Update**: The project license has been updated to the MIT License, providing greater flexibility and openness for the community. This change reflects our commitment to fostering an inclusive and collaborative development environment while maintaining the high-quality standards you expect from Ignite UI Web Components.
|
|
@@ -1054,6 +1059,7 @@ Initial release of Ignite UI Web Components
|
|
|
1054
1059
|
- Ripple component
|
|
1055
1060
|
- Switch component
|
|
1056
1061
|
|
|
1062
|
+
[6.3.6]: https://github.com/IgniteUI/igniteui-webcomponents/compare/6.3.5...6.3.6
|
|
1057
1063
|
[6.3.5]: https://github.com/IgniteUI/igniteui-webcomponents/compare/6.3.4...6.3.5
|
|
1058
1064
|
[6.3.4]: https://github.com/IgniteUI/igniteui-webcomponents/compare/6.3.3...6.3.4
|
|
1059
1065
|
[6.3.3]: https://github.com/IgniteUI/igniteui-webcomponents/compare/6.3.2...6.3.3
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}[part~=suffixed] [part=suffix],[part~=prefixed] [part=prefix]{display:flex;align-items:center}:host{position:relative;display:block;font-family:var(--ig-font-family);outline-style:none}::slotted(igc-icon){--component-size: var(--input-size) !important}[part=label]{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[part~=input]{width:100%;border:none;outline-style:none;font-family:var(--ig-font-family);z-index:1}[part~=input]:-webkit-autofill
|
|
2
|
+
export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}[part~=suffixed] [part=suffix],[part~=prefixed] [part=prefix]{display:flex;align-items:center}:host{position:relative;display:block;font-family:var(--ig-font-family);outline-style:none}::slotted(igc-icon){--component-size: var(--input-size) !important}[part=label]{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[part~=input]{width:100%;border:none;outline-style:none;font-family:var(--ig-font-family);z-index:1}[part~=input]:is(:-webkit-autofill,:-webkit-autofill){-webkit-transition-property:background-color,color !important;transition-property:background-color,color !important;transition-delay:99999s !important}[part~=input]:is(:-webkit-autofill,:autofill){-webkit-transition-property:background-color,color !important;transition-property:background-color,color !important;transition-delay:99999s !important}[part^=container]{position:relative;display:grid}[part=prefix],[part=suffix]{display:none;overflow:hidden}:host([required]) [part=label]::after{content:"*"}:host([disabled]){pointer-events:none}`;
|
|
3
3
|
//# sourceMappingURL=input.base.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.base.css.js","sourceRoot":"","sources":["../../../../src/components/input/themes/input.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"input.base.css.js","sourceRoot":"","sources":["../../../../src/components/input/themes/input.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,m9DAAm9D,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}[part~=suffixed] [part=suffix],[part~=prefixed] [part=prefix]{display:flex;align-items:center}:host{position:relative;display:block;font-family:var(--ig-font-family);outline-style:none}::slotted(igc-icon){--component-size: var(--input-size) !important}[part=label]{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[part~=input]{width:100%;border:none;outline-style:none;font-family:var(--ig-font-family);z-index:1}[part~=input]:is(:-webkit-autofill,:-webkit-autofill){-webkit-transition-property:background-color,color !important;transition-property:background-color,color !important;transition-delay:99999s !important}[part~=input]:is(:-webkit-autofill,:autofill){-webkit-transition-property:background-color,color !important;transition-property:background-color,color !important;transition-delay:99999s !important}[part^=container]{position:relative;display:grid}[part=prefix],[part=suffix]{display:none;overflow:hidden}:host([required]) [part=label]::after{content:\"*\"}:host([disabled]){pointer-events:none}`;\n"]}
|
|
@@ -63,6 +63,11 @@ let IgcMaskInputBaseComponent = class IgcMaskInputBaseComponent extends IgcInput
|
|
|
63
63
|
});
|
|
64
64
|
case 'insertFromDrop':
|
|
65
65
|
return this._updateInput(value.substring(this._inputSelection.start, this._inputSelection.end), { ...this._inputSelection });
|
|
66
|
+
case undefined:
|
|
67
|
+
return this._updateInput(value.substring(start, this._inputSelection.end), {
|
|
68
|
+
start,
|
|
69
|
+
end: this._inputSelection.end,
|
|
70
|
+
});
|
|
66
71
|
}
|
|
67
72
|
}
|
|
68
73
|
_setMaskSelection() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mask-input-base.js","sourceRoot":"","sources":["../../../src/components/mask-input/mask-input-base.ts"],"names":[],"mappings":"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","sourcesContent":["import { property, state } from 'lit/decorators.js';\nimport { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';\nimport { IgcInputBaseComponent } from '../input/input-base.js';\nimport type { RangeTextSelectMode, SelectionRangeDirection } from '../types.js';\nimport { MaskParser } from './mask-parser.js';\n\nexport type MaskSelection = {\n start: number;\n end: number;\n};\n\n@blazorDeepImport\nexport abstract class IgcMaskInputBaseComponent extends IgcInputBaseComponent {\n //#region Internal state and properties\n\n protected readonly _parser = new MaskParser();\n\n protected _maskSelection: MaskSelection = { start: 0, end: 0 };\n protected compositionStart = 0;\n\n @state()\n protected _focused = false;\n\n @state()\n protected _maskedValue = '';\n\n protected get _inputSelection(): MaskSelection {\n return {\n start: this.input.selectionStart || 0,\n end: this.input.selectionEnd || 0,\n };\n }\n\n //#endregion\n\n //#region Public attributes and properties\n\n /**\n * The masked pattern of the component.\n *\n * @attr\n * @default 'CCCCCCCCCC'\n */\n @property()\n public set mask(value: string) {\n this._parser.mask = value;\n }\n\n public get mask(): string {\n return this._parser.mask;\n }\n\n /**\n * The prompt symbol to use for unfilled parts of the mask pattern.\n *\n * @attr\n * @default '_'\n */\n @property()\n public set prompt(value: string) {\n this._parser.prompt = value;\n }\n\n public get prompt(): string {\n return this._parser.prompt;\n }\n\n //#endregion\n\n //#region Event handlers\n\n protected async _handleInput({\n inputType,\n isComposing,\n }: InputEvent): Promise<void> {\n const value = this.input.value;\n const { start, end } = this._maskSelection;\n const deletePosition = this._parser.getNextNonLiteralPosition(end) + 1;\n this._setTouchedState();\n\n switch (inputType) {\n case 'deleteContentForward':\n this._updateInput('', { start, end: deletePosition });\n await this.updateComplete;\n return this.input.setSelectionRange(deletePosition, deletePosition);\n\n case 'deleteContentBackward':\n if (isComposing) return;\n return this._updateInput('', {\n start: this._parser.getPreviousNonLiteralPosition(\n this._inputSelection.start\n ),\n end,\n });\n\n case 'deleteByCut':\n return this._updateInput('', this._maskSelection);\n\n case 'insertText':\n return this._updateInput(\n value.substring(start, this._inputSelection.end),\n this._maskSelection\n );\n\n case 'insertFromPaste':\n return this._updateInput(\n value.substring(start, this._inputSelection.end),\n {\n start,\n end: this._inputSelection.start,\n }\n );\n\n case 'insertFromDrop':\n return this._updateInput(\n value.substring(this._inputSelection.start, this._inputSelection.end),\n { ...this._inputSelection }\n );\n }\n }\n\n protected _setMaskSelection(): void {\n this._maskSelection = this._inputSelection;\n }\n\n protected _handleCompositionStart(): void {\n this.compositionStart = this._inputSelection.start;\n }\n\n protected _handleCompositionEnd({ data }: CompositionEvent): void {\n this._updateInput(data, {\n start: this.compositionStart,\n end: this._inputSelection.end,\n });\n }\n\n protected _handleClick(): void {\n const { selectionStart: start, selectionEnd: end } = this.input;\n\n // Clicking at the end of the input field will select the entire mask\n if (start === end && start === this._maskedValue.length) {\n this.select();\n }\n }\n\n //#endregion\n\n //#region Internal methods\n\n protected abstract _updateSetRangeTextValue(): void;\n protected abstract _updateInput(text: string, range: MaskSelection): void;\n\n //#endregion\n\n //#region Public methods\n\n /** Selects all text within the input. */\n public select(): void {\n this.input.select();\n }\n\n /* blazorSuppress */\n public override setSelectionRange(\n start: number,\n end: number,\n direction?: SelectionRangeDirection\n ): void {\n super.setSelectionRange(start, end, direction);\n this._maskSelection = { start, end };\n }\n\n /* blazorSuppress */\n /** Replaces the selected text in the control and re-applies the mask */\n public override setRangeText(\n replacement: string,\n start?: number,\n end?: number,\n selectMode?: RangeTextSelectMode\n ) {\n const current = this._inputSelection;\n const _start = start ?? current.start;\n const _end = end ?? current.end;\n\n const result = this._parser.replace(\n this._maskedValue || this._parser.emptyMask,\n replacement,\n _start,\n _end\n );\n this._maskedValue = this._parser.apply(this._parser.parse(result.value));\n this._updateSetRangeTextValue();\n\n this.updateComplete.then(() => {\n switch (selectMode) {\n case 'select':\n this.setSelectionRange(_start, _end);\n break;\n case 'start':\n this.setSelectionRange(_start, _start);\n break;\n case 'end':\n this.setSelectionRange(_end, _end);\n break;\n default:\n this.setSelectionRange(current.start, current.end);\n }\n });\n }\n\n //#endregion\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mask-input-base.js","sourceRoot":"","sources":["../../../src/components/mask-input/mask-input-base.ts"],"names":[],"mappings":"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","sourcesContent":["import { property, state } from 'lit/decorators.js';\nimport { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';\nimport { IgcInputBaseComponent } from '../input/input-base.js';\nimport type { RangeTextSelectMode, SelectionRangeDirection } from '../types.js';\nimport { MaskParser } from './mask-parser.js';\n\nexport type MaskSelection = {\n start: number;\n end: number;\n};\n\n@blazorDeepImport\nexport abstract class IgcMaskInputBaseComponent extends IgcInputBaseComponent {\n //#region Internal state and properties\n\n protected readonly _parser = new MaskParser();\n\n protected _maskSelection: MaskSelection = { start: 0, end: 0 };\n protected compositionStart = 0;\n\n @state()\n protected _focused = false;\n\n @state()\n protected _maskedValue = '';\n\n protected get _inputSelection(): MaskSelection {\n return {\n start: this.input.selectionStart || 0,\n end: this.input.selectionEnd || 0,\n };\n }\n\n //#endregion\n\n //#region Public attributes and properties\n\n /**\n * The masked pattern of the component.\n *\n * @attr\n * @default 'CCCCCCCCCC'\n */\n @property()\n public set mask(value: string) {\n this._parser.mask = value;\n }\n\n public get mask(): string {\n return this._parser.mask;\n }\n\n /**\n * The prompt symbol to use for unfilled parts of the mask pattern.\n *\n * @attr\n * @default '_'\n */\n @property()\n public set prompt(value: string) {\n this._parser.prompt = value;\n }\n\n public get prompt(): string {\n return this._parser.prompt;\n }\n\n //#endregion\n\n //#region Event handlers\n\n protected async _handleInput({\n inputType,\n isComposing,\n }: InputEvent): Promise<void> {\n const value = this.input.value;\n const { start, end } = this._maskSelection;\n const deletePosition = this._parser.getNextNonLiteralPosition(end) + 1;\n this._setTouchedState();\n\n switch (inputType) {\n case 'deleteContentForward':\n this._updateInput('', { start, end: deletePosition });\n await this.updateComplete;\n return this.input.setSelectionRange(deletePosition, deletePosition);\n\n case 'deleteContentBackward':\n if (isComposing) return;\n return this._updateInput('', {\n start: this._parser.getPreviousNonLiteralPosition(\n this._inputSelection.start\n ),\n end,\n });\n\n case 'deleteByCut':\n return this._updateInput('', this._maskSelection);\n\n case 'insertText':\n return this._updateInput(\n value.substring(start, this._inputSelection.end),\n this._maskSelection\n );\n\n case 'insertFromPaste':\n return this._updateInput(\n value.substring(start, this._inputSelection.end),\n {\n start,\n end: this._inputSelection.start,\n }\n );\n\n case 'insertFromDrop':\n return this._updateInput(\n value.substring(this._inputSelection.start, this._inputSelection.end),\n { ...this._inputSelection }\n );\n\n // Potential browser auto-fill behavior\n case undefined:\n return this._updateInput(\n value.substring(start, this._inputSelection.end),\n {\n start,\n end: this._inputSelection.end,\n }\n );\n }\n }\n\n protected _setMaskSelection(): void {\n this._maskSelection = this._inputSelection;\n }\n\n protected _handleCompositionStart(): void {\n this.compositionStart = this._inputSelection.start;\n }\n\n protected _handleCompositionEnd({ data }: CompositionEvent): void {\n this._updateInput(data, {\n start: this.compositionStart,\n end: this._inputSelection.end,\n });\n }\n\n protected _handleClick(): void {\n const { selectionStart: start, selectionEnd: end } = this.input;\n\n // Clicking at the end of the input field will select the entire mask\n if (start === end && start === this._maskedValue.length) {\n this.select();\n }\n }\n\n //#endregion\n\n //#region Internal methods\n\n protected abstract _updateSetRangeTextValue(): void;\n protected abstract _updateInput(text: string, range: MaskSelection): void;\n\n //#endregion\n\n //#region Public methods\n\n /** Selects all text within the input. */\n public select(): void {\n this.input.select();\n }\n\n /* blazorSuppress */\n public override setSelectionRange(\n start: number,\n end: number,\n direction?: SelectionRangeDirection\n ): void {\n super.setSelectionRange(start, end, direction);\n this._maskSelection = { start, end };\n }\n\n /* blazorSuppress */\n /** Replaces the selected text in the control and re-applies the mask */\n public override setRangeText(\n replacement: string,\n start?: number,\n end?: number,\n selectMode?: RangeTextSelectMode\n ) {\n const current = this._inputSelection;\n const _start = start ?? current.start;\n const _end = end ?? current.end;\n\n const result = this._parser.replace(\n this._maskedValue || this._parser.emptyMask,\n replacement,\n _start,\n _end\n );\n this._maskedValue = this._parser.apply(this._parser.parse(result.value));\n this._updateSetRangeTextValue();\n\n this.updateComplete.then(() => {\n switch (selectMode) {\n case 'select':\n this.setSelectionRange(_start, _end);\n break;\n case 'start':\n this.setSelectionRange(_start, _start);\n break;\n case 'end':\n this.setSelectionRange(_end, _end);\n break;\n default:\n this.setSelectionRange(current.start, current.end);\n }\n });\n }\n\n //#endregion\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "igniteui-webcomponents",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.6",
|
|
4
4
|
"description": "Ignite UI for Web Components is a complete library of UI components, giving you the ability to build modern web applications using encapsulation and the concept of reusable components in a dependency-free approach.",
|
|
5
5
|
"author": "Infragistics",
|
|
6
6
|
"license": "MIT",
|