@superrb/react-addons 3.0.0-1 → 3.0.0-11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/actions.d.ts +6 -0
  2. package/actions.d.ts.map +1 -0
  3. package/actions.js +18 -0
  4. package/components/accordion.d.ts +10 -0
  5. package/components/accordion.d.ts.map +1 -0
  6. package/components/accordion.js +50 -0
  7. package/components/button.d.ts +1 -1
  8. package/components/context-wrapper.d.ts.map +1 -1
  9. package/components/context-wrapper.js +1 -2
  10. package/components/cookie-banner.d.ts +15 -15
  11. package/components/cookie-banner.d.ts.map +1 -1
  12. package/components/cookie-banner.js +5 -5
  13. package/components/form/field.d.ts.map +1 -1
  14. package/components/form/field.js +3 -0
  15. package/components/form/submit-button.d.ts +1 -1
  16. package/components/form/submit-button.d.ts.map +1 -1
  17. package/components/form.d.ts +1 -1
  18. package/components/form.d.ts.map +1 -1
  19. package/components/form.js +27 -18
  20. package/components/menu-toggle.d.ts.map +1 -1
  21. package/components/menu-toggle.js +3 -3
  22. package/components/modal.js +3 -3
  23. package/components/slideshow-buttons.d.ts +9 -0
  24. package/components/slideshow-buttons.d.ts.map +1 -0
  25. package/components/slideshow-buttons.js +6 -0
  26. package/components.d.ts +3 -1
  27. package/components.d.ts.map +1 -1
  28. package/components.js +3 -1
  29. package/context/cookies-context-provider.d.ts +13 -0
  30. package/context/cookies-context-provider.d.ts.map +1 -0
  31. package/context/cookies-context-provider.js +54 -0
  32. package/context/modal-context-provider.d.ts +13 -0
  33. package/context/modal-context-provider.d.ts.map +1 -0
  34. package/context/modal-context-provider.js +31 -0
  35. package/context/nav-context-provider.js +26 -0
  36. package/context.d.ts +2 -1
  37. package/context.d.ts.map +1 -1
  38. package/context.js +2 -1
  39. package/hooks/use-async.d.ts.map +1 -1
  40. package/hooks/use-draggable-scroll.d.ts.map +1 -1
  41. package/hooks/use-event-listener.d.ts +1 -1
  42. package/hooks/use-event-listener.d.ts.map +1 -1
  43. package/hooks/use-modal.d.ts.map +1 -1
  44. package/hooks/use-modal.js +5 -8
  45. package/hooks/use-slideshow.d.ts +19 -0
  46. package/hooks/use-slideshow.d.ts.map +1 -0
  47. package/hooks/use-slideshow.js +103 -0
  48. package/hooks.d.ts +2 -1
  49. package/hooks.d.ts.map +1 -1
  50. package/hooks.js +2 -1
  51. package/index.d.ts +2 -2
  52. package/index.d.ts.map +1 -1
  53. package/index.js +2 -2
  54. package/package.json +3 -4
  55. package/store/cookies.d.ts +3 -0
  56. package/store/cookies.d.ts.map +1 -1
  57. package/store/cookies.js +25 -22
  58. package/store.d.ts +3 -1
  59. package/store.d.ts.map +1 -1
  60. package/store.js +3 -1
  61. package/tsconfig.tsbuildinfo +1 -1
  62. package/utils/animate.d.ts.map +1 -1
  63. package/utils.d.ts +2 -1
  64. package/utils.d.ts.map +1 -1
  65. package/utils.js +2 -1
package/context.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Context
3
3
  */
4
+ import { CookiesContext, CookiesContextProvider } from './context/cookies-context-provider';
4
5
  import { ModalContext, ModalContextProvider } from './context/modal-context-provider';
5
6
  import { NavContext, NavContextProvider } from './context/nav-context-provider';
6
- export { ModalContext, ModalContextProvider, NavContext, NavContextProvider, };
7
+ export { CookiesContext, CookiesContextProvider, ModalContext, ModalContextProvider, NavContext, NavContextProvider, };
7
8
  //# sourceMappingURL=context.d.ts.map
package/context.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["src/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,YAAY,EACZ,oBAAoB,EACrB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAE/E,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,UAAU,EACV,kBAAkB,GACnB,CAAA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["src/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,cAAc,EACd,sBAAsB,EACvB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,YAAY,EACZ,oBAAoB,EACrB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAE/E,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,UAAU,EACV,kBAAkB,GACnB,CAAA"}
package/context.js CHANGED
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Context
3
3
  */
4
+ import { CookiesContext, CookiesContextProvider, } from './context/cookies-context-provider';
4
5
  import { ModalContext, ModalContextProvider, } from './context/modal-context-provider';
5
6
  import { NavContext, NavContextProvider } from './context/nav-context-provider';
6
- export { ModalContext, ModalContextProvider, NavContext, NavContextProvider, };
7
+ export { CookiesContext, CookiesContextProvider, ModalContext, ModalContextProvider, NavContext, NavContextProvider, };
@@ -1 +1 @@
1
- {"version":3,"file":"use-async.d.ts","sourceRoot":"","sources":["../src/hooks/use-async.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;AAE7D,UAAU,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM;IAChC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;IACf,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;CAChB;AAGD,QAAA,MAAM,QAAQ,2CACa,GAAG,EAAE,qDAEhB,GAAG,EAAE,qBA4CpB,CAAA;AAED,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"use-async.d.ts","sourceRoot":"","sources":["../src/hooks/use-async.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;AAE7D,UAAU,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM;IAChC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;IACf,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;CAChB;AAGD,QAAA,MAAM,QAAQ,iCACG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,QAAQ,CAAC,CAAC,sCAE/B,GAAG,EAAE,KAClB,WAAW,CAAC,EAAE,CAAC,CA2CjB,CAAA;AAED,eAAe,QAAQ,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-draggable-scroll.d.ts","sourceRoot":"","sources":["../src/hooks/use-draggable-scroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,gBAAgB,EAIjB,MAAM,OAAO,CAAA;AAId,UAAU,MAAM;IACd,WAAW,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;CAC5C;AAED,QAAA,MAAM,kBAAkB,QACjB,iBAAiB,WAAW,CAAC;eACG,MAAM;;;CA8E5C,CAAA;AAED,eAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"use-draggable-scroll.d.ts","sourceRoot":"","sources":["../src/hooks/use-draggable-scroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,gBAAgB,EAIjB,MAAM,OAAO,CAAA;AAId,UAAU,MAAM;IACd,WAAW,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;CAC5C;AAED,QAAA,MAAM,kBAAkB,QACjB,iBAAiB,WAAW,CAAC,0BACV;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE;;CA8E9C,CAAA;AAED,eAAe,kBAAkB,CAAA"}
@@ -2,6 +2,6 @@ type Target = Document | Window | Element;
2
2
  type EventMap<T extends Target> = T extends Window ? WindowEventHandlersEventMap & GlobalEventHandlersEventMap : T extends Document ? DocumentEventMap : GlobalEventHandlersEventMap;
3
3
  type EventName<T extends Target> = keyof EventMap<T>;
4
4
  type EventListener<T extends Target, E extends EventName<T>> = (event: EventMap<T>[E]) => void | boolean;
5
- declare const useEventListener: <T extends Target, E extends keyof EventMap<T>>(eventName: E, handler: EventListener<T, E>, options?: boolean | AddEventListenerOptions, element?: T | undefined, flag?: boolean) => void;
5
+ declare const useEventListener: <T extends Target, E extends keyof EventMap<T>>(eventName: E, handler: EventListener<T, E>, options?: boolean | AddEventListenerOptions, element?: T, flag?: boolean) => void;
6
6
  export default useEventListener;
7
7
  //# sourceMappingURL=use-event-listener.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-event-listener.d.ts","sourceRoot":"","sources":["../src/hooks/use-event-listener.ts"],"names":[],"mappings":"AAEA,KAAK,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAEzC,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,GAC9C,2BAA2B,GAAG,2BAA2B,GACzD,CAAC,SAAS,QAAQ,GAClB,gBAAgB,GAChB,2BAA2B,CAAA;AAE/B,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAA;AAEpD,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,IAAI,CAC7D,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAClB,IAAI,GAAG,OAAO,CAAA;AAGnB,QAAA,MAAM,gBAAgB,wGAGX,OAAO,GAAG,uBAAuB,kCAEpC,OAAO,SA+Dd,CAAA;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"use-event-listener.d.ts","sourceRoot":"","sources":["../src/hooks/use-event-listener.ts"],"names":[],"mappings":"AAEA,KAAK,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAEzC,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,MAAM,GAC9C,2BAA2B,GAAG,2BAA2B,GACzD,CAAC,SAAS,QAAQ,GAClB,gBAAgB,GAChB,2BAA2B,CAAA;AAE/B,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAA;AAEpD,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,IAAI,CAC7D,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAClB,IAAI,GAAG,OAAO,CAAA;AAGnB,QAAA,MAAM,gBAAgB,6DACT,CAAC,WACH,cAAc,CAAC,EAAE,CAAC,CAAC,YACnB,OAAO,GAAG,uBAAuB,YAChC,CAAC,SACL,OAAO,SA+Dd,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-modal.d.ts","sourceRoot":"","sources":["../src/hooks/use-modal.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,QAAQ,SAAU,MAAM;;;;CAa7B,CAAA;AAED,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"use-modal.d.ts","sourceRoot":"","sources":["../src/hooks/use-modal.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,QAAQ,SAAU,MAAM;;;;CAU7B,CAAA;AAED,eAAe,QAAQ,CAAA"}
@@ -1,13 +1,10 @@
1
- import { useContext, useEffect, useState } from 'react';
2
- import { ModalContext } from '../context';
1
+ import useModalStore from '../store/modal';
3
2
  const useModal = (name) => {
4
- const [open, setOpen] = useState(false);
5
- const { openState, openModal, closeModal } = useContext(ModalContext);
6
- useEffect(() => {
7
- setOpen(openState[name]);
8
- }, [openState[name]]);
3
+ const isOpen = useModalStore((state) => state.openState[name]);
4
+ const openModal = useModalStore((state) => state.openModal);
5
+ const closeModal = useModalStore((state) => state.closeModal);
9
6
  return {
10
- isOpen: open,
7
+ isOpen,
11
8
  openModal: () => openModal(name),
12
9
  closeModal: () => closeModal(name),
13
10
  };
@@ -0,0 +1,19 @@
1
+ import { MutableRefObject } from 'react';
2
+ export type SlideshowElement = HTMLElement & {
3
+ previousScroll?: number;
4
+ };
5
+ export type Slideshow = {
6
+ slideshowRef: MutableRefObject<SlideshowElement>;
7
+ currentSlide: number;
8
+ slideCount: number;
9
+ goTo: (index: number) => void;
10
+ atStart: boolean;
11
+ atEnd: boolean;
12
+ };
13
+ export declare const isHorizontal: (element: SlideshowElement) => boolean;
14
+ export declare const isCentered: (element: SlideshowElement) => boolean;
15
+ export declare const getScrollProgress: (target: SlideshowElement) => number;
16
+ export declare const getCurrentSlideIndex: (element: SlideshowElement, currentIndex: number) => number;
17
+ declare const useSlideshow: (slideshow: MutableRefObject<SlideshowElement>) => Slideshow;
18
+ export default useSlideshow;
19
+ //# sourceMappingURL=use-slideshow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-slideshow.d.ts","sourceRoot":"","sources":["../src/hooks/use-slideshow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,OAAO,CAAA;AAE7D,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IAChD,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,eAAO,MAAM,YAAY,YAAa,gBAAgB,KAAG,OAExD,CAAA;AAED,eAAO,MAAM,UAAU,YAAa,gBAAgB,KAAG,OAKtD,CAAA;AAED,eAAO,MAAM,iBAAiB,WAAY,gBAAgB,WAMzD,CAAA;AAED,eAAO,MAAM,oBAAoB,YACtB,gBAAgB,gBACX,MAAM,KACnB,MAqDF,CAAA;AAED,QAAA,MAAM,YAAY,cACL,iBAAiB,gBAAgB,CAAC,KAC5C,SA4DF,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,103 @@
1
+ import { useEffect, useState } from 'react';
2
+ export const isHorizontal = (element) => {
3
+ return window.getComputedStyle(element).scrollSnapType.startsWith('x');
4
+ };
5
+ export const isCentered = (element) => {
6
+ return (window.getComputedStyle(element.firstElementChild)
7
+ ?.scrollSnapAlign === 'center');
8
+ };
9
+ export const getScrollProgress = (target) => {
10
+ if (!target || target.scrollWidth === target.clientWidth) {
11
+ return -1;
12
+ }
13
+ return target.scrollLeft / (target.scrollWidth - target.clientWidth);
14
+ };
15
+ export const getCurrentSlideIndex = (element, currentIndex) => {
16
+ if (!element) {
17
+ return currentIndex;
18
+ }
19
+ if (!element.previousScroll) {
20
+ element.previousScroll = element.scrollLeft;
21
+ return currentIndex;
22
+ }
23
+ const centered = isCentered(element);
24
+ const horizontal = isHorizontal(element);
25
+ const direction = element.scrollLeft > element.previousScroll ? 'right' : 'left';
26
+ let gap = parseFloat(window.getComputedStyle(element).gap) || 0;
27
+ if (isNaN(gap)) {
28
+ gap = 0;
29
+ }
30
+ const containerEdge = element.getBoundingClientRect()[horizontal ? 'left' : 'top'];
31
+ let newIndex = currentIndex;
32
+ let i = 0;
33
+ for (const child of element.children) {
34
+ const edge = child.getBoundingClientRect()[horizontal ? 'left' : 'top'] - containerEdge;
35
+ if (centered) {
36
+ const threshold = horizontal
37
+ ? element.clientWidth / 2
38
+ : element.clientHeight / 2;
39
+ if (edge >= 0 && edge < threshold) {
40
+ return i;
41
+ }
42
+ }
43
+ else {
44
+ const threshold = direction === 'right'
45
+ ? (horizontal ? child.clientWidth : child.clientHeight) - gap
46
+ : 0 + gap;
47
+ if (edge >= 0 - threshold) {
48
+ return i;
49
+ }
50
+ }
51
+ i++;
52
+ }
53
+ element.previousScroll = element.scrollLeft;
54
+ return newIndex;
55
+ };
56
+ const useSlideshow = (slideshow) => {
57
+ const [currentSlide, setCurrentSlide] = useState(0);
58
+ useEffect(() => {
59
+ if (slideshow.current) {
60
+ setCurrentSlide((current) => getCurrentSlideIndex(slideshow.current, current));
61
+ slideshow.current.addEventListener('scroll', () => {
62
+ setCurrentSlide((current) => getCurrentSlideIndex(slideshow.current, current));
63
+ });
64
+ slideshow.current.addEventListener('resize', () => setCurrentSlide((current) => getCurrentSlideIndex(slideshow.current, current)));
65
+ }
66
+ }, [slideshow]);
67
+ if (!slideshow.current) {
68
+ return {
69
+ slideshowRef: slideshow,
70
+ currentSlide: 0,
71
+ slideCount: 0,
72
+ goTo: () => { },
73
+ atStart: true,
74
+ atEnd: true,
75
+ };
76
+ }
77
+ return {
78
+ slideshowRef: slideshow,
79
+ currentSlide,
80
+ slideCount: slideshow.current?.children.length || 0,
81
+ goTo: (index) => {
82
+ const scrollOpts = {
83
+ behavior: 'smooth',
84
+ block: 'start',
85
+ inline: 'start',
86
+ };
87
+ if (isCentered(slideshow.current)) {
88
+ scrollOpts.block = 'center';
89
+ scrollOpts.inline = 'center';
90
+ }
91
+ if (isHorizontal(slideshow.current)) {
92
+ scrollOpts.block = 'nearest';
93
+ }
94
+ else {
95
+ scrollOpts.inline = 'nearest';
96
+ }
97
+ slideshow.current?.children[index]?.scrollIntoView(scrollOpts);
98
+ },
99
+ atStart: getScrollProgress(slideshow.current) <= 0,
100
+ atEnd: getScrollProgress(slideshow.current) >= 1,
101
+ };
102
+ };
103
+ export default useSlideshow;
package/hooks.d.ts CHANGED
@@ -13,5 +13,6 @@ import useLockBodyScroll from './hooks/use-lock-body-scroll';
13
13
  import useModal from './hooks/use-modal';
14
14
  import useMotionAllowed from './hooks/use-motion-allowed';
15
15
  import useParallax from './hooks/use-parallax';
16
- export { useAsync, useDraggableScroll, useEventListener, useHideOnScroll, useId, useIsOverflowing, useIsInViewport, useIsMobile, useLockBodyScroll, useModal, useMotionAllowed, useParallax, };
16
+ import useSlideshow from './hooks/use-slideshow';
17
+ export { useAsync, useDraggableScroll, useEventListener, useHideOnScroll, useId, useIsOverflowing, useIsInViewport, useIsMobile, useLockBodyScroll, useModal, useMotionAllowed, useParallax, useSlideshow, };
17
18
  //# sourceMappingURL=hooks.d.ts.map
package/hooks.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["src/hooks.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,QAAQ,MAAM,mBAAmB,CAAA;AACxC,OAAO,kBAAkB,MAAM,8BAA8B,CAAA;AAC7D,OAAO,gBAAgB,MAAM,4BAA4B,CAAA;AACzD,OAAO,eAAe,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,MAAM,gBAAgB,CAAA;AAClC,OAAO,eAAe,MAAM,4BAA4B,CAAA;AACxD,OAAO,gBAAgB,MAAM,4BAA4B,CAAA;AACzD,OAAO,WAAW,MAAM,uBAAuB,CAAA;AAC/C,OAAO,iBAAiB,MAAM,8BAA8B,CAAA;AAC5D,OAAO,QAAQ,MAAM,mBAAmB,CAAA;AACxC,OAAO,gBAAgB,MAAM,4BAA4B,CAAA;AACzD,OAAO,WAAW,MAAM,sBAAsB,CAAA;AAE9C,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,KAAK,EACL,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,EAChB,WAAW,GACZ,CAAA"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["src/hooks.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,QAAQ,MAAM,mBAAmB,CAAA;AACxC,OAAO,kBAAkB,MAAM,8BAA8B,CAAA;AAC7D,OAAO,gBAAgB,MAAM,4BAA4B,CAAA;AACzD,OAAO,eAAe,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,MAAM,gBAAgB,CAAA;AAClC,OAAO,eAAe,MAAM,4BAA4B,CAAA;AACxD,OAAO,gBAAgB,MAAM,4BAA4B,CAAA;AACzD,OAAO,WAAW,MAAM,uBAAuB,CAAA;AAC/C,OAAO,iBAAiB,MAAM,8BAA8B,CAAA;AAC5D,OAAO,QAAQ,MAAM,mBAAmB,CAAA;AACxC,OAAO,gBAAgB,MAAM,4BAA4B,CAAA;AACzD,OAAO,WAAW,MAAM,sBAAsB,CAAA;AAC9C,OAAO,YAAY,MAAM,uBAAuB,CAAA;AAEhD,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,KAAK,EACL,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,YAAY,GACb,CAAA"}
package/hooks.js CHANGED
@@ -13,4 +13,5 @@ import useLockBodyScroll from './hooks/use-lock-body-scroll';
13
13
  import useModal from './hooks/use-modal';
14
14
  import useMotionAllowed from './hooks/use-motion-allowed';
15
15
  import useParallax from './hooks/use-parallax';
16
- export { useAsync, useDraggableScroll, useEventListener, useHideOnScroll, useId, useIsOverflowing, useIsInViewport, useIsMobile, useLockBodyScroll, useModal, useMotionAllowed, useParallax, };
16
+ import useSlideshow from './hooks/use-slideshow';
17
+ export { useAsync, useDraggableScroll, useEventListener, useHideOnScroll, useId, useIsOverflowing, useIsInViewport, useIsMobile, useLockBodyScroll, useModal, useMotionAllowed, useParallax, useSlideshow, };
package/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as Components from './components';
2
- import * as Context from './context';
3
2
  import * as Hooks from './hooks';
3
+ import * as Store from './store';
4
4
  import * as Storage from './storage';
5
5
  import * as Utils from './utils';
6
- export { Components, Context, Hooks, Storage, Utils };
6
+ export { Components, Hooks, Store, Storage, Utils };
7
7
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAEpC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAEhC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAEpC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAEhC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA"}
package/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as Components from './components';
2
- import * as Context from './context';
3
2
  import * as Hooks from './hooks';
3
+ import * as Store from './store';
4
4
  import * as Storage from './storage';
5
5
  // import * as Types from './types'
6
6
  import * as Utils from './utils';
7
- export { Components, Context, Hooks, Storage, Utils };
7
+ export { Components, Hooks, Store, Storage, Utils };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@superrb/react-addons",
3
3
  "type": "module",
4
- "version": "3.0.0-1",
4
+ "version": "3.0.0-11",
5
5
  "main": "index.js",
6
6
  "repository": "https://github.com/superrbstudio/react-addons",
7
7
  "author": "@molovo",
@@ -14,13 +14,12 @@
14
14
  "js-cookie": "^3.0.5",
15
15
  "react-google-recaptcha-v3": "^1.10.1",
16
16
  "react-hook-form": "^7.46.1",
17
- "react-use-draggable-scroll": "^0.4.7",
18
- "yup": "^1.2.0"
17
+ "react-use-draggable-scroll": "^0.4.7"
19
18
  },
20
19
  "peerDependencies": {
21
- "@superrb/react-addons": "^1.0.0",
22
20
  "react": "^18.2.0",
23
21
  "typescript": "^5.2.2",
22
+ "yup": "^1.2.0",
24
23
  "zustand": "^4.4.7"
25
24
  },
26
25
  "scripts": {
@@ -3,6 +3,9 @@ export interface CookieState {
3
3
  trackingCookiesAccepted: boolean;
4
4
  setCookiesAccepted: (accepted: boolean) => void;
5
5
  setTrackingCookiesAccepted: (accepted: boolean) => void;
6
+ popupOpen: boolean;
7
+ openPopup: () => void;
8
+ closePopup: () => void;
6
9
  }
7
10
  declare const useCookieStore: import("zustand").UseBoundStore<import("zustand").StoreApi<CookieState>>;
8
11
  export default useCookieStore;
@@ -1 +1 @@
1
- {"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../src/store/cookies.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,OAAO,CAAA;IACxB,uBAAuB,EAAE,OAAO,CAAA;IAChC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/C,0BAA0B,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;CACxD;AAMD,QAAA,MAAM,cAAc,0EAmBjB,CAAA;AAEH,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../src/store/cookies.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,OAAO,CAAA;IACxB,uBAAuB,EAAE,OAAO,CAAA;IAChC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/C,0BAA0B,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IACvD,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,QAAA,MAAM,cAAc,0EAyBlB,CAAA;AAEF,eAAe,cAAc,CAAA"}
package/store/cookies.js CHANGED
@@ -1,25 +1,28 @@
1
1
  import { create } from 'zustand';
2
2
  import Cookies from 'js-cookie';
3
- const cookiesAccepted = Cookies.get('accepted-cookies') === 'true' || false;
4
- const trackingCookiesAccepted = Cookies.get('accepted-tracking-cookies') === 'true' || false;
5
- const useCookieStore = create()((set) => ({
6
- cookiesAccepted,
7
- trackingCookiesAccepted,
8
- setCookiesAccepted: (accepted) => {
9
- Cookies.set('accepted-cookies', accepted.toString(), {
10
- expires: 30,
11
- });
12
- return set((state) => ({
13
- cookiesAccepted: accepted,
14
- }));
15
- },
16
- setTrackingCookiesAccepted: (accepted) => {
17
- Cookies.set('accepted-tracking-cookies', accepted.toString(), {
18
- expires: 30,
19
- });
20
- return set((state) => ({
21
- trackingCookiesAccepted: accepted,
22
- }));
23
- },
24
- }));
3
+ const useCookieStore = create()((set) => {
4
+ const cookiesAccepted = !!Cookies.get('accepted-cookies') || false;
5
+ const trackingCookiesAccepted = !!Cookies.get('accepted-tracking-cookies') || false;
6
+ return {
7
+ cookiesAccepted,
8
+ trackingCookiesAccepted,
9
+ setCookiesAccepted: (accepted) => {
10
+ Cookies.set('accepted-cookies', accepted.toString(), {
11
+ expires: 30,
12
+ });
13
+ return set((state) => ({ cookiesAccepted: accepted }));
14
+ },
15
+ setTrackingCookiesAccepted: (accepted) => {
16
+ Cookies.set('accepted-tracking-cookies', accepted.toString(), {
17
+ expires: 30,
18
+ });
19
+ return set((state) => ({
20
+ trackingCookiesAccepted: accepted,
21
+ }));
22
+ },
23
+ popupOpen: false,
24
+ openPopup: () => set({ popupOpen: true }),
25
+ closePopup: () => set({ popupOpen: false }),
26
+ };
27
+ });
25
28
  export default useCookieStore;
package/store.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  import useCookieStore from './store/cookies';
2
- export { useCookieStore };
2
+ import useModalStore from './store/modal';
3
+ import useNavStore from './store/nav';
4
+ export { useCookieStore, useModalStore, useNavStore };
3
5
  //# sourceMappingURL=store.d.ts.map
package/store.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["src/store.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EACL,cAAc,EACf,CAAA"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["src/store.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iBAAiB,CAAA;AAC5C,OAAO,aAAa,MAAM,eAAe,CAAA;AACzC,OAAO,WAAW,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA"}
package/store.js CHANGED
@@ -1,2 +1,4 @@
1
1
  import useCookieStore from './store/cookies';
2
- export { useCookieStore };
2
+ import useModalStore from './store/modal';
3
+ import useNavStore from './store/nav';
4
+ export { useCookieStore, useModalStore, useNavStore };