@vm721/ui-kit
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.1.1.
718 lines (706 loc) • 53.1 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core')) :
typeof define === 'function' && define.amd ? define('@vm721/ui-kit', ['exports', '@angular/core'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.vm721 = global.vm721 || {}, global.vm721['ui-kit'] = {}), global.ng.core));
}(this, (function (exports, i0) { 'use strict';
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise */
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b)
if (Object.prototype.hasOwnProperty.call(b, p))
d[p] = b[p]; };
return extendStatics(d, b);
};
function __extends(d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}
var __assign = function () {
__assign = Object.assign || function __assign(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
function __rest(s, e) {
var t = {};
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
}
function __decorate(decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
r = Reflect.decorate(decorators, target, key, desc);
else
for (var i = decorators.length - 1; i >= 0; i--)
if (d = decorators[i])
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
}
function __param(paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); };
}
function __metadata(metadataKey, metadataValue) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
return Reflect.metadata(metadataKey, metadataValue);
}
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try {
step(generator.next(value));
}
catch (e) {
reject(e);
} }
function rejected(value) { try {
step(generator["throw"](value));
}
catch (e) {
reject(e);
} }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
function __generator(thisArg, body) {
var _ = { label: 0, sent: function () { if (t[0] & 1)
throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f)
throw new TypeError("Generator is already executing.");
while (_)
try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
return t;
if (y = 0, t)
op = [op[0] & 2, t.value];
switch (op[0]) {
case 0:
case 1:
t = op;
break;
case 4:
_.label++;
return { value: op[1], done: false };
case 5:
_.label++;
y = op[1];
op = [0];
continue;
case 7:
op = _.ops.pop();
_.trys.pop();
continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
_ = 0;
continue;
}
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
_.label = op[1];
break;
}
if (op[0] === 6 && _.label < t[1]) {
_.label = t[1];
t = op;
break;
}
if (t && _.label < t[2]) {
_.label = t[2];
_.ops.push(op);
break;
}
if (t[2])
_.ops.pop();
_.trys.pop();
continue;
}
op = body.call(thisArg, _);
}
catch (e) {
op = [6, e];
y = 0;
}
finally {
f = t = 0;
}
if (op[0] & 5)
throw op[1];
return { value: op[0] ? op[1] : void 0, done: true };
}
}
var __createBinding = Object.create ? (function (o, m, k, k2) {
if (k2 === undefined)
k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
}) : (function (o, m, k, k2) {
if (k2 === undefined)
k2 = k;
o[k2] = m[k];
});
function __exportStar(m, o) {
for (var p in m)
if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
__createBinding(o, m, p);
}
function __values(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m)
return m.call(o);
if (o && typeof o.length === "number")
return {
next: function () {
if (o && i >= o.length)
o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
}
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;
}
/** @deprecated */
function __spread() {
for (var ar = [], i = 0; i < arguments.length; i++)
ar = ar.concat(__read(arguments[i]));
return ar;
}
/** @deprecated */
function __spreadArrays() {
for (var s = 0, i = 0, il = arguments.length; i < il; i++)
s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
}
function __spreadArray(to, from) {
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
to[j] = from[i];
return to;
}
function __await(v) {
return this instanceof __await ? (this.v = v, this) : new __await(v);
}
function __asyncGenerator(thisArg, _arguments, generator) {
if (!Symbol.asyncIterator)
throw new TypeError("Symbol.asyncIterator is not defined.");
var g = generator.apply(thisArg, _arguments || []), i, q = [];
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
function verb(n) { if (g[n])
i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
function resume(n, v) { try {
step(g[n](v));
}
catch (e) {
settle(q[0][3], e);
} }
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
function fulfill(value) { resume("next", value); }
function reject(value) { resume("throw", value); }
function settle(f, v) { if (f(v), q.shift(), q.length)
resume(q[0][0], q[0][1]); }
}
function __asyncDelegator(o) {
var i, p;
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
}
function __asyncValues(o) {
if (!Symbol.asyncIterator)
throw new TypeError("Symbol.asyncIterator is not defined.");
var m = o[Symbol.asyncIterator], i;
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
}
function __makeTemplateObject(cooked, raw) {
if (Object.defineProperty) {
Object.defineProperty(cooked, "raw", { value: raw });
}
else {
cooked.raw = raw;
}
return cooked;
}
;
var __setModuleDefault = Object.create ? (function (o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function (o, v) {
o["default"] = v;
};
function __importStar(mod) {
if (mod && mod.__esModule)
return mod;
var result = {};
if (mod != null)
for (var k in mod)
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
__createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
}
function __importDefault(mod) {
return (mod && mod.__esModule) ? mod : { default: mod };
}
function __classPrivateFieldGet(receiver, privateMap) {
if (!privateMap.has(receiver)) {
throw new TypeError("attempted to get private field on non-instance");
}
return privateMap.get(receiver);
}
function __classPrivateFieldSet(receiver, privateMap, value) {
if (!privateMap.has(receiver)) {
throw new TypeError("attempted to set private field on non-instance");
}
privateMap.set(receiver, value);
return value;
}
var _Global, _map, _setLastPointer, _setPointer, _setLastPointer_1, _setPointer_1;
var PTR;
(function (PTR) {
PTR[PTR["POINTER"] = 0] = "POINTER";
PTR[PTR["INSTANCE"] = 1] = "INSTANCE";
})(PTR || (PTR = {}));
// @dynamic
var PointerMap = /** @class */ (function () {
function PointerMap(isScoped, inGlobal) {
var _this = this;
if (isScoped === void 0) { isScoped = false; }
if (inGlobal === void 0) { inGlobal = true; }
this.isScoped = isScoped;
this.inGlobal = inGlobal;
this.pointers = [];
_map.set(this, void 0);
_setLastPointer_1.set(this, function (pointerID) {
__classPrivateFieldGet(_this, _map).set('lastPointer', pointerID);
});
_setPointer_1.set(this, function (pointer) {
__classPrivateFieldGet(_this, _map).set(pointer[PTR.POINTER], pointer[PTR.INSTANCE]);
__classPrivateFieldGet(_this, _setLastPointer_1).call(_this, pointer[PTR.POINTER]);
_this.pointers.push(pointer[PTR.POINTER]);
if (!_this.isScoped && _this.inGlobal) {
__classPrivateFieldGet(PointerMap, _setPointer_1).call(PointerMap, pointer);
}
console.log(__classPrivateFieldGet(PointerMap, _Global));
});
__classPrivateFieldSet(this, _map, new Map());
__classPrivateFieldGet(this, _map).set('lastPointer', undefined);
if (this.isScoped && inGlobal) {
__classPrivateFieldGet(PointerMap, _Global).set(this, __classPrivateFieldGet(this, _map));
console.log(__classPrivateFieldGet(PointerMap, _Global));
}
}
PointerMap.prototype.createInstance = function (inst) {
var pointerTuple = this.createPointer(inst);
return pointerTuple[PTR.INSTANCE];
};
PointerMap.prototype.createPointer = function (inst) {
var pointer;
var pointerID = Math.random().toString();
pointer = [pointerID, inst];
__classPrivateFieldGet(this, _setPointer_1).call(this, pointer);
return pointer;
};
PointerMap.prototype.getInstance = function (pointerID) {
return __classPrivateFieldGet(this, _map).get(pointerID);
};
PointerMap.prototype.createEmptyPointer = function () {
return Math.random().toString();
};
PointerMap.prototype.useEmptyPointer = function (pointerID, Inst) {
var pointer;
pointer = [pointerID, Inst];
__classPrivateFieldGet(this, _setPointer_1).call(this, pointer);
return pointer;
};
PointerMap.prototype.getPointer = function (pointerID) {
var pointer;
pointer = [pointerID, this.getInstance(pointerID)];
return pointer;
};
PointerMap.prototype.printGlobalMap = function () {
console.log("PointerMap[Global] -> ", __classPrivateFieldGet(PointerMap, _Global));
};
PointerMap.prototype.getLastPointer = function () {
return __classPrivateFieldGet(this, _map).get('lastPointer');
};
PointerMap.getPointer = function (pointerID, scope) {
if (scope) {
return PointerMap.getScope(scope).get(pointerID);
}
return __classPrivateFieldGet(PointerMap, _Global).get(pointerID);
};
PointerMap.getScope = function (scope) {
return __classPrivateFieldGet(PointerMap, _Global).get(scope);
};
PointerMap.getLastPointer = function (scope) {
if (scope) {
return PointerMap.getScope(scope).get('lastPointer');
}
else {
return __classPrivateFieldGet(PointerMap, _Global).get('lastPointer');
}
};
PointerMap.clear = function (pointerMapInst) {
console.log('Clearing', pointerMapInst);
if (pointerMapInst.inGlobal) {
if (pointerMapInst.isScoped) {
console.log("Deleting:", __classPrivateFieldGet(PointerMap, _Global).get(pointerMapInst), __classPrivateFieldGet(PointerMap, _Global).delete(pointerMapInst));
}
}
else {
for (var pointerId in pointerMapInst.pointers) {
__classPrivateFieldGet(PointerMap, _Global).delete(pointerId);
if (PointerMap.getLastPointer() === pointerId) {
__classPrivateFieldGet(PointerMap, _setLastPointer_1).call(PointerMap, 'null');
}
}
}
console.log("Clear complete ->", __classPrivateFieldGet(PointerMap, _Global));
};
return PointerMap;
}());
_Global = new WeakMap(), _map = new WeakMap(), _setLastPointer = new WeakMap(), _setPointer = new WeakMap(), _setLastPointer_1 = new WeakMap(), _setPointer_1 = new WeakMap();
// @ts-ignore - static private property
_Global.set(PointerMap, new Map());
// @ts-ignore - static private property
_setLastPointer_1.set(PointerMap, function (pointerID) {
__classPrivateFieldGet(PointerMap, _Global).set('lastPointer', pointerID);
}
// @ts-ignore - static private property
);
// @ts-ignore - static private property
_setPointer_1.set(PointerMap, function (pointer) {
__classPrivateFieldGet(PointerMap, _Global).set(pointer[PTR.POINTER], pointer[PTR.INSTANCE]);
__classPrivateFieldGet(PointerMap, _setLastPointer_1).call(PointerMap, pointer[PTR.POINTER]);
});
//
// let ptrMap = new PointerMap();
// let ptrMap2 = new PointerMap(true);
// let evH = ptrMap2.createInstance((ev?:string): void => {
// console.log(ev,"Handled!");
// });
// let evH1 = ptrMap.createPointer(() => {});
var _PointerMap;
var PointerMapService = /** @class */ (function (_super) {
__extends(PointerMapService, _super);
function PointerMapService() {
var _this = _super.call(this) || this;
_PointerMap.set(_this, void 0);
__classPrivateFieldSet(_this, _PointerMap, PointerMap);
return _this;
}
PointerMapService.prototype.create = function (scope) {
return new (__classPrivateFieldGet(this, _PointerMap))(!!scope);
};
return PointerMapService;
}(PointerMap));
_PointerMap = new WeakMap();
PointerMapService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PointerMapService_Factory() { return new PointerMapService(); }, token: PointerMapService, providedIn: "root" });
PointerMapService.decorators = [
{ type: i0.Injectable, args: [{
providedIn: 'root'
},] }
];
PointerMapService.ctorParameters = function () { return []; };
var ToggleModes;
(function (ToggleModes) {
ToggleModes["AUTO"] = "auto";
ToggleModes["OPEN"] = "open";
ToggleModes["CLOSE"] = "close";
})(ToggleModes || (ToggleModes = {}));
var EventListenerModes;
(function (EventListenerModes) {
EventListenerModes["ADD"] = "add";
EventListenerModes["REMOVE"] = "remove";
})(EventListenerModes || (EventListenerModes = {}));
var OriginSides;
(function (OriginSides) {
OriginSides["LEFT"] = "left";
OriginSides["RIGHT"] = "right";
})(OriginSides || (OriginSides = {}));
var DropdownDirective = /** @class */ (function () {
function DropdownDirective(dropdownElemRef, renderer, pointerMap) {
this.dropdownElemRef = dropdownElemRef;
this.renderer = renderer;
this.pointerMap = pointerMap;
this.dropdownOpen = false;
this.DropdownOriginSide = OriginSides.LEFT;
this.DropdownClass = 'dropdown';
this.DropdownContentClass = 'dropdown__content';
this.DropdownOpenClass = 'dropdown__content_--show';
this.DropdownLeftOriginClass = 'dropdown__content--left';
this.DropdownRightOriginClass = 'dropdown__content--right';
this.dropdownElem = this.dropdownElemRef.nativeElement;
this.domEventListenerHandlersMap = this.pointerMap.create(true);
}
DropdownDirective.prototype.ngOnInit = function () {
var _a;
this.renderer.addClass(this.dropdownElem, this.DropdownClass);
this.renderer.addClass(this.DropdownContentElemRef, this.DropdownContentClass);
if (this.DropdownOriginSide === OriginSides.RIGHT) {
this.renderer.addClass(this.DropdownContentElemRef, this.DropdownRightOriginClass);
}
else if (this.DropdownOriginSide === OriginSides.LEFT) {
this.renderer.addClass(this.dropdownElem, this.DropdownLeftOriginClass);
}
else {
console.warn("----- Dropdown Directive Setup Failed -----");
console.error('Error: DropdownDirective.DropdownOriginSide was not recognised.');
console.info("Current OriginSide Set:" + this.DropdownOriginSide, '\nAllowed OriginSides:', (_a = {},
_a[OriginSides.LEFT] = 'Will add the DropdownLeftOriginClass to DropdownContentElement. [DEFAULT (if not set)]',
_a[OriginSides.RIGHT] = 'Will add the DropdownRightOriginClass to DropdownContentElement.',
_a));
console.warn("----- ----- -----");
}
};
DropdownDirective.prototype.ngAfterViewInit = function () {
this.dropdownContentElem = this.DropdownContentElemRef;
this.dropdownOpen = this.dropdownContentElem.classList.contains(this.DropdownOpenClass);
// console.log('The Elements', this.dropdownElem, this.dropdownContentElem);
};
DropdownDirective.prototype.ngOnDestroy = function () {
PointerMapService.clear(this.domEventListenerHandlersMap);
};
DropdownDirective.prototype.onDropdownClick = function (event) {
// console.log("Binded:", this.DropdownContentElemRef);
// console.log('dropdown clicked on', event, this.dropdownElem, this.dropdownContentElem);
this.toggleDropdown();
// console.log("EventListenerHandlers:", this.domEventListenerHandlers);
};
DropdownDirective.prototype.getContentElem = function (parent_elem) {
for (var i = 0; i < parent_elem.children.length; i++) {
if (parent_elem.children[i].classList.contains(this.DropdownContentClass)) {
return parent_elem.children[i];
}
}
};
DropdownDirective.prototype.OutsideClickHandler = function (thisArg, mode, EID) {
var _this = this;
if (mode === void 0) { mode = EventListenerModes.ADD; }
var EventID;
var clickOutsidetoCloseHandler;
if (EID) {
EventID = EID;
clickOutsidetoCloseHandler = this.domEventListenerHandlersMap.getPointer(EID);
}
else {
EventID = this.domEventListenerHandlersMap.createEmptyPointer();
clickOutsidetoCloseHandler = this.domEventListenerHandlersMap.useEmptyPointer(EventID, function (ev) {
if (!thisArg.dropdownElem.contains(ev.target) && !thisArg.dropdownContentElem.contains(ev.target)) {
console.log(EventID, "-->clicked outside:", _this.dropdownElem, _this.dropdownContentElem, ev.target, thisArg.dropdownElem.contains(ev.target), thisArg.dropdownContentElem.contains(ev.target));
thisArg.toggleDropdown(ToggleModes.CLOSE, EventID);
}
});
}
console.log('OutsideClickHandler ->', mode, EventID, clickOutsidetoCloseHandler);
if (mode === EventListenerModes.ADD) {
document.addEventListener('click', clickOutsidetoCloseHandler[1]);
}
else if (mode === EventListenerModes.REMOVE) {
document.removeEventListener('click', clickOutsidetoCloseHandler[1]);
}
};
DropdownDirective.prototype.toggleDropdown = function (mode, EID) {
var _a;
if (mode === void 0) { mode = ToggleModes.AUTO; }
if (mode !== ToggleModes.AUTO) {
if (mode === ToggleModes.CLOSE) {
//e.classList.remove('dropdown__content_--show');
//document.removeEventListener('click', closeOnClickOutsideHandler);
this.renderer.removeClass(this.dropdownContentElem, this.DropdownOpenClass);
// console.log("Dropdown closed!", this.dropdownElem, this.dropdownContentElem, this.DropdownContentElemRef.classList.contains(this.DropdownOpenClass));
this.OutsideClickHandler(this, EventListenerModes.REMOVE, EID);
}
else if (mode === ToggleModes.OPEN) {
//e.classList.add('dropdown__content_--show');
//document.addEventListener('click', closeOnClickOutsideHandler);
this.renderer.addClass(this.dropdownContentElem, this.DropdownOpenClass);
// console.log("Dropdown Opened!", this.dropdownElem, this.dropdownContentElem, this.DropdownContentElemRef.classList.contains(this.DropdownOpenClass));
this.OutsideClickHandler(this, EventListenerModes.ADD);
}
else {
console.warn("----- Dropdown Toggle Failed -----");
console.error('Error: DropdownDirective.toggleDropdown() was called with unrecognized mode.');
console.info("Current Mode Passed:" + mode, '\nAllowed Modes:', (_a = {},
_a[ToggleModes.AUTO] = 'Automatically determines dropdown state and toggles the state. [DEFAULT (if not passed)]',
_a[ToggleModes.OPEN] = 'Sets Dropdown state to OPEN [--force].',
_a[ToggleModes.CLOSE] = 'Sets Dropdown state to CLOSE [--force].',
_a));
console.warn("----- ----- -----");
}
}
else {
// console.log("----- Dropdown Toggle -----");
this.dropdownOpen = this.dropdownContentElem.classList.contains(this.DropdownOpenClass);
// console.log("Dropdown open:", this.dropdownOpen);
if (this.dropdownOpen) {
// console.log("Closing Dropdown!");
this.toggleDropdown(ToggleModes.CLOSE);
}
else {
// console.log("Opening Dropdown!");
this.toggleDropdown(ToggleModes.OPEN);
}
}
this.dropdownOpen = this.dropdownContentElem.classList.contains(this.DropdownOpenClass);
};
DropdownDirective.prototype.isNode = function (o) {
return (typeof Node === "object" ? o instanceof Node :
o && typeof o === "object" && typeof o.nodeType === "number" && typeof o.nodeName === "string");
};
//Returns true if it is a DOM element
DropdownDirective.prototype.isElement = function (o) {
return (typeof HTMLElement === "object" ? o instanceof HTMLElement : //DOM2
o && typeof o === "object" && o !== null && o.nodeType === 1 && typeof o.nodeName === "string");
};
return DropdownDirective;
}());
DropdownDirective.decorators = [
{ type: i0.Directive, args: [{
selector: '[commonDropdown]'
},] }
];
DropdownDirective.ctorParameters = function () { return [
{ type: i0.ElementRef },
{ type: i0.Renderer2 },
{ type: PointerMapService }
]; };
DropdownDirective.propDecorators = {
DropdownContentElemRef: [{ type: i0.Input }],
DropdownOriginSide: [{ type: i0.Input }],
DropdownClass: [{ type: i0.Input }],
DropdownContentClass: [{ type: i0.Input }],
DropdownOpenClass: [{ type: i0.Input }],
DropdownLeftOriginClass: [{ type: i0.Input }],
DropdownRightOriginClass: [{ type: i0.Input }],
onDropdownClick: [{ type: i0.HostListener, args: ['click',] }]
};
var DevNinjaModule = /** @class */ (function () {
function DevNinjaModule() {
}
return DevNinjaModule;
}());
DevNinjaModule.decorators = [
{ type: i0.NgModule, args: [{
declarations: [],
providers: [PointerMapService],
exports: []
},] }
];
var CommonUIModule = /** @class */ (function () {
function CommonUIModule() {
}
return CommonUIModule;
}());
CommonUIModule.decorators = [
{ type: i0.NgModule, args: [{
declarations: [
DropdownDirective
],
imports: [
DevNinjaModule
],
exports: [DropdownDirective]
},] }
];
var CommonSASSInjectComponent = /** @class */ (function () {
function CommonSASSInjectComponent() {
}
return CommonSASSInjectComponent;
}());
CommonSASSInjectComponent.decorators = [
{ type: i0.Component, args: [{
selector: '<commonui-sass-inject></commonui-sass-inject>',
template: '',
encapsulation: i0.ViewEncapsulation.None,
styles: [".dropdown{display:inline-block;position:relative}.dropdown__content{background-color:#f9f9f9;box-shadow:0 8px 16px 0 rgba(0,0,0,.2);color:#000;display:none;left:5px;min-width:160px;padding:12px 16px;position:absolute;right:unset;top:100%;z-index:100}.dropdown__content_--show{display:block}.dropdown__content--right{left:unset;right:5px}"]
},] }
];
var CommonSASSModule = /** @class */ (function () {
function CommonSASSModule() {
}
return CommonSASSModule;
}());
CommonSASSModule.decorators = [
{ type: i0.NgModule, args: [{
declarations: [CommonSASSInjectComponent],
exports: [CommonSASSInjectComponent]
},] }
];
var NatoursUIModule = /** @class */ (function () {
function NatoursUIModule() {
}
return NatoursUIModule;
}());
NatoursUIModule.decorators = [
{ type: i0.NgModule, args: [{
declarations: [],
exports: []
},] }
];
var NatoursSASSInjectComponent = /** @class */ (function () {
function NatoursSASSInjectComponent() {
}
return NatoursSASSInjectComponent;
}());
NatoursSASSInjectComponent.decorators = [
{ type: i0.Component, args: [{
selector: '<natours-sass-inject></natours-sass-inject>',
template: '',
encapsulation: i0.ViewEncapsulation.None,
styles: ["*,:after,:before{box-sizing:inherit;margin:0;padding:0}#natours-html{font-size:62.5%}@media only screen and (max-width:75em){#natours-html{font-size:56.25%}}@media only screen and (max-width:56.25em){#natours-html{font-size:50%}}@media only screen and (min-width:112.5em){#natours-html{font-size:75%}}#natours-body{box-sizing:border-box;padding:3rem}@media only screen and (max-width:56.25em){#natours-body{padding:0}}.natours-selection{background-color:#7ed56f;color:#fff}@-webkit-keyframes natours-moveInBottom{0%{opacity:0;transform:translateY(10rem)}to{opacity:1;transform:translate(0)}}@keyframes natours-moveInBottom{0%{opacity:0;transform:translateY(10rem)}to{opacity:1;transform:translate(0)}}@-webkit-keyframes natours-moveInLeft{0%{opacity:0;transform:translateX(-10rem)}80%{transform:translateX(2rem)}to{opacity:1;transform:translate(0)}}@keyframes natours-moveInLeft{0%{opacity:0;transform:translateX(-10rem)}80%{transform:translateX(2rem)}to{opacity:1;transform:translate(0)}}@-webkit-keyframes natours-moveInRight{0%{opacity:0;transform:translateX(10rem)}80%{transform:translateX(-2rem)}to{opacity:1;transform:translate(0)}}@keyframes natours-moveInRight{0%{opacity:0;transform:translateX(10rem)}80%{transform:translateX(-2rem)}to{opacity:1;transform:translate(0)}}#natours-body{color:#777;font-family:Lato,sans-serif;font-weight:400;line-height:1.7}.natours-heading-primary{-webkit-backface-visibility:hidden;backface-visibility:hidden;color:#fff;text-transform:uppercase}.natours-heading-primary--main{-webkit-animation-duration:1s;-webkit-animation-name:moveInLeft;-webkit-animation-timing-function:ease-out;animation-duration:1s;animation-name:moveInLeft;animation-timing-function:ease-out;display:block;font-size:6rem;font-weight:400;letter-spacing:3.5rem}@media only screen and (max-width:37.5em){.natours-heading-primary--main{font-size:5rem;letter-spacing:1rem}}.natours-heading-primary--sub{-webkit-animation-duration:1s;-webkit-animation-name:moveInRight;-webkit-animation-timing-function:ease-out;animation-duration:1s;animation-name:moveInRight;animation-timing-function:ease-out;display:block;font-size:2rem;font-weight:700;letter-spacing:1.7rem;margin-bottom:1.6rem}@media only screen and (max-width:37.5em){.natours-heading-primary--sub{letter-spacing:.5rem}}.natours-heading-secondary{-webkit-background-clip:text;background-image:linear-gradient(90deg,#7ed56f,#28b485);color:transparent;display:inline-block;font-size:3.5rem;font-weight:700;letter-spacing:.2rem;text-transform:uppercase;transition:all .2s}@media only screen and (max-width:56.25em){.natours-heading-secondary{font-size:3rem}}@media only screen and (max-width:37.5em){.natours-heading-secondary{font-size:2.5rem}}.natours-heading-secondary:hover{text-shadow:.5rem 1rem 2rem rgba(0,0,0,.2);transform:skewY(2deg) skewX(15deg) scale(1.1)}.natours-heading-tertiary{font-size:1.6rem;font-weight:700;text-transform:uppercase}@media only screen and (max-width:37.5em){.natours-heading-tertiary{font-size:1.2rem}}.natours-paragraph{font-size:1.6rem}@media only screen and (max-width:37.5em){.natours-paragraph{font-size:1.2rem}}.natours-paragraph:not(:last-child){margin-bottom:3rem}.natours-u-center-text{text-align:center!important}.natours-u-margin-bottom-huge{margin-bottom:10rem!important}.natours-u-margin-bottom-big{margin-bottom:8rem!important}@media only screen and (max-width:56.25em){.natours-u-margin-bottom-big{margin-bottom:5rem!important}}.natours-u-margin-bottom-medium{margin-bottom:4rem!important}@media only screen and (max-width:56.25em){.natours-u-margin-bottom-medium{margin-bottom:3rem!important}}.natours-u-margin-bottom-small{margin-bottom:1.5rem!important}.natours-u-margin-top-huge{margin-top:10rem!important}.natours-u-margin-top-big{margin-top:8rem!important}@media only screen and (max-width:56.25em){.natours-u-margin-top-big{margin-top:5rem!important}}.natours-u-margin-top-medium{margin-top:4rem!important}@media only screen and (max-width:56.25em){.natours-u-margin-top-medium{margin-top:3rem!important}}.natours-u-margin-top-small{margin-top:1.5rem!important}.natours-button,.natours-button:link,.natours-button:visited{-webkit-backface-visibility:hidden;backface-visibility:hidden;border:none;border-radius:10rem;cursor:pointer;display:inline-block;font-size:1.6rem;padding:1.5rem 4rem;position:relative;text-decoration:none;text-transform:uppercase;transition:all .2s}.natours-button:hover{box-shadow:0 1rem 2rem rgba(0,0,0,.2);transform:translateY(-.3rem)}.natours-button:hover:after{opacity:0;transform:scaleX(1.5) scaleY(1.7)}.natours-button:active,.natours-button:focus{box-shadow:0 .5rem 1rem rgba(0,0,0,.2);outline:none;transform:translateY(-.1rem)}.natours-button--white{background-color:#fff;color:#777}.natours-button--white:after{background-color:#fff}.natours-button--green{color:#fff}.natours-button--green,.natours-button--green:after{background-color:#7ed56f}.natours-button:after{border-radius:10rem;content:\"\";display:inline-block;height:100%;left:0;position:absolute;top:0;transition:all .4s;width:100%;z-index:-1}.natours-button--animation{-webkit-animation-delay:.75s;-webkit-animation-duration:1s;-webkit-animation-fill-mode:backwards;-webkit-animation-name:moveInBottom;-webkit-animation-timing-function:ease-out;animation-delay:.75s;animation-duration:1s;animation-fill-mode:backwards;animation-name:moveInBottom;animation-timing-function:ease-out}.natours-button__text:link,.natours-button__text:visited{border-bottom:1px solid #7ed56f;color:#7ed56f;display:inline-block;font-size:1.6rem;padding:3px;text-decoration:none;transition:all .2s}.natours-button__text:hover{background-color:#7ed56f;box-shadow:0 1rem 2rem rgba(0,0,0,.15);color:#fff;transform:translateY(-2px)}.natours-button__text:active{box-shadow:0 .5rem 1rem rgba(0,0,0,.15);transform:translateY(0)}.natours-composition{position:relative}.natours-composition__photo{border-radius:2px;box-shadow:0 1.5rem 4rem rgba(0,0,0,.4);outline-offset:2rem;position:absolute;transition:all .2s;width:55%;z-index:10}@media only screen and (max-width:56.25em){.natours-composition__photo{box-shadow:0 1.5rem 3rem rgba(0,0,0,.2);float:left;position:relative;width:33.33333%}}.natours-composition__photo--p1{left:0;top:-2rem}@media only screen and (max-width:56.25em){.natours-composition__photo--p1{top:0;transform:scale(1.2)}}.natours-composition__photo--p2{right:0;top:2rem}@media only screen and (max-width:56.25em){.natours-composition__photo--p2{top:-1rem;transform:scale(1.3);z-index:100}}.natours-composition__photo--p3{left:20%;top:10rem}@media only screen and (max-width:56.25em){.natours-composition__photo--p3{left:0;top:0;transform:scale(1.1)}}.natours-composition__photo:hover{box-shadow:0 2.5rem 4rem rgba(0,0,0,.5);outline:1.5rem solid #7ed56f;transform:scale(1.05) translateY(-.5rem);z-index:20}.natours-composition:hover .natours-composition__photo:not(:hover){transform:scale(.95)}.natours-feature-box{background-color:hsla(0,0%,100%,.8);border-radius:3px;box-shadow:0 1.5rem 4rem rgba(0,0,0,.15);font-size:1.5rem;padding:2.5rem;text-align:center;transition:transform .2s}@media only screen and (max-width:56.25em){.natours-feature-box{padding:2rem}}.natours-feature-box__icon{-webkit-background-clip:text;background-image:linear-gradient(90deg,#7ed56f,#55c57a);color:transparent;display:inline-block;font-size:6rem;margin-bottom:.5rem}@media only screen and (max-width:56.25em){.natours-feature-box__icon{margin-bottom:0}}.natours-feature-box:hover{transform:translateY(-1.5rem) scale(1.03)}.natours-story{background-color:hsla(0,0%,100%,.6);border-radius:3px;box-shadow:0 3rem 6rem rgba(0,0,0,.1);font-size:1.6rem;margin:0 auto;padding:6rem 6rem 6rem 9rem;transform:skewX(-12deg);width:75%}@media only screen and (max-width:56.25em){.natours-story{padding:4rem 4rem 4rem 7rem;width:100%}}@media only screen and (max-width:37.5em){.natours-story{transform:skewX(0deg)}}.natours-story__shape{-webkit-clip-path:circle(50% at 50% 50%);-webkit-shape-outside:circle(50% at 50% 50%);background-color:#ff4500;clip-path:circle(50% at 50% 50%);float:left;height:15rem;overflow:hidden;position:relative;shape-outside:circle(50% at 50% 50%);transform:translateX(-3rem) skewX(12deg);width:15rem}@media only screen and (max-width:37.5em){.natours-story__shape{transform:translateX(-3rem) skewX(0deg)}}.natours-story__img{-webkit-backface-visibility:hidden;backface-visibility:hidden;height:100%;transform:translateX(-4rem) scale(1.4);transition:all .5s}.natours-story__text{transform:skewX(12deg)}@media only screen and (max-width:37.5em){.natours-story__text{transform:skewX(0deg)}}.natours-story__caption{-webkit-backface-visibility:hidden;backface-visibility:hidden;color:#fff;font-size:1.7rem;left:50%;opacity:0;position:absolute;text-align:center;text-transform:uppercase;top:50%;transform:translate(-50%,20%);transition:all .5s}.natours-story:hover .natours-story__caption{opacity:1;transform:translate(-50%,-50%)}.natours-story:hover .natours-story__img{filter:blur(3px) brightness(80%);transform:translateX(-4rem) scale(1)}.bg-video{height:100%;left:0;opacity:.15;overflow:hidden;position:absolute;top:0;width:100%;z-index:-1}.bg-video__content{-o-object-fit:cover;height:100%;object-fit:cover;width:100%}.natours-form__group:not(:last-child){margin-bottom:2rem}.natours-form__input{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:hsla(0,0%,100%,.5);border:none;border-bottom:3px solid transparent;border-radius:2px;color:inherit;display:block;font-size:1.5rem;padding:1.5rem 2rem;transition:all .2s;width:100%}@media only screen and (max-width:56.25em){.natours-form__input{width:100%}}.natours-form__input:focus{border-bottom:3px solid #7ed56f;box-shadow:0 1rem 22rem rgba(0,0,0,.1);outline:none}.natours-form__input:focus:invalid{border-bottom:3px solid #ff7730}.natours-form__input::-webkit-input-placeholder{color:#999}.natours-form__label{display:block;font-size:1.2rem;font-weight:700;margin-left:2rem;margin-top:.7rem;transition:all .3s}.natours-form__input:-moz-placeholder-shown+.natours-form__label{opacity:0;transform:translateY(-4rem);visibility:hidden}.natours-form__input:-ms-input-placeholder+.natours-form__label{opacity:0;transform:translateY(-4rem);visibility:hidden}.natours-form__input:placeholder-shown+.natours-form__label{opacity:0;transform:translateY(-4rem);visibility:hidden}.natours-form__radio-group{display:inline-block;width:49%}@media only screen and (max-width:56.25em){.natours-form__radio-group{margin-bottom:1.5rem;width:100%}}.natours-form__radio-input{opacity:0}.natours-form__radio-label{cursor:pointer;font-size:1.6rem;padding-left:5rem;position:relative}.natours-form__radio-button{border:5px solid #7ed56f;border-radius:50%;display:inline-block;height:3rem;left:0;position:absolute;top:-.6rem;width:3rem}.natours-form__radio-button:after{background-color:#7ed56f;border-radius:50%;content:\"\";display:inline-block;height:1.3rem;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .2s;width:1.3rem}.natours-form__radio-input:checked~.natours-form__radio-label .natours-form__radio-button:after{opacity:1}.natours-popup{background-color:rgba(0,0,0,.9);display:block;height:100vh;left:0;opacity:0;position:fixed;top:0;transition:all .3s;visibility:hidden;width:100%;z-index:1005}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.natours-popup{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:rgba(0,0,0,.3)}}.natours-popup:target{opacity:1;visibility:visible}.natours-popup:target .natours-popup__content{opacity:1;transform:translate(-50%,-50%) scale(1)}.natours-popup__content{background-color:#fff;border-radius:5px;box-shadow:0 2rem 4rem rgba(0,0,0,.5);display:table;left:50%;opacity:0;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform:translate(-50%,-50%) scale(.25);transition:all .4s .2s;width:75%}.natours-popup__left{display:table-cell;width:33.3333333%}.natours-popup__right{display:table-cell;padding:3rem 5rem;vertical-align:middle;width:66.6666666%}.natours-popup__img{display:block;width:100%}.natours-popup__text{-moz-column-count:2;-moz-column-gap:4rem;-moz-column-rule:1px solid #eee;-ms-hyphens:auto;-webkit-hyphenate-character:auto;-webkit-hyphens:auto;column-count:2;column-gap:4rem;column-rule:1px solid #eee;font-size:1.4rem;hyphens:auto;margin-bottom:4rem}.natours-popup__close:link,.natours-popup__close:visited{color:#777;font-size:3rem;line-height:1;position:absolute;right:2.5rem;text-decoration:none;top:2.5rem;transition:all .2s}.natours-popup__close:hover{color:#7ed56f}.natours-header{-webkit-clip-path:polygon(0 0,100% 0,100% 75vh,0 100%);background-image:linear-gradient(to right bottom,rgba(126,213,111,.801),rgba(40,180,133,.801));background-position:top;background-size:cover;clip-path:polygon(0 0,100% 0,100% 75vh,0 100%);height:95vh;position:relative}@media only screen and (max-width:37.5em){.natours-header{-webkit-clip-path:polygon(0 0,100% 0,100% 85vh,0 98%);clip-path:polygon(0 0,100% 0,100% 85vh,0 98%)}}.natours-header__logo-box{left:4rem;position:absolute;top:4rem}.natours-header__logo{height:3.5rem}.natours-header__text-box{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.natours-row{margin:0 auto;max-width:114rem}@media only screen and (max-width:56.25em){.natours-row{max-width:50rem;padding:0 3rem}}.natours-row:not(:last-child){margin-bottom:8rem}@media only screen and (max-width:56.25em){.natours-row:not(:last-child){margin-bottom:6rem}}.natours-row:after{clear:both;content:\"\";display:table}.natours-row [class^=col-]{float:left}.natours-row [class^=col-]:not(:last-child){margin-right:6rem}@media only screen and (max-width:56.25em){.natours-row [class^=col-]:not(:last-child){margin-bottom:6rem;margin-right:0}}@media only screen and (max-width:56.25em){.natours-row [class^=col-]{width:100%!important}}.natours-row .col-1-of-2{width:calc(50% - 3rem)}.natours-row .col-1-of-3{width:calc(33.33333% - 4rem)}.natours-row .col-1-of-4{width:calc(25% - 4.5rem)}.natours-row .col-2-of-3{width:calc(66.66667% - 2rem)}.natours-row .col-2-of-4{width:calc(50% - 3rem)}.natours-row .col-3-of-4{width:calc(75% - 1.5rem)}.natours-footer{background-color:#333;font-size:1.4rem;padding:10rem 0}@media only screen and (max-width:56.25em){.natours-footer{padding:8rem 0}}.natours-footer__logo-box{margin-bottom:8rem;text-align:center}@media only screen and (max-width:56.25em){.natours-footer__logo-box{margin-bottom:6rem}}.natours-footer__logo{height:auto;width:15rem}.natours-footer__navigation{border-top:1px solid #777;display:inline-block;padding-top:2rem}@media only screen and (max-width:56.25em){.natours-footer__navigation{text-align:center;width:100%}}.natours-footer__list{list-style:none}.natours-footer__item{display:inline-block}.natours-footer__item:not(:last-child){margin-right:1.5rem}.natours-footer__link:link,.natours-footer__link:visited{background-color:#333;color:#f7f7f7;display:inline-block;text-decoration:none;text-transform:uppercase;transition:all .2s}.natours-footer__link:active,.natours-footer__link:hover{box-shadow:0 1rem 2rem rgba(0,0,0,.4);color:#7ed56f;transform:rotate(5deg) scale(1.3)}.natours-footer__copyright{border-top:1px solid #777;color:#f7f7f7;float:right;padding-top:2rem;width:80%}@media only screen and (max-width:56.25em){.natours-footer__copyright{float:none;text-align:right;width:100%}}.natours-footer__copyright--classic{color:#f7f7f7;text-align:center}.natours-navigation{height:0}.natours-navigation__checkbox{opacity:0;visibility:hidden}.natours-navigation__button{background-color:#fff;border-radius:50%;box-shadow:0 1rem 3rem rgba(0,0,0,.1);cursor:pointer;height:7rem;position:fixed;right:6rem;text-align:center;top:6rem;width:7rem;z-index:1002}@media only screen and (max-width:56.25em){.natours-navigation__button{right:4rem;top:4rem}}@media only screen and (max-width:37.5em){.natours-navigation__button{right:3rem;top:3rem}}.natours-navigation__background{background-image:radial-gradient(#7ed56f,#28b485);border-radius:50%;height:6rem;position:fixed;right:6.5rem;top:6.5rem;transition:transform .6s cubic-bezier(.83,0,.17,1);width:6rem;z-index:1000}@media only screen and (max-width:56.25em){.natours-navigation__background{right:4.5rem;top:4.5rem}}@media only screen and (max-width:37.5em){.natours-navigation__background{right:3.5rem;top:3.5rem}}.natours-navigation__nav{height:100vh;left:0;opacity:0;position:fixed;top:0;transition:all .6s cubic-bezier(.83,0,.17,1);width:0;z-index:1001}.natours-navigation__list{left:50%;list-style:none;position:absolute;text-align:center;top:50%;transform: