UNPKG

@kit-data-manager/pid-component

Version:

The PID-Component is a web component that can be used to evaluate and display FAIR Digital Objects, PIDs, ORCiDs, and possibly other identifiers in a user-friendly way. It is easily extensible to support other identifier types.

75 lines (74 loc) 2.45 kB
/*! * * Copyright 2024-2026 Karlsruhe Institute of Technology. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ export function shouldShowFooter(hasActions, hasPagination) { return hasActions || hasPagination; } export function getPreviewClasses(isTopLevel, isEmphasized, isTemporarilyEmphasized, isDarkMode, isExpanded, lineHeight) { if (!isTopLevel) return ''; const baseClasses = [ 'group', 'rounded-md', 'border', 'py-0', 'shadow-sm', 'inline-flex', 'cursor-pointer', 'list-none', 'flex-nowrap', 'items-center', 'overflow-hidden', 'font-mono', 'font-bold', 'text-clip', ]; if (isEmphasized || isTemporarilyEmphasized) { baseClasses.push(isDarkMode ? 'border-gray-600 bg-gray-800' : 'border-gray-300 bg-white'); } else { if (isDarkMode) { baseClasses.push('bg-gray-800/60'); } } if (!isExpanded) { baseClasses.push(`h-[${lineHeight || 24}px]`); baseClasses.push(`leading-[${lineHeight || 24}px]`); } return baseClasses.join(' '); } export function getPreviewTextClasses(isExpanded, isTopLevel) { if (!isTopLevel) return ''; const base = 'inline-block font-mono font-medium select-all'; if (isExpanded) { return `${base} text-xs max-w-[60vw] overflow-x-auto whitespace-nowrap`; } return `${base} text-sm max-w-full truncate`; } export function getHostElementClasses(_isExpanded) { return 'relative font-sans'; } export function getItemRangeText(start, end, total) { return `Showing ${start}-${end} of ${total}`; } export function calculateItemRange(currentPage, itemsPerPage, totalItems) { const start = currentPage * itemsPerPage; const end = Math.min(start + itemsPerPage, totalItems); return { start, end }; } //# sourceMappingURL=pidComponentUtils.js.map