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
@@ -654,6 +654,89 @@ function ImageUpload({
654
654
 
655
655
  // src/components/CheckBoxGroup/CheckBoxGroup.tsx
656
656
  var import_react4 = require("react");
657
+
658
+ // src/components/CheckBoxGroup/CheckBoxGroup.helpers.ts
659
+ var areSelectedIdsEqual = (ids1, ids2) => {
660
+ if (ids1 === ids2) return true;
661
+ if (!ids1 || !ids2) return ids1 === ids2;
662
+ if (ids1.length !== ids2.length) return false;
663
+ for (let i = 0; i < ids1.length; i++) {
664
+ if (ids1[i] !== ids2[i]) return false;
665
+ }
666
+ return true;
667
+ };
668
+ var isCategoryEnabled = (category, allCategories) => {
669
+ if (!category.dependsOn || category.dependsOn.length === 0) {
670
+ return true;
671
+ }
672
+ return category.dependsOn.every((depKey) => {
673
+ const depCat = allCategories.find((c) => c.key === depKey);
674
+ return depCat?.selectedIds && depCat.selectedIds.length > 0;
675
+ });
676
+ };
677
+ var isItemMatchingFilter = (item, filter, allCategories) => {
678
+ const parentCat = allCategories.find((c) => c.key === filter.key);
679
+ const parentSelectedIds = parentCat?.selectedIds || [];
680
+ const itemFieldValue = item[filter.internalField];
681
+ return parentSelectedIds.includes(String(itemFieldValue));
682
+ };
683
+ var getBadgeText = (category, formattedItems) => {
684
+ const visibleIds = formattedItems.flatMap((group) => group.itens || []).map((i) => i.id);
685
+ const selectedVisibleCount = visibleIds.filter(
686
+ (id) => category.selectedIds?.includes(id)
687
+ ).length;
688
+ const totalVisible = visibleIds.length;
689
+ return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
690
+ };
691
+ var handleAccordionValueChange = (value, categories, isCategoryEnabledFn) => {
692
+ if (typeof value !== "string") {
693
+ if (!value) {
694
+ return "";
695
+ }
696
+ return null;
697
+ }
698
+ if (!value) {
699
+ return "";
700
+ }
701
+ const category = categories.find((c) => c.key === value);
702
+ if (!category) {
703
+ return null;
704
+ }
705
+ const isEnabled = isCategoryEnabledFn(category);
706
+ if (!isEnabled) {
707
+ return null;
708
+ }
709
+ return value;
710
+ };
711
+ var calculateFormattedItemsForAutoSelection = (category, allCategories) => {
712
+ if (!category?.dependsOn || category.dependsOn.length === 0) {
713
+ return category?.itens || [];
714
+ }
715
+ const isEnabled = isCategoryEnabled(category, allCategories);
716
+ if (!isEnabled) {
717
+ return [];
718
+ }
719
+ const filters = category.filteredBy || [];
720
+ if (filters.length === 0) {
721
+ return category?.itens || [];
722
+ }
723
+ const selectedIdsArr = filters.map((f) => {
724
+ const parentCat = allCategories.find((c) => c.key === f.key);
725
+ if (!parentCat?.selectedIds?.length) {
726
+ return [];
727
+ }
728
+ return parentCat.selectedIds;
729
+ });
730
+ if (selectedIdsArr.some((arr) => arr.length === 0)) {
731
+ return [];
732
+ }
733
+ const filteredItems = (category.itens || []).filter(
734
+ (item) => filters.every((filter) => isItemMatchingFilter(item, filter, allCategories))
735
+ );
736
+ return filteredItems;
737
+ };
738
+
739
+ // src/components/CheckBoxGroup/CheckBoxGroup.tsx
657
740
  var import_jsx_runtime7 = require("react/jsx-runtime");
658
741
  var CheckboxGroup = ({
659
742
  categories,
@@ -669,21 +752,16 @@ var CheckboxGroup = ({
669
752
  (0, import_react4.useEffect)(() => {
670
753
  onCategoriesChangeRef.current = onCategoriesChange;
671
754
  }, [onCategoriesChange]);
672
- const areSelectedIdsEqual = (ids1, ids2) => {
673
- if (ids1 === ids2) return true;
674
- if (!ids1 || !ids2) return ids1 === ids2;
675
- if (ids1.length !== ids2.length) return false;
676
- for (let i = 0; i < ids1.length; i++) {
677
- if (ids1[i] !== ids2[i]) return false;
678
- }
679
- return true;
680
- };
681
755
  const categoriesWithAutoSelection = (0, import_react4.useMemo)(() => {
682
756
  return categories.map((category) => {
683
- if (category.itens?.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
757
+ const filteredItems = calculateFormattedItemsForAutoSelection(
758
+ category,
759
+ categories
760
+ );
761
+ if (filteredItems.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
684
762
  return {
685
763
  ...category,
686
- selectedIds: [category.itens[0].id]
764
+ selectedIds: [filteredItems[0].id]
687
765
  };
688
766
  }
689
767
  return category;
@@ -818,6 +896,23 @@ var CheckboxGroup = ({
818
896
  const getFormattedItems = (categoryKey) => {
819
897
  return formattedItemsMap[categoryKey] || [{ itens: [] }];
820
898
  };
899
+ const getBadgeText2 = (category) => {
900
+ const formattedItems = getFormattedItems(category.key);
901
+ return getBadgeText(category, formattedItems);
902
+ };
903
+ const isCategoryEnabled2 = (category) => {
904
+ return isCategoryEnabled(category, categories);
905
+ };
906
+ const handleAccordionValueChange2 = (value) => {
907
+ const newValue = handleAccordionValueChange(
908
+ value,
909
+ categories,
910
+ isCategoryEnabled2
911
+ );
912
+ if (newValue !== null) {
913
+ setOpenAccordion(newValue);
914
+ }
915
+ };
821
916
  const getDependentCategories = (categoryKey) => {
822
917
  return categories.filter((cat) => cat.dependsOn?.includes(categoryKey)).map((cat) => cat.key);
823
918
  };
@@ -1010,14 +1105,7 @@ var CheckboxGroup = ({
1010
1105
  }
1011
1106
  )
1012
1107
  ] }),
1013
- (openAccordion === category.key || isEnabled) && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Badge_default, { variant: "solid", action: "info", children: (() => {
1014
- const visibleIds = getFormattedItems(category.key).flatMap((group) => group.itens || []).map((i) => i.id);
1015
- const selectedVisibleCount = visibleIds.filter(
1016
- (id) => category.selectedIds?.includes(id)
1017
- ).length;
1018
- const totalVisible = visibleIds.length;
1019
- return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
1020
- })() })
1108
+ (openAccordion === category.key || isEnabled) && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Badge_default, { variant: "solid", action: "info", children: getBadgeText2(category) })
1021
1109
  ] });
1022
1110
  const renderCompactSingleItem = (category) => {
1023
1111
  const formattedItems = getFormattedItems(category.key);
@@ -1039,10 +1127,7 @@ var CheckboxGroup = ({
1039
1127
  );
1040
1128
  };
1041
1129
  const renderCategoryAccordion = (category) => {
1042
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
1043
- const depCat = categories.find((c) => c.key === depKey);
1044
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
1045
- });
1130
+ const isEnabled = isCategoryEnabled2(category);
1046
1131
  const hasOnlyOneItem = category.itens?.length === 1;
1047
1132
  if (hasOnlyOneItem && !compactSingleItem && !showSingleItem) {
1048
1133
  return null;
@@ -1082,10 +1167,7 @@ var CheckboxGroup = ({
1082
1167
  if (!openAccordion) return;
1083
1168
  const category = categories.find((c) => c.key === openAccordion);
1084
1169
  if (!category) return;
1085
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
1086
- const depCat = categories.find((c) => c.key === depKey);
1087
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
1088
- });
1170
+ const isEnabled = isCategoryEnabled2(category);
1089
1171
  if (!isEnabled) {
1090
1172
  setTimeout(() => {
1091
1173
  setOpenAccordion("");
@@ -1098,21 +1180,7 @@ var CheckboxGroup = ({
1098
1180
  type: "single",
1099
1181
  collapsible: true,
1100
1182
  value: openAccordion,
1101
- onValueChange: (value) => {
1102
- if (typeof value === "string") {
1103
- if (value) {
1104
- const category = categories.find((c) => c.key === value);
1105
- const isEnabled = !category?.dependsOn || category.dependsOn.every((depKey) => {
1106
- const depCat = categories.find((c) => c.key === depKey);
1107
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
1108
- });
1109
- if (!isEnabled) {
1110
- return;
1111
- }
1112
- }
1113
- setOpenAccordion(value);
1114
- }
1115
- },
1183
+ onValueChange: handleAccordionValueChange2,
1116
1184
  children: categories.map(renderCategoryAccordion)
1117
1185
  }
1118
1186
  );