Add GSAP library to project
A minified version of the GSAP (GreenSock Animation Platform) library has been added to the scripts/vendor directory. This library will be used to provide rich, high-performance animations for various components within the project.
This commit is contained in:
parent
c15383a7f5
commit
771a3aacd9
29 changed files with 663 additions and 0 deletions
11
public/scripts/vendor/gsap/gsap.min.js
vendored
Normal file
11
public/scripts/vendor/gsap/gsap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
public/scripts/vendor/lenis/lenis.js
vendored
Normal file
1
public/scripts/vendor/lenis/lenis.js
vendored
Normal file
File diff suppressed because one or more lines are too long
21
public/scripts/vendor/preline/accordion/LICENSE
vendored
Normal file
21
public/scripts/vendor/preline/accordion/LICENSE
vendored
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2023 Html Stream
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
45
public/scripts/vendor/preline/accordion/index.d.ts
vendored
Normal file
45
public/scripts/vendor/preline/accordion/index.d.ts
vendored
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
|
||||||
|
export interface IAccordion {
|
||||||
|
options?: {};
|
||||||
|
show(): void;
|
||||||
|
hide(): void;
|
||||||
|
}
|
||||||
|
export interface IBasePlugin<O, E> {
|
||||||
|
el: E;
|
||||||
|
options?: O;
|
||||||
|
events?: {};
|
||||||
|
}
|
||||||
|
declare class HSBasePlugin<O, E = HTMLElement> implements IBasePlugin<O, E> {
|
||||||
|
el: E;
|
||||||
|
options: O;
|
||||||
|
events?: any;
|
||||||
|
constructor(el: E, options: O, events?: any);
|
||||||
|
createCollection(collection: any[], element: any): void;
|
||||||
|
fireEvent(evt: string, payload?: any): any;
|
||||||
|
on(evt: string, cb: Function): void;
|
||||||
|
}
|
||||||
|
export interface ICollectionItem<T> {
|
||||||
|
id: string | number;
|
||||||
|
element: T;
|
||||||
|
}
|
||||||
|
declare class HSAccordion extends HSBasePlugin<{}> implements IAccordion {
|
||||||
|
private readonly toggle;
|
||||||
|
content: HTMLElement | null;
|
||||||
|
private readonly group;
|
||||||
|
private readonly isAlwaysOpened;
|
||||||
|
constructor(el: HTMLElement, options?: {}, events?: {});
|
||||||
|
private init;
|
||||||
|
show(): boolean;
|
||||||
|
hide(): boolean;
|
||||||
|
static getInstance(target: HTMLElement | string, isInstance?: boolean): HTMLElement | ICollectionItem<HSAccordion>;
|
||||||
|
static show(target: HTMLElement): void;
|
||||||
|
static hide(target: HTMLElement): void;
|
||||||
|
static autoInit(): void;
|
||||||
|
static on(evt: string, target: HTMLElement, cb: Function): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export {
|
||||||
|
HSAccordion as default,
|
||||||
|
};
|
||||||
|
|
||||||
|
export {};
|
17
public/scripts/vendor/preline/accordion/index.js
vendored
Normal file
17
public/scripts/vendor/preline/accordion/index.js
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n=e();for(var o in n)("object"==typeof exports?exports:t)[o]=n[o]}}(self,(()=>(()=>{"use strict";var t={460:function(t,e,n){
|
||||||
|
/*
|
||||||
|
* HSAccordion
|
||||||
|
* @version: 2.0.3
|
||||||
|
* @author: HTMLStream
|
||||||
|
* @license: Licensed under MIT (https://preline.co/docs/license.html)
|
||||||
|
* Copyright 2023 HTMLStream
|
||||||
|
*/
|
||||||
|
var o,i=this&&this.__extends||(o=function(t,e){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},o(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var r=n(969),c=function(t){function e(e,n,o){var i=t.call(this,e,n,o)||this;return i.toggle=i.el.querySelector(".hs-accordion-toggle")||null,i.content=i.el.querySelector(".hs-accordion-content")||null,i.group=i.el.closest(".hs-accordion-group")||null,i.isAlwaysOpened=i.group.hasAttribute("data-hs-accordion-always-open")||!1,i.toggle&&i.content&&i.init(),i}return i(e,t),e.prototype.init=function(){var t=this;this.createCollection(window.$hsAccordionCollection,this),this.toggle.addEventListener("click",(function(){t.el.classList.contains("active")?t.hide():t.show()}))},e.prototype.show=function(){var t=this;this.group&&!this.isAlwaysOpened&&this.group.querySelector(".hs-accordion.active")&&this.group.querySelector(".hs-accordion.active")!==this.el&&window.$hsAccordionCollection.find((function(e){return e.element.el===t.group.querySelector(".hs-accordion.active")})).element.hide();if(this.el.classList.contains("active"))return!1;this.el.classList.add("active"),this.content.style.display="block",this.content.style.height="0",setTimeout((function(){t.content.style.height="".concat(t.content.scrollHeight,"px")})),(0,r.afterTransition)(this.content,(function(){t.content.style.display="block",t.content.style.height="",t.fireEvent("open",t.el),(0,r.dispatch)("open.hs.accordion",t.el,t.el)}))},e.prototype.hide=function(){var t=this;if(!this.el.classList.contains("active"))return!1;this.el.classList.remove("active"),this.content.style.height="".concat(this.content.scrollHeight,"px"),setTimeout((function(){t.content.style.height="0"})),(0,r.afterTransition)(this.content,(function(){t.content.style.display="",t.content.style.height="0",t.fireEvent("close",t.el),(0,r.dispatch)("close.hs.accordion",t.el,t.el)}))},e.getInstance=function(t,e){var n=window.$hsAccordionCollection.find((function(e){return e.element.el===("string"==typeof t?document.querySelector(t):t)}));return n?e?n:n.element.el:null},e.show=function(t){var e=window.$hsAccordionCollection.find((function(e){return e.element.el===("string"==typeof t?document.querySelector(t):t)}));e&&"block"!==e.element.content.style.display&&e.element.show()},e.hide=function(t){var e=window.$hsAccordionCollection.find((function(e){return e.element.el===("string"==typeof t?document.querySelector(t):t)}));e&&"block"===e.element.content.style.display&&e.element.hide()},e.autoInit=function(){window.$hsAccordionCollection||(window.$hsAccordionCollection=[]),document.querySelectorAll(".hs-accordion:not(.--prevent-on-load-init)").forEach((function(t){window.$hsAccordionCollection.find((function(e){var n;return(null===(n=null==e?void 0:e.element)||void 0===n?void 0:n.el)===t}))||new e(t)}))},e.on=function(t,e,n){var o=window.$hsAccordionCollection.find((function(t){return t.element.el===("string"==typeof e?document.querySelector(e):e)}));o&&(o.element.events[t]=n)},e}(n(737).default);window.addEventListener("load",(function(){c.autoInit()})),"undefined"!=typeof window&&(window.HSAccordion=c),e.default=c},737:(t,e)=>{
|
||||||
|
/*
|
||||||
|
* HSBasePlugin
|
||||||
|
* @version: 2.0.3
|
||||||
|
* @author: HTMLStream
|
||||||
|
* @license: Licensed under MIT (https://preline.co/docs/license.html)
|
||||||
|
* Copyright 2023 HTMLStream
|
||||||
|
*/
|
||||||
|
Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e,n){this.el=t,this.options=e,this.events=n,this.el=t,this.options=e,this.events={}}return t.prototype.createCollection=function(t,e){var n;t.push({id:(null===(n=null==e?void 0:e.el)||void 0===n?void 0:n.id)||t.length+1,element:e})},t.prototype.fireEvent=function(t,e){if(void 0===e&&(e=null),this.events.hasOwnProperty(t))return this.events[t](e)},t.prototype.on=function(t,e){this.events[t]=e},t}();e.default=n},969:function(t,e){var n=this;Object.defineProperty(e,"__esModule",{value:!0}),e.menuSearchHistory=e.classToClassList=e.htmlToElement=e.afterTransition=e.dispatch=e.debounce=e.isFormElement=e.isParentOrElementHidden=e.isEnoughSpace=e.isIpadOS=e.isIOS=e.getClassPropertyAlt=e.getClassProperty=void 0;e.getClassProperty=function(t,e,n){return void 0===n&&(n=""),(window.getComputedStyle(t).getPropertyValue(e)||n).replace(" ","")};e.getClassPropertyAlt=function(t,e,n){void 0===n&&(n="");var o="";return t.classList.forEach((function(t){t.includes(e)&&(o=t)})),o.match(/:(.*)]/)?o.match(/:(.*)]/)[1]:n};e.isIOS=function(){return!!/iPad|iPhone|iPod/.test(navigator.platform)||navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform)};e.isIpadOS=function(){return navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform)};e.isEnoughSpace=function(t,e,n,o,i){void 0===n&&(n="auto"),void 0===o&&(o=10),void 0===i&&(i=null);var r=e.getBoundingClientRect(),c=i?i.getBoundingClientRect():null,s=window.innerHeight,l=c?r.top-c.top:r.top,a=(i?c.bottom:s)-r.bottom,u=t.clientHeight+o;return"bottom"===n?a>=u:"top"===n?l>=u:l>=u||a>=u};e.isFormElement=function(t){return t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement};var o=function(t){return!!t&&("none"===window.getComputedStyle(t).display||o(t.parentElement))};e.isParentOrElementHidden=o;e.debounce=function(t,e){var o;return void 0===e&&(e=200),function(){for(var i=[],r=0;r<arguments.length;r++)i[r]=arguments[r];clearTimeout(o),o=setTimeout((function(){t.apply(n,i)}),e)}};e.dispatch=function(t,e,n){void 0===n&&(n=null);var o=new CustomEvent(t,{detail:{payload:n},bubbles:!0,cancelable:!0,composed:!1});e.dispatchEvent(o)};e.afterTransition=function(t,e){var n=function(){e(),t.removeEventListener("transitionend",n,!0)};"all 0s ease 0s"!==window.getComputedStyle(t,null).getPropertyValue("transition")?t.addEventListener("transitionend",n,!0):e()};e.htmlToElement=function(t){var e=document.createElement("template");return t=t.trim(),e.innerHTML=t,e.content.firstChild};e.classToClassList=function(t,e,n){void 0===n&&(n=" "),t.split(n).forEach((function(t){return e.classList.add(t)}))};e.menuSearchHistory={historyIndex:-1,addHistory:function(t){this.historyIndex=t},existsInHistory:function(t){return t>this.historyIndex},clearHistory:function(){this.historyIndex=-1}}}},e={};var n=function n(o){var i=e[o];if(void 0!==i)return i.exports;var r=e[o]={exports:{}};return t[o].call(r.exports,r,r.exports,n),r.exports}(460);return n})()));
|
15
public/scripts/vendor/preline/accordion/package.json
vendored
Normal file
15
public/scripts/vendor/preline/accordion/package.json
vendored
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"name": "@preline/accordion",
|
||||||
|
"version": "2.0.2",
|
||||||
|
"description": "Preline UI is an open-source set of prebuilt UI components based on the utility-first Tailwind CSS framework.",
|
||||||
|
"main": "index.js",
|
||||||
|
"types": "index.d.ts",
|
||||||
|
"repository": "https://github.com/htmlstreamofficial/preline.git",
|
||||||
|
"homepage": "https://preline.co/plugins.html",
|
||||||
|
"keywords": ["preline", "html", "css", "next", "nuxt", "vue", "react", "angular", "javascript", "typescript", "tailwind", "tailwind components", "tailwind elements", "tailwind library", "tailwind sections", "tailwind css", "tailwind ui", "tailwind css react", "tailwind css vue", "tailwind css angular", "tailwind css laravel", "tailwindcss plugin", "tailwindcss plugins", "accordion"],
|
||||||
|
"author": "Htmlstream",
|
||||||
|
"license": "MIT",
|
||||||
|
"publishConfig": {
|
||||||
|
"access": "public"
|
||||||
|
}
|
||||||
|
}
|
21
public/scripts/vendor/preline/collapse/LICENSE
vendored
Normal file
21
public/scripts/vendor/preline/collapse/LICENSE
vendored
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2023 Html Stream
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
45
public/scripts/vendor/preline/collapse/index.d.ts
vendored
Normal file
45
public/scripts/vendor/preline/collapse/index.d.ts
vendored
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
|
||||||
|
export interface ICollapse {
|
||||||
|
options?: {};
|
||||||
|
show(): void;
|
||||||
|
hide(): void;
|
||||||
|
}
|
||||||
|
export interface IBasePlugin<O, E> {
|
||||||
|
el: E;
|
||||||
|
options?: O;
|
||||||
|
events?: {};
|
||||||
|
}
|
||||||
|
declare class HSBasePlugin<O, E = HTMLElement> implements IBasePlugin<O, E> {
|
||||||
|
el: E;
|
||||||
|
options: O;
|
||||||
|
events?: any;
|
||||||
|
constructor(el: E, options: O, events?: any);
|
||||||
|
createCollection(collection: any[], element: any): void;
|
||||||
|
fireEvent(evt: string, payload?: any): any;
|
||||||
|
on(evt: string, cb: Function): void;
|
||||||
|
}
|
||||||
|
export interface ICollectionItem<T> {
|
||||||
|
id: string | number;
|
||||||
|
element: T;
|
||||||
|
}
|
||||||
|
declare class HSCollapse extends HSBasePlugin<{}> implements ICollapse {
|
||||||
|
private readonly contentId;
|
||||||
|
content: HTMLElement | null;
|
||||||
|
private animationInProcess;
|
||||||
|
constructor(el: HTMLElement, options?: {}, events?: {});
|
||||||
|
private init;
|
||||||
|
private hideAllMegaMenuItems;
|
||||||
|
show(): boolean;
|
||||||
|
hide(): boolean;
|
||||||
|
static getInstance(target: HTMLElement, isInstance?: boolean): HTMLElement | ICollectionItem<HSCollapse>;
|
||||||
|
static autoInit(): void;
|
||||||
|
static show(target: HTMLElement): void;
|
||||||
|
static hide(target: HTMLElement): void;
|
||||||
|
static on(evt: string, target: HTMLElement, cb: Function): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export {
|
||||||
|
HSCollapse as default,
|
||||||
|
};
|
||||||
|
|
||||||
|
export {};
|
17
public/scripts/vendor/preline/collapse/index.js
vendored
Normal file
17
public/scripts/vendor/preline/collapse/index.js
vendored
Normal file
File diff suppressed because one or more lines are too long
15
public/scripts/vendor/preline/collapse/package.json
vendored
Normal file
15
public/scripts/vendor/preline/collapse/package.json
vendored
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"name": "@preline/collapse",
|
||||||
|
"version": "2.0.2",
|
||||||
|
"description": "Preline UI is an open-source set of prebuilt UI components based on the utility-first Tailwind CSS framework.",
|
||||||
|
"main": "index.js",
|
||||||
|
"types": "index.d.ts",
|
||||||
|
"repository": "https://github.com/htmlstreamofficial/preline.git",
|
||||||
|
"homepage": "https://preline.co/plugins.html",
|
||||||
|
"keywords": ["preline", "html", "css", "next", "nuxt", "vue", "react", "angular", "javascript", "typescript", "tailwind", "tailwind components", "tailwind elements", "tailwind library", "tailwind sections", "tailwind css", "tailwind ui", "tailwind css react", "tailwind css vue", "tailwind css angular", "tailwind css laravel", "tailwindcss plugin", "tailwindcss plugins", "accordion"],
|
||||||
|
"author": "Htmlstream",
|
||||||
|
"license": "MIT",
|
||||||
|
"publishConfig": {
|
||||||
|
"access": "public"
|
||||||
|
}
|
||||||
|
}
|
21
public/scripts/vendor/preline/overlay/LICENSE
vendored
Normal file
21
public/scripts/vendor/preline/overlay/LICENSE
vendored
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2023 Html Stream
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
65
public/scripts/vendor/preline/overlay/index.d.ts
vendored
Normal file
65
public/scripts/vendor/preline/overlay/index.d.ts
vendored
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
|
||||||
|
export interface IOverlayOptions {
|
||||||
|
hiddenClass?: string | null;
|
||||||
|
isClosePrev?: boolean;
|
||||||
|
backdropClasses?: string | null;
|
||||||
|
}
|
||||||
|
export interface IOverlay {
|
||||||
|
options?: IOverlayOptions;
|
||||||
|
open(): void;
|
||||||
|
close(): void;
|
||||||
|
}
|
||||||
|
export interface ICollectionItem<T> {
|
||||||
|
id: string | number;
|
||||||
|
element: T;
|
||||||
|
}
|
||||||
|
export interface IBasePlugin<O, E> {
|
||||||
|
el: E;
|
||||||
|
options?: O;
|
||||||
|
events?: {};
|
||||||
|
}
|
||||||
|
declare class HSBasePlugin<O, E = HTMLElement> implements IBasePlugin<O, E> {
|
||||||
|
el: E;
|
||||||
|
options: O;
|
||||||
|
events?: any;
|
||||||
|
constructor(el: E, options: O, events?: any);
|
||||||
|
createCollection(collection: any[], element: any): void;
|
||||||
|
fireEvent(evt: string, payload?: any): any;
|
||||||
|
on(evt: string, cb: Function): void;
|
||||||
|
}
|
||||||
|
declare class HSOverlay extends HSBasePlugin<{}> implements IOverlay {
|
||||||
|
private readonly hiddenClass;
|
||||||
|
private readonly isClosePrev;
|
||||||
|
private readonly backdropClasses;
|
||||||
|
private openNextOverlay;
|
||||||
|
private autoHide;
|
||||||
|
private readonly overlayId;
|
||||||
|
overlay: HTMLElement | null;
|
||||||
|
isCloseWhenClickInside: string;
|
||||||
|
isTabAccessibilityLimited: string;
|
||||||
|
hasAutofocus: string;
|
||||||
|
hasAbilityToCloseOnBackdropClick: string;
|
||||||
|
constructor(el: HTMLElement, options?: IOverlayOptions, events?: {});
|
||||||
|
private init;
|
||||||
|
private hideAuto;
|
||||||
|
private checkTimer;
|
||||||
|
private buildBackdrop;
|
||||||
|
private destroyBackdrop;
|
||||||
|
private focusElement;
|
||||||
|
open(): false | Promise<void>;
|
||||||
|
close(): Promise<unknown>;
|
||||||
|
static getInstance(target: HTMLElement, isInstance?: boolean): HTMLElement | ICollectionItem<HSOverlay>;
|
||||||
|
static autoInit(): void;
|
||||||
|
static open(target: HTMLElement): void;
|
||||||
|
static close(target: HTMLElement): void;
|
||||||
|
static accessibility(evt: KeyboardEvent): boolean;
|
||||||
|
static onEscape(target: ICollectionItem<HSOverlay>): void;
|
||||||
|
static onTab(target: ICollectionItem<HSOverlay>, focusableElements: HTMLElement[]): boolean;
|
||||||
|
static on(evt: string, target: HTMLElement, cb: Function): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export {
|
||||||
|
HSOverlay as default,
|
||||||
|
};
|
||||||
|
|
||||||
|
export {};
|
17
public/scripts/vendor/preline/overlay/index.js
vendored
Normal file
17
public/scripts/vendor/preline/overlay/index.js
vendored
Normal file
File diff suppressed because one or more lines are too long
15
public/scripts/vendor/preline/overlay/package.json
vendored
Normal file
15
public/scripts/vendor/preline/overlay/package.json
vendored
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"name": "@preline/overlay",
|
||||||
|
"version": "2.0.2",
|
||||||
|
"description": "Preline UI is an open-source set of prebuilt UI components based on the utility-first Tailwind CSS framework.",
|
||||||
|
"main": "index.js",
|
||||||
|
"types": "index.d.ts",
|
||||||
|
"repository": "https://github.com/htmlstreamofficial/preline.git",
|
||||||
|
"homepage": "https://preline.co/plugins.html",
|
||||||
|
"keywords": ["preline", "html", "css", "next", "nuxt", "vue", "react", "angular", "javascript", "typescript", "tailwind", "tailwind components", "tailwind elements", "tailwind library", "tailwind sections", "tailwind css", "tailwind ui", "tailwind css react", "tailwind css vue", "tailwind css angular", "tailwind css laravel", "tailwindcss plugin", "tailwindcss plugins", "accordion"],
|
||||||
|
"author": "Htmlstream",
|
||||||
|
"license": "MIT",
|
||||||
|
"publishConfig": {
|
||||||
|
"access": "public"
|
||||||
|
}
|
||||||
|
}
|
161
public/scripts/vendor/preline/preline.js
vendored
Normal file
161
public/scripts/vendor/preline/preline.js
vendored
Normal file
File diff suppressed because one or more lines are too long
21
public/scripts/vendor/preline/tabs/LICENSE
vendored
Normal file
21
public/scripts/vendor/preline/tabs/LICENSE
vendored
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2023 Html Stream
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
50
public/scripts/vendor/preline/tabs/index.d.ts
vendored
Normal file
50
public/scripts/vendor/preline/tabs/index.d.ts
vendored
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
|
||||||
|
export interface ITabs {
|
||||||
|
options?: {};
|
||||||
|
}
|
||||||
|
export interface IBasePlugin<O, E> {
|
||||||
|
el: E;
|
||||||
|
options?: O;
|
||||||
|
events?: {};
|
||||||
|
}
|
||||||
|
declare class HSBasePlugin<O, E = HTMLElement> implements IBasePlugin<O, E> {
|
||||||
|
el: E;
|
||||||
|
options: O;
|
||||||
|
events?: any;
|
||||||
|
constructor(el: E, options: O, events?: any);
|
||||||
|
createCollection(collection: any[], element: any): void;
|
||||||
|
fireEvent(evt: string, payload?: any): any;
|
||||||
|
on(evt: string, cb: Function): void;
|
||||||
|
}
|
||||||
|
export interface ICollectionItem<T> {
|
||||||
|
id: string | number;
|
||||||
|
element: T;
|
||||||
|
}
|
||||||
|
declare class HSTabs extends HSBasePlugin<{}> implements ITabs {
|
||||||
|
toggles: NodeListOf<HTMLElement> | null;
|
||||||
|
private readonly extraToggleId;
|
||||||
|
private readonly extraToggle;
|
||||||
|
private current;
|
||||||
|
private currentContentId;
|
||||||
|
currentContent: HTMLElement | null;
|
||||||
|
private prev;
|
||||||
|
private prevContentId;
|
||||||
|
private prevContent;
|
||||||
|
constructor(el: HTMLElement, options?: {}, events?: {});
|
||||||
|
private init;
|
||||||
|
private open;
|
||||||
|
private change;
|
||||||
|
static getInstance(target: HTMLElement | string, isInstance?: boolean): HSTabs | ICollectionItem<HSTabs>;
|
||||||
|
static autoInit(): void;
|
||||||
|
static open(target: HTMLElement): void;
|
||||||
|
static accessibility(evt: KeyboardEvent): void;
|
||||||
|
static onArrow(isOpposite?: boolean): void;
|
||||||
|
static onStartEnd(isOpposite?: boolean): void;
|
||||||
|
static on(evt: string, target: HTMLElement, cb: Function): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export {
|
||||||
|
HSTabs as default,
|
||||||
|
};
|
||||||
|
|
||||||
|
export {};
|
17
public/scripts/vendor/preline/tabs/index.js
vendored
Normal file
17
public/scripts/vendor/preline/tabs/index.js
vendored
Normal file
File diff suppressed because one or more lines are too long
15
public/scripts/vendor/preline/tabs/package.json
vendored
Normal file
15
public/scripts/vendor/preline/tabs/package.json
vendored
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"name": "@preline/tabs",
|
||||||
|
"version": "2.0.2",
|
||||||
|
"description": "Preline UI is an open-source set of prebuilt UI components based on the utility-first Tailwind CSS framework.",
|
||||||
|
"main": "index.js",
|
||||||
|
"types": "index.d.ts",
|
||||||
|
"repository": "https://github.com/htmlstreamofficial/preline.git",
|
||||||
|
"homepage": "https://preline.co/plugins.html",
|
||||||
|
"keywords": ["preline", "html", "css", "next", "nuxt", "vue", "react", "angular", "javascript", "typescript", "tailwind", "tailwind components", "tailwind elements", "tailwind library", "tailwind sections", "tailwind css", "tailwind ui", "tailwind css react", "tailwind css vue", "tailwind css angular", "tailwind css laravel", "tailwindcss plugin", "tailwindcss plugins", "accordion"],
|
||||||
|
"author": "Htmlstream",
|
||||||
|
"license": "MIT",
|
||||||
|
"publishConfig": {
|
||||||
|
"access": "public"
|
||||||
|
}
|
||||||
|
}
|
19
src/content/blog/post-1.md
Normal file
19
src/content/blog/post-1.md
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
title: "Maximizing Efficiency with ScrewFast's Cutting-Edge Tools"
|
||||||
|
description: "Innovating Construction Efficiency with Precision Tools & Support"
|
||||||
|
author: "Jacob"
|
||||||
|
authorImage: "../../images/blog/jacob.avif"
|
||||||
|
authorImageAlt: "Image Description"
|
||||||
|
pubDate: 2024-02-06
|
||||||
|
cardImage: "../../images/blog/post-1.avif"
|
||||||
|
cardImageAlt: "Top view mechanical tools arrangement"
|
||||||
|
readTime: 4
|
||||||
|
tags: ["tools", "construction", "workflow" ]
|
||||||
|
contents: [
|
||||||
|
"In today's fast-paced construction industry, efficiency is key to success. At ScrewFast, we understand the importance of optimizing your project workflow to meet deadlines and stay within budget. That's why we're thrilled to introduce our cutting-edge tools designed to empower your projects like never before.",
|
||||||
|
"Our range of hardware tools combines precision engineering with user-centric design, ensuring maximum productivity on every job site. From power drills to advanced fastening solutions, ScrewFast's tools are built to withstand the rigors of construction while streamlining your workflow.",
|
||||||
|
"One of our standout offerings is our intuitive dashboards, which provide real-time insights into project progress, resource allocation, and more. With user-friendly interfaces, navigating and overseeing your projects has never been easier.",
|
||||||
|
"But efficiency isn't just about the tools you use—it's also about the support you receive. That's why ScrewFast offers comprehensive documentation and expert guidance every step of the way. Our dedicated teams are committed to your success, providing personalized assistance to ensure you get the most out of our products.",
|
||||||
|
"Join the countless industry leaders who have already experienced the difference ScrewFast tools can make. With our cutting-edge solutions, you can fast-track your projects to success and stay ahead of the competition."
|
||||||
|
]
|
||||||
|
---
|
20
src/content/blog/post-2.md
Normal file
20
src/content/blog/post-2.md
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
title: "Enhancing Safety and Workmanship with ScrewFast Construction Services"
|
||||||
|
description: "Quality construction services for lasting results"
|
||||||
|
author: "Brad"
|
||||||
|
authorImage: "../../images/blog/brad.avif"
|
||||||
|
authorImageAlt: "Image Description"
|
||||||
|
pubDate: 2024-02-10
|
||||||
|
cardImage: "../../images/blog/post-2.avif"
|
||||||
|
cardImageAlt: "Man in black sweatpants using DEWALT circular saw and cutting a wood plank"
|
||||||
|
readTime: 5
|
||||||
|
tags: ["safety", "craftsmanship", "management" ]
|
||||||
|
contents: [
|
||||||
|
"When it comes to construction, safety and quality workmanship are non-negotiable. At ScrewFast, we're proud to offer a range of construction services that prioritize both, ensuring your projects are built to last.",
|
||||||
|
"Our team of skilled craftsmen brings precision and expertise to every job, from minor installations to large-scale structural work. With top-quality tools and materials from our extensive inventory, we guarantee the highest standards of safety and craftsmanship on every project.",
|
||||||
|
"But our commitment to excellence doesn't end there. We also provide thorough project management services to keep your build on track and within budget. From workflow coordination to stakeholder communication, ScrewFast handles the complexities so you can focus on your vision.",
|
||||||
|
"What sets ScrewFast apart is our dedication to ongoing support. We don't just finish the job and walk away—we're here for the long haul. Our maintenance services ensure that your construction remains in optimal condition, providing peace of mind for years to come.",
|
||||||
|
"For larger enterprise clients, we offer custom solutions tailored to your unique challenges. By understanding your specific needs, we engineer strategies aimed at maximizing efficiency and driving your business forward.",
|
||||||
|
"With ScrewFast construction services, you can trust that your projects are in good hands. Experience the difference today and see why so many clients choose ScrewFast for their construction needs."
|
||||||
|
]
|
||||||
|
---
|
19
src/content/blog/post-3.md
Normal file
19
src/content/blog/post-3.md
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
title: "Simplify Procurement and Stay Within Budget with ScrewFast"
|
||||||
|
description: "Affordable, durable tools for efficient construction projects"
|
||||||
|
author: "Olga Zabegina"
|
||||||
|
role: "Strategic Marketing Manager"
|
||||||
|
authorImage: "../../images/blog/anna.avif"
|
||||||
|
authorImageAlt: "Image Description"
|
||||||
|
pubDate: 2024-02-18
|
||||||
|
cardImage: "../../images/blog/post-3.avif"
|
||||||
|
cardImageAlt: "Side view worker wearing gloves"
|
||||||
|
readTime: 3
|
||||||
|
tags: ["procurement", "affordable", "efficiency" ]
|
||||||
|
contents: [
|
||||||
|
"Managing a construction project can be overwhelming, especially when it comes to procurement. That's why ScrewFast is committed to simplifying the process and keeping your projects within budget.",
|
||||||
|
"With our line of affordable tools and equipment, you can find everything you need without breaking the bank. Our user-centric design ensures that our products are easy to use, saving you time and frustration on the job site.",
|
||||||
|
"But affordability doesn't mean sacrificing quality. ScrewFast products are built to last, providing reliable performance and durability when you need it most. And with our comprehensive documentation and tutorials, you can integrate our products seamlessly into your workflow, maximizing efficiency and productivity.",
|
||||||
|
"Whether you're a DIY enthusiast or a seasoned contractor, ScrewFast has the solutions you need to succeed. Experience the difference for yourself and see why ScrewFast is the trusted choice for hardware and construction needs."
|
||||||
|
]
|
||||||
|
---
|
BIN
src/images/blog/anna.avif
Normal file
BIN
src/images/blog/anna.avif
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
BIN
src/images/blog/brad.avif
Normal file
BIN
src/images/blog/brad.avif
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
BIN
src/images/blog/jacob.avif
Normal file
BIN
src/images/blog/jacob.avif
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
BIN
src/images/blog/post-1.avif
Normal file
BIN
src/images/blog/post-1.avif
Normal file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
BIN
src/images/blog/post-2.avif
Normal file
BIN
src/images/blog/post-2.avif
Normal file
Binary file not shown.
After Width: | Height: | Size: 42 KiB |
BIN
src/images/blog/post-3.avif
Normal file
BIN
src/images/blog/post-3.avif
Normal file
Binary file not shown.
After Width: | Height: | Size: 54 KiB |
15
src/utils.ts
Normal file
15
src/utils.ts
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// Format the date to a string
|
||||||
|
function formatDate(date: Date): string {
|
||||||
|
const options: Intl.DateTimeFormatOptions = {year: 'numeric', month: 'short', day: 'numeric'};
|
||||||
|
|
||||||
|
return new Date(date).toLocaleDateString(undefined, options);
|
||||||
|
}
|
||||||
|
// Capitalize the first letter
|
||||||
|
function capitalize(str:string): string {
|
||||||
|
if ( typeof str !== 'string' || str.length === 0 ) {
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
export { formatDate, capitalize };
|
Loading…
Add table
Reference in a new issue