@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.
Files changed (79) hide show
  1. package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +2 -1
  2. package/code-editor/lib/code-editor/core/facades/core-facade.d.ts +3 -1
  3. package/code-editor/lib/code-editor/infra/cores/codemirror-6/codemirror-6-core.d.ts +12 -2
  4. package/drawer/README.md +119 -0
  5. package/drawer/index.d.ts +5 -0
  6. package/{sidebar/lib/sidebar/sidebar.component.d.ts → drawer/lib/drawer/drawer.component.d.ts} +18 -15
  7. package/drawer/lib/drawer/drawer.module.d.ts +8 -0
  8. package/drawer/public-api.d.ts +2 -0
  9. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +6 -3
  10. package/esm2022/code-editor/lib/code-editor/core/facades/core-facade.mjs +7 -1
  11. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/codemirror-6-core.mjs +47 -22
  12. package/esm2022/drawer/lib/drawer/drawer.component.mjs +192 -0
  13. package/esm2022/drawer/lib/drawer/drawer.module.mjs +17 -0
  14. package/esm2022/drawer/public-api.mjs +3 -0
  15. package/esm2022/drawer/seniorsistemas-angular-components-drawer.mjs +5 -0
  16. package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +4 -5
  17. package/esm2022/lib/locale/fallback.mjs +3 -2
  18. package/esm2022/select/lib/select/select.component.mjs +11 -14
  19. package/esm2022/side-sheet/lib/side-sheet/models/side-sheet-config.mjs +2 -0
  20. package/esm2022/side-sheet/lib/side-sheet/models/side-sheet-size.mjs +2 -0
  21. package/esm2022/side-sheet/lib/side-sheet/services/side-sheet.service.mjs +82 -0
  22. package/esm2022/side-sheet/lib/side-sheet/side-sheet.component.mjs +171 -0
  23. package/esm2022/side-sheet/public-api.mjs +3 -0
  24. package/esm2022/side-sheet/seniorsistemas-angular-components-side-sheet.mjs +5 -0
  25. package/esm2022/sidebar/public-api.mjs +12 -3
  26. package/esm2022/switch/lib/switch/switch.component.mjs +5 -3
  27. package/esm2022/switch/lib/switch/switch.module.mjs +2 -2
  28. package/esm2022/tabs/lib/tab-item/tab-item.component.mjs +4 -3
  29. package/esm2022/tabs/lib/tabs/tabs.component.mjs +14 -10
  30. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +82 -75
  31. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +3 -3
  32. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +35 -18
  33. package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.event.service.mjs +2 -1
  34. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +89 -77
  35. package/esm2022/toast/lib/toast/toast.service.mjs +2 -2
  36. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +5 -2
  37. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
  38. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +52 -21
  39. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
  40. package/fesm2022/seniorsistemas-angular-components-drawer.mjs +211 -0
  41. package/fesm2022/seniorsistemas-angular-components-drawer.mjs.map +1 -0
  42. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +3 -4
  43. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  44. package/fesm2022/seniorsistemas-angular-components-select.mjs +10 -13
  45. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
  46. package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs +257 -0
  47. package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs.map +1 -0
  48. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs +10 -180
  49. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs.map +1 -1
  50. package/fesm2022/seniorsistemas-angular-components-switch.mjs +5 -3
  51. package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
  52. package/fesm2022/seniorsistemas-angular-components-tabs.mjs +16 -11
  53. package/fesm2022/seniorsistemas-angular-components-tabs.mjs.map +1 -1
  54. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +201 -164
  55. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  56. package/fesm2022/seniorsistemas-angular-components-toast.mjs +1 -1
  57. package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
  58. package/fesm2022/seniorsistemas-angular-components.mjs +2 -1
  59. package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
  60. package/package.json +19 -7
  61. package/select/lib/select/select.component.d.ts +2 -1
  62. package/side-sheet/README.md +184 -0
  63. package/side-sheet/index.d.ts +5 -0
  64. package/side-sheet/lib/side-sheet/models/side-sheet-config.d.ts +20 -0
  65. package/side-sheet/lib/side-sheet/models/side-sheet-size.d.ts +1 -0
  66. package/side-sheet/lib/side-sheet/services/side-sheet.service.d.ts +49 -0
  67. package/side-sheet/lib/side-sheet/side-sheet.component.d.ts +61 -0
  68. package/side-sheet/public-api.d.ts +4 -0
  69. package/sidebar/README.md +20 -93
  70. package/sidebar/public-api.d.ts +11 -2
  71. package/tabs/lib/tab-item/tab-item.component.d.ts +1 -0
  72. package/tabs/lib/tabs/tabs.component.d.ts +2 -1
  73. package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +19 -7
  74. package/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +4 -3
  75. package/tiered-menu/lib/tiered-menu/services/tiered-menu.event.service.d.ts +1 -0
  76. package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +6 -5
  77. package/esm2022/sidebar/lib/sidebar/sidebar.component.mjs +0 -169
  78. package/esm2022/sidebar/lib/sidebar/sidebar.module.mjs +0 -17
  79. 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
- static _ngUnsubscribe = new Subject();
1435
- static _editorView = null;
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
- CodeMirror6Core._editorView = null;
1460
- CodeMirror6Core._ngUnsubscribe.next();
1461
- CodeMirror6Core._ngUnsubscribe.complete();
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 (CodeMirror6Core._editorView) {
1467
- CodeMirror6Core.updateEditorView({
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
- const diagnostics = convertMarkersToDiagnostics(markers, CodeMirror6Core._editorView?.state.doc.length);
1477
- CodeMirror6Core.updateEditorView(setDiagnostics(CodeMirror6Core._editorView?.state, diagnostics));
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(CodeMirror6Core._ngUnsubscribe))
1508
+ .pipe(takeUntil(this._ngUnsubscribe))
1482
1509
  .subscribe((items) => this.updateCompletionItems(items));
1483
1510
  }
1484
1511
  createEditorView(parentElement) {
1485
- CodeMirror6Core._editorView = new EditorView({
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 (CodeMirror6Core._editorView) {
1499
- CodeMirror6Core.updateEditorView({
1529
+ if (this._editorView) {
1530
+ this._editorView.dispatch({
1500
1531
  changes: {
1501
1532
  from: 0,
1502
- to: CodeMirror6Core._editorView.state.doc.length,
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 (CodeMirror6Core._editorView) {
1513
- const currentCode = CodeMirror6Core._editorView.state.doc.toString();
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 = CodeMirror6Core._editorView.state.selection.main;
1517
- CodeMirror6Core.updateEditorView({
1547
+ const currentSelection = this._editorView.state.selection.main;
1548
+ this._editorView.dispatch({
1518
1549
  changes: {
1519
1550
  from: 0,
1520
- to: CodeMirror6Core._editorView.state.doc.length,
1551
+ to: this._editorView.state.doc.length,
1521
1552
  insert: code,
1522
1553
  },
1523
1554
  selection: {