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
@@ -4797,6 +4797,87 @@ var AccordionGroup = forwardRef9(
4797
4797
  );
4798
4798
  AccordionGroup.displayName = "AccordionGroup";
4799
4799
 
4800
+ // src/components/CheckBoxGroup/CheckBoxGroup.helpers.ts
4801
+ var areSelectedIdsEqual = (ids1, ids2) => {
4802
+ if (ids1 === ids2) return true;
4803
+ if (!ids1 || !ids2) return ids1 === ids2;
4804
+ if (ids1.length !== ids2.length) return false;
4805
+ for (let i = 0; i < ids1.length; i++) {
4806
+ if (ids1[i] !== ids2[i]) return false;
4807
+ }
4808
+ return true;
4809
+ };
4810
+ var isCategoryEnabled = (category, allCategories) => {
4811
+ if (!category.dependsOn || category.dependsOn.length === 0) {
4812
+ return true;
4813
+ }
4814
+ return category.dependsOn.every((depKey) => {
4815
+ const depCat = allCategories.find((c) => c.key === depKey);
4816
+ return depCat?.selectedIds && depCat.selectedIds.length > 0;
4817
+ });
4818
+ };
4819
+ var isItemMatchingFilter = (item, filter, allCategories) => {
4820
+ const parentCat = allCategories.find((c) => c.key === filter.key);
4821
+ const parentSelectedIds = parentCat?.selectedIds || [];
4822
+ const itemFieldValue = item[filter.internalField];
4823
+ return parentSelectedIds.includes(String(itemFieldValue));
4824
+ };
4825
+ var getBadgeText = (category, formattedItems) => {
4826
+ const visibleIds = formattedItems.flatMap((group) => group.itens || []).map((i) => i.id);
4827
+ const selectedVisibleCount = visibleIds.filter(
4828
+ (id) => category.selectedIds?.includes(id)
4829
+ ).length;
4830
+ const totalVisible = visibleIds.length;
4831
+ return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
4832
+ };
4833
+ var handleAccordionValueChange = (value, categories, isCategoryEnabledFn) => {
4834
+ if (typeof value !== "string") {
4835
+ if (!value) {
4836
+ return "";
4837
+ }
4838
+ return null;
4839
+ }
4840
+ if (!value) {
4841
+ return "";
4842
+ }
4843
+ const category = categories.find((c) => c.key === value);
4844
+ if (!category) {
4845
+ return null;
4846
+ }
4847
+ const isEnabled = isCategoryEnabledFn(category);
4848
+ if (!isEnabled) {
4849
+ return null;
4850
+ }
4851
+ return value;
4852
+ };
4853
+ var calculateFormattedItemsForAutoSelection = (category, allCategories) => {
4854
+ if (!category?.dependsOn || category.dependsOn.length === 0) {
4855
+ return category?.itens || [];
4856
+ }
4857
+ const isEnabled = isCategoryEnabled(category, allCategories);
4858
+ if (!isEnabled) {
4859
+ return [];
4860
+ }
4861
+ const filters = category.filteredBy || [];
4862
+ if (filters.length === 0) {
4863
+ return category?.itens || [];
4864
+ }
4865
+ const selectedIdsArr = filters.map((f) => {
4866
+ const parentCat = allCategories.find((c) => c.key === f.key);
4867
+ if (!parentCat?.selectedIds?.length) {
4868
+ return [];
4869
+ }
4870
+ return parentCat.selectedIds;
4871
+ });
4872
+ if (selectedIdsArr.some((arr) => arr.length === 0)) {
4873
+ return [];
4874
+ }
4875
+ const filteredItems = (category.itens || []).filter(
4876
+ (item) => filters.every((filter) => isItemMatchingFilter(item, filter, allCategories))
4877
+ );
4878
+ return filteredItems;
4879
+ };
4880
+
4800
4881
  // src/components/CheckBoxGroup/CheckBoxGroup.tsx
4801
4882
  import { jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
4802
4883
  var CheckboxGroup = ({
@@ -4813,21 +4894,16 @@ var CheckboxGroup = ({
4813
4894
  useEffect11(() => {
4814
4895
  onCategoriesChangeRef.current = onCategoriesChange;
4815
4896
  }, [onCategoriesChange]);
4816
- const areSelectedIdsEqual = (ids1, ids2) => {
4817
- if (ids1 === ids2) return true;
4818
- if (!ids1 || !ids2) return ids1 === ids2;
4819
- if (ids1.length !== ids2.length) return false;
4820
- for (let i = 0; i < ids1.length; i++) {
4821
- if (ids1[i] !== ids2[i]) return false;
4822
- }
4823
- return true;
4824
- };
4825
4897
  const categoriesWithAutoSelection = useMemo4(() => {
4826
4898
  return categories.map((category) => {
4827
- if (category.itens?.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
4899
+ const filteredItems = calculateFormattedItemsForAutoSelection(
4900
+ category,
4901
+ categories
4902
+ );
4903
+ if (filteredItems.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
4828
4904
  return {
4829
4905
  ...category,
4830
- selectedIds: [category.itens[0].id]
4906
+ selectedIds: [filteredItems[0].id]
4831
4907
  };
4832
4908
  }
4833
4909
  return category;
@@ -4962,6 +5038,23 @@ var CheckboxGroup = ({
4962
5038
  const getFormattedItems = (categoryKey) => {
4963
5039
  return formattedItemsMap[categoryKey] || [{ itens: [] }];
4964
5040
  };
5041
+ const getBadgeText2 = (category) => {
5042
+ const formattedItems = getFormattedItems(category.key);
5043
+ return getBadgeText(category, formattedItems);
5044
+ };
5045
+ const isCategoryEnabled2 = (category) => {
5046
+ return isCategoryEnabled(category, categories);
5047
+ };
5048
+ const handleAccordionValueChange2 = (value) => {
5049
+ const newValue = handleAccordionValueChange(
5050
+ value,
5051
+ categories,
5052
+ isCategoryEnabled2
5053
+ );
5054
+ if (newValue !== null) {
5055
+ setOpenAccordion(newValue);
5056
+ }
5057
+ };
4965
5058
  const getDependentCategories = (categoryKey) => {
4966
5059
  return categories.filter((cat) => cat.dependsOn?.includes(categoryKey)).map((cat) => cat.key);
4967
5060
  };
@@ -5154,14 +5247,7 @@ var CheckboxGroup = ({
5154
5247
  }
5155
5248
  )
5156
5249
  ] }),
5157
- (openAccordion === category.key || isEnabled) && /* @__PURE__ */ jsx24(Badge_default, { variant: "solid", action: "info", children: (() => {
5158
- const visibleIds = getFormattedItems(category.key).flatMap((group) => group.itens || []).map((i) => i.id);
5159
- const selectedVisibleCount = visibleIds.filter(
5160
- (id) => category.selectedIds?.includes(id)
5161
- ).length;
5162
- const totalVisible = visibleIds.length;
5163
- return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
5164
- })() })
5250
+ (openAccordion === category.key || isEnabled) && /* @__PURE__ */ jsx24(Badge_default, { variant: "solid", action: "info", children: getBadgeText2(category) })
5165
5251
  ] });
5166
5252
  const renderCompactSingleItem = (category) => {
5167
5253
  const formattedItems = getFormattedItems(category.key);
@@ -5183,10 +5269,7 @@ var CheckboxGroup = ({
5183
5269
  );
5184
5270
  };
5185
5271
  const renderCategoryAccordion = (category) => {
5186
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
5187
- const depCat = categories.find((c) => c.key === depKey);
5188
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
5189
- });
5272
+ const isEnabled = isCategoryEnabled2(category);
5190
5273
  const hasOnlyOneItem = category.itens?.length === 1;
5191
5274
  if (hasOnlyOneItem && !compactSingleItem && !showSingleItem) {
5192
5275
  return null;
@@ -5226,10 +5309,7 @@ var CheckboxGroup = ({
5226
5309
  if (!openAccordion) return;
5227
5310
  const category = categories.find((c) => c.key === openAccordion);
5228
5311
  if (!category) return;
5229
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
5230
- const depCat = categories.find((c) => c.key === depKey);
5231
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
5232
- });
5312
+ const isEnabled = isCategoryEnabled2(category);
5233
5313
  if (!isEnabled) {
5234
5314
  setTimeout(() => {
5235
5315
  setOpenAccordion("");
@@ -5242,21 +5322,7 @@ var CheckboxGroup = ({
5242
5322
  type: "single",
5243
5323
  collapsible: true,
5244
5324
  value: openAccordion,
5245
- onValueChange: (value) => {
5246
- if (typeof value === "string") {
5247
- if (value) {
5248
- const category = categories.find((c) => c.key === value);
5249
- const isEnabled = !category?.dependsOn || category.dependsOn.every((depKey) => {
5250
- const depCat = categories.find((c) => c.key === depKey);
5251
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
5252
- });
5253
- if (!isEnabled) {
5254
- return;
5255
- }
5256
- }
5257
- setOpenAccordion(value);
5258
- }
5259
- },
5325
+ onValueChange: handleAccordionValueChange2,
5260
5326
  children: categories.map(renderCategoryAccordion)
5261
5327
  }
5262
5328
  );