Punk-Queue
view release on metacpan or search on metacpan
lib/Punk/Plugin/Queue/assets/fontawesome/LICENSE.txt view on Meta::CPAN
The Font Awesome Free download is licensed under a Creative Commons
Attribution 4.0 International License and applies to all icons packaged
as SVG and JS file types.
--------------------------------------------------------------------------------
# Fonts: SIL OFL 1.1 License
In the Font Awesome Free download, the SIL OFL license applies to all icons
packaged as web and desktop font files.
Copyright (c) 2024 Fonticons, Inc. (https://fontawesome.com)
with Reserved Font Name: "Font Awesome".
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
SIL OPEN FONT LICENSE
Version 1.1 - 26 February 2007
lib/Punk/Plugin/Queue/assets/funky/js/07-media-query.js view on Meta::CPAN
var Funky = window.Funky;
// =========================================================================
// Predefined Breakpoints
// =========================================================================
var BREAKPOINTS = {
'mobile': '(max-width: 767px)',
'tablet': '(max-width: 1023px)',
'tablet-only': '(min-width: 768px) and (max-width: 1023px)',
'desktop': '(min-width: 1024px)',
'large': '(min-width: 1200px)',
'xlarge': '(min-width: 1440px)',
'portrait': '(orientation: portrait)',
'landscape': '(orientation: landscape)',
'touch': '(pointer: coarse)',
'mouse': '(pointer: fine)',
'hover': '(hover: hover)',
'reduced-motion': '(prefers-reduced-motion: reduce)',
'dark-mode': '(prefers-color-scheme: dark)',
'light-mode': '(prefers-color-scheme: light)',
lib/Punk/Plugin/Queue/assets/funky/js/35-table.js view on Meta::CPAN
/**
* Default breakpoints
*/
var DEFAULT_BREAKPOINTS = [
{ name: 'mobile', width: 480 },
{ name: 'mobile-l', width: 640 },
{ name: 'tablet', width: 768 },
{ name: 'tablet-l', width: 1024 },
{ name: 'laptop', width: 1280 },
{ name: 'desktop', width: 10000 }
];
/**
* Determine current breakpoint based on container width
* @param {boolean} force - Force recalculation even if breakpoint hasn't changed
*/
TableInstance.prototype._determineBreakpoint = function(force) {
if (!this.config.responsive) return;
// Use wrapper element for width detection (container may be replaced)
lib/Punk/Plugin/Queue/assets/funky/js/35-table.js view on Meta::CPAN
// Support responsive as object { enabled: true, breakpoints: [...] } or just breakpoints at config level
var responsiveConfig = typeof this.config.responsive === 'object' ? this.config.responsive : {};
var breakpoints = responsiveConfig.breakpoints || this.config.breakpoints || DEFAULT_BREAKPOINTS;
// Ensure breakpoints is an array
if (!Array.isArray(breakpoints)) {
breakpoints = DEFAULT_BREAKPOINTS;
}
var newBreakpoint = 'desktop';
// Sort breakpoints by width descending
var sorted = breakpoints.slice().sort(function(a, b) {
return b.width - a.width;
});
for (var i = 0; i < sorted.length; i++) {
if (containerWidth <= sorted[i].width) {
newBreakpoint = sorted[i].name;
}
lib/Punk/Plugin/Queue/assets/funky/js/35-table.js view on Meta::CPAN
if (this.config.debug) {
console.log('[Funky.Table] After _collapseAllDetails, tbody rows:', this.tbody && this.tbody.el ? this.tbody.el.querySelectorAll('tr').length : 0);
}
};
/**
* Get breakpoint priority number
*/
TableInstance.prototype._getBreakpointPriority = function(breakpoint) {
var priorities = {
'desktop': 1,
'laptop': 2,
'tablet-l': 3,
'tablet': 4,
'mobile-l': 5,
'mobile': 6
};
return priorities[breakpoint] || 1;
};
/**
* Get maximum priority to show at breakpoint
* Priority scale: 1-10 (lower = more important = stays visible longer)
* Columns with no responsivePriority always remain visible
*/
TableInstance.prototype._getMaxPriorityForBreakpoint = function(breakpoint) {
// Threshold = maximum priority value to SHOW at this breakpoint
// Lower priority number = more important = stays visible longer
// Columns with priority > threshold will be hidden
// At desktop (widest), threshold is high - show all columns
// At mobile (narrowest), threshold is low - only priority 1-2 shown
var thresholds = {
'desktop': 10000, // Show all (priority 1-10000)
'laptop': 6, // Show priority 1-6
'tablet-l': 5, // Show priority 1-5
'tablet': 4, // Show priority 1-4
'mobile-l': 3, // Show priority 1-3
'mobile': 2 // Show priority 1-2
};
return thresholds[breakpoint] || 10000;
};
/**
lib/Punk/Plugin/Queue/assets/funky/js/35-table.js view on Meta::CPAN
var headers = this._headerRow.querySelectorAll('th');
for (var i = 0; i < headers.length; i++) {
var th = headers[i];
var index = parseInt(th.getAttribute('data-column-index'), 10);
if (!isNaN(index)) {
if (hide.indexOf(index) !== -1) {
th.classList.add('funky-table-hidden');
} else {
th.classList.remove('funky-table-hidden');
// When responsive mode is active, clear fixed widths so columns can expand
// When back to desktop, restore original widths
if (hasHiddenColumns) {
// Store original width if not already stored
if (!th.hasAttribute('data-original-width') && th.style.width) {
th.setAttribute('data-original-width', th.style.width);
}
th.style.width = '';
} else {
// Restore original width if we stored one
var originalWidth = th.getAttribute('data-original-width');
if (originalWidth) {
( run in 0.639 second using v1.01-cache-2.11-cpan-b16cb0d3907 )