UNPKG

analytica-frontend-lib

Version:

Repositório público dos componentes utilizados nas plataformas da Analytica Ensino

175 lines (149 loc) 7.54 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/utils/utils.ts var _clsx = require('clsx'); var _tailwindmerge = require('tailwind-merge'); // src/utils/dropdown.ts var syncDropdownState = (open, isActive, setActiveStates, key) => { if (!open && isActive) { setActiveStates((prev) => ({ ...prev, [key]: false })); } }; // src/utils/arraysEqual.ts function arraysEqual(a, b, comparator) { if (a.length !== b.length) return false; if (a.length === 0 && b.length === 0) return true; if (comparator) { const sortedA2 = [...a].sort(comparator); const sortedB2 = [...b].sort(comparator); return sortedA2.every((val, index) => val === sortedB2[index]); } const sortedA = [...a].sort((x, y) => String(x).localeCompare(String(y))); const sortedB = [...b].sort((x, y) => String(x).localeCompare(String(y))); return sortedA.every((val, index) => val === sortedB[index]); } // src/utils/activityFilters.ts function getSelectedIdsFromCategories(categories, keys) { const result = {}; for (const [outputKey, categoryKey] of Object.entries(keys)) { const category = categories.find((c) => c.key === categoryKey); result[outputKey] = _optionalChain([category, 'optionalAccess', _ => _.selectedIds]) || []; } return result; } function toggleArrayItem(array, item) { return array.includes(item) ? array.filter((i) => i !== item) : [...array, item]; } function toggleSingleValue(currentValue, newValue) { return currentValue === newValue ? null : newValue; } function areFiltersEqual(filters1, filters2) { if (filters1 === filters2) return true; if (!filters1 || !filters2) return false; return arraysEqual(filters1.types, filters2.types) && arraysEqual(filters1.bankIds, filters2.bankIds) && arraysEqual(filters1.yearIds, filters2.yearIds) && arraysEqual(filters1.subjectIds, filters2.subjectIds) && arraysEqual(filters1.topicIds, filters2.topicIds) && arraysEqual(filters1.subtopicIds, filters2.subtopicIds) && arraysEqual(filters1.contentIds, filters2.contentIds); } function isValidBankYearItem(item, bankIds) { return !!item && typeof item.id === "string" && typeof item.bankId === "string" && bankIds.includes(item.bankId); } function deriveYearIdsFromBankIds(yearItens, bankIds, explicitYearIds) { if (explicitYearIds.length > 0) { return explicitYearIds; } return yearItens.filter((item) => isValidBankYearItem(item, bankIds)).map((item) => item.id); } function mergeYearIdsForSelectedBanks(yearItens, bankIds, explicitYearIds) { const validYears = yearItens.filter( (item) => isValidBankYearItem(item, bankIds) ); const explicitSet = new Set(explicitYearIds); const result = new Set(explicitYearIds); for (const bankId of bankIds) { const yearsForBank = validYears.filter((year) => year.bankId === bankId); const hasExplicitYear = yearsForBank.some( (year) => explicitSet.has(year.id) ); if (!hasExplicitYear) { yearsForBank.forEach((year) => result.add(year.id)); } } return Array.from(result); } // src/utils/questionTypeUtils.ts function mapQuestionTypeToEnum(type, fallback) { const upperType = type.toUpperCase(); const typeMap = { ALTERNATIVA: "ALTERNATIVA" /* ALTERNATIVA */, DISSERTATIVA: "DISSERTATIVA" /* DISSERTATIVA */, MULTIPLA_ESCOLHA: "MULTIPLA_ESCOLHA" /* MULTIPLA_ESCOLHA */, VERDADEIRO_FALSO: "VERDADEIRO_FALSO" /* VERDADEIRO_FALSO */, IMAGEM: "IMAGEM" /* IMAGEM */, RELACIONAR: "RELACIONAR" /* RELACIONAR */, PREENCHER_LACUNAS: "PREENCHER_LACUNAS" /* PREENCHER_LACUNAS */ }; return _nullishCoalesce(_nullishCoalesce(typeMap[upperType], () => ( fallback)), () => ( null)); } function mapQuestionTypeToEnumRequired(type, fallback = "ALTERNATIVA" /* ALTERNATIVA */) { return _nullishCoalesce(mapQuestionTypeToEnum(type, fallback), () => ( fallback)); } // src/utils/formatScore.ts function formatScore(value, scoreType) { if (scoreType === "tri" /* TRI */) { return Math.round(value).toString(); } return `${value.toFixed(1).replace(".", ",")}%`; } // src/utils/utils.ts function cn(...inputs) { return _tailwindmerge.twMerge.call(void 0, _clsx.clsx.call(void 0, inputs)); } function formatPercentageRounded(value) { return `${Math.round(value)}%`; } function hexToRgba(hex, opacity) { const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); if (!result) return `rgba(107, 114, 128, ${opacity})`; const r = Number.parseInt(result[1], 16); const g = Number.parseInt(result[2], 16); const b = Number.parseInt(result[3], 16); return `rgba(${r}, ${g}, ${b}, ${opacity})`; } function bgClassToCssVar(bgClass) { return `var(--color-${bgClass.replace("bg-", "")})`; } function polarToCartesian(cx, cy, r, angleDeg) { const rad = (angleDeg - 90) * Math.PI / 180; return { x: cx + r * Math.cos(rad), y: cy + r * Math.sin(rad) }; } function describeArc(cx, cy, r, startAngle, endAngle) { const span = endAngle - startAngle; if (span >= 359.99) { const midAngle = startAngle + 180; const s2 = polarToCartesian(cx, cy, r, startAngle); const m = polarToCartesian(cx, cy, r, midAngle); return `M ${cx} ${cy} L ${s2.x} ${s2.y} A ${r} ${r} 0 1 1 ${m.x} ${m.y} A ${r} ${r} 0 1 1 ${s2.x} ${s2.y} Z`; } const s = polarToCartesian(cx, cy, r, endAngle); const e = polarToCartesian(cx, cy, r, startAngle); const largeArc = span > 180 ? 1 : 0; return `M ${cx} ${cy} L ${s.x} ${s.y} A ${r} ${r} 0 ${largeArc} 0 ${e.x} ${e.y} Z`; } function getSubjectColorWithOpacity(hexColor, isDark) { if (!hexColor) return void 0; let color = hexColor.replace(/^#/, "").toLowerCase(); if (isDark) { if (color.length === 8) { color = color.slice(0, 6); } return `#${color}`; } else { let resultColor; if (color.length === 6) { resultColor = `#${color}4d`; } else if (color.length === 8) { resultColor = `#${color}`; } else { resultColor = `#${color}`; } return resultColor; } } exports.syncDropdownState = syncDropdownState; exports.arraysEqual = arraysEqual; exports.getSelectedIdsFromCategories = getSelectedIdsFromCategories; exports.toggleArrayItem = toggleArrayItem; exports.toggleSingleValue = toggleSingleValue; exports.areFiltersEqual = areFiltersEqual; exports.deriveYearIdsFromBankIds = deriveYearIdsFromBankIds; exports.mergeYearIdsForSelectedBanks = mergeYearIdsForSelectedBanks; exports.mapQuestionTypeToEnum = mapQuestionTypeToEnum; exports.mapQuestionTypeToEnumRequired = mapQuestionTypeToEnumRequired; exports.formatScore = formatScore; exports.cn = cn; exports.formatPercentageRounded = formatPercentageRounded; exports.hexToRgba = hexToRgba; exports.bgClassToCssVar = bgClassToCssVar; exports.polarToCartesian = polarToCartesian; exports.describeArc = describeArc; exports.getSubjectColorWithOpacity = getSubjectColorWithOpacity; //# sourceMappingURL=chunk-TN3AYOMV.js.map