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
@@ -6151,6 +6151,87 @@ var getSubjectInfo = (subject) => {
6151
6151
  };
6152
6152
  };
6153
6153
 
6154
+ // src/components/CheckBoxGroup/CheckBoxGroup.helpers.ts
6155
+ var areSelectedIdsEqual = (ids1, ids2) => {
6156
+ if (ids1 === ids2) return true;
6157
+ if (!ids1 || !ids2) return ids1 === ids2;
6158
+ if (ids1.length !== ids2.length) return false;
6159
+ for (let i = 0; i < ids1.length; i++) {
6160
+ if (ids1[i] !== ids2[i]) return false;
6161
+ }
6162
+ return true;
6163
+ };
6164
+ var isCategoryEnabled = (category, allCategories) => {
6165
+ if (!category.dependsOn || category.dependsOn.length === 0) {
6166
+ return true;
6167
+ }
6168
+ return category.dependsOn.every((depKey) => {
6169
+ const depCat = allCategories.find((c) => c.key === depKey);
6170
+ return depCat?.selectedIds && depCat.selectedIds.length > 0;
6171
+ });
6172
+ };
6173
+ var isItemMatchingFilter = (item, filter, allCategories) => {
6174
+ const parentCat = allCategories.find((c) => c.key === filter.key);
6175
+ const parentSelectedIds = parentCat?.selectedIds || [];
6176
+ const itemFieldValue = item[filter.internalField];
6177
+ return parentSelectedIds.includes(String(itemFieldValue));
6178
+ };
6179
+ var getBadgeText = (category, formattedItems) => {
6180
+ const visibleIds = formattedItems.flatMap((group) => group.itens || []).map((i) => i.id);
6181
+ const selectedVisibleCount = visibleIds.filter(
6182
+ (id) => category.selectedIds?.includes(id)
6183
+ ).length;
6184
+ const totalVisible = visibleIds.length;
6185
+ return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
6186
+ };
6187
+ var handleAccordionValueChange = (value, categories, isCategoryEnabledFn) => {
6188
+ if (typeof value !== "string") {
6189
+ if (!value) {
6190
+ return "";
6191
+ }
6192
+ return null;
6193
+ }
6194
+ if (!value) {
6195
+ return "";
6196
+ }
6197
+ const category = categories.find((c) => c.key === value);
6198
+ if (!category) {
6199
+ return null;
6200
+ }
6201
+ const isEnabled = isCategoryEnabledFn(category);
6202
+ if (!isEnabled) {
6203
+ return null;
6204
+ }
6205
+ return value;
6206
+ };
6207
+ var calculateFormattedItemsForAutoSelection = (category, allCategories) => {
6208
+ if (!category?.dependsOn || category.dependsOn.length === 0) {
6209
+ return category?.itens || [];
6210
+ }
6211
+ const isEnabled = isCategoryEnabled(category, allCategories);
6212
+ if (!isEnabled) {
6213
+ return [];
6214
+ }
6215
+ const filters = category.filteredBy || [];
6216
+ if (filters.length === 0) {
6217
+ return category?.itens || [];
6218
+ }
6219
+ const selectedIdsArr = filters.map((f) => {
6220
+ const parentCat = allCategories.find((c) => c.key === f.key);
6221
+ if (!parentCat?.selectedIds?.length) {
6222
+ return [];
6223
+ }
6224
+ return parentCat.selectedIds;
6225
+ });
6226
+ if (selectedIdsArr.some((arr) => arr.length === 0)) {
6227
+ return [];
6228
+ }
6229
+ const filteredItems = (category.itens || []).filter(
6230
+ (item) => filters.every((filter) => isItemMatchingFilter(item, filter, allCategories))
6231
+ );
6232
+ return filteredItems;
6233
+ };
6234
+
6154
6235
  // src/components/CheckBoxGroup/CheckBoxGroup.tsx
6155
6236
  import { jsx as jsx32, jsxs as jsxs23 } from "react/jsx-runtime";
6156
6237
  var CheckboxGroup = ({
@@ -6167,21 +6248,16 @@ var CheckboxGroup = ({
6167
6248
  useEffect14(() => {
6168
6249
  onCategoriesChangeRef.current = onCategoriesChange;
6169
6250
  }, [onCategoriesChange]);
6170
- const areSelectedIdsEqual = (ids1, ids2) => {
6171
- if (ids1 === ids2) return true;
6172
- if (!ids1 || !ids2) return ids1 === ids2;
6173
- if (ids1.length !== ids2.length) return false;
6174
- for (let i = 0; i < ids1.length; i++) {
6175
- if (ids1[i] !== ids2[i]) return false;
6176
- }
6177
- return true;
6178
- };
6179
6251
  const categoriesWithAutoSelection = useMemo4(() => {
6180
6252
  return categories.map((category) => {
6181
- if (category.itens?.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
6253
+ const filteredItems = calculateFormattedItemsForAutoSelection(
6254
+ category,
6255
+ categories
6256
+ );
6257
+ if (filteredItems.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
6182
6258
  return {
6183
6259
  ...category,
6184
- selectedIds: [category.itens[0].id]
6260
+ selectedIds: [filteredItems[0].id]
6185
6261
  };
6186
6262
  }
6187
6263
  return category;
@@ -6316,6 +6392,23 @@ var CheckboxGroup = ({
6316
6392
  const getFormattedItems = (categoryKey) => {
6317
6393
  return formattedItemsMap[categoryKey] || [{ itens: [] }];
6318
6394
  };
6395
+ const getBadgeText2 = (category) => {
6396
+ const formattedItems = getFormattedItems(category.key);
6397
+ return getBadgeText(category, formattedItems);
6398
+ };
6399
+ const isCategoryEnabled2 = (category) => {
6400
+ return isCategoryEnabled(category, categories);
6401
+ };
6402
+ const handleAccordionValueChange2 = (value) => {
6403
+ const newValue = handleAccordionValueChange(
6404
+ value,
6405
+ categories,
6406
+ isCategoryEnabled2
6407
+ );
6408
+ if (newValue !== null) {
6409
+ setOpenAccordion(newValue);
6410
+ }
6411
+ };
6319
6412
  const getDependentCategories = (categoryKey) => {
6320
6413
  return categories.filter((cat) => cat.dependsOn?.includes(categoryKey)).map((cat) => cat.key);
6321
6414
  };
@@ -6508,14 +6601,7 @@ var CheckboxGroup = ({
6508
6601
  }
6509
6602
  )
6510
6603
  ] }),
6511
- (openAccordion === category.key || isEnabled) && /* @__PURE__ */ jsx32(Badge_default, { variant: "solid", action: "info", children: (() => {
6512
- const visibleIds = getFormattedItems(category.key).flatMap((group) => group.itens || []).map((i) => i.id);
6513
- const selectedVisibleCount = visibleIds.filter(
6514
- (id) => category.selectedIds?.includes(id)
6515
- ).length;
6516
- const totalVisible = visibleIds.length;
6517
- return `${selectedVisibleCount} de ${totalVisible} ${selectedVisibleCount === 1 ? "selecionado" : "selecionados"}`;
6518
- })() })
6604
+ (openAccordion === category.key || isEnabled) && /* @__PURE__ */ jsx32(Badge_default, { variant: "solid", action: "info", children: getBadgeText2(category) })
6519
6605
  ] });
6520
6606
  const renderCompactSingleItem = (category) => {
6521
6607
  const formattedItems = getFormattedItems(category.key);
@@ -6537,10 +6623,7 @@ var CheckboxGroup = ({
6537
6623
  );
6538
6624
  };
6539
6625
  const renderCategoryAccordion = (category) => {
6540
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
6541
- const depCat = categories.find((c) => c.key === depKey);
6542
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
6543
- });
6626
+ const isEnabled = isCategoryEnabled2(category);
6544
6627
  const hasOnlyOneItem = category.itens?.length === 1;
6545
6628
  if (hasOnlyOneItem && !compactSingleItem && !showSingleItem) {
6546
6629
  return null;
@@ -6580,10 +6663,7 @@ var CheckboxGroup = ({
6580
6663
  if (!openAccordion) return;
6581
6664
  const category = categories.find((c) => c.key === openAccordion);
6582
6665
  if (!category) return;
6583
- const isEnabled = !category.dependsOn || category.dependsOn.every((depKey) => {
6584
- const depCat = categories.find((c) => c.key === depKey);
6585
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
6586
- });
6666
+ const isEnabled = isCategoryEnabled2(category);
6587
6667
  if (!isEnabled) {
6588
6668
  setTimeout(() => {
6589
6669
  setOpenAccordion("");
@@ -6596,21 +6676,7 @@ var CheckboxGroup = ({
6596
6676
  type: "single",
6597
6677
  collapsible: true,
6598
6678
  value: openAccordion,
6599
- onValueChange: (value) => {
6600
- if (typeof value === "string") {
6601
- if (value) {
6602
- const category = categories.find((c) => c.key === value);
6603
- const isEnabled = !category?.dependsOn || category.dependsOn.every((depKey) => {
6604
- const depCat = categories.find((c) => c.key === depKey);
6605
- return depCat?.selectedIds && depCat.selectedIds.length > 0;
6606
- });
6607
- if (!isEnabled) {
6608
- return;
6609
- }
6610
- }
6611
- setOpenAccordion(value);
6612
- }
6613
- },
6679
+ onValueChange: handleAccordionValueChange2,
6614
6680
  children: categories.map(renderCategoryAccordion)
6615
6681
  }
6616
6682
  );