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
@@ -576,6 +576,89 @@ var CheckBox_default = CheckBox;
576
576
 
577
577
  // src/components/CheckBoxGroup/CheckBoxGroup.tsx
578
578
  var import_react3 = require("react");
579
+
580
+ // src/components/CheckBoxGroup/CheckBoxGroup.helpers.ts
581
+ var areSelectedIdsEqual = (ids1, ids2) => {
582
+ if (ids1 === ids2) return true;
583
+ if (!ids1 || !ids2) return ids1 === ids2;
584
+ if (ids1.length !== ids2.length) return false;
585
+ for (let i = 0; i < ids1.length; i++) {
586
+ if (ids1[i] !== ids2[i]) return false;
587
+ }
588
+ return true;
589
+ };
590
+ var isCategoryEnabled = (category, allCategories) => {
591
+ if (!category.dependsOn || category.dependsOn.length === 0) {
592
+ return true;
593
+ }
594
+ return category.dependsOn.every((depKey) => {
595
+ const depCat = allCategories.find((c) => c.key === depKey);
596
+ return depCat?.selectedIds && depCat.selectedIds.length > 0;
597
+ });
598
+ };
599
+ var isItemMatchingFilter = (item, filter, allCategories) => {
600
+ const parentCat = allCategories.find((c) => c.key === filter.key);
601
+ const parentSelectedIds = parentCat?.selectedIds || [];
602
+ const itemFieldValue = item[filter.internalField];
603
+ return parentSelectedIds.includes(String(itemFieldValue));
604
+ };
605
+ var getBadgeText = (category, formattedItems) => {
606
+ const visibleIds = formattedItems.flatMap((group) => group.itens || []).map((i) => i.id);
607
+ const selectedVisibleCount = visibleIds.filter(
608
+ (id) => category.selectedIds?.includes(id)
609
+ ).length;
610
+ const totalVisible = visibleIds.length;
611
+ return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
612
+ };
613
+ var handleAccordionValueChange = (value, categories, isCategoryEnabledFn) => {
614
+ if (typeof value !== "string") {
615
+ if (!value) {
616
+ return "";
617
+ }
618
+ return null;
619
+ }
620
+ if (!value) {
621
+ return "";
622
+ }
623
+ const category = categories.find((c) => c.key === value);
624
+ if (!category) {
625
+ return null;
626
+ }
627
+ const isEnabled = isCategoryEnabledFn(category);
628
+ if (!isEnabled) {
629
+ return null;
630
+ }
631
+ return value;
632
+ };
633
+ var calculateFormattedItemsForAutoSelection = (category, allCategories) => {
634
+ if (!category?.dependsOn || category.dependsOn.length === 0) {
635
+ return category?.itens || [];
636
+ }
637
+ const isEnabled = isCategoryEnabled(category, allCategories);
638
+ if (!isEnabled) {
639
+ return [];
640
+ }
641
+ const filters = category.filteredBy || [];
642
+ if (filters.length === 0) {
643
+ return category?.itens || [];
644
+ }
645
+ const selectedIdsArr = filters.map((f) => {
646
+ const parentCat = allCategories.find((c) => c.key === f.key);
647
+ if (!parentCat?.selectedIds?.length) {
648
+ return [];
649
+ }
650
+ return parentCat.selectedIds;
651
+ });
652
+ if (selectedIdsArr.some((arr) => arr.length === 0)) {
653
+ return [];
654
+ }
655
+ const filteredItems = (category.itens || []).filter(
656
+ (item) => filters.every((filter) => isItemMatchingFilter(item, filter, allCategories))
657
+ );
658
+ return filteredItems;
659
+ };
660
+
661
+ // src/components/CheckBoxGroup/CheckBoxGroup.tsx
579
662
  var import_jsx_runtime6 = require("react/jsx-runtime");
580
663
  var CheckboxGroup = ({
581
664
  categories,
@@ -591,21 +674,16 @@ var CheckboxGroup = ({
591
674
  (0, import_react3.useEffect)(() => {
592
675
  onCategoriesChangeRef.current = onCategoriesChange;
593
676
  }, [onCategoriesChange]);
594
- const areSelectedIdsEqual = (ids1, ids2) => {
595
- if (ids1 === ids2) return true;
596
- if (!ids1 || !ids2) return ids1 === ids2;
597
- if (ids1.length !== ids2.length) return false;
598
- for (let i = 0; i < ids1.length; i++) {
599
- if (ids1[i] !== ids2[i]) return false;
600
- }
601
- return true;
602
- };
603
677
  const categoriesWithAutoSelection = (0, import_react3.useMemo)(() => {
604
678
  return categories.map((category) => {
605
- if (category.itens?.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
679
+ const filteredItems = calculateFormattedItemsForAutoSelection(
680
+ category,
681
+ categories
682
+ );
683
+ if (filteredItems.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
606
684
  return {
607
685
  ...category,
608
- selectedIds: [category.itens[0].id]
686
+ selectedIds: [filteredItems[0].id]
609
687
  };
610
688
  }
611
689
  return category;
@@ -740,6 +818,23 @@ var CheckboxGroup = ({
740
818
  const getFormattedItems = (categoryKey) => {
741
819
  return formattedItemsMap[categoryKey] || [{ itens: [] }];
742
820
  };
821
+ const getBadgeText2 = (category) => {
822
+ const formattedItems = getFormattedItems(category.key);
823
+ return getBadgeText(category, formattedItems);
824
+ };
825
+ const isCategoryEnabled2 = (category) => {
826
+ return isCategoryEnabled(category, categories);
827
+ };
828
+ const handleAccordionValueChange2 = (value) => {
829
+ const newValue = handleAccordionValueChange(
830
+ value,
831
+ categories,
832
+ isCategoryEnabled2
833
+ );
834
+ if (newValue !== null) {
835
+ setOpenAccordion(newValue);
836
+ }
837
+ };
743
838
  const getDependentCategories = (categoryKey) => {
744
839
  return categories.filter((cat) => cat.dependsOn?.includes(categoryKey)).map((cat) => cat.key);
745
840
  };
@@ -932,14 +1027,7 @@ var CheckboxGroup = ({
932
1027
  }
933
1028
  )
934
1029
  ] }),
935
- (openAccordion === category.key || isEnabled) && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Badge_default, { variant: "solid", action: "info", children: (() => {
936
- const visibleIds = getFormattedItems(category.key).flatMap((group) => group.itens || []).map((i) => i.id);
937
- const selectedVisibleCount = visibleIds.filter(
938
- (id) => category.selectedIds?.includes(id)
939
- ).length;
940
- const totalVisible = visibleIds.length;
941
- return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
942
- })() })
1030
+ (openAccordion === category.key || isEnabled) && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Badge_default, { variant: "solid", action: "info", children: getBadgeText2(category) })
943
1031
  ] });
944
1032
  const renderCompactSingleItem = (category) => {
945
1033
  const formattedItems = getFormattedItems(category.key);
@@ -961,10 +1049,7 @@ var CheckboxGroup = ({
961
1049
  );
962
1050
  };
963
1051
  const renderCategoryAccordion = (category) => {
964
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
965
- const depCat = categories.find((c) => c.key === depKey);
966
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
967
- });
1052
+ const isEnabled = isCategoryEnabled2(category);
968
1053
  const hasOnlyOneItem = category.itens?.length === 1;
969
1054
  if (hasOnlyOneItem && !compactSingleItem && !showSingleItem) {
970
1055
  return null;
@@ -1004,10 +1089,7 @@ var CheckboxGroup = ({
1004
1089
  if (!openAccordion) return;
1005
1090
  const category = categories.find((c) => c.key === openAccordion);
1006
1091
  if (!category) return;
1007
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
1008
- const depCat = categories.find((c) => c.key === depKey);
1009
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
1010
- });
1092
+ const isEnabled = isCategoryEnabled2(category);
1011
1093
  if (!isEnabled) {
1012
1094
  setTimeout(() => {
1013
1095
  setOpenAccordion("");
@@ -1020,21 +1102,7 @@ var CheckboxGroup = ({
1020
1102
  type: "single",
1021
1103
  collapsible: true,
1022
1104
  value: openAccordion,
1023
- onValueChange: (value) => {
1024
- if (typeof value === "string") {
1025
- if (value) {
1026
- const category = categories.find((c) => c.key === value);
1027
- const isEnabled = !category?.dependsOn || category.dependsOn.every((depKey) => {
1028
- const depCat = categories.find((c) => c.key === depKey);
1029
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
1030
- });
1031
- if (!isEnabled) {
1032
- return;
1033
- }
1034
- }
1035
- setOpenAccordion(value);
1036
- }
1037
- },
1105
+ onValueChange: handleAccordionValueChange2,
1038
1106
  children: categories.map(renderCategoryAccordion)
1039
1107
  }
1040
1108
  );