@seniorsistemas/angular-components 19.8.0 → 19.9.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/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +2 -1
- package/code-editor/lib/code-editor/core/facades/core-facade.d.ts +3 -1
- package/code-editor/lib/code-editor/infra/cores/codemirror-6/codemirror-6-core.d.ts +12 -2
- package/drawer/README.md +119 -0
- package/drawer/index.d.ts +5 -0
- package/{sidebar/lib/sidebar/sidebar.component.d.ts → drawer/lib/drawer/drawer.component.d.ts} +18 -15
- package/drawer/lib/drawer/drawer.module.d.ts +8 -0
- package/drawer/public-api.d.ts +2 -0
- package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +6 -3
- package/esm2022/code-editor/lib/code-editor/core/facades/core-facade.mjs +7 -1
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/codemirror-6-core.mjs +47 -22
- package/esm2022/drawer/lib/drawer/drawer.component.mjs +192 -0
- package/esm2022/drawer/lib/drawer/drawer.module.mjs +17 -0
- package/esm2022/drawer/public-api.mjs +3 -0
- package/esm2022/drawer/seniorsistemas-angular-components-drawer.mjs +5 -0
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +4 -5
- package/esm2022/lib/locale/fallback.mjs +3 -2
- package/esm2022/select/lib/select/select.component.mjs +11 -14
- package/esm2022/side-sheet/lib/side-sheet/models/side-sheet-config.mjs +2 -0
- package/esm2022/side-sheet/lib/side-sheet/models/side-sheet-size.mjs +2 -0
- package/esm2022/side-sheet/lib/side-sheet/services/side-sheet.service.mjs +82 -0
- package/esm2022/side-sheet/lib/side-sheet/side-sheet.component.mjs +171 -0
- package/esm2022/side-sheet/public-api.mjs +3 -0
- package/esm2022/side-sheet/seniorsistemas-angular-components-side-sheet.mjs +5 -0
- package/esm2022/sidebar/public-api.mjs +12 -3
- package/esm2022/switch/lib/switch/switch.component.mjs +5 -3
- package/esm2022/switch/lib/switch/switch.module.mjs +2 -2
- package/esm2022/tabs/lib/tab-item/tab-item.component.mjs +4 -3
- package/esm2022/tabs/lib/tabs/tabs.component.mjs +14 -10
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +82 -75
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +3 -3
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +35 -18
- package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.event.service.mjs +2 -1
- package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +89 -77
- package/esm2022/toast/lib/toast/toast.service.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +5 -2
- package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +52 -21
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-drawer.mjs +211 -0
- package/fesm2022/seniorsistemas-angular-components-drawer.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +3 -4
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select.mjs +10 -13
- package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs +257 -0
- package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-sidebar.mjs +10 -180
- package/fesm2022/seniorsistemas-angular-components-sidebar.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-switch.mjs +5 -3
- package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tabs.mjs +16 -11
- package/fesm2022/seniorsistemas-angular-components-tabs.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +201 -164
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-toast.mjs +1 -1
- package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components.mjs +2 -1
- package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
- package/package.json +19 -7
- package/select/lib/select/select.component.d.ts +2 -1
- package/side-sheet/README.md +184 -0
- package/side-sheet/index.d.ts +5 -0
- package/side-sheet/lib/side-sheet/models/side-sheet-config.d.ts +20 -0
- package/side-sheet/lib/side-sheet/models/side-sheet-size.d.ts +1 -0
- package/side-sheet/lib/side-sheet/services/side-sheet.service.d.ts +49 -0
- package/side-sheet/lib/side-sheet/side-sheet.component.d.ts +61 -0
- package/side-sheet/public-api.d.ts +4 -0
- package/sidebar/README.md +20 -93
- package/sidebar/public-api.d.ts +11 -2
- package/tabs/lib/tab-item/tab-item.component.d.ts +1 -0
- package/tabs/lib/tabs/tabs.component.d.ts +2 -1
- package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +19 -7
- package/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +4 -3
- package/tiered-menu/lib/tiered-menu/services/tiered-menu.event.service.d.ts +1 -0
- package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +6 -5
- package/esm2022/sidebar/lib/sidebar/sidebar.component.mjs +0 -169
- package/esm2022/sidebar/lib/sidebar/sidebar.module.mjs +0 -17
- package/sidebar/lib/sidebar/sidebar.module.d.ts +0 -8
|
@@ -83,6 +83,12 @@ class CoreFacade {
|
|
|
83
83
|
notifyCoreFinishLoad() {
|
|
84
84
|
this.$onCoreFinishLoad.next();
|
|
85
85
|
}
|
|
86
|
+
resetCoreFinishLoad() {
|
|
87
|
+
this.$onCoreFinishLoad = new ReplaySubject(1);
|
|
88
|
+
}
|
|
89
|
+
resetLastCodeEmitted() {
|
|
90
|
+
this._lastCodeEmitted = '';
|
|
91
|
+
}
|
|
86
92
|
notifyCodeChange(code) {
|
|
87
93
|
const safeCode = this.getSafeCode(code);
|
|
88
94
|
if (safeCode !== this._lastCodeEmitted) {
|
|
@@ -1431,19 +1437,29 @@ class EditorThemes {
|
|
|
1431
1437
|
|
|
1432
1438
|
class CodeMirror6Core extends CoreFacade {
|
|
1433
1439
|
static $onCompletionItemsUpdate = new Subject();
|
|
1434
|
-
|
|
1435
|
-
static
|
|
1440
|
+
/** Referência à instância ativa — usada pelos métodos estáticos de compatibilidade */
|
|
1441
|
+
static _activeInstance = null;
|
|
1442
|
+
_ngUnsubscribe = new Subject();
|
|
1443
|
+
_editorView = null;
|
|
1436
1444
|
/* These are necessary for the setCode and setEditorOptions can be called before view has been created */
|
|
1437
1445
|
_codeReceivedBeforeViewCreation = '';
|
|
1438
1446
|
_editorOptionsReceivedBeforeViewCreation = [];
|
|
1439
1447
|
constructor() {
|
|
1440
1448
|
super();
|
|
1441
1449
|
}
|
|
1450
|
+
/**
|
|
1451
|
+
* Acesso estático à EditorView da instância ativa.
|
|
1452
|
+
* Mantido para compatibilidade com extensões (autocomplete TaxCalculation).
|
|
1453
|
+
*/
|
|
1442
1454
|
static getEditorView() {
|
|
1443
|
-
return CodeMirror6Core._editorView;
|
|
1455
|
+
return CodeMirror6Core._activeInstance?._editorView;
|
|
1444
1456
|
}
|
|
1457
|
+
/**
|
|
1458
|
+
* Dispatch estático na EditorView da instância ativa.
|
|
1459
|
+
* Mantido para compatibilidade com extensões (autocomplete TaxCalculation).
|
|
1460
|
+
*/
|
|
1445
1461
|
static updateEditorView(...transactionSpecs) {
|
|
1446
|
-
CodeMirror6Core._editorView?.dispatch(...transactionSpecs);
|
|
1462
|
+
CodeMirror6Core._activeInstance?._editorView?.dispatch(...transactionSpecs);
|
|
1447
1463
|
}
|
|
1448
1464
|
setCoreWrapperElement(element) {
|
|
1449
1465
|
this.createEditorView(element);
|
|
@@ -1452,19 +1468,27 @@ class CodeMirror6Core extends CoreFacade {
|
|
|
1452
1468
|
this.changeEditorContent(code);
|
|
1453
1469
|
}
|
|
1454
1470
|
initCore() {
|
|
1471
|
+
CodeMirror6Core._activeInstance = this;
|
|
1472
|
+
this._ngUnsubscribe = new Subject();
|
|
1473
|
+
this.resetLastCodeEmitted();
|
|
1455
1474
|
this.setObservablesListeners();
|
|
1456
1475
|
}
|
|
1457
1476
|
destroyCore() {
|
|
1458
1477
|
this._codeReceivedBeforeViewCreation = '';
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1478
|
+
this._editorView?.destroy();
|
|
1479
|
+
this._editorView = null;
|
|
1480
|
+
this._ngUnsubscribe.next();
|
|
1481
|
+
this._ngUnsubscribe.complete();
|
|
1482
|
+
this.resetCoreFinishLoad();
|
|
1483
|
+
if (CodeMirror6Core._activeInstance === this) {
|
|
1484
|
+
CodeMirror6Core._activeInstance = null;
|
|
1485
|
+
}
|
|
1462
1486
|
}
|
|
1463
1487
|
setCoreEditorOptions(options) {
|
|
1464
1488
|
const language = EditorLanguages.getLanguage(options.language);
|
|
1465
1489
|
const theme = EditorThemes.getTheme(options.theme);
|
|
1466
|
-
if (
|
|
1467
|
-
|
|
1490
|
+
if (this._editorView) {
|
|
1491
|
+
this._editorView.dispatch({
|
|
1468
1492
|
effects: StateEffect.reconfigure.of([language, theme, this.getCodeChangeListenerExtension()]),
|
|
1469
1493
|
});
|
|
1470
1494
|
}
|
|
@@ -1473,16 +1497,23 @@ class CodeMirror6Core extends CoreFacade {
|
|
|
1473
1497
|
}
|
|
1474
1498
|
}
|
|
1475
1499
|
highlightCode(markers) {
|
|
1476
|
-
|
|
1477
|
-
|
|
1500
|
+
if (!this._editorView) {
|
|
1501
|
+
return;
|
|
1502
|
+
}
|
|
1503
|
+
const diagnostics = convertMarkersToDiagnostics(markers, this._editorView.state.doc.length);
|
|
1504
|
+
this._editorView.dispatch(setDiagnostics(this._editorView.state, diagnostics));
|
|
1478
1505
|
}
|
|
1479
1506
|
setObservablesListeners() {
|
|
1480
1507
|
CodeMirror6Core.$onCompletionItemsUpdate
|
|
1481
|
-
.pipe(takeUntil(
|
|
1508
|
+
.pipe(takeUntil(this._ngUnsubscribe))
|
|
1482
1509
|
.subscribe((items) => this.updateCompletionItems(items));
|
|
1483
1510
|
}
|
|
1484
1511
|
createEditorView(parentElement) {
|
|
1485
|
-
|
|
1512
|
+
// Destruir view anterior caso exista (re-criação)
|
|
1513
|
+
if (this._editorView) {
|
|
1514
|
+
this._editorView.destroy();
|
|
1515
|
+
}
|
|
1516
|
+
this._editorView = new EditorView({
|
|
1486
1517
|
parent: parentElement,
|
|
1487
1518
|
state: EditorState.create({
|
|
1488
1519
|
doc: this._codeReceivedBeforeViewCreation,
|
|
@@ -1495,11 +1526,11 @@ class CodeMirror6Core extends CoreFacade {
|
|
|
1495
1526
|
return EditorView.updateListener.of((update) => update.docChanged && this.notifyCodeChange(update.state.doc.toString()));
|
|
1496
1527
|
}
|
|
1497
1528
|
changeEditorContent(code) {
|
|
1498
|
-
if (
|
|
1499
|
-
|
|
1529
|
+
if (this._editorView) {
|
|
1530
|
+
this._editorView.dispatch({
|
|
1500
1531
|
changes: {
|
|
1501
1532
|
from: 0,
|
|
1502
|
-
to:
|
|
1533
|
+
to: this._editorView.state.doc.length,
|
|
1503
1534
|
insert: code,
|
|
1504
1535
|
},
|
|
1505
1536
|
});
|
|
@@ -1509,15 +1540,15 @@ class CodeMirror6Core extends CoreFacade {
|
|
|
1509
1540
|
}
|
|
1510
1541
|
}
|
|
1511
1542
|
setCodeWithCursorPreservation(code) {
|
|
1512
|
-
if (
|
|
1513
|
-
const currentCode =
|
|
1543
|
+
if (this._editorView) {
|
|
1544
|
+
const currentCode = this._editorView.state.doc.toString();
|
|
1514
1545
|
// Só atualiza se o conteúdo for realmente diferente
|
|
1515
1546
|
if (currentCode !== code) {
|
|
1516
|
-
const currentSelection =
|
|
1517
|
-
|
|
1547
|
+
const currentSelection = this._editorView.state.selection.main;
|
|
1548
|
+
this._editorView.dispatch({
|
|
1518
1549
|
changes: {
|
|
1519
1550
|
from: 0,
|
|
1520
|
-
to:
|
|
1551
|
+
to: this._editorView.state.doc.length,
|
|
1521
1552
|
insert: code,
|
|
1522
1553
|
},
|
|
1523
1554
|
selection: {
|