analytica-frontend-lib 1.2.54 → 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 (50) 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/index.d.ts +2 -1
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +180 -59
  47. package/dist/index.js.map +1 -1
  48. package/dist/index.mjs +178 -59
  49. package/dist/index.mjs.map +1 -1
  50. package/package.json +1 -1
@@ -630,6 +630,89 @@ function ImageUpload({
630
630
 
631
631
  // src/components/CheckBoxGroup/CheckBoxGroup.tsx
632
632
  import { useEffect, useMemo, useRef as useRef2, useState as useState3 } from "react";
633
+
634
+ // src/components/CheckBoxGroup/CheckBoxGroup.helpers.ts
635
+ var areSelectedIdsEqual = (ids1, ids2) => {
636
+ if (ids1 === ids2) return true;
637
+ if (!ids1 || !ids2) return ids1 === ids2;
638
+ if (ids1.length !== ids2.length) return false;
639
+ for (let i = 0; i < ids1.length; i++) {
640
+ if (ids1[i] !== ids2[i]) return false;
641
+ }
642
+ return true;
643
+ };
644
+ var isCategoryEnabled = (category, allCategories) => {
645
+ if (!category.dependsOn || category.dependsOn.length === 0) {
646
+ return true;
647
+ }
648
+ return category.dependsOn.every((depKey) => {
649
+ const depCat = allCategories.find((c) => c.key === depKey);
650
+ return depCat?.selectedIds && depCat.selectedIds.length > 0;
651
+ });
652
+ };
653
+ var isItemMatchingFilter = (item, filter, allCategories) => {
654
+ const parentCat = allCategories.find((c) => c.key === filter.key);
655
+ const parentSelectedIds = parentCat?.selectedIds || [];
656
+ const itemFieldValue = item[filter.internalField];
657
+ return parentSelectedIds.includes(String(itemFieldValue));
658
+ };
659
+ var getBadgeText = (category, formattedItems) => {
660
+ const visibleIds = formattedItems.flatMap((group) => group.itens || []).map((i) => i.id);
661
+ const selectedVisibleCount = visibleIds.filter(
662
+ (id) => category.selectedIds?.includes(id)
663
+ ).length;
664
+ const totalVisible = visibleIds.length;
665
+ return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
666
+ };
667
+ var handleAccordionValueChange = (value, categories, isCategoryEnabledFn) => {
668
+ if (typeof value !== "string") {
669
+ if (!value) {
670
+ return "";
671
+ }
672
+ return null;
673
+ }
674
+ if (!value) {
675
+ return "";
676
+ }
677
+ const category = categories.find((c) => c.key === value);
678
+ if (!category) {
679
+ return null;
680
+ }
681
+ const isEnabled = isCategoryEnabledFn(category);
682
+ if (!isEnabled) {
683
+ return null;
684
+ }
685
+ return value;
686
+ };
687
+ var calculateFormattedItemsForAutoSelection = (category, allCategories) => {
688
+ if (!category?.dependsOn || category.dependsOn.length === 0) {
689
+ return category?.itens || [];
690
+ }
691
+ const isEnabled = isCategoryEnabled(category, allCategories);
692
+ if (!isEnabled) {
693
+ return [];
694
+ }
695
+ const filters = category.filteredBy || [];
696
+ if (filters.length === 0) {
697
+ return category?.itens || [];
698
+ }
699
+ const selectedIdsArr = filters.map((f) => {
700
+ const parentCat = allCategories.find((c) => c.key === f.key);
701
+ if (!parentCat?.selectedIds?.length) {
702
+ return [];
703
+ }
704
+ return parentCat.selectedIds;
705
+ });
706
+ if (selectedIdsArr.some((arr) => arr.length === 0)) {
707
+ return [];
708
+ }
709
+ const filteredItems = (category.itens || []).filter(
710
+ (item) => filters.every((filter) => isItemMatchingFilter(item, filter, allCategories))
711
+ );
712
+ return filteredItems;
713
+ };
714
+
715
+ // src/components/CheckBoxGroup/CheckBoxGroup.tsx
633
716
  import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
634
717
  var CheckboxGroup = ({
635
718
  categories,
@@ -645,21 +728,16 @@ var CheckboxGroup = ({
645
728
  useEffect(() => {
646
729
  onCategoriesChangeRef.current = onCategoriesChange;
647
730
  }, [onCategoriesChange]);
648
- const areSelectedIdsEqual = (ids1, ids2) => {
649
- if (ids1 === ids2) return true;
650
- if (!ids1 || !ids2) return ids1 === ids2;
651
- if (ids1.length !== ids2.length) return false;
652
- for (let i = 0; i < ids1.length; i++) {
653
- if (ids1[i] !== ids2[i]) return false;
654
- }
655
- return true;
656
- };
657
731
  const categoriesWithAutoSelection = useMemo(() => {
658
732
  return categories.map((category) => {
659
- if (category.itens?.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
733
+ const filteredItems = calculateFormattedItemsForAutoSelection(
734
+ category,
735
+ categories
736
+ );
737
+ if (filteredItems.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
660
738
  return {
661
739
  ...category,
662
- selectedIds: [category.itens[0].id]
740
+ selectedIds: [filteredItems[0].id]
663
741
  };
664
742
  }
665
743
  return category;
@@ -794,6 +872,23 @@ var CheckboxGroup = ({
794
872
  const getFormattedItems = (categoryKey) => {
795
873
  return formattedItemsMap[categoryKey] || [{ itens: [] }];
796
874
  };
875
+ const getBadgeText2 = (category) => {
876
+ const formattedItems = getFormattedItems(category.key);
877
+ return getBadgeText(category, formattedItems);
878
+ };
879
+ const isCategoryEnabled2 = (category) => {
880
+ return isCategoryEnabled(category, categories);
881
+ };
882
+ const handleAccordionValueChange2 = (value) => {
883
+ const newValue = handleAccordionValueChange(
884
+ value,
885
+ categories,
886
+ isCategoryEnabled2
887
+ );
888
+ if (newValue !== null) {
889
+ setOpenAccordion(newValue);
890
+ }
891
+ };
797
892
  const getDependentCategories = (categoryKey) => {
798
893
  return categories.filter((cat) => cat.dependsOn?.includes(categoryKey)).map((cat) => cat.key);
799
894
  };
@@ -986,14 +1081,7 @@ var CheckboxGroup = ({
986
1081
  }
987
1082
  )
988
1083
  ] }),
989
- (openAccordion === category.key || isEnabled) && /* @__PURE__ */ jsx7(Badge_default, { variant: "solid", action: "info", children: (() => {
990
- const visibleIds = getFormattedItems(category.key).flatMap((group) => group.itens || []).map((i) => i.id);
991
- const selectedVisibleCount = visibleIds.filter(
992
- (id) => category.selectedIds?.includes(id)
993
- ).length;
994
- const totalVisible = visibleIds.length;
995
- return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
996
- })() })
1084
+ (openAccordion === category.key || isEnabled) && /* @__PURE__ */ jsx7(Badge_default, { variant: "solid", action: "info", children: getBadgeText2(category) })
997
1085
  ] });
998
1086
  const renderCompactSingleItem = (category) => {
999
1087
  const formattedItems = getFormattedItems(category.key);
@@ -1015,10 +1103,7 @@ var CheckboxGroup = ({
1015
1103
  );
1016
1104
  };
1017
1105
  const renderCategoryAccordion = (category) => {
1018
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
1019
- const depCat = categories.find((c) => c.key === depKey);
1020
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
1021
- });
1106
+ const isEnabled = isCategoryEnabled2(category);
1022
1107
  const hasOnlyOneItem = category.itens?.length === 1;
1023
1108
  if (hasOnlyOneItem && !compactSingleItem && !showSingleItem) {
1024
1109
  return null;
@@ -1058,10 +1143,7 @@ var CheckboxGroup = ({
1058
1143
  if (!openAccordion) return;
1059
1144
  const category = categories.find((c) => c.key === openAccordion);
1060
1145
  if (!category) return;
1061
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
1062
- const depCat = categories.find((c) => c.key === depKey);
1063
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
1064
- });
1146
+ const isEnabled = isCategoryEnabled2(category);
1065
1147
  if (!isEnabled) {
1066
1148
  setTimeout(() => {
1067
1149
  setOpenAccordion("");
@@ -1074,21 +1156,7 @@ var CheckboxGroup = ({
1074
1156
  type: "single",
1075
1157
  collapsible: true,
1076
1158
  value: openAccordion,
1077
- onValueChange: (value) => {
1078
- if (typeof value === "string") {
1079
- if (value) {
1080
- const category = categories.find((c) => c.key === value);
1081
- const isEnabled = !category?.dependsOn || category.dependsOn.every((depKey) => {
1082
- const depCat = categories.find((c) => c.key === depKey);
1083
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
1084
- });
1085
- if (!isEnabled) {
1086
- return;
1087
- }
1088
- }
1089
- setOpenAccordion(value);
1090
- }
1091
- },
1159
+ onValueChange: handleAccordionValueChange2,
1092
1160
  children: categories.map(renderCategoryAccordion)
1093
1161
  }
1094
1162
  );