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
@@ -5429,6 +5429,87 @@ var createUseRecommendedLessonsHistory = (fetchGoalsHistory) => {
5429
5429
  };
5430
5430
  };
5431
5431
 
5432
+ // src/components/CheckBoxGroup/CheckBoxGroup.helpers.ts
5433
+ var areSelectedIdsEqual = (ids1, ids2) => {
5434
+ if (ids1 === ids2) return true;
5435
+ if (!ids1 || !ids2) return ids1 === ids2;
5436
+ if (ids1.length !== ids2.length) return false;
5437
+ for (let i = 0; i < ids1.length; i++) {
5438
+ if (ids1[i] !== ids2[i]) return false;
5439
+ }
5440
+ return true;
5441
+ };
5442
+ var isCategoryEnabled = (category, allCategories) => {
5443
+ if (!category.dependsOn || category.dependsOn.length === 0) {
5444
+ return true;
5445
+ }
5446
+ return category.dependsOn.every((depKey) => {
5447
+ const depCat = allCategories.find((c) => c.key === depKey);
5448
+ return depCat?.selectedIds && depCat.selectedIds.length > 0;
5449
+ });
5450
+ };
5451
+ var isItemMatchingFilter = (item, filter, allCategories) => {
5452
+ const parentCat = allCategories.find((c) => c.key === filter.key);
5453
+ const parentSelectedIds = parentCat?.selectedIds || [];
5454
+ const itemFieldValue = item[filter.internalField];
5455
+ return parentSelectedIds.includes(String(itemFieldValue));
5456
+ };
5457
+ var getBadgeText = (category, formattedItems) => {
5458
+ const visibleIds = formattedItems.flatMap((group) => group.itens || []).map((i) => i.id);
5459
+ const selectedVisibleCount = visibleIds.filter(
5460
+ (id) => category.selectedIds?.includes(id)
5461
+ ).length;
5462
+ const totalVisible = visibleIds.length;
5463
+ return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
5464
+ };
5465
+ var handleAccordionValueChange = (value, categories, isCategoryEnabledFn) => {
5466
+ if (typeof value !== "string") {
5467
+ if (!value) {
5468
+ return "";
5469
+ }
5470
+ return null;
5471
+ }
5472
+ if (!value) {
5473
+ return "";
5474
+ }
5475
+ const category = categories.find((c) => c.key === value);
5476
+ if (!category) {
5477
+ return null;
5478
+ }
5479
+ const isEnabled = isCategoryEnabledFn(category);
5480
+ if (!isEnabled) {
5481
+ return null;
5482
+ }
5483
+ return value;
5484
+ };
5485
+ var calculateFormattedItemsForAutoSelection = (category, allCategories) => {
5486
+ if (!category?.dependsOn || category.dependsOn.length === 0) {
5487
+ return category?.itens || [];
5488
+ }
5489
+ const isEnabled = isCategoryEnabled(category, allCategories);
5490
+ if (!isEnabled) {
5491
+ return [];
5492
+ }
5493
+ const filters = category.filteredBy || [];
5494
+ if (filters.length === 0) {
5495
+ return category?.itens || [];
5496
+ }
5497
+ const selectedIdsArr = filters.map((f) => {
5498
+ const parentCat = allCategories.find((c) => c.key === f.key);
5499
+ if (!parentCat?.selectedIds?.length) {
5500
+ return [];
5501
+ }
5502
+ return parentCat.selectedIds;
5503
+ });
5504
+ if (selectedIdsArr.some((arr) => arr.length === 0)) {
5505
+ return [];
5506
+ }
5507
+ const filteredItems = (category.itens || []).filter(
5508
+ (item) => filters.every((filter) => isItemMatchingFilter(item, filter, allCategories))
5509
+ );
5510
+ return filteredItems;
5511
+ };
5512
+
5432
5513
  // src/components/CheckBoxGroup/CheckBoxGroup.tsx
5433
5514
  import { jsx as jsx30, jsxs as jsxs20 } from "react/jsx-runtime";
5434
5515
  var CheckboxGroup = ({
@@ -5445,21 +5526,16 @@ var CheckboxGroup = ({
5445
5526
  useEffect12(() => {
5446
5527
  onCategoriesChangeRef.current = onCategoriesChange;
5447
5528
  }, [onCategoriesChange]);
5448
- const areSelectedIdsEqual = (ids1, ids2) => {
5449
- if (ids1 === ids2) return true;
5450
- if (!ids1 || !ids2) return ids1 === ids2;
5451
- if (ids1.length !== ids2.length) return false;
5452
- for (let i = 0; i < ids1.length; i++) {
5453
- if (ids1[i] !== ids2[i]) return false;
5454
- }
5455
- return true;
5456
- };
5457
5529
  const categoriesWithAutoSelection = useMemo4(() => {
5458
5530
  return categories.map((category) => {
5459
- if (category.itens?.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
5531
+ const filteredItems = calculateFormattedItemsForAutoSelection(
5532
+ category,
5533
+ categories
5534
+ );
5535
+ if (filteredItems.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
5460
5536
  return {
5461
5537
  ...category,
5462
- selectedIds: [category.itens[0].id]
5538
+ selectedIds: [filteredItems[0].id]
5463
5539
  };
5464
5540
  }
5465
5541
  return category;
@@ -5594,6 +5670,23 @@ var CheckboxGroup = ({
5594
5670
  const getFormattedItems = (categoryKey) => {
5595
5671
  return formattedItemsMap[categoryKey] || [{ itens: [] }];
5596
5672
  };
5673
+ const getBadgeText2 = (category) => {
5674
+ const formattedItems = getFormattedItems(category.key);
5675
+ return getBadgeText(category, formattedItems);
5676
+ };
5677
+ const isCategoryEnabled2 = (category) => {
5678
+ return isCategoryEnabled(category, categories);
5679
+ };
5680
+ const handleAccordionValueChange2 = (value) => {
5681
+ const newValue = handleAccordionValueChange(
5682
+ value,
5683
+ categories,
5684
+ isCategoryEnabled2
5685
+ );
5686
+ if (newValue !== null) {
5687
+ setOpenAccordion(newValue);
5688
+ }
5689
+ };
5597
5690
  const getDependentCategories = (categoryKey) => {
5598
5691
  return categories.filter((cat) => cat.dependsOn?.includes(categoryKey)).map((cat) => cat.key);
5599
5692
  };
@@ -5786,14 +5879,7 @@ var CheckboxGroup = ({
5786
5879
  }
5787
5880
  )
5788
5881
  ] }),
5789
- (openAccordion === category.key || isEnabled) && /* @__PURE__ */ jsx30(Badge_default, { variant: "solid", action: "info", children: (() => {
5790
- const visibleIds = getFormattedItems(category.key).flatMap((group) => group.itens || []).map((i) => i.id);
5791
- const selectedVisibleCount = visibleIds.filter(
5792
- (id) => category.selectedIds?.includes(id)
5793
- ).length;
5794
- const totalVisible = visibleIds.length;
5795
- return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
5796
- })() })
5882
+ (openAccordion === category.key || isEnabled) && /* @__PURE__ */ jsx30(Badge_default, { variant: "solid", action: "info", children: getBadgeText2(category) })
5797
5883
  ] });
5798
5884
  const renderCompactSingleItem = (category) => {
5799
5885
  const formattedItems = getFormattedItems(category.key);
@@ -5815,10 +5901,7 @@ var CheckboxGroup = ({
5815
5901
  );
5816
5902
  };
5817
5903
  const renderCategoryAccordion = (category) => {
5818
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
5819
- const depCat = categories.find((c) => c.key === depKey);
5820
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
5821
- });
5904
+ const isEnabled = isCategoryEnabled2(category);
5822
5905
  const hasOnlyOneItem = category.itens?.length === 1;
5823
5906
  if (hasOnlyOneItem && !compactSingleItem && !showSingleItem) {
5824
5907
  return null;
@@ -5858,10 +5941,7 @@ var CheckboxGroup = ({
5858
5941
  if (!openAccordion) return;
5859
5942
  const category = categories.find((c) => c.key === openAccordion);
5860
5943
  if (!category) return;
5861
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
5862
- const depCat = categories.find((c) => c.key === depKey);
5863
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
5864
- });
5944
+ const isEnabled = isCategoryEnabled2(category);
5865
5945
  if (!isEnabled) {
5866
5946
  setTimeout(() => {
5867
5947
  setOpenAccordion("");
@@ -5874,21 +5954,7 @@ var CheckboxGroup = ({
5874
5954
  type: "single",
5875
5955
  collapsible: true,
5876
5956
  value: openAccordion,
5877
- onValueChange: (value) => {
5878
- if (typeof value === "string") {
5879
- if (value) {
5880
- const category = categories.find((c) => c.key === value);
5881
- const isEnabled = !category?.dependsOn || category.dependsOn.every((depKey) => {
5882
- const depCat = categories.find((c) => c.key === depKey);
5883
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
5884
- });
5885
- if (!isEnabled) {
5886
- return;
5887
- }
5888
- }
5889
- setOpenAccordion(value);
5890
- }
5891
- },
5957
+ onValueChange: handleAccordionValueChange2,
5892
5958
  children: categories.map(renderCategoryAccordion)
5893
5959
  }
5894
5960
  );