Socket
Socket
Sign inDemoInstall

chronocraft-scroller-vue

Package Overview
Dependencies
23
Maintainers
1
Versions
52
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.16 to 0.1.17

dist/cjs/_rollupPluginBabelHelpers-18b9b7c7.js

6

dist/cjs/index.js

@@ -5,9 +5,9 @@

// https://github.com/yannisraft/chronocraft-scroller-vue.git
// v0.1.16
// v0.1.17
// MIT License
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var Scroller=require('./Scroller-71d2de4a.js'),VScroller=require('./VScroller.js'),VScrollerScrollBar=require('./VScrollerScrollBar-1ab3bf16.js'),VScrollerRow=require('./VScrollerRow-9c2adc64.js');require('./_rollupPluginBabelHelpers-0ef4b4f7.js'),require('vue'),require('./style-inject.es-d398fde2.js'),require('VScrollerScrollBar'),require('VScrollerRow');/* export { default as Scroller } from "./Scroller";
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var VScroller=require('./VScroller.js');require('./_rollupPluginBabelHelpers-18b9b7c7.js'),require('vue'),require('./VScrollerScrollBar-02b13511.js'),require('./style-inject.es-abcf2b3c.js'),require('./VScrollerRow-f0a3baea.js');/* export { default as Scroller } from "./Scroller";
export { default as VScroller } from "./VScroller";
export { default as VScrollerScrollBar } from "./VScroller"; */
var index = { Scroller: Scroller.s, VScroller: VScroller["default"], VScrollerScrollBar: VScrollerScrollBar.s, VScrollerRow: VScrollerRow.s };
var index = { VScroller: VScroller["default"], VScrollerScrollBar: VScroller["default"], VScrollerRow: VScroller["default"] };
//export default { Scroller, VScroller };

@@ -14,0 +14,0 @@ var components=/*#__PURE__*/Object.freeze({__proto__:null,'default':index});const Plugin = {

@@ -5,6 +5,6 @@

// https://github.com/yannisraft/chronocraft-scroller-vue.git
// v0.1.16
// v0.1.17
// MIT License
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var _rollupPluginBabelHelpers=require('./_rollupPluginBabelHelpers-0ef4b4f7.js'),vue=require('vue'),VScrollerScrollBar=require('VScrollerScrollBar'),VScrollerRow=require('VScrollerRow'),styleInject_es=require('./style-inject.es-d398fde2.js'),VScrollerScrollBar$1=require('./VScrollerScrollBar-1ab3bf16.js'),VScrollerRow$1=require('./VScrollerRow-9c2adc64.js');function _interopDefaultLegacy(e){return e&&typeof e==='object'&&'default'in e?e:{'default':e}}var VScrollerScrollBar__default=/*#__PURE__*/_interopDefaultLegacy(VScrollerScrollBar);var VScrollerRow__default=/*#__PURE__*/_interopDefaultLegacy(VScrollerRow);//import _VScrollerRow from "@/components/VScrollerRow";
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var _rollupPluginBabelHelpers=require('./_rollupPluginBabelHelpers-18b9b7c7.js'),vue=require('vue'),VScrollerScrollBar=require('./VScrollerScrollBar-02b13511.js'),VScrollerRow$1=require('./VScrollerRow-f0a3baea.js'),styleInject_es=require('./style-inject.es-abcf2b3c.js');//import _VScrollerRow from "@/components/VScrollerRow";
// BUILD

@@ -21,4 +21,4 @@

components: {
VScrollerScrollBar: VScrollerScrollBar__default["default"],
VScrollerRow: VScrollerRow__default["default"] //VScrollerScrollBar: () => import('./VScrollerScrollBar'),
VScrollerScrollBar: VScrollerScrollBar.s,
VScrollerRow: VScrollerRow$1.s //VScrollerScrollBar: () => import('./VScrollerScrollBar'),
//VScrollerRow: () => import('./VScrollerRow')

@@ -296,3 +296,3 @@

indexCacheRowBackward = indexRowBackward;
scrollercache = _rollupPluginBabelHelpers.b(_rollupPluginBabelHelpers.b({}, newdata), scrollercache);
scrollercache = _rollupPluginBabelHelpers._(_rollupPluginBabelHelpers._({}, newdata), scrollercache);
}, indexBackward, indexCacheForward);

@@ -314,3 +314,3 @@ } else {

indexCacheRowForward = indexRowForward;
scrollercache = _rollupPluginBabelHelpers.b(_rollupPluginBabelHelpers.b({}, newdata), scrollercache);
scrollercache = _rollupPluginBabelHelpers._(_rollupPluginBabelHelpers._({}, newdata), scrollercache);
}, indexCacheBackward, indexForward);

@@ -800,4 +800,4 @@ }

}var css_248z = "\r\n/* @import \"./scroller.css\"; */\r\n";
styleInject_es.s(css_248z);script.render = render;var VScroller = { VScroller: script, VScrollerScrollBar: VScrollerScrollBar$1.s, VScrollerRow: VScrollerRow$1.s };
styleInject_es.s(css_248z);script.render = render;var VScrollerRow = { VScroller: script, VScrollerScrollBar: VScrollerScrollBar.s, VScrollerRow: VScrollerRow$1.s };
//export default VScroller;
exports["default"]=VScroller;
exports["default"]=VScrollerRow;

@@ -5,5 +5,5 @@

// https://github.com/yannisraft/chronocraft-scroller-vue.git
// v0.1.16
// v0.1.17
// MIT License
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var VScrollerRow=require('./VScrollerRow-9c2adc64.js');require('vue');exports["default"]=VScrollerRow.s;
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var VScrollerRow=require('./VScrollerRow-f0a3baea.js');require('vue');exports["default"]=VScrollerRow.s;

@@ -5,5 +5,5 @@

// https://github.com/yannisraft/chronocraft-scroller-vue.git
// v0.1.16
// v0.1.17
// MIT License
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var VScrollerScrollBar=require('./VScrollerScrollBar-1ab3bf16.js');require('vue'),require('./style-inject.es-d398fde2.js');exports["default"]=VScrollerScrollBar.s;
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var VScrollerScrollBar=require('./VScrollerScrollBar-02b13511.js');require('vue'),require('./style-inject.es-abcf2b3c.js');exports["default"]=VScrollerScrollBar.s;

@@ -5,16 +5,11 @@

// https://github.com/yannisraft/chronocraft-scroller-vue.git
// v0.1.16
// v0.1.17
// MIT License
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('VScrollerScrollBar'), require('VScrollerRow')) :
typeof define === 'function' && define.amd ? define(['exports', 'vue', 'VScrollerScrollBar', 'VScrollerRow'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.VScroller = {}, global.Vue, global.VScrollerScrollBar, global.VScrollerRow));
})(this, (function (exports, vue, VScrollerScrollBar, VScrollerRow) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue')) :
typeof define === 'function' && define.amd ? define(['exports', 'vue'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.VScroller = {}, global.Vue));
})(this, (function (exports, vue) { 'use strict';
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var VScrollerScrollBar__default = /*#__PURE__*/_interopDefaultLegacy(VScrollerScrollBar);
var VScrollerRow__default = /*#__PURE__*/_interopDefaultLegacy(VScrollerRow);
function ownKeys(object, enumerableOnly) {

@@ -61,2 +56,360 @@ var keys = Object.keys(object);

var script$2 = vue.defineComponent({
name: "VScrollerScrollBar",
components: {},
props: {
modelValue: {
type: Array,
default: function _default() {
return [];
}
},
active: {
type: Boolean,
default: true
},
viewportId: {
type: String,
default: ""
},
orientation: {
type: String,
default: "vertical"
},
mode: {
type: String,
default: "normal"
},
trackWidth: {
type: Number,
default: 12
}
},
setup: function setup(props, context) {
// ---- Attributes
var viewport = null;
var scrollbarButtonDown = false;
var previousMovePosition = -100000;
var IDGenerated = Math.floor(Math.random() * 999999) + 1000000;
var scrollbarPercent = 0;
var scrollbar_size;
var scrollbar_track;
var scrollbar_thumb;
var scrollbar_up;
var scrollbar_track_size;
var scrollbar_thumb_size;
var scrollbar_up_size;
var scrollbar_min;
var scrollbar_max; // ---- Reactive Attributes
var scrollbarThumbPosition = vue.ref(0);
var scrollbarId = vue.ref("scrollbar_" + IDGenerated); // ---- Methods Public
function ScrollBackwardsClicked() {
context.emit("on-backwards-clicked");
if (props.mode !== "infinite") ;
}
function ScrollForwardClicked() {
context.emit("on-forward-clicked");
if (props.mode !== "infinite") ;
} // ---- Methods Private
function SetPosition(position) {
var newValue = Math.max(scrollbar_min, Math.min(position, scrollbar_max));
scrollbarThumbPosition.value = newValue;
UpdatePercent();
}
function SetPercent(percent) {
scrollbarPercent = percent;
scrollbarThumbPosition.value = scrollbarPercent * (scrollbar_max - scrollbar_min) / 100;
previousMovePosition = -100000;
context.emit("on-change", scrollbarPercent);
}
function UpdatePercent() {
var flatValue = scrollbarThumbPosition.value - scrollbar_min;
scrollbarPercent = 100 * flatValue / (scrollbar_max - scrollbar_min);
context.emit("on-change", scrollbarPercent);
}
function SetupScrollbar() {
if (props.active) {
if (props.viewportId !== "") {
document.querySelector("#" + scrollbarId.value);
scrollbar_track = document.querySelector("#" + scrollbarId.value + " .scroller-scrollbar-track");
scrollbar_thumb = document.querySelector("#" + scrollbarId.value + " .scroller-scrollbar-thumb");
scrollbar_up = document.querySelector("#" + scrollbarId.value + " .scroller-scrollbar-up");
scrollbar_size = scrollbar_track.clientWidth;
scrollbar_track_size = scrollbar_track.clientHeight;
scrollbar_thumb_size = scrollbar_thumb.clientHeight;
scrollbar_up_size = scrollbar_up.clientHeight;
if (props.orientation === "horizontal") {
scrollbar_track_size = scrollbar_track.clientWidth;
scrollbar_thumb_size = scrollbar_thumb.clientWidth;
scrollbar_up_size = scrollbar_up.clientWidth;
scrollbar_size = scrollbar_track.clientHeight;
viewport.style.height = "calc(100% - " + scrollbar_size + "px)";
} else {
viewport.style.width = "calc(100% - " + scrollbar_size + "px)";
}
scrollbar_min = scrollbar_up_size;
scrollbar_max = scrollbar_track_size - scrollbar_up_size - scrollbar_thumb_size;
scrollbarThumbPosition.value = scrollbar_up_size; // In Infinite mode the scrollbar thumb returns to middle
if (props.mode === "infinite") SetPercent(50); // Setup Events
scrollbar_thumb.addEventListener("mousedown", function (e) {
scrollbarButtonDown = true;
});
document.addEventListener("mousemove", function (e) {
if (!scrollbarButtonDown) return;
e.preventDefault();
if (previousMovePosition !== -100000) {
var diff = e.clientY - previousMovePosition;
if (props.orientation === "horizontal") {
diff = e.clientX - previousMovePosition;
SetPosition(scrollbarThumbPosition.value - diff);
} else {
SetPosition(scrollbarThumbPosition.value + diff);
}
}
previousMovePosition = e.clientY;
if (props.orientation === "horizontal") {
previousMovePosition = e.clientX;
}
});
document.addEventListener("mouseup", function (e) {
scrollbarButtonDown = false;
if (props.mode === "infinite") {
SetPercent(50);
}
});
}
}
}
vue.onMounted(function () {
viewport = document.querySelector("#" + props.viewportId);
SetupScrollbar();
});
return {
// Attributes
scrollbarId: scrollbarId,
scrollbarThumbPosition: scrollbarThumbPosition,
// Methods Public
ScrollBackwardsClicked: ScrollBackwardsClicked,
ScrollForwardClicked: ScrollForwardClicked
};
}
});
var _hoisted_1$2 = ["id"];
function render$2(_ctx, _cache, $props, $setup, $data, $options) {
return _ctx.active ? (vue.openBlock(), vue.createElementBlock("div", {
key: 0,
id: _ctx.scrollbarId,
class: "scroller-scrollbar",
style: vue.normalizeStyle([_ctx.orientation === 'vertical' ? {
'width': _ctx.trackWidth + 'px',
'height': '100%',
'top': '0px',
'right': '0px'
} : {
'width': '100%',
'height': _ctx.trackWidth + 'px',
'bottom': '0px',
'right': '0px',
'top': 'unset'
}])
}, [vue.createElementVNode("div", {
class: "scroller-scrollbar-track",
style: vue.normalizeStyle([_ctx.orientation === 'vertical' ? {
'width': _ctx.trackWidth + 'px',
'height': '100%',
'top': '0px',
'right': '0px'
} : {
'width': '100%',
'height': _ctx.trackWidth + 'px',
'bottom': '0px',
'right': '0px',
'top': 'unset'
}])
}, null, 4), vue.createElementVNode("div", {
class: "scroller-scrollbar-thumb",
style: vue.normalizeStyle([_ctx.orientation === 'vertical' ? {
'width': '100%',
'height': '30px',
'top': _ctx.scrollbarThumbPosition + 'px',
'right': '0px'
} : {
'width': '30px',
'height': '100%',
'bottom': '0px',
'right': _ctx.scrollbarThumbPosition + 'px',
'top': 'unset'
}])
}, null, 4), vue.createElementVNode("div", {
class: "scroller-scrollbar-up",
onClick: _cache[0] || (_cache[0] = function ($event) {
return _ctx.ScrollBackwardsClicked();
}),
style: vue.normalizeStyle([_ctx.orientation === 'vertical' ? {
'height': _ctx.trackWidth + 'px',
'width': '100%',
'top': '0px',
'right': '0px'
} : {
'width': _ctx.trackWidth + 'px',
'height': '100%',
'bottom': '0px',
'top': 'unset',
'left': '0px',
'right': 'unset'
}])
}, null, 4), vue.createElementVNode("div", {
class: "scroller-scrollbar-down",
onClick: _cache[1] || (_cache[1] = function ($event) {
return _ctx.ScrollForwardClicked();
}),
style: vue.normalizeStyle([_ctx.orientation === 'vertical' ? {
'height': _ctx.trackWidth + 'px',
'width': '100%'
} : {
'width': _ctx.trackWidth + 'px',
'height': '100%'
}])
}, null, 4)], 12, _hoisted_1$2)) : vue.createCommentVNode("", true);
}
function styleInject(css, ref) {
if ( ref === void 0 ) ref = {};
var insertAt = ref.insertAt;
if (!css || typeof document === 'undefined') { return; }
var head = document.head || document.getElementsByTagName('head')[0];
var style = document.createElement('style');
style.type = 'text/css';
if (insertAt === 'top') {
if (head.firstChild) {
head.insertBefore(style, head.firstChild);
} else {
head.appendChild(style);
}
} else {
head.appendChild(style);
}
if (style.styleSheet) {
style.styleSheet.cssText = css;
} else {
style.appendChild(document.createTextNode(css));
}
}
var css_248z$1 = ".scroller {\r\n height: 100%;\r\n}\r\n\r\n.scroller-viewport {\r\n height: 100%;\r\n margin: 0px auto;\r\n overflow-y: hidden;\r\n overflow-x: hidden;\r\n border: 0px solid #bdbdbd;\r\n position: relative;\r\n margin: 0px;\r\n}\r\n\r\n.scroller-container {\r\n width: 100%;\r\n display: -webkit-flex;\r\n display: -ms-flexbox;\r\n display: flex;\r\n -webkit-justify-content: start;\r\n -ms-flex-pack: start;\r\n justify-content: start;\r\n -webkit-flex-direction: row;\r\n -ms-flex-direction: row;\r\n flex-direction: row;\r\n -webkit-flex-wrap: wrap;\r\n -ms-flex-wrap: wrap;\r\n flex-wrap: wrap; \r\n /* transition: transform 100ms ease-out; */\r\n will-change: transform, opacity;\r\n position: relative;\r\n}\r\n\r\n/* Only For Firefox */\r\n\r\n@supports (-moz-appearance:none) {\r\n .scroller-container {\r\n transition: -webkit-transform 0ms ease-out;\r\n transition: transform 0ms ease-out;\r\n transition: transform 0ms ease-out, -webkit-transform 0ms ease-out;\r\n will-change: transform, opacity;\r\n\r\n transition-timing-function: linear;\r\n -moz-transition-timing-function: linear; /* Firefox 4 */\r\n -moz-transition-delay: 0ms; /* Firefox 4 */\r\n }\r\n}\r\n\r\n/* Microsoft Edge Browser 12-18 */\r\n\r\n@supports (-ms-ime-align:auto) {\r\n .scroller-container {\r\n transition: -webkit-transform 0ms ease-out;\r\n transition: transform 0ms ease-out;\r\n transition: transform 0ms ease-out, -webkit-transform 0ms ease-out;\r\n will-change: transform, opacity;\r\n }\r\n}\r\n\r\n.scroller-row-v {\r\n position: absolute;\r\n width: 100%;\r\n -webkit-flex: 1 1 auto;\r\n -ms-flex: 1 1 auto;\r\n flex: 1 1 auto;\r\n display: -webkit-flex;\r\n display: -ms-flexbox;\r\n display: flex;\r\n -ms-flex-line-pack: stretch;\r\n -webkit-align-content: stretch;\r\n align-content: stretch;\r\n -webkit-align-items: stretch;\r\n -ms-flex-align: stretch;\r\n align-items: stretch;\r\n -webkit-justify-content: space-evenly;\r\n -ms-flex-pack: space-evenly;\r\n justify-content: space-evenly;\r\n}\r\n\r\n.scroller-cell-v {\r\n background-color: #9abacc; \r\n text-align: center;\r\n line-height: 40px;\r\n font-size: 9pt;\r\n font-family: Arial;\r\n color: #ffffff;\r\n width: auto;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n height: -webkit-fit-content;\r\n height: -moz-fit-content;\r\n height: fit-content;\r\n padding: 4px;\r\n margin: 3px;\r\n \r\n}\r\n\r\n.noselect {\r\n -webkit-touch-callout: none;\r\n /* iOS Safari */\r\n -webkit-user-select: none;\r\n /* Safari */\r\n /* Konqueror HTML */\r\n /* Old versions of Firefox */\r\n -ms-user-select: none;\r\n /* Internet Explorer/Edge */\r\n user-select: none;\r\n /* Non-prefixed version, currently\r\n supported by Chrome, Edge, Opera and Firefox */\r\n}\r\n\r\n.scroller-scrollbar {\r\n font-family: verdana;\r\n height: 100%;\r\n position: absolute;\r\n top: 0px;\r\n right: 0px;\r\n width: 12px;\r\n}\r\n\r\n.scroller-scrollbar-down {\r\n background-color: #33ccaa;\r\n bottom: 0;\r\n cursor: pointer;\r\n position: absolute;\r\n right: 0;\r\n border-radius: 10px;\r\n width: 100%;\r\n}\r\n\r\n.scroller-scrollbar-thumb {\r\n background-color: #22aabb;\r\n cursor: pointer;\r\n position: absolute;\r\n right: 0;\r\n border-radius: 10px;\r\n width: 100%;\r\n height: 30px;\r\n}\r\n\r\n.scroller-scrollbar-thumb-down {\r\n background-color: #1199aa;\r\n}\r\n\r\n.scroller-scrollbar-thumb-over {\r\n background-color: #33bbcc;\r\n}\r\n\r\n.scroller-scrollbar-track {\r\n background-color: #dedede;\r\n cursor: pointer;\r\n height: 100%;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n width: 100%;\r\n}\r\n\r\n.scroller-scrollbar-up {\r\n background-color: #33ccaa;\r\n cursor: pointer;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n border-radius: 10px;\r\n width: 100%;\r\n}\r\n";
styleInject(css_248z$1);
script$2.render = render$2;
var script$1 = vue.defineComponent({
name: 'VScrollerRow',
props: {
gap: {
type: Number,
default: 0
},
calculatedRowSize: {
type: Number,
default: 0
},
orientation: {
type: String,
default: "vertical"
},
row: {
type: Object,
default: function _default() {
return {
cells: {},
index: 0,
top: "0px",
left: "0px",
width: "0px"
};
}
}
},
setup: function setup(props, context) {
var IDGenerated = Math.floor(Math.random() * 999999) + 1000000; // ---- Reactive Attributes
var rowId = vue.ref("row_" + IDGenerated);
var flexDirection = vue.ref("row");
if (props.orientation === "horizontal") flexDirection.value = "column";
vue.onMounted(function () {
var rowelement = document.getElementById(rowId.value);
context.emit("on-rendered", rowelement.clientHeight);
});
return {
rowId: rowId,
flexDirection: flexDirection
};
}
});
var _hoisted_1$1 = ["id"];
var _hoisted_2$1 = ["id"];
function render$1(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("div", {
class: "scroller-row-v",
id: _ctx.rowId,
style: vue.normalizeStyle([{
'margin-left': _ctx.gap + 'px'
}, {
'background-color': '#eaeaea'
}, {
top: _ctx.row.top,
left: _ctx.row.left,
width: _ctx.row.width,
height: _ctx.row.height,
'flex-direction': _ctx.flexDirection
}])
}, [vue.renderSlot(_ctx.$slots, "row", {
data: _ctx.row
}, function () {
return [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.row.cells, function (cell, cellkey) {
return vue.openBlock(), vue.createElementBlock("div", {
class: "scroller-cell-v",
key: cellkey,
id: 'item' + cell.id,
style: vue.normalizeStyle([{
left: cell.left,
top: cell.top,
'flex-basis': cell.flexbasis
}])
}, [vue.renderSlot(_ctx.$slots, "cell", {
data: cell
}, function () {
return [vue.createElementVNode("span", null, vue.toDisplayString(cell.index), 1)];
})], 12, _hoisted_2$1);
}), 128))];
})], 12, _hoisted_1$1);
}
script$1.render = render$1;
//import _VScrollerRow from "@/components/VScrollerRow";

@@ -71,7 +424,7 @@ // BUILD

var script$2 = vue.defineComponent({
var script = vue.defineComponent({
name: "VScroller",
components: {
VScrollerScrollBar: VScrollerScrollBar__default["default"],
VScrollerRow: VScrollerRow__default["default"] //VScrollerScrollBar: () => import('./VScrollerScrollBar'),
VScrollerScrollBar: script$2,
VScrollerRow: script$1 //VScrollerScrollBar: () => import('./VScrollerScrollBar'),
//VScrollerRow: () => import('./VScrollerRow')

@@ -814,6 +1167,6 @@

var _hoisted_1$2 = ["id"];
var _hoisted_2$1 = ["id"];
var _hoisted_1 = ["id"];
var _hoisted_2 = ["id"];
var _hoisted_3 = ["id"];
function render$2(_ctx, _cache, $props, $setup, $data, $options) {
function render(_ctx, _cache, $props, $setup, $data, $options) {
var _component_VScrollerRow = vue.resolveComponent("VScrollerRow");

@@ -844,3 +1197,3 @@

}, null, 8, ["calculatedRowSize", "sidegap", "row", "orientation"]);
}), 128))], 12, _hoisted_3))], 8, _hoisted_2$1), vue.createVNode(_component_VScrollerScrollBar, {
}), 128))], 12, _hoisted_3))], 8, _hoisted_2), vue.createVNode(_component_VScrollerScrollBar, {
active: _ctx.hasScrollbar,

@@ -853,369 +1206,11 @@ orientation: _ctx.orientation,

viewportId: _ctx.viewportId
}, null, 8, ["active", "orientation", "mode", "onOnChange", "onOnBackwardsClicked", "onOnForwardClicked", "viewportId"])], 8, _hoisted_1$2);
}, null, 8, ["active", "orientation", "mode", "onOnChange", "onOnBackwardsClicked", "onOnForwardClicked", "viewportId"])], 8, _hoisted_1);
}
function styleInject(css, ref) {
if ( ref === void 0 ) ref = {};
var insertAt = ref.insertAt;
if (!css || typeof document === 'undefined') { return; }
var head = document.head || document.getElementsByTagName('head')[0];
var style = document.createElement('style');
style.type = 'text/css';
if (insertAt === 'top') {
if (head.firstChild) {
head.insertBefore(style, head.firstChild);
} else {
head.appendChild(style);
}
} else {
head.appendChild(style);
}
if (style.styleSheet) {
style.styleSheet.cssText = css;
} else {
style.appendChild(document.createTextNode(css));
}
}
var css_248z$1 = "\r\n/* @import \"./scroller.css\"; */\r\n";
styleInject(css_248z$1);
script$2.render = render$2;
var script$1 = vue.defineComponent({
name: "VScrollerScrollBar",
components: {},
props: {
modelValue: {
type: Array,
default: function _default() {
return [];
}
},
active: {
type: Boolean,
default: true
},
viewportId: {
type: String,
default: ""
},
orientation: {
type: String,
default: "vertical"
},
mode: {
type: String,
default: "normal"
},
trackWidth: {
type: Number,
default: 12
}
},
setup: function setup(props, context) {
// ---- Attributes
var viewport = null;
var scrollbarButtonDown = false;
var previousMovePosition = -100000;
var IDGenerated = Math.floor(Math.random() * 999999) + 1000000;
var scrollbarPercent = 0;
var scrollbar_size;
var scrollbar_track;
var scrollbar_thumb;
var scrollbar_up;
var scrollbar_track_size;
var scrollbar_thumb_size;
var scrollbar_up_size;
var scrollbar_min;
var scrollbar_max; // ---- Reactive Attributes
var scrollbarThumbPosition = vue.ref(0);
var scrollbarId = vue.ref("scrollbar_" + IDGenerated); // ---- Methods Public
function ScrollBackwardsClicked() {
context.emit("on-backwards-clicked");
if (props.mode !== "infinite") ;
}
function ScrollForwardClicked() {
context.emit("on-forward-clicked");
if (props.mode !== "infinite") ;
} // ---- Methods Private
function SetPosition(position) {
var newValue = Math.max(scrollbar_min, Math.min(position, scrollbar_max));
scrollbarThumbPosition.value = newValue;
UpdatePercent();
}
function SetPercent(percent) {
scrollbarPercent = percent;
scrollbarThumbPosition.value = scrollbarPercent * (scrollbar_max - scrollbar_min) / 100;
previousMovePosition = -100000;
context.emit("on-change", scrollbarPercent);
}
function UpdatePercent() {
var flatValue = scrollbarThumbPosition.value - scrollbar_min;
scrollbarPercent = 100 * flatValue / (scrollbar_max - scrollbar_min);
context.emit("on-change", scrollbarPercent);
}
function SetupScrollbar() {
if (props.active) {
if (props.viewportId !== "") {
document.querySelector("#" + scrollbarId.value);
scrollbar_track = document.querySelector("#" + scrollbarId.value + " .scroller-scrollbar-track");
scrollbar_thumb = document.querySelector("#" + scrollbarId.value + " .scroller-scrollbar-thumb");
scrollbar_up = document.querySelector("#" + scrollbarId.value + " .scroller-scrollbar-up");
scrollbar_size = scrollbar_track.clientWidth;
scrollbar_track_size = scrollbar_track.clientHeight;
scrollbar_thumb_size = scrollbar_thumb.clientHeight;
scrollbar_up_size = scrollbar_up.clientHeight;
if (props.orientation === "horizontal") {
scrollbar_track_size = scrollbar_track.clientWidth;
scrollbar_thumb_size = scrollbar_thumb.clientWidth;
scrollbar_up_size = scrollbar_up.clientWidth;
scrollbar_size = scrollbar_track.clientHeight;
viewport.style.height = "calc(100% - " + scrollbar_size + "px)";
} else {
viewport.style.width = "calc(100% - " + scrollbar_size + "px)";
}
scrollbar_min = scrollbar_up_size;
scrollbar_max = scrollbar_track_size - scrollbar_up_size - scrollbar_thumb_size;
scrollbarThumbPosition.value = scrollbar_up_size; // In Infinite mode the scrollbar thumb returns to middle
if (props.mode === "infinite") SetPercent(50); // Setup Events
scrollbar_thumb.addEventListener("mousedown", function (e) {
scrollbarButtonDown = true;
});
document.addEventListener("mousemove", function (e) {
if (!scrollbarButtonDown) return;
e.preventDefault();
if (previousMovePosition !== -100000) {
var diff = e.clientY - previousMovePosition;
if (props.orientation === "horizontal") {
diff = e.clientX - previousMovePosition;
SetPosition(scrollbarThumbPosition.value - diff);
} else {
SetPosition(scrollbarThumbPosition.value + diff);
}
}
previousMovePosition = e.clientY;
if (props.orientation === "horizontal") {
previousMovePosition = e.clientX;
}
});
document.addEventListener("mouseup", function (e) {
scrollbarButtonDown = false;
if (props.mode === "infinite") {
SetPercent(50);
}
});
}
}
}
vue.onMounted(function () {
viewport = document.querySelector("#" + props.viewportId);
SetupScrollbar();
});
return {
// Attributes
scrollbarId: scrollbarId,
scrollbarThumbPosition: scrollbarThumbPosition,
// Methods Public
ScrollBackwardsClicked: ScrollBackwardsClicked,
ScrollForwardClicked: ScrollForwardClicked
};
}
});
var _hoisted_1$1 = ["id"];
function render$1(_ctx, _cache, $props, $setup, $data, $options) {
return _ctx.active ? (vue.openBlock(), vue.createElementBlock("div", {
key: 0,
id: _ctx.scrollbarId,
class: "scroller-scrollbar",
style: vue.normalizeStyle([_ctx.orientation === 'vertical' ? {
'width': _ctx.trackWidth + 'px',
'height': '100%',
'top': '0px',
'right': '0px'
} : {
'width': '100%',
'height': _ctx.trackWidth + 'px',
'bottom': '0px',
'right': '0px',
'top': 'unset'
}])
}, [vue.createElementVNode("div", {
class: "scroller-scrollbar-track",
style: vue.normalizeStyle([_ctx.orientation === 'vertical' ? {
'width': _ctx.trackWidth + 'px',
'height': '100%',
'top': '0px',
'right': '0px'
} : {
'width': '100%',
'height': _ctx.trackWidth + 'px',
'bottom': '0px',
'right': '0px',
'top': 'unset'
}])
}, null, 4), vue.createElementVNode("div", {
class: "scroller-scrollbar-thumb",
style: vue.normalizeStyle([_ctx.orientation === 'vertical' ? {
'width': '100%',
'height': '30px',
'top': _ctx.scrollbarThumbPosition + 'px',
'right': '0px'
} : {
'width': '30px',
'height': '100%',
'bottom': '0px',
'right': _ctx.scrollbarThumbPosition + 'px',
'top': 'unset'
}])
}, null, 4), vue.createElementVNode("div", {
class: "scroller-scrollbar-up",
onClick: _cache[0] || (_cache[0] = function ($event) {
return _ctx.ScrollBackwardsClicked();
}),
style: vue.normalizeStyle([_ctx.orientation === 'vertical' ? {
'height': _ctx.trackWidth + 'px',
'width': '100%',
'top': '0px',
'right': '0px'
} : {
'width': _ctx.trackWidth + 'px',
'height': '100%',
'bottom': '0px',
'top': 'unset',
'left': '0px',
'right': 'unset'
}])
}, null, 4), vue.createElementVNode("div", {
class: "scroller-scrollbar-down",
onClick: _cache[1] || (_cache[1] = function ($event) {
return _ctx.ScrollForwardClicked();
}),
style: vue.normalizeStyle([_ctx.orientation === 'vertical' ? {
'height': _ctx.trackWidth + 'px',
'width': '100%'
} : {
'width': _ctx.trackWidth + 'px',
'height': '100%'
}])
}, null, 4)], 12, _hoisted_1$1)) : vue.createCommentVNode("", true);
}
var css_248z = ".scroller {\r\n height: 100%;\r\n}\r\n\r\n.scroller-viewport {\r\n height: 100%;\r\n margin: 0px auto;\r\n overflow-y: hidden;\r\n overflow-x: hidden;\r\n border: 0px solid #bdbdbd;\r\n position: relative;\r\n margin: 0px;\r\n}\r\n\r\n.scroller-container {\r\n width: 100%;\r\n display: -webkit-flex;\r\n display: -ms-flexbox;\r\n display: flex;\r\n -webkit-justify-content: start;\r\n -ms-flex-pack: start;\r\n justify-content: start;\r\n -webkit-flex-direction: row;\r\n -ms-flex-direction: row;\r\n flex-direction: row;\r\n -webkit-flex-wrap: wrap;\r\n -ms-flex-wrap: wrap;\r\n flex-wrap: wrap; \r\n /* transition: transform 100ms ease-out; */\r\n will-change: transform, opacity;\r\n position: relative;\r\n}\r\n\r\n/* Only For Firefox */\r\n\r\n@supports (-moz-appearance:none) {\r\n .scroller-container {\r\n transition: -webkit-transform 0ms ease-out;\r\n transition: transform 0ms ease-out;\r\n transition: transform 0ms ease-out, -webkit-transform 0ms ease-out;\r\n will-change: transform, opacity;\r\n\r\n transition-timing-function: linear;\r\n -moz-transition-timing-function: linear; /* Firefox 4 */\r\n -moz-transition-delay: 0ms; /* Firefox 4 */\r\n }\r\n}\r\n\r\n/* Microsoft Edge Browser 12-18 */\r\n\r\n@supports (-ms-ime-align:auto) {\r\n .scroller-container {\r\n transition: -webkit-transform 0ms ease-out;\r\n transition: transform 0ms ease-out;\r\n transition: transform 0ms ease-out, -webkit-transform 0ms ease-out;\r\n will-change: transform, opacity;\r\n }\r\n}\r\n\r\n.scroller-row-v {\r\n position: absolute;\r\n width: 100%;\r\n -webkit-flex: 1 1 auto;\r\n -ms-flex: 1 1 auto;\r\n flex: 1 1 auto;\r\n display: -webkit-flex;\r\n display: -ms-flexbox;\r\n display: flex;\r\n -ms-flex-line-pack: stretch;\r\n -webkit-align-content: stretch;\r\n align-content: stretch;\r\n -webkit-align-items: stretch;\r\n -ms-flex-align: stretch;\r\n align-items: stretch;\r\n -webkit-justify-content: space-evenly;\r\n -ms-flex-pack: space-evenly;\r\n justify-content: space-evenly;\r\n}\r\n\r\n.scroller-cell-v {\r\n background-color: #9abacc; \r\n text-align: center;\r\n line-height: 40px;\r\n font-size: 9pt;\r\n font-family: Arial;\r\n color: #ffffff;\r\n width: auto;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n height: -webkit-fit-content;\r\n height: -moz-fit-content;\r\n height: fit-content;\r\n padding: 4px;\r\n margin: 3px;\r\n \r\n}\r\n\r\n.noselect {\r\n -webkit-touch-callout: none;\r\n /* iOS Safari */\r\n -webkit-user-select: none;\r\n /* Safari */\r\n /* Konqueror HTML */\r\n /* Old versions of Firefox */\r\n -ms-user-select: none;\r\n /* Internet Explorer/Edge */\r\n user-select: none;\r\n /* Non-prefixed version, currently\r\n supported by Chrome, Edge, Opera and Firefox */\r\n}\r\n\r\n.scroller-scrollbar {\r\n font-family: verdana;\r\n height: 100%;\r\n position: absolute;\r\n top: 0px;\r\n right: 0px;\r\n width: 12px;\r\n}\r\n\r\n.scroller-scrollbar-down {\r\n background-color: #33ccaa;\r\n bottom: 0;\r\n cursor: pointer;\r\n position: absolute;\r\n right: 0;\r\n border-radius: 10px;\r\n width: 100%;\r\n}\r\n\r\n.scroller-scrollbar-thumb {\r\n background-color: #22aabb;\r\n cursor: pointer;\r\n position: absolute;\r\n right: 0;\r\n border-radius: 10px;\r\n width: 100%;\r\n height: 30px;\r\n}\r\n\r\n.scroller-scrollbar-thumb-down {\r\n background-color: #1199aa;\r\n}\r\n\r\n.scroller-scrollbar-thumb-over {\r\n background-color: #33bbcc;\r\n}\r\n\r\n.scroller-scrollbar-track {\r\n background-color: #dedede;\r\n cursor: pointer;\r\n height: 100%;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n width: 100%;\r\n}\r\n\r\n.scroller-scrollbar-up {\r\n background-color: #33ccaa;\r\n cursor: pointer;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n border-radius: 10px;\r\n width: 100%;\r\n}\r\n";
var css_248z = "\r\n/* @import \"./scroller.css\"; */\r\n";
styleInject(css_248z);
script$1.render = render$1;
var script = vue.defineComponent({
name: 'VScrollerRow',
props: {
gap: {
type: Number,
default: 0
},
calculatedRowSize: {
type: Number,
default: 0
},
orientation: {
type: String,
default: "vertical"
},
row: {
type: Object,
default: function _default() {
return {
cells: {},
index: 0,
top: "0px",
left: "0px",
width: "0px"
};
}
}
},
setup: function setup(props, context) {
var IDGenerated = Math.floor(Math.random() * 999999) + 1000000; // ---- Reactive Attributes
var rowId = vue.ref("row_" + IDGenerated);
var flexDirection = vue.ref("row");
if (props.orientation === "horizontal") flexDirection.value = "column";
vue.onMounted(function () {
var rowelement = document.getElementById(rowId.value);
context.emit("on-rendered", rowelement.clientHeight);
});
return {
rowId: rowId,
flexDirection: flexDirection
};
}
});
var _hoisted_1 = ["id"];
var _hoisted_2 = ["id"];
function render(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("div", {
class: "scroller-row-v",
id: _ctx.rowId,
style: vue.normalizeStyle([{
'margin-left': _ctx.gap + 'px'
}, {
'background-color': '#eaeaea'
}, {
top: _ctx.row.top,
left: _ctx.row.left,
width: _ctx.row.width,
height: _ctx.row.height,
'flex-direction': _ctx.flexDirection
}])
}, [vue.renderSlot(_ctx.$slots, "row", {
data: _ctx.row
}, function () {
return [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.row.cells, function (cell, cellkey) {
return vue.openBlock(), vue.createElementBlock("div", {
class: "scroller-cell-v",
key: cellkey,
id: 'item' + cell.id,
style: vue.normalizeStyle([{
left: cell.left,
top: cell.top,
'flex-basis': cell.flexbasis
}])
}, [vue.renderSlot(_ctx.$slots, "cell", {
data: cell
}, function () {
return [vue.createElementVNode("span", null, vue.toDisplayString(cell.index), 1)];
})], 12, _hoisted_2);
}), 128))];
})], 12, _hoisted_1);
}
script.render = render;
var index = { VScroller: script$2, VScrollerScrollBar: script$1, VScrollerRow: script };
var index = { VScroller: script, VScrollerScrollBar: script$2, VScrollerRow: script$1 };
//export default VScroller;

@@ -1222,0 +1217,0 @@

@@ -5,3 +5,3 @@

// https://github.com/yannisraft/chronocraft-scroller-vue.git
// v0.1.16
// v0.1.17
// MIT License

@@ -8,0 +8,0 @@

@@ -5,3 +5,3 @@

// https://github.com/yannisraft/chronocraft-scroller-vue.git
// v0.1.16
// v0.1.17
// MIT License

@@ -8,0 +8,0 @@

@@ -5,14 +5,11 @@

// https://github.com/yannisraft/chronocraft-scroller-vue.git
// v0.1.16
// v0.1.17
// MIT License
import { s as script } from './Scroller-733394d8.js';
import VScroller from './VScroller.js';
import { s as script$1 } from './VScrollerScrollBar-bdf4fabc.js';
import { s as script$2 } from './VScrollerRow-4a5a68fa.js';
import './_rollupPluginBabelHelpers-70b6930d.js';
import VScrollerRow from './VScroller.js';
import './_rollupPluginBabelHelpers-f0a9821a.js';
import 'vue';
import './style-inject.es-d22d81f4.js';
import 'VScrollerScrollBar';
import 'VScrollerRow';
import './VScrollerScrollBar-fe9d27a9.js';
import './style-inject.es-3d9416ff.js';
import './VScrollerRow-79aa1b6b.js';

@@ -22,3 +19,3 @@ /* export { default as Scroller } from "./Scroller";

export { default as VScrollerScrollBar } from "./VScroller"; */
var index = { Scroller: script, VScroller, VScrollerScrollBar: script$1, VScrollerRow: script$2 };
var index = { VScroller: VScrollerRow, VScrollerScrollBar: VScrollerRow, VScrollerRow };
//export default { Scroller, VScroller };

@@ -25,0 +22,0 @@

@@ -5,12 +5,10 @@

// https://github.com/yannisraft/chronocraft-scroller-vue.git
// v0.1.16
// v0.1.17
// MIT License
import { b as _objectSpread2 } from './_rollupPluginBabelHelpers-70b6930d.js';
import { _ as _objectSpread2 } from './_rollupPluginBabelHelpers-f0a9821a.js';
import { defineComponent, ref, watch, onMounted, onBeforeUpdate, resolveComponent, openBlock, createElementBlock, createElementVNode, normalizeStyle, Fragment, renderList, createBlock, createVNode } from 'vue';
import VScrollerScrollBar from 'VScrollerScrollBar';
import VScrollerRow from 'VScrollerRow';
import { s as styleInject } from './style-inject.es-d22d81f4.js';
import { s as script$1 } from './VScrollerScrollBar-bdf4fabc.js';
import { s as script$2 } from './VScrollerRow-4a5a68fa.js';
import { s as script$1 } from './VScrollerScrollBar-fe9d27a9.js';
import { s as script$2 } from './VScrollerRow-79aa1b6b.js';
import { s as styleInject } from './style-inject.es-3d9416ff.js';

@@ -29,4 +27,4 @@ //import _VScrollerRow from "@/components/VScrollerRow";

components: {
VScrollerScrollBar: VScrollerScrollBar,
VScrollerRow: VScrollerRow //VScrollerScrollBar: () => import('./VScrollerScrollBar'),
VScrollerScrollBar: script$1,
VScrollerRow: script$2 //VScrollerScrollBar: () => import('./VScrollerScrollBar'),
//VScrollerRow: () => import('./VScrollerRow')

@@ -814,5 +812,5 @@

var VScroller = { VScroller: script, VScrollerScrollBar: script$1, VScrollerRow: script$2 };
var VScrollerRow = { VScroller: script, VScrollerScrollBar: script$1, VScrollerRow: script$2 };
//export default VScroller;
export { VScroller as default };
export { VScrollerRow as default };

@@ -5,7 +5,7 @@

// https://github.com/yannisraft/chronocraft-scroller-vue.git
// v0.1.16
// v0.1.17
// MIT License
import { s as script } from './VScrollerRow-4a5a68fa.js';
export { s as default } from './VScrollerRow-4a5a68fa.js';
import { s as script } from './VScrollerRow-79aa1b6b.js';
export { s as default } from './VScrollerRow-79aa1b6b.js';
import 'vue';

@@ -5,8 +5,8 @@

// https://github.com/yannisraft/chronocraft-scroller-vue.git
// v0.1.16
// v0.1.17
// MIT License
import { s as script } from './VScrollerScrollBar-bdf4fabc.js';
export { s as default } from './VScrollerScrollBar-bdf4fabc.js';
import { s as script } from './VScrollerScrollBar-fe9d27a9.js';
export { s as default } from './VScrollerScrollBar-fe9d27a9.js';
import 'vue';
import './style-inject.es-d22d81f4.js';
import './style-inject.es-3d9416ff.js';
{
"name": "chronocraft-scroller-vue",
"version": "0.1.16",
"version": "0.1.17",
"private": false,

@@ -5,0 +5,0 @@ "description": "A Vue 3 Dynamic and Versatile High Performance Infinite Scroller Component",

/* export { default as Scroller } from "./Scroller";
export { default as VScroller } from "./VScroller";
export { default as VScrollerScrollBar } from "./VScroller"; */
import Scroller from './Scroller'
//import Scroller from './Scroller'
import VScroller from './VScroller'
import VScrollerScrollBar from './VScrollerScrollBar'
import VScrollerRow from './VScrollerRow'
import VScrollerScrollBar from './VScroller'
import VScrollerRow from './VScroller'
export default { Scroller, VScroller, VScrollerScrollBar, VScrollerRow };
export default { VScroller, VScrollerScrollBar, VScrollerRow };
//export default { Scroller, VScroller };

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc