@praxisui/charts 9.0.58 → 9.0.59

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.
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
- "generatedAt": "2026-09-03T03:04:37.933Z",
3
+ "generatedAt": "2026-09-03T20:25:30.797Z",
4
4
  "packageName": "@praxisui/charts",
5
- "packageVersion": "9.0.58",
5
+ "packageVersion": "9.0.59",
6
6
  "sourceRegistry": "praxis-component-registry-ingestion",
7
7
  "sourceRegistryVersion": "1.0.0",
8
8
  "componentCount": 3,
@@ -807,6 +807,246 @@
807
807
  }
808
808
  }
809
809
  ],
810
+ "runtimeProfiles": [
811
+ {
812
+ "id": "public-praxis-stats-timeseries",
813
+ "audience": "public-untrusted",
814
+ "description": "Chart remoto timeseries com queryContext validado contra o request schema publicado.",
815
+ "constraints": [
816
+ {
817
+ "path": "$",
818
+ "operator": "keys-subset",
819
+ "values": [
820
+ "config",
821
+ "queryContext",
822
+ "enableCustomization"
823
+ ]
824
+ },
825
+ {
826
+ "path": "enableCustomization",
827
+ "operator": "not-true"
828
+ },
829
+ {
830
+ "path": "config",
831
+ "operator": "keys-subset",
832
+ "values": [
833
+ "id",
834
+ "type",
835
+ "orientation",
836
+ "title",
837
+ "subtitle",
838
+ "sizing",
839
+ "height",
840
+ "axes",
841
+ "series",
842
+ "dataSource",
843
+ "gauge",
844
+ "theme",
845
+ "motion",
846
+ "emptyState",
847
+ "state",
848
+ "preferredLoadState"
849
+ ]
850
+ },
851
+ {
852
+ "path": "config.dataSource",
853
+ "operator": "keys-subset",
854
+ "values": [
855
+ "kind",
856
+ "resourcePath",
857
+ "schemaId",
858
+ "query"
859
+ ]
860
+ },
861
+ {
862
+ "path": "config.dataSource.kind",
863
+ "operator": "equals",
864
+ "value": "remote"
865
+ },
866
+ {
867
+ "path": "config.dataSource.resourcePath",
868
+ "operator": "present"
869
+ },
870
+ {
871
+ "path": "config.dataSource.query",
872
+ "operator": "keys-subset",
873
+ "values": [
874
+ "sourceKind",
875
+ "statsOperation",
876
+ "granularity",
877
+ "fillGaps",
878
+ "distributionMode",
879
+ "bucketSize",
880
+ "bucketCount",
881
+ "statsOrderBy",
882
+ "statsPath",
883
+ "statsRequest",
884
+ "dimensions",
885
+ "metrics",
886
+ "filters",
887
+ "sort",
888
+ "limit"
889
+ ]
890
+ },
891
+ {
892
+ "path": "config.dataSource.query.sourceKind",
893
+ "operator": "equals",
894
+ "value": "praxis.stats"
895
+ },
896
+ {
897
+ "path": "config.dataSource.query.statsOperation",
898
+ "operator": "equals",
899
+ "value": "timeseries"
900
+ },
901
+ {
902
+ "path": "config.dataSource.query.statsPath",
903
+ "operator": "present"
904
+ },
905
+ {
906
+ "path": "config.dataSource.query.statsRequest",
907
+ "operator": "present"
908
+ }
909
+ ],
910
+ "effects": [
911
+ {
912
+ "kind": "resource-read",
913
+ "resourcePath": "config.dataSource.resourcePath",
914
+ "operations": [
915
+ {
916
+ "operationId": "statsTimeSeries",
917
+ "method": "POST",
918
+ "pathSuffix": "stats/timeseries",
919
+ "pathInput": "config.dataSource.query.statsPath",
920
+ "role": "primary",
921
+ "queryContext": {
922
+ "portId": "queryContext",
923
+ "requestFieldPath": "filter"
924
+ }
925
+ }
926
+ ]
927
+ }
928
+ ]
929
+ },
930
+ {
931
+ "id": "public-praxis-stats-group-by",
932
+ "audience": "public-untrusted",
933
+ "description": "Chart remoto group-by com queryContext validado contra o request schema publicado.",
934
+ "constraints": [
935
+ {
936
+ "path": "$",
937
+ "operator": "keys-subset",
938
+ "values": [
939
+ "config",
940
+ "queryContext",
941
+ "enableCustomization"
942
+ ]
943
+ },
944
+ {
945
+ "path": "enableCustomization",
946
+ "operator": "not-true"
947
+ },
948
+ {
949
+ "path": "config",
950
+ "operator": "keys-subset",
951
+ "values": [
952
+ "id",
953
+ "type",
954
+ "orientation",
955
+ "title",
956
+ "subtitle",
957
+ "sizing",
958
+ "height",
959
+ "axes",
960
+ "series",
961
+ "dataSource",
962
+ "gauge",
963
+ "theme",
964
+ "motion",
965
+ "emptyState",
966
+ "state",
967
+ "preferredLoadState"
968
+ ]
969
+ },
970
+ {
971
+ "path": "config.dataSource",
972
+ "operator": "keys-subset",
973
+ "values": [
974
+ "kind",
975
+ "resourcePath",
976
+ "schemaId",
977
+ "query"
978
+ ]
979
+ },
980
+ {
981
+ "path": "config.dataSource.kind",
982
+ "operator": "equals",
983
+ "value": "remote"
984
+ },
985
+ {
986
+ "path": "config.dataSource.resourcePath",
987
+ "operator": "present"
988
+ },
989
+ {
990
+ "path": "config.dataSource.query",
991
+ "operator": "keys-subset",
992
+ "values": [
993
+ "sourceKind",
994
+ "statsOperation",
995
+ "granularity",
996
+ "fillGaps",
997
+ "distributionMode",
998
+ "bucketSize",
999
+ "bucketCount",
1000
+ "statsOrderBy",
1001
+ "statsPath",
1002
+ "statsRequest",
1003
+ "dimensions",
1004
+ "metrics",
1005
+ "filters",
1006
+ "sort",
1007
+ "limit"
1008
+ ]
1009
+ },
1010
+ {
1011
+ "path": "config.dataSource.query.sourceKind",
1012
+ "operator": "equals",
1013
+ "value": "praxis.stats"
1014
+ },
1015
+ {
1016
+ "path": "config.dataSource.query.statsOperation",
1017
+ "operator": "equals",
1018
+ "value": "group-by"
1019
+ },
1020
+ {
1021
+ "path": "config.dataSource.query.statsPath",
1022
+ "operator": "present"
1023
+ },
1024
+ {
1025
+ "path": "config.dataSource.query.statsRequest",
1026
+ "operator": "present"
1027
+ }
1028
+ ],
1029
+ "effects": [
1030
+ {
1031
+ "kind": "resource-read",
1032
+ "resourcePath": "config.dataSource.resourcePath",
1033
+ "operations": [
1034
+ {
1035
+ "operationId": "statsGroupBy",
1036
+ "method": "POST",
1037
+ "pathSuffix": "stats/group-by",
1038
+ "pathInput": "config.dataSource.query.statsPath",
1039
+ "role": "primary",
1040
+ "queryContext": {
1041
+ "portId": "queryContext",
1042
+ "requestFieldPath": "filter"
1043
+ }
1044
+ }
1045
+ ]
1046
+ }
1047
+ ]
1048
+ }
1049
+ ],
810
1050
  "configEditor": {
811
1051
  "component": "[ref:PraxisChartWidgetConfigEditor]",
812
1052
  "title": "Configure chart"
@@ -9346,6 +9346,10 @@ const PRAXIS_CHART_COMPONENT_METADATA = {
9346
9346
  componentId: 'praxis-chart',
9347
9347
  source: 'PRAXIS_CHARTS_AUTHORING_MANIFEST',
9348
9348
  },
9349
+ runtimeProfiles: [
9350
+ statsRuntimeProfile('timeseries'),
9351
+ statsRuntimeProfile('group-by'),
9352
+ ],
9349
9353
  insertionPresets: [
9350
9354
  {
9351
9355
  id: 'canonical-chart',
@@ -9482,6 +9486,102 @@ const PRAXIS_CHART_COMPONENT_METADATA = {
9482
9486
  ],
9483
9487
  ports: PRAXIS_CHART_PHASE1_PORTS,
9484
9488
  };
9489
+ function statsRuntimeProfile(operation) {
9490
+ return {
9491
+ id: `public-praxis-stats-${operation}`,
9492
+ audience: 'public-untrusted',
9493
+ description: `Chart remoto ${operation} com queryContext validado contra o request schema publicado.`,
9494
+ constraints: [
9495
+ {
9496
+ path: '$',
9497
+ operator: 'keys-subset',
9498
+ values: ['config', 'queryContext', 'enableCustomization'],
9499
+ },
9500
+ { path: 'enableCustomization', operator: 'not-true' },
9501
+ {
9502
+ path: 'config',
9503
+ operator: 'keys-subset',
9504
+ values: [
9505
+ 'id',
9506
+ 'type',
9507
+ 'orientation',
9508
+ 'title',
9509
+ 'subtitle',
9510
+ 'sizing',
9511
+ 'height',
9512
+ 'axes',
9513
+ 'series',
9514
+ 'dataSource',
9515
+ 'gauge',
9516
+ 'theme',
9517
+ 'motion',
9518
+ 'emptyState',
9519
+ 'state',
9520
+ 'preferredLoadState',
9521
+ ],
9522
+ },
9523
+ {
9524
+ path: 'config.dataSource',
9525
+ operator: 'keys-subset',
9526
+ values: ['kind', 'resourcePath', 'schemaId', 'query'],
9527
+ },
9528
+ { path: 'config.dataSource.kind', operator: 'equals', value: 'remote' },
9529
+ { path: 'config.dataSource.resourcePath', operator: 'present' },
9530
+ {
9531
+ path: 'config.dataSource.query',
9532
+ operator: 'keys-subset',
9533
+ values: [
9534
+ 'sourceKind',
9535
+ 'statsOperation',
9536
+ 'granularity',
9537
+ 'fillGaps',
9538
+ 'distributionMode',
9539
+ 'bucketSize',
9540
+ 'bucketCount',
9541
+ 'statsOrderBy',
9542
+ 'statsPath',
9543
+ 'statsRequest',
9544
+ 'dimensions',
9545
+ 'metrics',
9546
+ 'filters',
9547
+ 'sort',
9548
+ 'limit',
9549
+ ],
9550
+ },
9551
+ {
9552
+ path: 'config.dataSource.query.sourceKind',
9553
+ operator: 'equals',
9554
+ value: 'praxis.stats',
9555
+ },
9556
+ {
9557
+ path: 'config.dataSource.query.statsOperation',
9558
+ operator: 'equals',
9559
+ value: operation,
9560
+ },
9561
+ { path: 'config.dataSource.query.statsPath', operator: 'present' },
9562
+ { path: 'config.dataSource.query.statsRequest', operator: 'present' },
9563
+ ],
9564
+ effects: [
9565
+ {
9566
+ kind: 'resource-read',
9567
+ resourcePath: 'config.dataSource.resourcePath',
9568
+ operations: [
9569
+ {
9570
+ operationId: operation === 'timeseries' ? 'statsTimeSeries' : 'statsGroupBy',
9571
+ method: 'POST',
9572
+ pathSuffix: `stats/${operation}`,
9573
+ pathInput: 'config.dataSource.query.statsPath',
9574
+ role: 'primary',
9575
+ queryContext: {
9576
+ portId: 'queryContext',
9577
+ requestFieldPath: 'filter',
9578
+ },
9579
+ },
9580
+ ],
9581
+ },
9582
+ ],
9583
+ };
9584
+ }
9485
9585
  function providePraxisChartsMetadata() {
9486
9586
  return {
9487
9587
  provide: ENVIRONMENT_INITIALIZER,
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@praxisui/charts",
3
- "version": "9.0.58",
3
+ "version": "9.0.59",
4
4
  "description": "Metadata-driven charts library for Praxis UI Angular with engine adapters and Apache ECharts as the initial renderer.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
7
7
  "@angular/core": "^21.0.0",
8
- "@praxisui/core": "^9.0.58",
8
+ "@praxisui/core": "^9.0.59",
9
9
  "@angular/forms": "^21.0.0",
10
10
  "@angular/material": "^21.0.0",
11
- "@praxisui/table": "^9.0.58",
11
+ "@praxisui/table": "^9.0.59",
12
12
  "rxjs": "~7.8.0"
13
13
  },
14
14
  "dependencies": {