@nyaruka/temba-components 0.125.0 → 0.127.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 (35) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/demo/chart/example.html +18 -1
  3. package/demo/data/flows/sample-flow.json +82 -228
  4. package/demo/data/server/opened-tickets-long.json +53 -0
  5. package/dist/temba-components.js +53 -15
  6. package/dist/temba-components.js.map +1 -1
  7. package/out-tsc/src/chart/TembaChart.js +33 -5
  8. package/out-tsc/src/chart/TembaChart.js.map +1 -1
  9. package/out-tsc/src/flow/Editor.js +70 -5
  10. package/out-tsc/src/flow/Editor.js.map +1 -1
  11. package/out-tsc/src/flow/EditorNode.js +136 -4
  12. package/out-tsc/src/flow/EditorNode.js.map +1 -1
  13. package/out-tsc/src/flow/Plumber.js +57 -0
  14. package/out-tsc/src/flow/Plumber.js.map +1 -1
  15. package/out-tsc/src/interfaces.js +1 -0
  16. package/out-tsc/src/interfaces.js.map +1 -1
  17. package/out-tsc/src/store/AppState.js +22 -5
  18. package/out-tsc/src/store/AppState.js.map +1 -1
  19. package/out-tsc/test/temba-chart.test.js +26 -0
  20. package/out-tsc/test/temba-chart.test.js.map +1 -1
  21. package/out-tsc/test/temba-flow-node-drag.test.js +257 -0
  22. package/out-tsc/test/temba-flow-node-drag.test.js.map +1 -0
  23. package/out-tsc/test/temba-select.test.js +3 -2
  24. package/out-tsc/test/temba-select.test.js.map +1 -1
  25. package/package.json +1 -1
  26. package/src/chart/TembaChart.ts +35 -5
  27. package/src/flow/Editor.ts +78 -6
  28. package/src/flow/EditorNode.ts +159 -4
  29. package/src/flow/Plumber.ts +65 -0
  30. package/src/interfaces.ts +2 -1
  31. package/src/store/AppState.ts +28 -7
  32. package/test/temba-chart.test.ts +36 -0
  33. package/test/temba-flow-node-drag.test.ts +337 -0
  34. package/test/temba-select.test.ts +3 -2
  35. package/web-dev-server.config.mjs +39 -14
package/CHANGELOG.md CHANGED
@@ -4,8 +4,28 @@ All notable changes to this project will be documented in this file. Dates are d
4
4
 
5
5
  Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6
6
 
7
+ #### [v0.127.0](https://github.com/nyaruka/temba-components/compare/v0.126.0...v0.127.0)
8
+
9
+ - Configure max ticks, add auto date format option [`#579`](https://github.com/nyaruka/temba-components/pull/579)
10
+ - Only snap on drop [`#576`](https://github.com/nyaruka/temba-components/pull/576)
11
+ - Configure max x ticks, some formatting [`af6ffe4`](https://github.com/nyaruka/temba-components/commit/af6ffe463cc3ef1c6b09e18eb5e515ccb8b66d95)
12
+ - Remove problematic test [`b42421a`](https://github.com/nyaruka/temba-components/commit/b42421ab4b04fd62b71efc772594079f4e55271b)
13
+ - Disable flaky test [`b86ac02`](https://github.com/nyaruka/temba-components/commit/b86ac02202c22c931952a57310639943f0f23431)
14
+
15
+ #### [v0.126.0](https://github.com/nyaruka/temba-components/compare/v0.125.0...v0.126.0)
16
+
17
+ > 19 June 2025
18
+
19
+ - Add xtype and xformat to TembaChart [`#575`](https://github.com/nyaruka/temba-components/pull/575)
20
+ - Add snap to grid for node movement [`#574`](https://github.com/nyaruka/temba-components/pull/574)
21
+ - Add flow saving for dev server [`#573`](https://github.com/nyaruka/temba-components/pull/573)
22
+ - Add node drag and drop [`#570`](https://github.com/nyaruka/temba-components/pull/570)
23
+ - Fix z-index for dragging nodes [`e27738a`](https://github.com/nyaruka/temba-components/commit/e27738a4d902c761bf0bf7c05db4288f4ac0866f)
24
+
7
25
  #### [v0.125.0](https://github.com/nyaruka/temba-components/compare/v0.124.3...v0.125.0)
8
26
 
27
+ > 14 June 2025
28
+
9
29
  - Add percent support for charts [`#569`](https://github.com/nyaruka/temba-components/pull/569)
10
30
  - Fix intermittent test failure in cursor pagination by adding proper wait logic [`#568`](https://github.com/nyaruka/temba-components/pull/568)
11
31
  - Add ESLint rule to block console.log statements in commits [`#566`](https://github.com/nyaruka/temba-components/pull/566)
@@ -50,7 +50,19 @@
50
50
  <div class="example">
51
51
  <h3>Summation Chart</h3>
52
52
  <p>A basic chart, summing all datasets</p>
53
- <temba-chart url="../data/server/opened-tickets.json"></temba-chart>
53
+ <temba-chart
54
+ url="../data/server/opened-tickets.json"
55
+ xtype="time"
56
+ ></temba-chart>
57
+ </div>
58
+
59
+ <div class="example">
60
+ <h3>Summation Chart</h3>
61
+ <p>Auto date format, spanning year</p>
62
+ <temba-chart
63
+ url="../data/server/opened-tickets-long.json"
64
+ xtype="time"
65
+ ></temba-chart>
54
66
  </div>
55
67
 
56
68
  <div class="example">
@@ -61,6 +73,7 @@
61
73
  dataname="Tickets"
62
74
  config
63
75
  legend
76
+ xtype="time"
64
77
  ></temba-chart>
65
78
  </div>
66
79
 
@@ -73,6 +86,7 @@
73
86
  splits="Tracking,Orders"
74
87
  hideother
75
88
  legend
89
+ xtype="time"
76
90
  ></temba-chart>
77
91
  </div>
78
92
  <div class="example">
@@ -83,6 +97,7 @@
83
97
  dataname="Tickets"
84
98
  showall
85
99
  legend
100
+ xtype="time"
86
101
  ></temba-chart>
87
102
  </div>
88
103
 
@@ -97,6 +112,7 @@
97
112
  dataname="Average Response"
98
113
  formatDuration
99
114
  header="Response Time"
115
+ xtype="time"
100
116
  url="../data/server/response-time.json"
101
117
  ></temba-chart>
102
118
  <p>Here is the same duration chart, but as a line chart</p>
@@ -106,6 +122,7 @@
106
122
  single
107
123
  dataName="Average Response"
108
124
  formatDuration
125
+ xtype="time"
109
126
  url="../data/server/response-time.json"
110
127
  ></temba-chart>
111
128
  </div>
@@ -10,10 +10,16 @@
10
10
  "uuid": "a229fa3c-16bb-440b-9ae8-b7ee7a723f44",
11
11
  "actions": [
12
12
  {
13
- "attachments": ["image:http://google.com/logo.png"],
13
+ "attachments": [
14
+ "image:http://google.com/logo.png"
15
+ ],
14
16
  "text": "What is your favorite color?",
15
17
  "type": "send_msg",
16
- "quick_replies": ["red", "green", "blue"],
18
+ "quick_replies": [
19
+ "red",
20
+ "green",
21
+ "blue"
22
+ ],
17
23
  "uuid": "3d56e4cf-1e88-499a-b0b4-ff48385fc9a5"
18
24
  }
19
25
  ],
@@ -32,19 +38,25 @@
32
38
  "default_category_uuid": "e6a9f714-6f2a-4884-b850-f79ff397ee63",
33
39
  "cases": [
34
40
  {
35
- "arguments": ["red"],
41
+ "arguments": [
42
+ "red"
43
+ ],
36
44
  "type": "has_any_word",
37
45
  "uuid": "2040ff07-f509-416d-b150-15abc27a9dfd",
38
46
  "category_uuid": "4ceb8f3b-05a2-4d75-950e-fa4934ab24fb"
39
47
  },
40
48
  {
41
- "arguments": ["green"],
49
+ "arguments": [
50
+ "green"
51
+ ],
42
52
  "type": "has_any_word",
43
53
  "uuid": "b7b142d8-2434-41d9-9e5c-4e0335841972",
44
54
  "category_uuid": "153aa4a6-553c-4adf-9773-1f44596c33fb"
45
55
  },
46
56
  {
47
- "arguments": ["blue"],
57
+ "arguments": [
58
+ "blue"
59
+ ],
48
60
  "type": "has_any_word",
49
61
  "uuid": "e2ccc4e7-c379-43e3-8115-48e8fe7ef4de",
50
62
  "category_uuid": "ee972b45-3bfe-4e93-9d4e-e9c8f8ffc587"
@@ -131,7 +143,10 @@
131
143
  {
132
144
  "uuid": "024a8d66-be1e-4821-bec4-8c54fd7135c6",
133
145
  "type": "has_number_between",
134
- "arguments": ["200", "299"],
146
+ "arguments": [
147
+ "200",
148
+ "299"
149
+ ],
135
150
  "category_uuid": "0bb08076-45e2-4ca1-b321-1506f1779198"
136
151
  }
137
152
  ],
@@ -268,7 +283,9 @@
268
283
  "uuid": "6ec87721-6ec2-43fa-b7d2-930bf1f0574d"
269
284
  },
270
285
  {
271
- "addresses": ["name@domain.com"],
286
+ "addresses": [
287
+ "name@domain.com"
288
+ ],
272
289
  "subject": "Did you get this?",
273
290
  "body": "I hope it arrived!",
274
291
  "type": "send_email",
@@ -297,7 +314,9 @@
297
314
  "default_category_uuid": "50ededa6-7dd3-4f4f-81d2-e3011ea1cc05",
298
315
  "cases": [
299
316
  {
300
- "arguments": ["Archived"],
317
+ "arguments": [
318
+ "Archived"
319
+ ],
301
320
  "type": "has_any_word",
302
321
  "uuid": "bc2e884d-9740-4028-a6bb-72f0c263336c",
303
322
  "category_uuid": "8032da05-1778-4d0c-9b7d-d218a7fb561d"
@@ -347,7 +366,9 @@
347
366
  ],
348
367
  "cases": [
349
368
  {
350
- "arguments": ["bleep"],
369
+ "arguments": [
370
+ "bleep"
371
+ ],
351
372
  "type": "has_any_word",
352
373
  "uuid": "5fcb78ba-245d-40e5-986a-a9cbafb3e527",
353
374
  "category_uuid": "5a9d7012-02c3-46ac-a926-7b6d9c503fde"
@@ -414,7 +435,9 @@
414
435
  ],
415
436
  "cases": [
416
437
  {
417
- "arguments": ["red"],
438
+ "arguments": [
439
+ "red"
440
+ ],
418
441
  "type": "has_any_word",
419
442
  "uuid": "44f4d027-f904-4c38-8cad-e01aae9b4faf",
420
443
  "category_uuid": "c8ba0faf-cf72-447a-84fe-5dc63775c0f5"
@@ -441,13 +464,19 @@
441
464
  {
442
465
  "uuid": "e1c0d59e-1810-4677-ad3b-69c4d1d645e8",
443
466
  "type": "has_group",
444
- "arguments": ["269e8abf-e81b-404c-82ce-45ff42d13769", "Empty"],
467
+ "arguments": [
468
+ "269e8abf-e81b-404c-82ce-45ff42d13769",
469
+ "Empty"
470
+ ],
445
471
  "category_uuid": "d7ae9a33-357f-445f-84f0-ac11da786602"
446
472
  },
447
473
  {
448
474
  "uuid": "90ab3ac3-bc46-402a-a569-5739aa8a590d",
449
475
  "type": "has_group",
450
- "arguments": ["4b4ad0a2-0be6-4edd-8d6f-f6fa40ce695c", "Drivers"],
476
+ "arguments": [
477
+ "4b4ad0a2-0be6-4edd-8d6f-f6fa40ce695c",
478
+ "Drivers"
479
+ ],
451
480
  "category_uuid": "92e8677a-8070-4a98-901d-8247ac8e1898"
452
481
  }
453
482
  ],
@@ -494,13 +523,17 @@
494
523
  {
495
524
  "uuid": "93312571-e686-4561-8bfd-5bc00c0cd442",
496
525
  "type": "has_only_phrase",
497
- "arguments": ["tel"],
526
+ "arguments": [
527
+ "tel"
528
+ ],
498
529
  "category_uuid": "8334572c-c31d-422a-8a95-2cb3d55e733b"
499
530
  },
500
531
  {
501
532
  "uuid": "03ce9105-dd9f-41b7-adc3-56b0547e031b",
502
533
  "type": "has_only_phrase",
503
- "arguments": ["facebook"],
534
+ "arguments": [
535
+ "facebook"
536
+ ],
504
537
  "category_uuid": "23e7a079-3f2c-406b-9acc-dbbf388b3b79"
505
538
  }
506
539
  ],
@@ -557,12 +590,16 @@
557
590
  {
558
591
  "uuid": "625daede-4c37-45d4-9af6-5607ad4b1ce0",
559
592
  "type": "has_only_text",
560
- "arguments": ["completed"],
593
+ "arguments": [
594
+ "completed"
595
+ ],
561
596
  "category_uuid": "894652f9-cc6c-4192-827d-3c5543778478"
562
597
  },
563
598
  {
564
599
  "uuid": "1e5f9d1e-794d-4279-ad93-3c7541962388",
565
- "arguments": ["expired"],
600
+ "arguments": [
601
+ "expired"
602
+ ],
566
603
  "type": "has_only_text",
567
604
  "category_uuid": "48e318f7-4153-471a-856a-be01ac2f18a0"
568
605
  }
@@ -614,7 +651,9 @@
614
651
  {
615
652
  "uuid": "ac40cb14-6886-4f4e-b309-bcf4ef92b26d",
616
653
  "type": "has_only_text",
617
- "arguments": ["<ERROR>"],
654
+ "arguments": [
655
+ "<ERROR>"
656
+ ],
618
657
  "category_uuid": "00685353-2326-4150-a403-58f006e50885"
619
658
  }
620
659
  ],
@@ -738,7 +777,7 @@
738
777
  "type": "wait_for_response",
739
778
  "position": {
740
779
  "left": 0,
741
- "top": 200
780
+ "top": 140
742
781
  },
743
782
  "config": {
744
783
  "cases": {}
@@ -747,31 +786,31 @@
747
786
  "e1f22e97-a170-44b4-a79b-98ab916f4c34": {
748
787
  "type": "split_by_webhook",
749
788
  "position": {
750
- "left": 300,
751
- "top": 340
789
+ "left": 340,
790
+ "top": 20
752
791
  },
753
792
  "config": {}
754
793
  },
755
794
  "4efc49e0-ebfe-454d-a1a0-900a911dd5ef": {
756
795
  "position": {
757
- "left": 20,
758
- "top": 400
796
+ "left": 0,
797
+ "top": 300
759
798
  },
760
799
  "type": "execute_actions"
761
800
  },
762
801
  "2c60c381-487d-42cd-80be-a31f44c36fd9": {
763
802
  "type": "split_by_subflow",
764
803
  "position": {
765
- "left": 20,
766
- "top": 1280
804
+ "left": 300,
805
+ "top": 300
767
806
  },
768
807
  "config": {}
769
808
  },
770
809
  "f115fdb0-d92d-47a2-96f3-e03e36767b14": {
771
810
  "type": "split_by_contact_field",
772
811
  "position": {
773
- "left": 300,
774
- "top": 480
812
+ "left": 340,
813
+ "top": 180
775
814
  },
776
815
  "config": {
777
816
  "operand": {
@@ -785,8 +824,8 @@
785
824
  "b85000c4-1990-4d86-807a-1318ea512708": {
786
825
  "type": "split_by_expression",
787
826
  "position": {
788
- "left": 300,
789
- "top": 580
827
+ "left": 640,
828
+ "top": 560
790
829
  },
791
830
  "config": {
792
831
  "cases": {}
@@ -795,16 +834,16 @@
795
834
  "8ecec688-f154-4b80-a0b3-3cbff0fac892": {
796
835
  "type": "split_by_random",
797
836
  "position": {
798
- "left": 300,
799
- "top": 680
837
+ "left": 640,
838
+ "top": 60
800
839
  },
801
840
  "config": null
802
841
  },
803
842
  "66171418-2368-44b9-95db-fdf7cd5cf4fe": {
804
843
  "type": "split_by_run_result",
805
844
  "position": {
806
- "left": 300,
807
- "top": 800
845
+ "left": 640,
846
+ "top": 180
808
847
  },
809
848
  "config": {
810
849
  "operand": {
@@ -818,8 +857,8 @@
818
857
  "5f1394c1-4b8c-4357-8863-db24817b2aa3": {
819
858
  "type": "split_by_groups",
820
859
  "position": {
821
- "left": 300,
822
- "top": 920
860
+ "left": 640,
861
+ "top": 300
823
862
  },
824
863
  "config": {
825
864
  "cases": {}
@@ -828,8 +867,8 @@
828
867
  "e780a7ef-9dad-45a3-abda-11200a9afbf4": {
829
868
  "type": "split_by_scheme",
830
869
  "position": {
831
- "left": 300,
832
- "top": 1040
870
+ "left": 640,
871
+ "top": 440
833
872
  },
834
873
  "config": {
835
874
  "cases": {}
@@ -838,23 +877,23 @@
838
877
  "3dfe9cf2-72d1-496f-8d20-d5743af0f9c8": {
839
878
  "type": "split_by_llm",
840
879
  "position": {
841
- "left": 120,
842
- "top": 1460
880
+ "left": 300,
881
+ "top": 480
843
882
  },
844
883
  "config": {}
845
884
  },
846
885
  "425c4757-bead-440f-92aa-a1cc3fcd7d35": {
847
886
  "position": {
848
- "left": 120,
849
- "top": 1600
887
+ "left": 300,
888
+ "top": 660
850
889
  },
851
890
  "type": "execute_actions"
852
891
  },
853
892
  "21ff86c2-5276-4448-afb6-54d1f832ba0c": {
854
893
  "type": "split_by_ticket",
855
894
  "position": {
856
- "left": 120,
857
- "top": 1720
895
+ "left": 300,
896
+ "top": 800
858
897
  },
859
898
  "config": {}
860
899
  }
@@ -883,190 +922,5 @@
883
922
  "revision": 69,
884
923
  "expire_after_minutes": 4320,
885
924
  "localization": {}
886
- },
887
- "info": {
888
- "counts": {
889
- "nodes": 14,
890
- "languages": 0
891
- },
892
- "issues": [],
893
- "locals": ["_llm_output", "_new_ticket"],
894
- "results": [
895
- {
896
- "key": "color",
897
- "name": "Color",
898
- "categories": ["Red", "Green", "Blue", "Other", "No Response"],
899
- "node_uuids": [
900
- "ef1a5b06-1331-4c0d-9f46-58b1e5baf671",
901
- "4efc49e0-ebfe-454d-a1a0-900a911dd5ef"
902
- ]
903
- }
904
- ],
905
- "parent_refs": [],
906
- "dependencies": [
907
- {
908
- "name": "Spam",
909
- "type": "label",
910
- "uuid": "61cae99b-56e1-4f3e-a2b9-07fb5cf2be9e"
911
- },
912
- {
913
- "name": "WhatsApp",
914
- "type": "channel",
915
- "uuid": "9afd9156-a34a-43fa-91d4-914615ae2e72"
916
- },
917
- {
918
- "key": "color",
919
- "name": "Color",
920
- "type": "field"
921
- },
922
- {
923
- "name": "Empty",
924
- "type": "group",
925
- "uuid": "269e8abf-e81b-404c-82ce-45ff42d13769"
926
- },
927
- {
928
- "name": "Farmers",
929
- "type": "group",
930
- "uuid": "58a6a3cd-20c0-4791-82da-ce9f319ab91b"
931
- },
932
- {
933
- "name": "Testers",
934
- "type": "group",
935
- "uuid": "2f81d414-47b7-446d-b8c7-6662f611cb3d"
936
- },
937
- {
938
- "name": "Teachers",
939
- "type": "group",
940
- "uuid": "90c0dc52-ddd8-466d-8333-a96fdd67195a"
941
- },
942
- {
943
- "name": "Reporters",
944
- "type": "group",
945
- "uuid": "3b9caef9-e701-4475-a0c3-ef346704f71e"
946
- },
947
- {
948
- "name": "Doctors",
949
- "type": "group",
950
- "uuid": "f4f46e03-3d7c-4840-8ed3-8c6c5677a2f2"
951
- },
952
- {
953
- "name": "Drivers",
954
- "type": "group",
955
- "uuid": "4b4ad0a2-0be6-4edd-8d6f-f6fa40ce695c"
956
- },
957
- {
958
- "name": "Support",
959
- "type": "flow",
960
- "uuid": "78d2429c-8fdc-421c-bd37-b381ae99b7c7"
961
- },
962
- {
963
- "name": "GPT 4o",
964
- "type": "llm",
965
- "uuid": "a5f05e3e-4f9c-4f24-96ff-13676b82ac95"
966
- },
967
- {
968
- "name": "Favorites",
969
- "type": "flow",
970
- "uuid": "85bc02bd-4d3a-4dd1-b8af-4e57810e4af3"
971
- },
972
- {
973
- "name": "General",
974
- "type": "topic",
975
- "uuid": "bf4b568d-97b8-4d20-aed5-ad8150270af8"
976
- }
977
- ]
978
- },
979
- "issues": [],
980
- "metadata": {
981
- "counts": {
982
- "languages": 0,
983
- "nodes": 14
984
- },
985
- "dependencies": [
986
- {
987
- "uuid": "61cae99b-56e1-4f3e-a2b9-07fb5cf2be9e",
988
- "name": "Spam",
989
- "type": "label"
990
- },
991
- {
992
- "uuid": "9afd9156-a34a-43fa-91d4-914615ae2e72",
993
- "name": "WhatsApp",
994
- "type": "channel"
995
- },
996
- {
997
- "key": "color",
998
- "name": "Color",
999
- "type": "field"
1000
- },
1001
- {
1002
- "uuid": "269e8abf-e81b-404c-82ce-45ff42d13769",
1003
- "name": "Empty",
1004
- "type": "group"
1005
- },
1006
- {
1007
- "uuid": "58a6a3cd-20c0-4791-82da-ce9f319ab91b",
1008
- "name": "Farmers",
1009
- "type": "group"
1010
- },
1011
- {
1012
- "uuid": "2f81d414-47b7-446d-b8c7-6662f611cb3d",
1013
- "name": "Testers",
1014
- "type": "group"
1015
- },
1016
- {
1017
- "uuid": "90c0dc52-ddd8-466d-8333-a96fdd67195a",
1018
- "name": "Teachers",
1019
- "type": "group"
1020
- },
1021
- {
1022
- "uuid": "3b9caef9-e701-4475-a0c3-ef346704f71e",
1023
- "name": "Reporters",
1024
- "type": "group"
1025
- },
1026
- {
1027
- "uuid": "f4f46e03-3d7c-4840-8ed3-8c6c5677a2f2",
1028
- "name": "Doctors",
1029
- "type": "group"
1030
- },
1031
- {
1032
- "uuid": "4b4ad0a2-0be6-4edd-8d6f-f6fa40ce695c",
1033
- "name": "Drivers",
1034
- "type": "group"
1035
- },
1036
- {
1037
- "uuid": "78d2429c-8fdc-421c-bd37-b381ae99b7c7",
1038
- "name": "Support",
1039
- "type": "flow"
1040
- },
1041
- {
1042
- "uuid": "a5f05e3e-4f9c-4f24-96ff-13676b82ac95",
1043
- "name": "GPT 4o",
1044
- "type": "llm"
1045
- },
1046
- {
1047
- "uuid": "85bc02bd-4d3a-4dd1-b8af-4e57810e4af3",
1048
- "name": "Favorites",
1049
- "type": "flow"
1050
- },
1051
- {
1052
- "uuid": "bf4b568d-97b8-4d20-aed5-ad8150270af8",
1053
- "name": "General",
1054
- "type": "topic"
1055
- }
1056
- ],
1057
- "locals": ["_llm_output", "_new_ticket"],
1058
- "results": [
1059
- {
1060
- "key": "color",
1061
- "name": "Color",
1062
- "categories": ["Red", "Green", "Blue", "Other", "No Response"],
1063
- "node_uuids": [
1064
- "ef1a5b06-1331-4c0d-9f46-58b1e5baf671",
1065
- "4efc49e0-ebfe-454d-a1a0-900a911dd5ef"
1066
- ]
1067
- }
1068
- ],
1069
- "parent_refs": [],
1070
- "issues": []
1071
925
  }
1072
- }
926
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "period": ["2023-12-31", "2025-06-07"],
3
+ "data": {
4
+ "labels": [
5
+ "2023-12-31",
6
+ "2025-05-27",
7
+ "2025-05-28",
8
+ "2025-05-29",
9
+ "2025-05-30",
10
+ "2025-05-31",
11
+ "2025-06-01",
12
+ "2025-06-02",
13
+ "2025-06-03",
14
+ "2025-06-04",
15
+ "2025-06-05",
16
+ "2025-06-06"
17
+ ],
18
+ "datasets": [
19
+ {
20
+ "label": "General",
21
+ "data": [31, 141, 60, 20, 49, 92, 109, 140, 214, 60, 70]
22
+ },
23
+ {
24
+ "label": "VIPs",
25
+ "data": [9, 97, 95, 55, 32, 61, 78, 115, 20, 91, 83]
26
+ },
27
+ {
28
+ "label": "Orders",
29
+ "data": [51, 84, 71, 78, 44, 45, 106, 114, 138, 125, 83]
30
+ },
31
+ {
32
+ "label": "Survey",
33
+ "data": [57, 31, 42, 63, 32, 11, 52, 35, 14, 160, 15]
34
+ },
35
+ {
36
+ "label": "Tracking",
37
+ "data": [10, 26, 28, 43, 16, 10, 36, 24, 18, 26, 9]
38
+ },
39
+ {
40
+ "label": "Birds",
41
+ "data": [31, 141, 60, 20, 49, 92, 109, 140, 214, 60, 70]
42
+ },
43
+ {
44
+ "label": "Dogs",
45
+ "data": [9, 97, 95, 55, 32, 61, 78, 115, 20, 91, 83]
46
+ },
47
+ {
48
+ "label": "Cats",
49
+ "data": [51, 84, 71, 78, 44, 45, 106, 114, 138, 125, 83]
50
+ }
51
+ ]
52
+ }
53
+ }