New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@code-hike/mini-browser

Package Overview
Dependencies
Maintainers
1
Versions
132
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@code-hike/mini-browser - npm Package Compare versions

Comparing version 0.0.0-2a67cd7 to 0.0.0-33f17eb

dist/dom.test.d.ts

1

dist/buttons.d.ts

@@ -1,2 +0,1 @@

/// <reference types="react" />
declare function Back(): JSX.Element;

@@ -3,0 +2,0 @@ declare function Forward(): JSX.Element;

@@ -7,2 +7,4 @@ 'use strict';

var miniFrame = require('@code-hike/mini-frame');
var utils = require('@code-hike/utils');
var useSpring = require('use-spring');

@@ -51,2 +53,25 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }

function __read(o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
}
function __spread() {
for (var ar = [], i = 0; i < arguments.length; i++)
ar = ar.concat(__read(arguments[i]));
return ar;
}
function Back() {

@@ -69,62 +94,96 @@ return (React__default['default'].createElement("svg", { fill: "currentColor", preserveAspectRatio: "xMidYMid meet", height: "1em", viewBox: "13 10 14 23", style: { marginLeft: "0.2em", marginRight: "1em", color: "#999" } },

var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
function TitleBar(_a) {
var url = _a.url, linkUrl = _a.linkUrl, classes = _a.classes;
return (React__default['default'].createElement(React__default['default'].Fragment, null,
React__default['default'].createElement(miniFrame.FrameButtons, { classes: classes }),
React__default['default'].createElement(Back, null),
React__default['default'].createElement(Forward, null),
React__default['default'].createElement("input", { value: url || "", readOnly: true }),
React__default['default'].createElement(Open, { href: linkUrl })));
}
var css = ".ch-mini-browser{height:100%}.ch-mini-browser .ch-frame-content iframe,.ch-mini-browser .ch-frame-content video{border:none;position:absolute;height:100%;width:100%}.ch-mini-browser .ch-title-bar input{height:1.4em;font-size:1em;border-radius:.5em;border:none;box-shadow:none;flex:1;padding:0 10px;color:#544}";
n(css,{"singleTag":true});
function useSteps(steps) {
return React__default['default'].useMemo(function () {
if (!steps) {
return [{ zoom: 1 }];
}
return steps.map(function (step) {
var _a = transformUrl(step.url, step.loadUrl, step.prependOrigin), displayUrl = _a.displayUrl, loadUrl = _a.loadUrl;
return {
zoom: step.zoom || 1,
displayUrl: displayUrl,
loadUrl: loadUrl,
children: step.children,
};
});
}, [steps]);
}
function transformUrl(url, loadUrl, prependOrigin) {
var currentOrigin = typeof window !== "undefined" ? window.origin : "";
var displayUrl = url && prependOrigin === true
? currentOrigin + url
: url;
return { displayUrl: displayUrl, loadUrl: loadUrl || displayUrl };
}
var MiniBrowser = React__default['default'].forwardRef(MiniBrowserWithRef);
var MiniBrowserHike = React__default['default'].forwardRef(MiniBrowserWithRef);
var c = utils.classNamesWithPrefix("");
function MiniBrowserWithRef(_a, ref) {
var _b = _a.url, url = _b === void 0 ? "" : _b, children = _a.children, _c = _a.progress, progress = _c === void 0 ? 0 : _c, _d = _a.backward, backward = _d === void 0 ? false : _d, _e = _a.zoom, zoom = _e === void 0 ? 1 : _e, ogSteps = _a.steps, loadUrl = _a.loadUrl, prependOrigin = _a.prependOrigin, props = __rest(_a, ["url", "children", "progress", "backward", "zoom", "steps", "loadUrl", "prependOrigin"]);
var steps = useSteps(ogSteps, {
var _b = _a.progress, progress = _b === void 0 ? 0 : _b, _c = _a.backward, ogSteps = _a.steps, _d = _a.classes, classes = _d === void 0 ? {} : _d, props = __rest(_a, ["progress", "backward", "steps", "classes"]);
var steps = useSteps(ogSteps);
// TODO readability and optional
var X = 50;
var t = progress - Math.floor(progress);
var x = t <= 0.5 ? -X * t : X - X * t;
var o = Math.abs(t - 0.5) * 2;
// const stepIndex = backward
// ? Math.floor(progress)
// : Math.ceil(progress)
var stepIndex = Math.round(progress);
var _e = steps[stepIndex], zoom = _e.zoom, displayUrl = _e.displayUrl, loadUrl = _e.loadUrl, children = _e.children;
return (React__default['default'].createElement(miniFrame.MiniFrame, __assign({}, props, { zoom: zoom, className: c("ch-mini-browser", classes) + " " + (props.className || ""), style: __assign({ transform: "translateX(" + x + "px)", opacity: o * o }, props.style), classes: classes, titleBar: React__default['default'].createElement(TitleBar, { url: displayUrl, linkUrl: loadUrl, classes: classes }) }), children || React__default['default'].createElement("iframe", { ref: ref, src: loadUrl })));
}
function MiniBrowser(_a) {
var url = _a.url, loadUrl = _a.loadUrl, prependOrigin = _a.prependOrigin, children = _a.children, zoom = _a.zoom, rest = __rest(_a, ["url", "loadUrl", "prependOrigin", "children", "zoom"]);
var _b = __read(useSteps$1({
url: url,
loadUrl: loadUrl,
prependOrigin: prependOrigin,
children: children,
zoom: zoom,
loadUrl: loadUrl,
prependOrigin: prependOrigin,
});
var stepIndex = backward
? Math.floor(progress)
: Math.ceil(progress);
var currentStep = steps[stepIndex];
return (React__default['default'].createElement(miniFrame.MiniFrame, __assign({}, props, { zoom: currentStep.zoom, className: "ch-mini-browser " + (props.className || ""), titleBar: React__default['default'].createElement(Bar, { url: currentStep.url, linkUrl: currentStep.loadUrl }) }), currentStep.children || (React__default['default'].createElement("iframe", { ref: ref, src: currentStep.loadUrl }))));
}), 2), steps = _b[0], progress = _b[1];
return (React__default['default'].createElement(MiniBrowserHike, __assign({}, rest, { steps: steps, progress: progress })));
}
function useSteps(ogSteps, ogDefaults) {
var defaults = transformStep(ogDefaults);
var zoom = defaults.zoom, url = defaults.url, children = defaults.children, loadUrl = defaults.loadUrl, prependOrigin = defaults.prependOrigin;
return React__default['default'].useMemo(function () {
if (!ogSteps) {
return [defaults];
function useSteps$1(_a) {
var url = _a.url, loadUrl = _a.loadUrl, prependOrigin = _a.prependOrigin, children = _a.children, zoom = _a.zoom;
var _b = __read(React__default['default'].useState({
target: 0,
steps: [
{ url: url, loadUrl: loadUrl, prependOrigin: prependOrigin, children: children, zoom: zoom },
],
}), 2), state = _b[0], setState = _b[1];
React__default['default'].useEffect(function () {
var last = state.steps[state.steps.length - 1];
if (last.url !== url ||
last.loadUrl !== loadUrl ||
last.prependOrigin !== prependOrigin ||
last.children !== children ||
last.zoom !== zoom) {
setState(function (s) { return ({
target: s.target + 1,
steps: __spread(s.steps, [
{ url: url, loadUrl: loadUrl, prependOrigin: prependOrigin, children: children, zoom: zoom },
]),
}); });
}
else {
return ogSteps.map(function (s) {
var step = transformStep(__assign({ prependOrigin: prependOrigin }, s));
return __assign(__assign({ zoom: zoom,
url: url,
children: children }, step), { loadUrl: step.loadUrl || step.url || loadUrl });
});
}
}, [ogSteps, zoom, url, children, loadUrl, prependOrigin]);
}, [url, loadUrl, prependOrigin, children, zoom]);
var _c = __read(useSpring.useSpring(state.target, {
stiffness: 100,
decimals: 3,
}), 1), progress = _c[0];
return [state.steps, progress];
}
function Bar(_a) {
var url = _a.url, linkUrl = _a.linkUrl;
return (React__default['default'].createElement(React__default['default'].Fragment, null,
React__default['default'].createElement(miniFrame.FrameButtons, null),
React__default['default'].createElement(Back, null),
React__default['default'].createElement(Forward, null),
React__default['default'].createElement("input", { value: url || "", readOnly: true }),
React__default['default'].createElement(Open, { href: linkUrl })));
}
function transformStep(step) {
var currentOrigin = typeof window !== "undefined" ? window.origin : "";
var url = step.url && step.prependOrigin === true
? currentOrigin + step.url
: step.url;
var loadUrl = step.loadUrl || url;
var transformed = __assign(__assign({}, step), { loadUrl: loadUrl });
if (step.url) {
transformed.url = url;
}
return transformed;
}
exports.MiniBrowser = MiniBrowser;
exports.MiniBrowserHike = MiniBrowserHike;

@@ -1,2 +0,4 @@

import { MiniBrowser } from "./mini-browser";
export { MiniBrowser };
import { MiniBrowserHike, MiniBrowserHikeProps } from "./mini-browser-hike";
import { MiniBrowser, MiniBrowserProps } from "./mini-browser";
import "./index.scss";
export { MiniBrowser, MiniBrowserProps, MiniBrowserHike, MiniBrowserHikeProps, };
import React from 'react';
import { MiniFrame, FrameButtons } from '@code-hike/mini-frame';
import { FrameButtons, MiniFrame } from '@code-hike/mini-frame';
import { classNamesWithPrefix } from '@code-hike/utils';
import { useSpring } from 'use-spring';

@@ -42,2 +44,25 @@ /*! *****************************************************************************

function __read(o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
}
function __spread() {
for (var ar = [], i = 0; i < arguments.length; i++)
ar = ar.concat(__read(arguments[i]));
return ar;
}
function Back() {

@@ -60,62 +85,95 @@ return (React.createElement("svg", { fill: "currentColor", preserveAspectRatio: "xMidYMid meet", height: "1em", viewBox: "13 10 14 23", style: { marginLeft: "0.2em", marginRight: "1em", color: "#999" } },

var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
function TitleBar(_a) {
var url = _a.url, linkUrl = _a.linkUrl, classes = _a.classes;
return (React.createElement(React.Fragment, null,
React.createElement(FrameButtons, { classes: classes }),
React.createElement(Back, null),
React.createElement(Forward, null),
React.createElement("input", { value: url || "", readOnly: true }),
React.createElement(Open, { href: linkUrl })));
}
var css = ".ch-mini-browser{height:100%}.ch-mini-browser .ch-frame-content iframe,.ch-mini-browser .ch-frame-content video{border:none;position:absolute;height:100%;width:100%}.ch-mini-browser .ch-title-bar input{height:1.4em;font-size:1em;border-radius:.5em;border:none;box-shadow:none;flex:1;padding:0 10px;color:#544}";
n(css,{"singleTag":true});
function useSteps(steps) {
return React.useMemo(function () {
if (!steps) {
return [{ zoom: 1 }];
}
return steps.map(function (step) {
var _a = transformUrl(step.url, step.loadUrl, step.prependOrigin), displayUrl = _a.displayUrl, loadUrl = _a.loadUrl;
return {
zoom: step.zoom || 1,
displayUrl: displayUrl,
loadUrl: loadUrl,
children: step.children,
};
});
}, [steps]);
}
function transformUrl(url, loadUrl, prependOrigin) {
var currentOrigin = typeof window !== "undefined" ? window.origin : "";
var displayUrl = url && prependOrigin === true
? currentOrigin + url
: url;
return { displayUrl: displayUrl, loadUrl: loadUrl || displayUrl };
}
var MiniBrowser = React.forwardRef(MiniBrowserWithRef);
var MiniBrowserHike = React.forwardRef(MiniBrowserWithRef);
var c = classNamesWithPrefix("");
function MiniBrowserWithRef(_a, ref) {
var _b = _a.url, url = _b === void 0 ? "" : _b, children = _a.children, _c = _a.progress, progress = _c === void 0 ? 0 : _c, _d = _a.backward, backward = _d === void 0 ? false : _d, _e = _a.zoom, zoom = _e === void 0 ? 1 : _e, ogSteps = _a.steps, loadUrl = _a.loadUrl, prependOrigin = _a.prependOrigin, props = __rest(_a, ["url", "children", "progress", "backward", "zoom", "steps", "loadUrl", "prependOrigin"]);
var steps = useSteps(ogSteps, {
var _b = _a.progress, progress = _b === void 0 ? 0 : _b, _c = _a.backward, ogSteps = _a.steps, _d = _a.classes, classes = _d === void 0 ? {} : _d, props = __rest(_a, ["progress", "backward", "steps", "classes"]);
var steps = useSteps(ogSteps);
// TODO readability and optional
var X = 50;
var t = progress - Math.floor(progress);
var x = t <= 0.5 ? -X * t : X - X * t;
var o = Math.abs(t - 0.5) * 2;
// const stepIndex = backward
// ? Math.floor(progress)
// : Math.ceil(progress)
var stepIndex = Math.round(progress);
var _e = steps[stepIndex], zoom = _e.zoom, displayUrl = _e.displayUrl, loadUrl = _e.loadUrl, children = _e.children;
return (React.createElement(MiniFrame, __assign({}, props, { zoom: zoom, className: c("ch-mini-browser", classes) + " " + (props.className || ""), style: __assign({ transform: "translateX(" + x + "px)", opacity: o * o }, props.style), classes: classes, titleBar: React.createElement(TitleBar, { url: displayUrl, linkUrl: loadUrl, classes: classes }) }), children || React.createElement("iframe", { ref: ref, src: loadUrl })));
}
function MiniBrowser(_a) {
var url = _a.url, loadUrl = _a.loadUrl, prependOrigin = _a.prependOrigin, children = _a.children, zoom = _a.zoom, rest = __rest(_a, ["url", "loadUrl", "prependOrigin", "children", "zoom"]);
var _b = __read(useSteps$1({
url: url,
loadUrl: loadUrl,
prependOrigin: prependOrigin,
children: children,
zoom: zoom,
loadUrl: loadUrl,
prependOrigin: prependOrigin,
});
var stepIndex = backward
? Math.floor(progress)
: Math.ceil(progress);
var currentStep = steps[stepIndex];
return (React.createElement(MiniFrame, __assign({}, props, { zoom: currentStep.zoom, className: "ch-mini-browser " + (props.className || ""), titleBar: React.createElement(Bar, { url: currentStep.url, linkUrl: currentStep.loadUrl }) }), currentStep.children || (React.createElement("iframe", { ref: ref, src: currentStep.loadUrl }))));
}), 2), steps = _b[0], progress = _b[1];
return (React.createElement(MiniBrowserHike, __assign({}, rest, { steps: steps, progress: progress })));
}
function useSteps(ogSteps, ogDefaults) {
var defaults = transformStep(ogDefaults);
var zoom = defaults.zoom, url = defaults.url, children = defaults.children, loadUrl = defaults.loadUrl, prependOrigin = defaults.prependOrigin;
return React.useMemo(function () {
if (!ogSteps) {
return [defaults];
function useSteps$1(_a) {
var url = _a.url, loadUrl = _a.loadUrl, prependOrigin = _a.prependOrigin, children = _a.children, zoom = _a.zoom;
var _b = __read(React.useState({
target: 0,
steps: [
{ url: url, loadUrl: loadUrl, prependOrigin: prependOrigin, children: children, zoom: zoom },
],
}), 2), state = _b[0], setState = _b[1];
React.useEffect(function () {
var last = state.steps[state.steps.length - 1];
if (last.url !== url ||
last.loadUrl !== loadUrl ||
last.prependOrigin !== prependOrigin ||
last.children !== children ||
last.zoom !== zoom) {
setState(function (s) { return ({
target: s.target + 1,
steps: __spread(s.steps, [
{ url: url, loadUrl: loadUrl, prependOrigin: prependOrigin, children: children, zoom: zoom },
]),
}); });
}
else {
return ogSteps.map(function (s) {
var step = transformStep(__assign({ prependOrigin: prependOrigin }, s));
return __assign(__assign({ zoom: zoom,
url: url,
children: children }, step), { loadUrl: step.loadUrl || step.url || loadUrl });
});
}
}, [ogSteps, zoom, url, children, loadUrl, prependOrigin]);
}, [url, loadUrl, prependOrigin, children, zoom]);
var _c = __read(useSpring(state.target, {
stiffness: 100,
decimals: 3,
}), 1), progress = _c[0];
return [state.steps, progress];
}
function Bar(_a) {
var url = _a.url, linkUrl = _a.linkUrl;
return (React.createElement(React.Fragment, null,
React.createElement(FrameButtons, null),
React.createElement(Back, null),
React.createElement(Forward, null),
React.createElement("input", { value: url || "", readOnly: true }),
React.createElement(Open, { href: linkUrl })));
}
function transformStep(step) {
var currentOrigin = typeof window !== "undefined" ? window.origin : "";
var url = step.url && step.prependOrigin === true
? currentOrigin + step.url
: step.url;
var loadUrl = step.loadUrl || url;
var transformed = __assign(__assign({}, step), { loadUrl: loadUrl });
if (step.url) {
transformed.url = url;
}
return transformed;
}
export { MiniBrowser };
export { MiniBrowser, MiniBrowserHike };
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('@code-hike/mini-frame')) :
typeof define === 'function' && define.amd ? define(['exports', 'react', '@code-hike/mini-frame'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.foo = {}, global.React, global.miniFrame));
}(this, (function (exports, React, miniFrame) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('@code-hike/mini-frame'), require('@code-hike/utils'), require('use-spring')) :
typeof define === 'function' && define.amd ? define(['exports', 'react', '@code-hike/mini-frame', '@code-hike/utils', 'use-spring'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ch = {}, global.React, global.miniFrame, global.utils, global.useSpring));
}(this, (function (exports, React, miniFrame, utils, useSpring) { 'use strict';

@@ -49,2 +49,25 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }

function __read(o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
}
function __spread() {
for (var ar = [], i = 0; i < arguments.length; i++)
ar = ar.concat(__read(arguments[i]));
return ar;
}
function Back() {

@@ -67,63 +90,97 @@ return (React__default['default'].createElement("svg", { fill: "currentColor", preserveAspectRatio: "xMidYMid meet", height: "1em", viewBox: "13 10 14 23", style: { marginLeft: "0.2em", marginRight: "1em", color: "#999" } },

var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
function TitleBar(_a) {
var url = _a.url, linkUrl = _a.linkUrl, classes = _a.classes;
return (React__default['default'].createElement(React__default['default'].Fragment, null,
React__default['default'].createElement(miniFrame.FrameButtons, { classes: classes }),
React__default['default'].createElement(Back, null),
React__default['default'].createElement(Forward, null),
React__default['default'].createElement("input", { value: url || "", readOnly: true }),
React__default['default'].createElement(Open, { href: linkUrl })));
}
var css = ".ch-mini-browser{height:100%}.ch-mini-browser .ch-frame-content iframe,.ch-mini-browser .ch-frame-content video{border:none;position:absolute;height:100%;width:100%}.ch-mini-browser .ch-title-bar input{height:1.4em;font-size:1em;border-radius:.5em;border:none;box-shadow:none;flex:1;padding:0 10px;color:#544}";
n(css,{"singleTag":true});
function useSteps(steps) {
return React__default['default'].useMemo(function () {
if (!steps) {
return [{ zoom: 1 }];
}
return steps.map(function (step) {
var _a = transformUrl(step.url, step.loadUrl, step.prependOrigin), displayUrl = _a.displayUrl, loadUrl = _a.loadUrl;
return {
zoom: step.zoom || 1,
displayUrl: displayUrl,
loadUrl: loadUrl,
children: step.children,
};
});
}, [steps]);
}
function transformUrl(url, loadUrl, prependOrigin) {
var currentOrigin = typeof window !== "undefined" ? window.origin : "";
var displayUrl = url && prependOrigin === true
? currentOrigin + url
: url;
return { displayUrl: displayUrl, loadUrl: loadUrl || displayUrl };
}
var MiniBrowser = React__default['default'].forwardRef(MiniBrowserWithRef);
var MiniBrowserHike = React__default['default'].forwardRef(MiniBrowserWithRef);
var c = utils.classNamesWithPrefix("");
function MiniBrowserWithRef(_a, ref) {
var _b = _a.url, url = _b === void 0 ? "" : _b, children = _a.children, _c = _a.progress, progress = _c === void 0 ? 0 : _c, _d = _a.backward, backward = _d === void 0 ? false : _d, _e = _a.zoom, zoom = _e === void 0 ? 1 : _e, ogSteps = _a.steps, loadUrl = _a.loadUrl, prependOrigin = _a.prependOrigin, props = __rest(_a, ["url", "children", "progress", "backward", "zoom", "steps", "loadUrl", "prependOrigin"]);
var steps = useSteps(ogSteps, {
var _b = _a.progress, progress = _b === void 0 ? 0 : _b, _c = _a.backward, ogSteps = _a.steps, _d = _a.classes, classes = _d === void 0 ? {} : _d, props = __rest(_a, ["progress", "backward", "steps", "classes"]);
var steps = useSteps(ogSteps);
// TODO readability and optional
var X = 50;
var t = progress - Math.floor(progress);
var x = t <= 0.5 ? -X * t : X - X * t;
var o = Math.abs(t - 0.5) * 2;
// const stepIndex = backward
// ? Math.floor(progress)
// : Math.ceil(progress)
var stepIndex = Math.round(progress);
var _e = steps[stepIndex], zoom = _e.zoom, displayUrl = _e.displayUrl, loadUrl = _e.loadUrl, children = _e.children;
return (React__default['default'].createElement(miniFrame.MiniFrame, __assign({}, props, { zoom: zoom, className: c("ch-mini-browser", classes) + " " + (props.className || ""), style: __assign({ transform: "translateX(" + x + "px)", opacity: o * o }, props.style), classes: classes, titleBar: React__default['default'].createElement(TitleBar, { url: displayUrl, linkUrl: loadUrl, classes: classes }) }), children || React__default['default'].createElement("iframe", { ref: ref, src: loadUrl })));
}
function MiniBrowser(_a) {
var url = _a.url, loadUrl = _a.loadUrl, prependOrigin = _a.prependOrigin, children = _a.children, zoom = _a.zoom, rest = __rest(_a, ["url", "loadUrl", "prependOrigin", "children", "zoom"]);
var _b = __read(useSteps$1({
url: url,
loadUrl: loadUrl,
prependOrigin: prependOrigin,
children: children,
zoom: zoom,
loadUrl: loadUrl,
prependOrigin: prependOrigin,
});
var stepIndex = backward
? Math.floor(progress)
: Math.ceil(progress);
var currentStep = steps[stepIndex];
return (React__default['default'].createElement(miniFrame.MiniFrame, __assign({}, props, { zoom: currentStep.zoom, className: "ch-mini-browser " + (props.className || ""), titleBar: React__default['default'].createElement(Bar, { url: currentStep.url, linkUrl: currentStep.loadUrl }) }), currentStep.children || (React__default['default'].createElement("iframe", { ref: ref, src: currentStep.loadUrl }))));
}), 2), steps = _b[0], progress = _b[1];
return (React__default['default'].createElement(MiniBrowserHike, __assign({}, rest, { steps: steps, progress: progress })));
}
function useSteps(ogSteps, ogDefaults) {
var defaults = transformStep(ogDefaults);
var zoom = defaults.zoom, url = defaults.url, children = defaults.children, loadUrl = defaults.loadUrl, prependOrigin = defaults.prependOrigin;
return React__default['default'].useMemo(function () {
if (!ogSteps) {
return [defaults];
function useSteps$1(_a) {
var url = _a.url, loadUrl = _a.loadUrl, prependOrigin = _a.prependOrigin, children = _a.children, zoom = _a.zoom;
var _b = __read(React__default['default'].useState({
target: 0,
steps: [
{ url: url, loadUrl: loadUrl, prependOrigin: prependOrigin, children: children, zoom: zoom },
],
}), 2), state = _b[0], setState = _b[1];
React__default['default'].useEffect(function () {
var last = state.steps[state.steps.length - 1];
if (last.url !== url ||
last.loadUrl !== loadUrl ||
last.prependOrigin !== prependOrigin ||
last.children !== children ||
last.zoom !== zoom) {
setState(function (s) { return ({
target: s.target + 1,
steps: __spread(s.steps, [
{ url: url, loadUrl: loadUrl, prependOrigin: prependOrigin, children: children, zoom: zoom },
]),
}); });
}
else {
return ogSteps.map(function (s) {
var step = transformStep(__assign({ prependOrigin: prependOrigin }, s));
return __assign(__assign({ zoom: zoom,
url: url,
children: children }, step), { loadUrl: step.loadUrl || step.url || loadUrl });
});
}
}, [ogSteps, zoom, url, children, loadUrl, prependOrigin]);
}, [url, loadUrl, prependOrigin, children, zoom]);
var _c = __read(useSpring.useSpring(state.target, {
stiffness: 100,
decimals: 3,
}), 1), progress = _c[0];
return [state.steps, progress];
}
function Bar(_a) {
var url = _a.url, linkUrl = _a.linkUrl;
return (React__default['default'].createElement(React__default['default'].Fragment, null,
React__default['default'].createElement(miniFrame.FrameButtons, null),
React__default['default'].createElement(Back, null),
React__default['default'].createElement(Forward, null),
React__default['default'].createElement("input", { value: url || "", readOnly: true }),
React__default['default'].createElement(Open, { href: linkUrl })));
}
function transformStep(step) {
var currentOrigin = typeof window !== "undefined" ? window.origin : "";
var url = step.url && step.prependOrigin === true
? currentOrigin + step.url
: step.url;
var loadUrl = step.loadUrl || url;
var transformed = __assign(__assign({}, step), { loadUrl: loadUrl });
if (step.url) {
transformed.url = url;
}
return transformed;
}
exports.MiniBrowser = MiniBrowser;
exports.MiniBrowserHike = MiniBrowserHike;

@@ -130,0 +187,0 @@ Object.defineProperty(exports, '__esModule', { value: true });

@@ -1,20 +0,6 @@

import React from "react";
import "./mini-browser.css";
declare type MiniBrowserStep = {
url?: string;
loadUrl?: string;
children?: React.ReactNode;
zoom?: number;
prependOrigin?: boolean;
};
declare const MiniBrowser: React.ForwardRefExoticComponent<{
progress?: number | undefined;
backward?: boolean | undefined;
url?: string | undefined;
children?: React.ReactNode;
loadUrl?: string | undefined;
prependOrigin?: boolean | undefined;
zoom?: number | undefined;
steps?: MiniBrowserStep[] | undefined;
} & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & React.RefAttributes<HTMLIFrameElement>>;
/// <reference types="react" />
import { MiniBrowserHikeProps } from "./mini-browser-hike";
import { MiniBrowserStep } from "./use-steps";
export declare type MiniBrowserProps = Omit<MiniBrowserHikeProps, "progress" | "steps" | "backward"> & MiniBrowserStep;
export { MiniBrowser };
declare function MiniBrowser({ url, loadUrl, prependOrigin, children, zoom, ...rest }: MiniBrowserProps): JSX.Element;
{
"name": "@code-hike/mini-browser",
"version": "0.0.0-2a67cd7",
"version": "0.0.0-33f17eb",
"main": "dist/index.js",
"typings": "dist/index.d.ts",
"module": "dist/index.esm.js",
"style": "dist/index.css",
"files": [

@@ -12,3 +13,5 @@ "dist"

"script": "ch-script",
"publish-canary": "yarn publish --tag canary --access public"
"publish-canary": "yarn publish --tag canary --access public",
"test": "jest",
"test-watch": "jest --watch --updateSnapshot"
},

@@ -18,6 +21,11 @@ "devDependencies": {

"@types/react": "^16.9.38",
"react": "^16.13.1"
"react": "^16.13.1",
"@types/jest": "^24.0.15",
"jest": "^26.5.3",
"ts-jest": "^26.4.1"
},
"dependencies": {
"@code-hike/mini-frame": "0.0.0-2a67cd7"
"@code-hike/mini-frame": "0.0.0-33f17eb",
"@code-hike/utils": "0.0.0-33f17eb",
"use-spring": "^0.2.3"
},

@@ -32,2 +40,3 @@ "peerDependencies": {

"repository": "code-hike/codehike",
"author": "Rodrigo Pombo",
"license": "MIT",

@@ -34,0 +43,0 @@ "funding": {

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc