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
@@ -5389,6 +5389,87 @@ var createUseRecommendedLessonsHistory = (fetchGoalsHistory) => {
5389
5389
  };
5390
5390
  };
5391
5391
 
5392
+ // src/components/CheckBoxGroup/CheckBoxGroup.helpers.ts
5393
+ var areSelectedIdsEqual = (ids1, ids2) => {
5394
+ if (ids1 === ids2) return true;
5395
+ if (!ids1 || !ids2) return ids1 === ids2;
5396
+ if (ids1.length !== ids2.length) return false;
5397
+ for (let i = 0; i < ids1.length; i++) {
5398
+ if (ids1[i] !== ids2[i]) return false;
5399
+ }
5400
+ return true;
5401
+ };
5402
+ var isCategoryEnabled = (category, allCategories) => {
5403
+ if (!category.dependsOn || category.dependsOn.length === 0) {
5404
+ return true;
5405
+ }
5406
+ return category.dependsOn.every((depKey) => {
5407
+ const depCat = allCategories.find((c) => c.key === depKey);
5408
+ return depCat?.selectedIds && depCat.selectedIds.length > 0;
5409
+ });
5410
+ };
5411
+ var isItemMatchingFilter = (item, filter, allCategories) => {
5412
+ const parentCat = allCategories.find((c) => c.key === filter.key);
5413
+ const parentSelectedIds = parentCat?.selectedIds || [];
5414
+ const itemFieldValue = item[filter.internalField];
5415
+ return parentSelectedIds.includes(String(itemFieldValue));
5416
+ };
5417
+ var getBadgeText = (category, formattedItems) => {
5418
+ const visibleIds = formattedItems.flatMap((group) => group.itens || []).map((i) => i.id);
5419
+ const selectedVisibleCount = visibleIds.filter(
5420
+ (id) => category.selectedIds?.includes(id)
5421
+ ).length;
5422
+ const totalVisible = visibleIds.length;
5423
+ return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
5424
+ };
5425
+ var handleAccordionValueChange = (value, categories, isCategoryEnabledFn) => {
5426
+ if (typeof value !== "string") {
5427
+ if (!value) {
5428
+ return "";
5429
+ }
5430
+ return null;
5431
+ }
5432
+ if (!value) {
5433
+ return "";
5434
+ }
5435
+ const category = categories.find((c) => c.key === value);
5436
+ if (!category) {
5437
+ return null;
5438
+ }
5439
+ const isEnabled = isCategoryEnabledFn(category);
5440
+ if (!isEnabled) {
5441
+ return null;
5442
+ }
5443
+ return value;
5444
+ };
5445
+ var calculateFormattedItemsForAutoSelection = (category, allCategories) => {
5446
+ if (!category?.dependsOn || category.dependsOn.length === 0) {
5447
+ return category?.itens || [];
5448
+ }
5449
+ const isEnabled = isCategoryEnabled(category, allCategories);
5450
+ if (!isEnabled) {
5451
+ return [];
5452
+ }
5453
+ const filters = category.filteredBy || [];
5454
+ if (filters.length === 0) {
5455
+ return category?.itens || [];
5456
+ }
5457
+ const selectedIdsArr = filters.map((f) => {
5458
+ const parentCat = allCategories.find((c) => c.key === f.key);
5459
+ if (!parentCat?.selectedIds?.length) {
5460
+ return [];
5461
+ }
5462
+ return parentCat.selectedIds;
5463
+ });
5464
+ if (selectedIdsArr.some((arr) => arr.length === 0)) {
5465
+ return [];
5466
+ }
5467
+ const filteredItems = (category.itens || []).filter(
5468
+ (item) => filters.every((filter) => isItemMatchingFilter(item, filter, allCategories))
5469
+ );
5470
+ return filteredItems;
5471
+ };
5472
+
5392
5473
  // src/components/CheckBoxGroup/CheckBoxGroup.tsx
5393
5474
  var import_jsx_runtime30 = require("react/jsx-runtime");
5394
5475
  var CheckboxGroup = ({
@@ -5405,21 +5486,16 @@ var CheckboxGroup = ({
5405
5486
  (0, import_react18.useEffect)(() => {
5406
5487
  onCategoriesChangeRef.current = onCategoriesChange;
5407
5488
  }, [onCategoriesChange]);
5408
- const areSelectedIdsEqual = (ids1, ids2) => {
5409
- if (ids1 === ids2) return true;
5410
- if (!ids1 || !ids2) return ids1 === ids2;
5411
- if (ids1.length !== ids2.length) return false;
5412
- for (let i = 0; i < ids1.length; i++) {
5413
- if (ids1[i] !== ids2[i]) return false;
5414
- }
5415
- return true;
5416
- };
5417
5489
  const categoriesWithAutoSelection = (0, import_react18.useMemo)(() => {
5418
5490
  return categories.map((category) => {
5419
- if (category.itens?.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
5491
+ const filteredItems = calculateFormattedItemsForAutoSelection(
5492
+ category,
5493
+ categories
5494
+ );
5495
+ if (filteredItems.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
5420
5496
  return {
5421
5497
  ...category,
5422
- selectedIds: [category.itens[0].id]
5498
+ selectedIds: [filteredItems[0].id]
5423
5499
  };
5424
5500
  }
5425
5501
  return category;
@@ -5554,6 +5630,23 @@ var CheckboxGroup = ({
5554
5630
  const getFormattedItems = (categoryKey) => {
5555
5631
  return formattedItemsMap[categoryKey] || [{ itens: [] }];
5556
5632
  };
5633
+ const getBadgeText2 = (category) => {
5634
+ const formattedItems = getFormattedItems(category.key);
5635
+ return getBadgeText(category, formattedItems);
5636
+ };
5637
+ const isCategoryEnabled2 = (category) => {
5638
+ return isCategoryEnabled(category, categories);
5639
+ };
5640
+ const handleAccordionValueChange2 = (value) => {
5641
+ const newValue = handleAccordionValueChange(
5642
+ value,
5643
+ categories,
5644
+ isCategoryEnabled2
5645
+ );
5646
+ if (newValue !== null) {
5647
+ setOpenAccordion(newValue);
5648
+ }
5649
+ };
5557
5650
  const getDependentCategories = (categoryKey) => {
5558
5651
  return categories.filter((cat) => cat.dependsOn?.includes(categoryKey)).map((cat) => cat.key);
5559
5652
  };
@@ -5746,14 +5839,7 @@ var CheckboxGroup = ({
5746
5839
  }
5747
5840
  )
5748
5841
  ] }),
5749
- (openAccordion === category.key || isEnabled) && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Badge_default, { variant: "solid", action: "info", children: (() => {
5750
- const visibleIds = getFormattedItems(category.key).flatMap((group) => group.itens || []).map((i) => i.id);
5751
- const selectedVisibleCount = visibleIds.filter(
5752
- (id) => category.selectedIds?.includes(id)
5753
- ).length;
5754
- const totalVisible = visibleIds.length;
5755
- return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
5756
- })() })
5842
+ (openAccordion === category.key || isEnabled) && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Badge_default, { variant: "solid", action: "info", children: getBadgeText2(category) })
5757
5843
  ] });
5758
5844
  const renderCompactSingleItem = (category) => {
5759
5845
  const formattedItems = getFormattedItems(category.key);
@@ -5775,10 +5861,7 @@ var CheckboxGroup = ({
5775
5861
  );
5776
5862
  };
5777
5863
  const renderCategoryAccordion = (category) => {
5778
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
5779
- const depCat = categories.find((c) => c.key === depKey);
5780
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
5781
- });
5864
+ const isEnabled = isCategoryEnabled2(category);
5782
5865
  const hasOnlyOneItem = category.itens?.length === 1;
5783
5866
  if (hasOnlyOneItem && !compactSingleItem && !showSingleItem) {
5784
5867
  return null;
@@ -5818,10 +5901,7 @@ var CheckboxGroup = ({
5818
5901
  if (!openAccordion) return;
5819
5902
  const category = categories.find((c) => c.key === openAccordion);
5820
5903
  if (!category) return;
5821
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
5822
- const depCat = categories.find((c) => c.key === depKey);
5823
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
5824
- });
5904
+ const isEnabled = isCategoryEnabled2(category);
5825
5905
  if (!isEnabled) {
5826
5906
  setTimeout(() => {
5827
5907
  setOpenAccordion("");
@@ -5834,21 +5914,7 @@ var CheckboxGroup = ({
5834
5914
  type: "single",
5835
5915
  collapsible: true,
5836
5916
  value: openAccordion,
5837
- onValueChange: (value) => {
5838
- if (typeof value === "string") {
5839
- if (value) {
5840
- const category = categories.find((c) => c.key === value);
5841
- const isEnabled = !category?.dependsOn || category.dependsOn.every((depKey) => {
5842
- const depCat = categories.find((c) => c.key === depKey);
5843
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
5844
- });
5845
- if (!isEnabled) {
5846
- return;
5847
- }
5848
- }
5849
- setOpenAccordion(value);
5850
- }
5851
- },
5917
+ onValueChange: handleAccordionValueChange2,
5852
5918
  children: categories.map(renderCategoryAccordion)
5853
5919
  }
5854
5920
  );