Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@kaze-style/core

Package Overview
Dependencies
Maintainers
1
Versions
50
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@kaze-style/core - npm Package Compare versions

Comparing version 0.14.3 to 0.15.0

2

dist/cjs/__preStyle.js

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

"use strict";var o=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var i=(s,e)=>{for(var r in e)o(s,r,{get:e[r],enumerable:!0})},u=(s,e,r,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of a(e))!c.call(s,t)&&t!==r&&o(s,t,{get:()=>e[t],enumerable:!(p=n(e,t))||p.enumerable});return s};var K=s=>u(o({},"__esModule",{value:!0}),s);var C={};i(C,{__preStyle:()=>S});module.exports=K(C);var l=require("./createStyle");const S=(s,e,r,p)=>{const[t,m,y]=(0,l.createStyle)(s);return e[0]===r&&(e[1].push(...t),e[2].push([y,p])),m};0&&(module.exports={__preStyle});
"use strict";var p=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var i=(s,e)=>{for(var r in e)p(s,r,{get:e[r],enumerable:!0})},u=(s,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of a(e))!c.call(s,t)&&t!==r&&p(s,t,{get:()=>e[t],enumerable:!(o=n(e,t))||o.enumerable});return s};var K=s=>u(p({},"__esModule",{value:!0}),s);var C={};i(C,{__preStyle:()=>S});module.exports=K(C);var l=require("./createStyle");const S=(s,e,r,o)=>{const[t,m,y]=(0,l.createStyle)(s);return e[0]===r&&(e[1].push(...t),e[2].push([y,o])),m};0&&(module.exports={__preStyle});

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

"use strict";var o=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var l=(t,s)=>{for(var e in s)o(t,e,{get:s[e],enumerable:!0})},g=(t,s,e,a)=>{if(s&&typeof s=="object"||typeof s=="function")for(let r of i(s))!n.call(t,r)&&r!==e&&o(t,r,{get:()=>s[r],enumerable:!(a=c(s,r))||a.enumerable});return t};var h=t=>g(o({},"__esModule",{value:!0}),t);var b={};l(b,{ClassName:()=>j});module.exports=h(b);class j extends String{object;other;constructor(s,e=[]){super([...Object.values(s),...e].join(" ")),this.object=s,this.other=e}}0&&(module.exports={ClassName});
"use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var c=(t,s)=>{for(var e in s)o(t,e,{get:s[e],enumerable:!0})},m=(t,s,e,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let a of n(s))!l.call(t,a)&&a!==e&&o(t,a,{get:()=>s[a],enumerable:!(r=i(s,a))||r.enumerable});return t};var p=t=>m(o({},"__esModule",{value:!0}),t);var N={};c(N,{ClassName:()=>C});module.exports=p(N);class C extends String{obj;str;other;constructor(s,e=[]){const r=[...Object.values(s),...e].join(" ");super(r),this.str=r,this.obj=s,this.other=e}}0&&(module.exports={ClassName});

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

"use strict";var o=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var i=(e,s)=>{for(var r in s)o(e,r,{get:s[r],enumerable:!0})},K=(e,s,r,l)=>{if(s&&typeof s=="object"||typeof s=="function")for(let t of C(s))!y.call(e,t)&&t!==r&&o(e,t,{get:()=>s[t],enumerable:!(l=c(s,t))||l.enumerable});return e};var R=e=>K(o({},"__esModule",{value:!0}),e);var S={};i(S,{createStyle:()=>f});module.exports=R(S);var a=require("./ClassName"),p=require("./resolveStyle"),m=require("./uniqueCssRules");const f=e=>{const s={},r={},l=[];for(const t in e){const[u,n]=(0,p.resolveStyle)(e[t]);l.push(...n),s[t]=new a.ClassName(u),r[t]=u}return[(0,m.uniqueCssRules)(l),s,r]};0&&(module.exports={createStyle});
"use strict";var a=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var i=(e,s)=>{for(var l in s)a(e,l,{get:s[l],enumerable:!0})},K=(e,s,l,o)=>{if(s&&typeof s=="object"||typeof s=="function")for(let t of y(s))!u.call(e,t)&&t!==l&&a(e,t,{get:()=>s[t],enumerable:!(o=n(s,t))||o.enumerable});return e};var R=e=>K(a({},"__esModule",{value:!0}),e);var b={};i(b,{createStyle:()=>f});module.exports=R(b);var m=require("./ClassName"),c=require("./resolveStyle"),p=require("./uniqueCssRules");const f=e=>{const s={},l={},o=[];for(const t in e){const[r,C]=(0,c.resolveStyle)(e[t]);o.push(...C),s[t]=new m.ClassName(r),l[t]=r}return[(0,p.uniqueCssRules)(o),s,l]};0&&(module.exports={createStyle});

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

"use strict";var x=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var f=(t,e,m,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let p of s(e))!a.call(t,p)&&p!==m&&x(t,p,{get:()=>e[p],enumerable:!(l=y(e,p))||l.enumerable});return t},r=(t,e,m)=>(f(t,e,"default"),m&&f(m,e,"default"));var S=t=>f(x({},"__esModule",{value:!0}),t);var o={};module.exports=S(o);r(o,require("./mergeStyle"),module.exports);r(o,require("./createStyle"),module.exports);r(o,require("./createGlobalStyle"),module.exports);r(o,require("./__style"),module.exports);r(o,require("./__globalStyle"),module.exports);r(o,require("./__preStyle"),module.exports);r(o,require("./__preGlobalStyle"),module.exports);r(o,require("./ClassName"),module.exports);r(o,require("./styleOrder"),module.exports);r(o,require("./sortCssRules"),module.exports);r(o,require("./uniqueCssRules"),module.exports);r(o,require("./setCssRuleObjects"),module.exports);
"use strict";var x=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var l=(t,r,m,f)=>{if(r&&typeof r=="object"||typeof r=="function")for(let p of a(r))!y.call(t,p)&&p!==m&&x(t,p,{get:()=>r[p],enumerable:!(f=s(r,p))||f.enumerable});return t},o=(t,r,m)=>(l(t,r,"default"),m&&l(m,r,"default"));var S=t=>l(x({},"__esModule",{value:!0}),t);var e={};module.exports=S(e);o(e,require("./mergeStyle"),module.exports);o(e,require("./createStyle"),module.exports);o(e,require("./createGlobalStyle"),module.exports);o(e,require("./__style"),module.exports);o(e,require("./__globalStyle"),module.exports);o(e,require("./__preStyle"),module.exports);o(e,require("./__preGlobalStyle"),module.exports);o(e,require("./ClassName"),module.exports);o(e,require("./styleOrder"),module.exports);o(e,require("./sortCssRules"),module.exports);o(e,require("./uniqueCssRules"),module.exports);o(e,require("./setCssRuleObjects"),module.exports);

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

"use strict";var o=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var l=(e,s)=>{for(var t in s)o(e,t,{get:s[t],enumerable:!0})},p=(e,s,t,n)=>{if(s&&typeof s=="object"||typeof s=="function")for(let r of a(s))!f.call(e,r)&&r!==t&&o(e,r,{get:()=>s[r],enumerable:!(n=g(s,r))||n.enumerable});return e};var u=e=>p(o({},"__esModule",{value:!0}),e);var C={};l(C,{mergeStyle:()=>h});module.exports=u(C);var i=require("./ClassName");const h=(...e)=>{const s={},t=[];return e.forEach(n=>{typeof n=="string"?t.push(n):n instanceof i.ClassName&&(t.push(...n.other),Object.assign(s,n.object))}),new i.ClassName(s,t)};0&&(module.exports={mergeStyle});
"use strict";var n=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var p=(t,e)=>{for(var r in e)n(t,r,{get:e[r],enumerable:!0})},C=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of l(e))!m.call(t,o)&&o!==r&&n(t,o,{get:()=>e[o],enumerable:!(s=f(e,o))||s.enumerable});return t};var g=t=>C(n({},"__esModule",{value:!0}),t);var j={};p(j,{mergeStyle:()=>b});module.exports=g(j);var a=require("./ClassName"),i=require("./utils/isObject");const b=(...t)=>{const e={},r=[];return t.forEach(s=>{typeof s=="string"?r.push(s):s instanceof a.ClassName?(r.push(...s.other),Object.assign(e,s.obj)):(0,i.isObject)(s)&&Object.assign(e,s)}),new a.ClassName(e,r)};0&&(module.exports={mergeStyle});

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

{"type":"commonjs"}
{"sideEffects":false,"type":"commonjs"}

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

"use strict";var l=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var K=(s,e)=>{for(var o in e)l(s,o,{get:e[o],enumerable:!0})},V=(s,e,o,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of g(e))!k.call(s,t)&&t!==o&&l(s,t,{get:()=>e[t],enumerable:!(a=O(e,t))||a.enumerable});return s};var d=s=>V(l({},"__esModule",{value:!0}),s);var v={};K(v,{resolveStyle:()=>f});module.exports=d(v);var y=require("./styleOrder"),c=require("./utils/compileCss"),n=require("./utils/compileKeyFrameCss"),u=require("./utils/hashClassName"),S=require("./utils/hashSelector"),R=require("./utils/isCssValue"),C=require("./utils/isObject"),N=require("./utils/resolveSelectors"),b=require("./utils/styleDeclarationStringify");const f=(s,e=[[],""],o=[{},[]])=>{const a=o[0],t=o[1];for(const h in s){const m=h,r=s[m];if((0,R.isCssValue)(r)){const i=(0,u.hashClassName)(e,m,r),p=(0,S.hashSelector)(e,m);t.push([(0,c.compileCss)(`.${i}`,e,(0,b.styleDeclarationStringify)(m,r)),(0,y.getStyleOrder)(e)]),Object.assign(a,{[p]:i})}else if((0,C.isObject)(r))if(m==="animationName"){const i=r,[p,j]=(0,n.compileKeyFrameCss)(i);t.push([j,"keyframes"]),Object.assign(a,{[p]:p}),f({animationName:p},e,o)}else f(r,(0,N.resolveSelectors)(e,m),o)}return o};0&&(module.exports={resolveStyle});
"use strict";var l=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var K=(s,e)=>{for(var t in e)l(s,t,{get:e[t],enumerable:!0})},V=(s,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of g(e))!k.call(s,o)&&o!==t&&l(s,o,{get:()=>e[o],enumerable:!(a=h(e,o))||a.enumerable});return s};var d=s=>V(l({},"__esModule",{value:!0}),s);var v={};K(v,{resolveStyle:()=>c});module.exports=d(v);var f=require("./styleOrder"),y=require("./utils/compileCss"),n=require("./utils/compileKeyFrameCss"),u=require("./utils/hashClassName"),S=require("./utils/hashSelector"),R=require("./utils/isCssValue"),C=require("./utils/isObject"),N=require("./utils/resolveSelectors"),b=require("./utils/styleDeclarationStringify");const c=(s,e=[[],""],t=[{},[]])=>{const a=t[0],o=t[1];for(const j in s){const m=j,r=s[m];if((0,R.isCssValue)(r)){const i=(0,u.hashClassName)(e,m,r),p=(0,S.hashSelector)(e,m);o.push([(0,y.compileCss)(`.${i}`,e,(0,b.styleDeclarationStringify)(m,r)),(0,f.getStyleOrder)(e)]),Object.assign(a,{[p]:i})}else if((0,C.isObject)(r))if(m==="animationName"){const i=r,[p,O]=(0,n.compileKeyFrameCss)(i);o.push([O,"keyframes"]),Object.assign(a,{[p]:p}),c({animationName:p},e,t)}else c(r,(0,N.resolveSelectors)(e,m),t)}return t};0&&(module.exports={resolveStyle});

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

"use strict";var l=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var i=(s,e,a,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of p(e))!o.call(s,t)&&t!==a&&l(s,t,{get:()=>e[t],enumerable:!(r=n(e,t))||r.enumerable});return s};var m=s=>i(l({},"__esModule",{value:!0}),s);var u={};module.exports=m(u);
"use strict";var n=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var o=(s,e,a,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of p(e))!i.call(s,t)&&t!==a&&n(s,t,{get:()=>e[t],enumerable:!(r=l(e,t))||r.enumerable});return s};var m=s=>o(n({},"__esModule",{value:!0}),s);var C={};module.exports=m(C);

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

import{createStyle as m}from"./createStyle.js";var n=(s,e,t,r)=>{let[p,o,l]=m(s);return e[0]===t&&(e[1].push(...p),e[2].push([l,r])),o};export{n as __preStyle};
import{createStyle as m}from"./createStyle.js";var n=(s,e,t,r)=>{let[o,p,l]=m(s);return e[0]===t&&(e[1].push(...o),e[2].push([l,r])),p};export{n as __preStyle};

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

var e=class extends String{object;other;constructor(t,s=[]){super([...Object.values(t),...s].join(" ")),this.object=t,this.other=s}};export{e as ClassName};
var r=class extends String{obj;str;other;constructor(s,t=[]){let e=[...Object.values(s),...t].join(" ");super(e),this.str=e,this.obj=s,this.other=t}};export{r as ClassName};

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

import{ClassName as a}from"./ClassName.js";import{resolveStyle as p}from"./resolveStyle.js";import{uniqueCssRules as m}from"./uniqueCssRules.js";var y=e=>{let t={},r={},l=[];for(let s in e){let[o,u]=p(e[s]);l.push(...u),t[s]=new a(o),r[s]=o}return[m(l),t,r]};export{y as createStyle};
import{ClassName as m}from"./ClassName.js";import{resolveStyle as c}from"./resolveStyle.js";import{uniqueCssRules as p}from"./uniqueCssRules.js";var u=e=>{let t={},l={},o=[];for(let s in e){let[a,r]=c(e[s]);o.push(...r),t[s]=new m(a),l[s]=a}return[p(o),t,l]};export{u as createStyle};

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

import{ClassName as n}from"./ClassName.js";var i=(...r)=>{let t={},e=[];return r.forEach(s=>{typeof s=="string"?e.push(s):s instanceof n&&(e.push(...s.other),Object.assign(t,s.object))}),new n(t,e)};export{i as mergeStyle};
import{ClassName as r}from"./ClassName.js";import{isObject as n}from"./utils/isObject.js";var f=(...o)=>{let s={},t=[];return o.forEach(e=>{typeof e=="string"?t.push(e):e instanceof r?(t.push(...e.other),Object.assign(s,e.obj)):n(e)&&Object.assign(s,e)}),new r(s,t)};export{f as mergeStyle};

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

{"type":"module"}
{"sideEffects":false,"type":"module"}

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

import{getStyleOrder as c}from"./styleOrder.js";import{compileCss as n}from"./utils/compileCss.js";import{compileKeyFrameCss as u}from"./utils/compileKeyFrameCss.js";import{hashClassName as S}from"./utils/hashClassName.js";import{hashSelector as R}from"./utils/hashSelector.js";import{isCssValue as C}from"./utils/isCssValue.js";import{isObject as N}from"./utils/isObject.js";import{resolveSelectors as b}from"./utils/resolveSelectors.js";import{styleDeclarationStringify as h}from"./utils/styleDeclarationStringify.js";var l=(a,e=[[],""],t=[{},[]])=>{let p=t[0],i=t[1];for(let f in a){let s=f,o=a[s];if(C(o)){let r=S(e,s,o),m=R(e,s);i.push([n(`.${r}`,e,h(s,o)),c(e)]),Object.assign(p,{[m]:r})}else if(N(o))if(s==="animationName"){let r=o,[m,y]=u(r);i.push([y,"keyframes"]),Object.assign(p,{[m]:m}),l({animationName:m},e,t)}else l(o,b(e,s),t)}return t};export{l as resolveStyle};
import{getStyleOrder as y}from"./styleOrder.js";import{compileCss as n}from"./utils/compileCss.js";import{compileKeyFrameCss as u}from"./utils/compileKeyFrameCss.js";import{hashClassName as S}from"./utils/hashClassName.js";import{hashSelector as R}from"./utils/hashSelector.js";import{isCssValue as C}from"./utils/isCssValue.js";import{isObject as N}from"./utils/isObject.js";import{resolveSelectors as b}from"./utils/resolveSelectors.js";import{styleDeclarationStringify as j}from"./utils/styleDeclarationStringify.js";var l=(a,e=[[],""],o=[{},[]])=>{let p=o[0],i=o[1];for(let c in a){let s=c,t=a[s];if(C(t)){let r=S(e,s,t),m=R(e,s);i.push([n(`.${r}`,e,j(s,t)),y(e)]),Object.assign(p,{[m]:r})}else if(N(t))if(s==="animationName"){let r=t,[m,f]=u(r);i.push([f,"keyframes"]),Object.assign(p,{[m]:m}),l({animationName:m},e,o)}else l(t,b(e,s),o)}return o};export{l as resolveStyle};
export declare class ClassName extends String {
object: Record<string, string>;
obj: Record<string, string>;
str: string;
other: string[];
constructor(object: ClassName['object'], other?: ClassName['other']);
constructor(obj: ClassName['obj'], other?: ClassName['other']);
}
export type ClassNameType = ClassName & string;
export type ClassNameObject = ClassName['obj'];
import type { CssRule } from './styleOrder';
import type { Classes, PureClasses } from './types/common';
import type { Classes, ObjectClasses } from './types/common';
import type { KazeStyle } from './types/style';

@@ -7,5 +7,5 @@ type Result<K extends string> = [

classes: Classes<K>,
pureClasses: PureClasses<K>
objectClasses: ObjectClasses<K>
];
export declare const createStyle: <K extends string>(styles: KazeStyle<K>) => Result<K>;
export {};

@@ -13,4 +13,5 @@ export * from './mergeStyle';

export * from './setCssRuleObjects';
export type { Classes, PureClasses, ForBuild } from './types/common';
export type { ClassNameObject, ClassNameType } from './ClassName';
export type { Classes, ClassNameOverride, ForBuild } from './types/common';
export type { KazeStyle, SupportStyle } from './types/style';
export type { KazeGlobalStyle, SupportGlobalStyle } from './types/globalStyle';

@@ -0,4 +1,5 @@

import type { ClassNameObject, ClassNameType } from './ClassName';
import { ClassName } from './ClassName';
type ClassNamesArgs = (string | false | undefined | null | ClassName)[];
export declare const mergeStyle: (..._classNames: ClassNamesArgs) => string;
type ClassNamesArgs = (string | false | undefined | null | ClassName | ClassNameObject)[];
export declare const mergeStyle: (..._classNames: ClassNamesArgs) => ClassNameType;
export {};

@@ -1,7 +0,7 @@

import type { ClassName } from './ClassName';
import type { ClassNameObject } from './ClassName';
import type { CssRule } from './styleOrder';
import type { Selectors } from './types/common';
import type { SupportStyle } from './types/style';
type ResolvedStyle = [object: ClassName['object'], cssRules: CssRule[]];
type ResolvedStyle = [object: ClassNameObject, cssRules: CssRule[]];
export declare const resolveStyle: (style: SupportStyle, selectors?: Selectors, resolvedStyle?: ResolvedStyle) => ResolvedStyle;
export {};

@@ -1,7 +0,11 @@

import type { ClassName } from '../ClassName';
import type { ClassNameObject, ClassNameType } from '../ClassName';
import type { CssRule } from '../styleOrder';
export type CssValue = string | number | undefined;
export type NestChar = ':' | '&' | ' ' | '@' | ',' | '>' | '~' | '+' | '[' | '.' | '#';
export type Classes<K extends string> = Record<K, ClassName>;
export type PureClasses<K extends string> = Record<K, ClassName['object']>;
export type Classes<K extends string> = Record<K, ClassNameType>;
export type ObjectClasses<K extends string> = Record<K, ClassNameObject>;
export type StringClasses<K extends string> = Record<K, string>;
export type ClassNameOverride<T = unknown, K extends string = 'className'> = Omit<T, K> & {
[_ in K]?: ClassNameObject | string;
};
export type Selectors = [atRules: string[], nest: string];

@@ -11,3 +15,3 @@ export type ForBuild = [

cssRules: CssRule[],
styles: [classes: PureClasses<string>, index: number][]
styles: [classes: ObjectClasses<string>, index: number][]
];
{
"name": "@kaze-style/core",
"version": "0.14.3",
"version": "0.15.0",
"license": "MIT",

@@ -5,0 +5,0 @@ "author": "Taishi Naritomi",

@@ -44,3 +44,4 @@ <div>

```ts
import { createStyle, createGlobalStyle, mergeStyle } from '@kaze-style/react';
// App.style.ts
import { createStyle, createGlobalStyle } from '@kaze-style/react';

@@ -53,3 +54,3 @@ createGlobalStyle({

const classes = createStyle({
export const style = createStyle({
container: {

@@ -66,7 +67,13 @@ margin: '20px',

});
```
```ts
// App.tsx
import { mergeStyle } from '@kaze-style/react';
import { style } from './App.style';
export const App = ({ action }) => {
return (
<div className={classes.container}>
<p className={mergeStyle(classes.base, action && classes.action)}></p>
<div className={style.container}>
<p className={mergeStyle(style.base, action && style.action)}></p>
</div>

@@ -73,0 +80,0 @@ );

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