analytica-frontend-lib 1.2.53 → 1.2.55

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 (52) hide show
  1. package/dist/ActivitiesHistory/index.js +108 -42
  2. package/dist/ActivitiesHistory/index.js.map +1 -1
  3. package/dist/ActivitiesHistory/index.mjs +108 -42
  4. package/dist/ActivitiesHistory/index.mjs.map +1 -1
  5. package/dist/ActivityDetails/index.js +108 -42
  6. package/dist/ActivityDetails/index.js.map +1 -1
  7. package/dist/ActivityDetails/index.mjs +108 -42
  8. package/dist/ActivityDetails/index.mjs.map +1 -1
  9. package/dist/ActivityFilters/index.js +110 -42
  10. package/dist/ActivityFilters/index.js.map +1 -1
  11. package/dist/ActivityFilters/index.mjs +110 -42
  12. package/dist/ActivityFilters/index.mjs.map +1 -1
  13. package/dist/AlertManager/index.js +110 -42
  14. package/dist/AlertManager/index.js.map +1 -1
  15. package/dist/AlertManager/index.mjs +110 -42
  16. package/dist/AlertManager/index.mjs.map +1 -1
  17. package/dist/RecommendedLessonsHistory/index.js +108 -42
  18. package/dist/RecommendedLessonsHistory/index.js.map +1 -1
  19. package/dist/RecommendedLessonsHistory/index.mjs +108 -42
  20. package/dist/RecommendedLessonsHistory/index.mjs.map +1 -1
  21. package/dist/SendActivityModal/SendActivityModal.js +124 -46
  22. package/dist/SendActivityModal/SendActivityModal.js.map +1 -1
  23. package/dist/SendActivityModal/SendActivityModal.mjs +124 -46
  24. package/dist/SendActivityModal/SendActivityModal.mjs.map +1 -1
  25. package/dist/SendActivityModal/hooks/useSendActivityModal.d.ts.map +1 -1
  26. package/dist/SendActivityModal/hooks/useSendActivityModal.js +16 -4
  27. package/dist/SendActivityModal/hooks/useSendActivityModal.js.map +1 -1
  28. package/dist/SendActivityModal/hooks/useSendActivityModal.mjs +16 -4
  29. package/dist/SendActivityModal/hooks/useSendActivityModal.mjs.map +1 -1
  30. package/dist/SendActivityModal/index.js +124 -46
  31. package/dist/SendActivityModal/index.js.map +1 -1
  32. package/dist/SendActivityModal/index.mjs +124 -46
  33. package/dist/SendActivityModal/index.mjs.map +1 -1
  34. package/dist/SendActivityModal/validation.js +1 -1
  35. package/dist/SendActivityModal/validation.js.map +1 -1
  36. package/dist/SendActivityModal/validation.mjs +1 -1
  37. package/dist/SendActivityModal/validation.mjs.map +1 -1
  38. package/dist/TableProvider/index.js +108 -42
  39. package/dist/TableProvider/index.js.map +1 -1
  40. package/dist/TableProvider/index.mjs +108 -42
  41. package/dist/TableProvider/index.mjs.map +1 -1
  42. package/dist/hooks/useActivityModels/index.d.ts +6 -6
  43. package/dist/hooks/useActivityModels.d.ts +6 -6
  44. package/dist/hooks/useAppContent.d.ts +1 -0
  45. package/dist/hooks/useAppContent.d.ts.map +1 -1
  46. package/dist/index.d.ts +2 -1
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +183 -60
  49. package/dist/index.js.map +1 -1
  50. package/dist/index.mjs +181 -60
  51. package/dist/index.mjs.map +1 -1
  52. package/package.json +1 -1
@@ -545,6 +545,89 @@ var CheckBox_default = CheckBox;
545
545
 
546
546
  // src/components/CheckBoxGroup/CheckBoxGroup.tsx
547
547
  import { useEffect, useMemo, useRef, useState as useState2 } from "react";
548
+
549
+ // src/components/CheckBoxGroup/CheckBoxGroup.helpers.ts
550
+ var areSelectedIdsEqual = (ids1, ids2) => {
551
+ if (ids1 === ids2) return true;
552
+ if (!ids1 || !ids2) return ids1 === ids2;
553
+ if (ids1.length !== ids2.length) return false;
554
+ for (let i = 0; i < ids1.length; i++) {
555
+ if (ids1[i] !== ids2[i]) return false;
556
+ }
557
+ return true;
558
+ };
559
+ var isCategoryEnabled = (category, allCategories) => {
560
+ if (!category.dependsOn || category.dependsOn.length === 0) {
561
+ return true;
562
+ }
563
+ return category.dependsOn.every((depKey) => {
564
+ const depCat = allCategories.find((c) => c.key === depKey);
565
+ return depCat?.selectedIds && depCat.selectedIds.length > 0;
566
+ });
567
+ };
568
+ var isItemMatchingFilter = (item, filter, allCategories) => {
569
+ const parentCat = allCategories.find((c) => c.key === filter.key);
570
+ const parentSelectedIds = parentCat?.selectedIds || [];
571
+ const itemFieldValue = item[filter.internalField];
572
+ return parentSelectedIds.includes(String(itemFieldValue));
573
+ };
574
+ var getBadgeText = (category, formattedItems) => {
575
+ const visibleIds = formattedItems.flatMap((group) => group.itens || []).map((i) => i.id);
576
+ const selectedVisibleCount = visibleIds.filter(
577
+ (id) => category.selectedIds?.includes(id)
578
+ ).length;
579
+ const totalVisible = visibleIds.length;
580
+ return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
581
+ };
582
+ var handleAccordionValueChange = (value, categories, isCategoryEnabledFn) => {
583
+ if (typeof value !== "string") {
584
+ if (!value) {
585
+ return "";
586
+ }
587
+ return null;
588
+ }
589
+ if (!value) {
590
+ return "";
591
+ }
592
+ const category = categories.find((c) => c.key === value);
593
+ if (!category) {
594
+ return null;
595
+ }
596
+ const isEnabled = isCategoryEnabledFn(category);
597
+ if (!isEnabled) {
598
+ return null;
599
+ }
600
+ return value;
601
+ };
602
+ var calculateFormattedItemsForAutoSelection = (category, allCategories) => {
603
+ if (!category?.dependsOn || category.dependsOn.length === 0) {
604
+ return category?.itens || [];
605
+ }
606
+ const isEnabled = isCategoryEnabled(category, allCategories);
607
+ if (!isEnabled) {
608
+ return [];
609
+ }
610
+ const filters = category.filteredBy || [];
611
+ if (filters.length === 0) {
612
+ return category?.itens || [];
613
+ }
614
+ const selectedIdsArr = filters.map((f) => {
615
+ const parentCat = allCategories.find((c) => c.key === f.key);
616
+ if (!parentCat?.selectedIds?.length) {
617
+ return [];
618
+ }
619
+ return parentCat.selectedIds;
620
+ });
621
+ if (selectedIdsArr.some((arr) => arr.length === 0)) {
622
+ return [];
623
+ }
624
+ const filteredItems = (category.itens || []).filter(
625
+ (item) => filters.every((filter) => isItemMatchingFilter(item, filter, allCategories))
626
+ );
627
+ return filteredItems;
628
+ };
629
+
630
+ // src/components/CheckBoxGroup/CheckBoxGroup.tsx
548
631
  import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
549
632
  var CheckboxGroup = ({
550
633
  categories,
@@ -560,21 +643,16 @@ var CheckboxGroup = ({
560
643
  useEffect(() => {
561
644
  onCategoriesChangeRef.current = onCategoriesChange;
562
645
  }, [onCategoriesChange]);
563
- const areSelectedIdsEqual = (ids1, ids2) => {
564
- if (ids1 === ids2) return true;
565
- if (!ids1 || !ids2) return ids1 === ids2;
566
- if (ids1.length !== ids2.length) return false;
567
- for (let i = 0; i < ids1.length; i++) {
568
- if (ids1[i] !== ids2[i]) return false;
569
- }
570
- return true;
571
- };
572
646
  const categoriesWithAutoSelection = useMemo(() => {
573
647
  return categories.map((category) => {
574
- if (category.itens?.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
648
+ const filteredItems = calculateFormattedItemsForAutoSelection(
649
+ category,
650
+ categories
651
+ );
652
+ if (filteredItems.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
575
653
  return {
576
654
  ...category,
577
- selectedIds: [category.itens[0].id]
655
+ selectedIds: [filteredItems[0].id]
578
656
  };
579
657
  }
580
658
  return category;
@@ -709,6 +787,23 @@ var CheckboxGroup = ({
709
787
  const getFormattedItems = (categoryKey) => {
710
788
  return formattedItemsMap[categoryKey] || [{ itens: [] }];
711
789
  };
790
+ const getBadgeText2 = (category) => {
791
+ const formattedItems = getFormattedItems(category.key);
792
+ return getBadgeText(category, formattedItems);
793
+ };
794
+ const isCategoryEnabled2 = (category) => {
795
+ return isCategoryEnabled(category, categories);
796
+ };
797
+ const handleAccordionValueChange2 = (value) => {
798
+ const newValue = handleAccordionValueChange(
799
+ value,
800
+ categories,
801
+ isCategoryEnabled2
802
+ );
803
+ if (newValue !== null) {
804
+ setOpenAccordion(newValue);
805
+ }
806
+ };
712
807
  const getDependentCategories = (categoryKey) => {
713
808
  return categories.filter((cat) => cat.dependsOn?.includes(categoryKey)).map((cat) => cat.key);
714
809
  };
@@ -901,14 +996,7 @@ var CheckboxGroup = ({
901
996
  }
902
997
  )
903
998
  ] }),
904
- (openAccordion === category.key || isEnabled) && /* @__PURE__ */ jsx6(Badge_default, { variant: "solid", action: "info", children: (() => {
905
- const visibleIds = getFormattedItems(category.key).flatMap((group) => group.itens || []).map((i) => i.id);
906
- const selectedVisibleCount = visibleIds.filter(
907
- (id) => category.selectedIds?.includes(id)
908
- ).length;
909
- const totalVisible = visibleIds.length;
910
- return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
911
- })() })
999
+ (openAccordion === category.key || isEnabled) && /* @__PURE__ */ jsx6(Badge_default, { variant: "solid", action: "info", children: getBadgeText2(category) })
912
1000
  ] });
913
1001
  const renderCompactSingleItem = (category) => {
914
1002
  const formattedItems = getFormattedItems(category.key);
@@ -930,10 +1018,7 @@ var CheckboxGroup = ({
930
1018
  );
931
1019
  };
932
1020
  const renderCategoryAccordion = (category) => {
933
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
934
- const depCat = categories.find((c) => c.key === depKey);
935
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
936
- });
1021
+ const isEnabled = isCategoryEnabled2(category);
937
1022
  const hasOnlyOneItem = category.itens?.length === 1;
938
1023
  if (hasOnlyOneItem && !compactSingleItem && !showSingleItem) {
939
1024
  return null;
@@ -973,10 +1058,7 @@ var CheckboxGroup = ({
973
1058
  if (!openAccordion) return;
974
1059
  const category = categories.find((c) => c.key === openAccordion);
975
1060
  if (!category) return;
976
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
977
- const depCat = categories.find((c) => c.key === depKey);
978
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
979
- });
1061
+ const isEnabled = isCategoryEnabled2(category);
980
1062
  if (!isEnabled) {
981
1063
  setTimeout(() => {
982
1064
  setOpenAccordion("");
@@ -989,21 +1071,7 @@ var CheckboxGroup = ({
989
1071
  type: "single",
990
1072
  collapsible: true,
991
1073
  value: openAccordion,
992
- onValueChange: (value) => {
993
- if (typeof value === "string") {
994
- if (value) {
995
- const category = categories.find((c) => c.key === value);
996
- const isEnabled = !category?.dependsOn || category.dependsOn.every((depKey) => {
997
- const depCat = categories.find((c) => c.key === depKey);
998
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
999
- });
1000
- if (!isEnabled) {
1001
- return;
1002
- }
1003
- }
1004
- setOpenAccordion(value);
1005
- }
1006
- },
1074
+ onValueChange: handleAccordionValueChange2,
1007
1075
  children: categories.map(renderCategoryAccordion)
1008
1076
  }
1009
1077
  );