1.2.21 • Published 9 months ago

@istnestudio/cookies v1.2.21

Weekly downloads
-
License
ISC
Repository
github
Last release
9 months ago

Title

Cookies 🍪

Customisable cookie consent box made for React apps.

Title

Navigation 🔍

Instalation 💽

Add dependency with your favorite package manager

pnpm add @istnestudio/cookies
yarn add @istnestudio/cookies
npm install --save @istnestudio/cookies

Usage 🔧

  1. Include stylesheet
import "../styles/satoshi.css"; //example css
import "../styles/global.css"; // example css
import "@istnestudio/cookies/dist/styles.css";

2.Place Cookies component inside and populate it with cookie consent categories and description.

import Cookies from "@istnestudio/cookies";
import "@istnestudio/cookies/dist/styles.css";

const App = () => (
  <Cookies
    categories={{
      necessary: {
        title: "Strictly Necessary",
        description:
          "Strictly necessary cookies are essential for websites to provide simple functions or to access particular features. Such features include the ability to sign in, add items to your cart in an online store, or purchase stuff on the internet.",
        selected: true,
        uncheckable: true,
      },
      targeting: {
        title: "Targeting",
        description:
          "Targeting cookies help to attract customers with targeted ads and also can be shared with other advertisers so that the performance of such ads can be monitored and measured. Targeting cookies also help build user profiles – by tracking data, websites can offer their customers the best-suited ads for their needs and keep ad revenue coming in.",
        selected: false,
      },
    }}
  >
    Text inside box
  </Cookies>
);

export default App;

Customization 🎨

<CookiesBox
  categories={{
    necessary: {
      title: "Strictly Necessary",
      description:
        "Strictly necessary cookies are essential for websites to provide simple functions or to access particular features. Such features include the ability to sign in, add items to your cart in an online store, or purchase stuff on the internet.",
      selected: true,
      uncheckable: true,
    },
  }}
  texts={{
    title: "Cookie files",
    description:
      "The site uses cookies to provide the highest quality service and for statistical purposes. You can read more in our privacy policy page",
    accept: "accept",
    choiceAccept: "accept the choice",
    back: "back",
    personalize: "personalize",
  }}
  colors={{
    switch: "#eaeaea",
    switchChecked: "#FFF",
    main: "#002B89",
    background: "#FFF",
    description: "#777",
    button: "#FFF",
  }}
  onCookiesChange={(category) => {}}
>
  Text inside box
</CookiesBox>

Title

Title

Title

Title

Types and constants ✒️

type Category = {
  title: string;
  description: string;
  selected?: boolean;
  uncheckable?: boolean;
};

//Default exported component props
type CookiesProps = {
  categories: { [key: string]: Category };
  texts?: {
    title?: string;
    accept?: string;
    back?: string;
    personalize?: string;
    choiceAccept: string;
  };
  colors?: {
    main?: string;
    background?: string;
    description?: string;
    switch: string;
    switchChecked: string;
    button?: string;
  };
  onCookiesChange?: (cat: { key: string; value: boolean }) => any;
};

//Default props of default exported component
const defaultProps: CookiesProps = {
  texts: {
    description:
      "The site uses cookies to provide the highest quality service and for statistical purposes. You can read more in our privacy policy page",
    title: "Cookie files",
    accept: "accept",
    choiceAccept: "accept the choice",
    back: "back",
    personalize: "personalize",
  },
  colors: {
    switch: "#eaeaea",
    switchChecked: "#FFF",
    main: "#002B89",
    background: "#FFF",
    description: "#777",
    button: "#FFF",
  },
};

const COOKIE_PREFIX = "istne-cookies-";
const SHOWED_COOKIE = "showed";

Hooks 🪝

  1. useCookies - Returns basic info and manipulation methods for cookie box
const { categories, setCategory, setCategories } = useCookies();
  1. useCookiesChange - Triggers callback when cookie consent is switched
useCookiesChangeState((category) => {});

//callback param type
type CategoryState = { [key: string]: boolean };
1.2.21

9 months ago

1.2.2

9 months ago

1.2.1

9 months ago

1.1.23

9 months ago

1.1.2

9 months ago

1.1.1

9 months ago

1.1.0

9 months ago

1.0.71

9 months ago

1.0.7

9 months ago

1.0.6

9 months ago

1.0.5

9 months ago

1.0.4

9 months ago

1.0.3

10 months ago

1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago