@aracna/react 1.0.10 → 1.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 (37) hide show
  1. package/definitions/enums.d.ts +5 -0
  2. package/definitions/enums.js +1 -0
  3. package/definitions/props.js +0 -0
  4. package/definitions/types.js +0 -0
  5. package/functions/create.base.element.component.js +1 -1
  6. package/functions/create.element.component.js +1 -1
  7. package/functions/create.floating.element.component.js +1 -1
  8. package/functions/create.focus.trap.element.component.js +1 -1
  9. package/functions/create.form.field.element.component.js +1 -1
  10. package/functions/forward.ref.js +1 -1
  11. package/hooks/use.aracna.element.js +1 -1
  12. package/hooks/use.dispatch.d.ts +23 -0
  13. package/hooks/use.dispatch.js +1 -0
  14. package/hooks/use.event.listener.js +1 -1
  15. package/hooks/use.life.cycle.d.ts +32 -0
  16. package/hooks/use.life.cycle.js +1 -0
  17. package/hooks/use.safe.ref.js +1 -1
  18. package/hooks/use.window.event.listener.js +1 -1
  19. package/index.cjs.js +1 -0
  20. package/index.d.ts +61 -0
  21. package/index.iife.js +14 -0
  22. package/index.js +1 -1
  23. package/package.json +30 -28
  24. package/declarations/index.d.ts +0 -12
  25. package/index.cjs +0 -1
  26. /package/{declarations/definitions → definitions}/props.d.ts +0 -0
  27. /package/{declarations/definitions → definitions}/types.d.ts +0 -0
  28. /package/{declarations/functions → functions}/create.base.element.component.d.ts +0 -0
  29. /package/{declarations/functions → functions}/create.element.component.d.ts +0 -0
  30. /package/{declarations/functions → functions}/create.floating.element.component.d.ts +0 -0
  31. /package/{declarations/functions → functions}/create.focus.trap.element.component.d.ts +0 -0
  32. /package/{declarations/functions → functions}/create.form.field.element.component.d.ts +0 -0
  33. /package/{declarations/functions → functions}/forward.ref.d.ts +0 -0
  34. /package/{declarations/hooks → hooks}/use.aracna.element.d.ts +0 -0
  35. /package/{declarations/hooks → hooks}/use.event.listener.d.ts +0 -0
  36. /package/{declarations/hooks → hooks}/use.safe.ref.d.ts +0 -0
  37. /package/{declarations/hooks → hooks}/use.window.event.listener.d.ts +0 -0
@@ -0,0 +1,5 @@
1
+ export declare enum ComponentLifeCycle {
2
+ CONSTRUCTED = "CONSTRUCTED",
3
+ MOUNTED = "MOUNTED",
4
+ UNMOUNTED = "UNMOUNTED"
5
+ }
@@ -0,0 +1 @@
1
+ var T=(N=>(N.CONSTRUCTED="CONSTRUCTED",N.MOUNTED="MOUNTED",N.UNMOUNTED="UNMOUNTED",N))(T||{});export{T as ComponentLifeCycle};
File without changes
File without changes
@@ -1 +1 @@
1
- import{createElementComponent as e}from"./create.element.component.js";function t(t,n,r=[]){return e(t,n,["attribute-change","state-change",...r])}export{t as createBaseElementComponent};
1
+ import{createElementComponent as m}from"./create.element.component";function f(e,t,n=[]){return m(e,t,["attribute-change","state-change",...n])}export{f as createBaseElementComponent};
@@ -1 +1 @@
1
- import{setObjectProperty as e,getPascalCaseString as t,getObjectProperty as r}from"@aracna/core";import{forwardRef as n,createRef as o,createElement as c,useState as a,useEffect as f}from"react";function s(s,i,l){return n(((n,i)=>{n={...n};for(let e in n)!1===n[e]&&delete n[e],!0===n[e]&&(n[e]="");n.className&&(e(n,"class",n.className),delete n.className);const p=i??o(),u=c(s,{...n,ref:p,suppressHydrationWarning:!0}),[m]=a(new Map),d=()=>{if("object"==typeof p&&p?.current)for(let e of m)p.current.removeEventListener(...e),m.delete(e[0])};return f((()=>(d(),(()=>{if("object"==typeof p&&p?.current&&l)for(let e of l){let o,c;o="on"+t(String(e)),c=r(n,o),"function"==typeof c&&(p.current.addEventListener(String(e),c),m.set(String(e),c))}})(),d)),[n]),u}))}export{s as createElementComponent};
1
+ import{getObjectProperty as c,getPascalCaseString as u,setObjectProperty as d}from"@aracna/core";import{createElement as y,createRef as v,forwardRef as g,useEffect as b,useState as C}from"react";function A(E,L,o){return g((e,a)=>{e={...e};for(let t in e)e[t]===!1&&delete e[t],e[t]===!0&&(e[t]="");e.className&&(d(e,"class",e.className),delete e.className);const n=a??v(),i=y(E,{...e,ref:n,suppressHydrationWarning:!0}),[m]=C(new Map),f=()=>{if(!(typeof n!="object"||!n?.current||!o))for(let t of o){let l,r;l="on"+u(String(t)),r=c(e,l),typeof r=="function"&&(n.current.addEventListener(String(t),r),m.set(String(t),r))}},s=()=>{if(!(typeof n!="object"||!n?.current))for(let t of m)n.current.removeEventListener(...t),m.delete(t[0])};return b(()=>(s(),f(),s),[e]),i})}export{A as createElementComponent};
@@ -1 +1 @@
1
- import{createBaseElementComponent as e}from"./create.base.element.component.js";function t(t,n,o){return e(t,n,o)}export{t as createFloatingElementComponent};
1
+ import{createBaseElementComponent as m}from"./create.base.element.component";function f(e,t,n){return m(e,t,n)}export{f as createFloatingElementComponent};
@@ -1 +1 @@
1
- import{createBaseElementComponent as t}from"./create.base.element.component.js";function e(e,a,o=[]){return t(e,a,["focus-trap-activate","focus-trap-deactivate","focus-trap-post-activate","focus-trap-post-deactivate",...o])}export{e as createFocusTrapElementComponent};
1
+ import{createBaseElementComponent as o}from"./create.base.element.component";function i(e,t,n=[]){return o(e,t,["focus-trap-activate","focus-trap-deactivate","focus-trap-post-activate","focus-trap-post-deactivate",...n])}export{i as createFocusTrapElementComponent};
@@ -1 +1 @@
1
- import{createBaseElementComponent as e}from"./create.base.element.component.js";function t(t,n,o){return e(t,n,o)}export{t as createFormFieldElementComponent};
1
+ import{createBaseElementComponent as m}from"./create.base.element.component";function d(e,t,n){return m(e,t,n)}export{d as createFormFieldElementComponent};
@@ -1 +1 @@
1
- import{forwardRef as r}from"react";function o(...o){return r(o[0])}export{o as forwardRef};
1
+ import{forwardRef as r}from"react";function o(...e){return r(e[0])}export{o as forwardRef};
@@ -1 +1 @@
1
- import{useRef as t,useReducer as e,useEffect as i}from"react";import{useEventListener as a}from"./use.event.listener.js";function l(l){const r=t(null),[,s]=e((()=>({})),{});return a(r,"attribute-changed",(t=>{!0===l?.attribute?.dispatch&&t.detail&&(l.attribute.blacklist&&l.attribute.blacklist.includes(t.detail.name)||l.attribute.whitelist&&!l.attribute.whitelist.includes(t.detail.name)||s())}),[r.current]),a(r,"state-changed",(t=>{!0===l?.state?.dispatch&&t.detail&&(l.state.blacklist&&l.state.blacklist.includes(t.detail.name)||l.state.whitelist&&!l.state.whitelist.includes(t.detail.name)||s())}),[r.current]),i((()=>s()),[r.current]),{element:r.current,ref:r}}export{l as useComponent};
1
+ import{useEffect as u,useReducer as s,useRef as c}from"react";import{useEventListener as n}from"./use.event.listener";function m(t){const e=c(null),[,r]=s(()=>({}),{}),i=a=>{t?.attribute?.dispatch===!0&&a.detail&&(t.attribute.blacklist&&t.attribute.blacklist.includes(a.detail.name)||t.attribute.whitelist&&!t.attribute.whitelist.includes(a.detail.name)||r())},l=a=>{t?.state?.dispatch===!0&&a.detail&&(t.state.blacklist&&t.state.blacklist.includes(a.detail.name)||t.state.whitelist&&!t.state.whitelist.includes(a.detail.name)||r())};return n(e,"attribute-changed",i,[e.current]),n(e,"state-changed",l,[e.current]),u(()=>r(),[e.current]),{element:e.current,ref:e}}export{m as useComponent};
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Forces a re-render if the component is mounted.
3
+ *
4
+ * ```tsx
5
+ * import React, { useRef } from 'react'
6
+ * import { useDispatch } from '@aracna/state-manager-react'
7
+ *
8
+ * function App() {
9
+ * const dispatch = useDispatch()
10
+ * const number = useRef(0)
11
+ *
12
+ * const onClick = () => {
13
+ * number.current++
14
+ * dispatch()
15
+ * }
16
+ *
17
+ * return <button onClick={onClick}>{number.current}</button>
18
+ * }
19
+ * ```
20
+ *
21
+ * @category Hook
22
+ */
23
+ export declare function useDispatch(onDispatch?: () => any): () => void;
@@ -0,0 +1 @@
1
+ import{useReducer as o}from"react";import{ComponentLifeCycle as e}from"../definitions/enums";import{useLifeCycle as s}from"./use.life.cycle";function f(r){const c=s(),t=o(()=>({}),{});return()=>{switch(c.current){case e.CONSTRUCTED:case e.UNMOUNTED:break;case e.MOUNTED:t[1](),r&&r();break}}}export{f as useDispatch};
@@ -1 +1 @@
1
- import{useEffect as e}from"react";function r(r,t,n,o=[]){e((()=>(r.current?.addEventListener(t,n),()=>r.current?.removeEventListener(t,n))),o)}export{r as useEventListener};
1
+ import{useEffect as E}from"react";function l(e,n,t,s=[]){E(()=>(e.current?.addEventListener(n,t),()=>e.current?.removeEventListener(n,t)),s)}export{l as useEventListener};
@@ -0,0 +1,32 @@
1
+ import { MutableRefObject } from 'react';
2
+ import { ComponentLifeCycle } from '../definitions/enums';
3
+ /**
4
+ * Returns the life cycle of a component.
5
+ *
6
+ * ```tsx
7
+ * import React, { useEffect } from 'react'
8
+ * import { useLifeCycle } from '@aracna/state-manager-react'
9
+ *
10
+ * function App() {
11
+ * const life = useLifeCycle()
12
+ *
13
+ * // will be CONSTRUCTED
14
+ * console.log(life)
15
+ *
16
+ * useEffect(() => {
17
+ * // will be MOUNTED
18
+ * console.log(life)
19
+ *
20
+ * return () => {
21
+ * // will be UNMOUNTED
22
+ * console.log(life)
23
+ * }
24
+ * }, [])
25
+ *
26
+ * return <button onClick={onClick}>{number.current}</button>
27
+ * }
28
+ * ```
29
+ *
30
+ * @category Hook
31
+ */
32
+ export declare function useLifeCycle(): MutableRefObject<ComponentLifeCycle>;
@@ -0,0 +1 @@
1
+ import{useEffect as n,useRef as o}from"react";import{ComponentLifeCycle as t}from"../definitions/enums";function u(){const e=o(t.CONSTRUCTED);return n(()=>(e.current=t.MOUNTED,()=>{e.current=t.UNMOUNTED})),e}export{u as useLifeCycle};
@@ -1 +1 @@
1
- import{Environment as r}from"@aracna/core";import{useRef as e}from"react";function t(t,n){return e(r.isWindowDefined?document.createElement(t,n):{current:{}})}export{t as useSafeRef};
1
+ import{Environment as a}from"@aracna/core";import{useRef as n}from"react";function p(e,t){return n(a.isWindowDefined?document.createElement(e,t):{current:{}})}export{p as useSafeRef};
@@ -1 +1 @@
1
- import{useEffect as e}from"react";function n(n,t,o=[]){e((()=>(window.addEventListener(n,t),()=>window.removeEventListener(n,t))),o)}export{n as useWindowEventListener};
1
+ import{useEffect as i}from"react";function r(e,n,t=[]){i(()=>(window.addEventListener(e,n),()=>window.removeEventListener(e,n)),t)}export{r as useWindowEventListener};
package/index.cjs.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";var d=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var O=(e,t)=>{for(var n in t)d(e,n,{get:t[n],enumerable:!0})},A=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of F(t))!N.call(e,s)&&s!==n&&d(e,s,{get:()=>t[s],enumerable:!(r=w(t,s))||r.enumerable});return e};var h=e=>A(d({},"__esModule",{value:!0}),e);var V={};O(V,{createBaseElementComponent:()=>l,createElementComponent:()=>b,createFloatingElementComponent:()=>k,createFocusTrapElementComponent:()=>H,createFormFieldElementComponent:()=>S,forwardRef:()=>j,useComponent:()=>D,useDispatch:()=>B,useEventListener:()=>f,useLifeCycle:()=>M,useSafeRef:()=>U,useWindowEventListener:()=>G});module.exports=h(V);var i=require("@aracna/core"),a=require("react");function b(e,t,n){return(0,a.forwardRef)((r,s)=>{r={...r};for(let m in r)r[m]===!1&&delete r[m],r[m]===!0&&(r[m]="");r.className&&((0,i.setObjectProperty)(r,"class",r.className),delete r.className);let o=s??(0,a.createRef)(),K=(0,a.createElement)(e,{...r,ref:o,suppressHydrationWarning:!0}),[c]=(0,a.useState)(new Map),P=()=>{if(!(typeof o!="object"||!o?.current||!n))for(let m of n){let v,p;v="on"+(0,i.getPascalCaseString)(String(m)),p=(0,i.getObjectProperty)(r,v),typeof p=="function"&&(o.current.addEventListener(String(m),p),c.set(String(m),p))}},y=()=>{if(!(typeof o!="object"||!o?.current))for(let m of c)o.current.removeEventListener(...m),c.delete(m[0])};return(0,a.useEffect)(()=>(y(),P(),y),[r]),K})}function l(e,t,n=[]){return b(e,t,["attribute-change","state-change",...n])}function k(e,t,n){return l(e,t,n)}function H(e,t,n=[]){return l(e,t,["focus-trap-activate","focus-trap-deactivate","focus-trap-post-activate","focus-trap-post-deactivate",...n])}function S(e,t,n){return l(e,t,n)}var T=require("react");function j(...e){return(0,T.forwardRef)(e[0])}var E=require("react");var x=require("react");function f(e,t,n,r=[]){(0,x.useEffect)(()=>(e.current?.addEventListener(t,n),()=>e.current?.removeEventListener(t,n)),r)}function D(e){let t=(0,E.useRef)(null),[,n]=(0,E.useReducer)(()=>({}),{}),r=o=>{e?.attribute?.dispatch===!0&&o.detail&&(e.attribute.blacklist&&e.attribute.blacklist.includes(o.detail.name)||e.attribute.whitelist&&!e.attribute.whitelist.includes(o.detail.name)||n())},s=o=>{e?.state?.dispatch===!0&&o.detail&&(e.state.blacklist&&e.state.blacklist.includes(o.detail.name)||e.state.whitelist&&!e.state.whitelist.includes(o.detail.name)||n())};return f(t,"attribute-changed",r,[t.current]),f(t,"state-changed",s,[t.current]),(0,E.useEffect)(()=>n(),[t.current]),{element:t.current,ref:t}}var C=require("react");var u=require("react");function M(){let e=(0,u.useRef)("CONSTRUCTED");return(0,u.useEffect)(()=>(e.current="MOUNTED",()=>{e.current="UNMOUNTED"})),e}function B(e){let t=M(),n=(0,C.useReducer)(()=>({}),{});return()=>{switch(t.current){case"CONSTRUCTED":case"UNMOUNTED":break;case"MOUNTED":n[1](),e&&e();break}}}var g=require("@aracna/core"),L=require("react");function U(e,t){return(0,L.useRef)(g.Environment.isWindowDefined?document.createElement(e,t):{current:{}})}var R=require("react");function G(e,t,n=[]){(0,R.useEffect)(()=>(window.addEventListener(e,t),()=>window.removeEventListener(e,t)),n)}
package/index.d.ts CHANGED
@@ -604,6 +604,12 @@ export declare type CheckBoxProps = ElementComponentProps<CheckBoxElement, Check
604
604
 
605
605
  export declare type ChipProps = ElementComponentProps<ChipElement, ChipElementAttributes, ChipElementEventMap>;
606
606
 
607
+ declare enum ComponentLifeCycle {
608
+ CONSTRUCTED = "CONSTRUCTED",
609
+ MOUNTED = "MOUNTED",
610
+ UNMOUNTED = "UNMOUNTED"
611
+ }
612
+
607
613
  export declare function createBaseElementComponent<Element extends HTMLElementTagNameMap[Key], Attributes extends BaseElementAttributes = BaseElementAttributes, Events extends BaseElementEventMap = BaseElementEventMap, Props extends ElementComponentProps<Element, Attributes, Events> = ElementComponentProps<Element, Attributes, Events>, Key extends keyof HTMLElementTagNameMap = keyof HTMLElementTagNameMap>(tag: Key, element: {
608
614
  new (): Element;
609
615
  }, events?: KeyOf.Shallow<Events>[]): ElementComponent<Element, Props>;
@@ -765,12 +771,67 @@ export declare type TooltipTriggerProps = ElementComponentProps<TooltipTriggerEl
765
771
 
766
772
  export declare function useComponent<K extends keyof HTMLElementTagNameMap>(options?: Options): ReturnInterface<K>;
767
773
 
774
+ /**
775
+ * Forces a re-render if the component is mounted.
776
+ *
777
+ * ```tsx
778
+ * import React, { useRef } from 'react'
779
+ * import { useDispatch } from '@aracna/state-manager-react'
780
+ *
781
+ * function App() {
782
+ * const dispatch = useDispatch()
783
+ * const number = useRef(0)
784
+ *
785
+ * const onClick = () => {
786
+ * number.current++
787
+ * dispatch()
788
+ * }
789
+ *
790
+ * return <button onClick={onClick}>{number.current}</button>
791
+ * }
792
+ * ```
793
+ *
794
+ * @category Hook
795
+ */
796
+ export declare function useDispatch(onDispatch?: () => any): () => void;
797
+
768
798
  export declare function useEventListener<T extends Element, E extends Event, K extends keyof HTMLElementEventMap>(ref: MutableRefObject<T | null>, type: K, listener: (event: HTMLElementEventMap[K]) => any, deps?: DependencyList): void;
769
799
 
770
800
  export declare function useEventListener<T extends Element, E extends Event, K extends keyof SVGElementEventMap>(ref: MutableRefObject<T | null>, type: K, listener: (event: SVGElementEventMap[K]) => any, deps?: DependencyList): void;
771
801
 
772
802
  export declare function useEventListener<T extends Element, E extends Event>(ref: MutableRefObject<T | null>, type: string, listener: (event: E) => any, deps?: DependencyList): void;
773
803
 
804
+ /**
805
+ * Returns the life cycle of a component.
806
+ *
807
+ * ```tsx
808
+ * import React, { useEffect } from 'react'
809
+ * import { useLifeCycle } from '@aracna/state-manager-react'
810
+ *
811
+ * function App() {
812
+ * const life = useLifeCycle()
813
+ *
814
+ * // will be CONSTRUCTED
815
+ * console.log(life)
816
+ *
817
+ * useEffect(() => {
818
+ * // will be MOUNTED
819
+ * console.log(life)
820
+ *
821
+ * return () => {
822
+ * // will be UNMOUNTED
823
+ * console.log(life)
824
+ * }
825
+ * }, [])
826
+ *
827
+ * return <button onClick={onClick}>{number.current}</button>
828
+ * }
829
+ * ```
830
+ *
831
+ * @category Hook
832
+ */
833
+ export declare function useLifeCycle(): MutableRefObject<ComponentLifeCycle>;
834
+
774
835
  export declare function useSafeRef<K extends keyof HTMLElementTagNameMap>(tagName: K, options?: ElementCreationOptions): MutableRefObject<HTMLElementTagNameMap[K]>;
775
836
 
776
837
  export declare function useSafeRef<K extends keyof SVGElementTagNameMap>(tagName: K, options?: ElementCreationOptions): MutableRefObject<SVGElementTagNameMap[K]>;
package/index.iife.js ADDED
@@ -0,0 +1,14 @@
1
+ "use strict";var AracnaCore=(()=>{var de=Object.create;var g=Object.defineProperty;var ye=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Te=Object.prototype.hasOwnProperty;var be=(e,t,n)=>t in e?g(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var x=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var B=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ge=(e,t)=>{for(var n in t)g(e,n,{get:t[n],enumerable:!0})},V=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of _e(t))!Te.call(e,s)&&s!==n&&g(e,s,{get:()=>t[s],enumerable:!(r=ye(t,s))||r.enumerable});return e};var d=(e,t,n)=>(n=e!=null?de(Re(e)):{},V(t||!e||!e.__esModule?g(n,"default",{value:e,enumerable:!0}):n,e)),ve=e=>V(g({},"__esModule",{value:!0}),e);var $=(e,t,n)=>(be(e,typeof t!="symbol"?t+"":t,n),n);var ue=B(i=>{"use strict";var O=Symbol.for("react.element"),Ce=Symbol.for("react.portal"),Le=Symbol.for("react.fragment"),Pe=Symbol.for("react.strict_mode"),Me=Symbol.for("react.profiler"),he=Symbol.for("react.provider"),Ne=Symbol.for("react.context"),xe=Symbol.for("react.forward_ref"),we=Symbol.for("react.suspense"),De=Symbol.for("react.memo"),Fe=Symbol.for("react.lazy"),Y=Symbol.iterator;function Ke(e){return e===null||typeof e!="object"?null:(e=Y&&e[Y]||e["@@iterator"],typeof e=="function"?e:null)}var te={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ne=Object.assign,re={};function T(e,t,n){this.props=e,this.context=t,this.refs=re,this.updater=n||te}T.prototype.isReactComponent={};T.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};T.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function oe(){}oe.prototype=T.prototype;function K(e,t,n){this.props=e,this.context=t,this.refs=re,this.updater=n||te}var j=K.prototype=new oe;j.constructor=K;ne(j,T.prototype);j.isPureReactComponent=!0;var Z=Array.isArray,se=Object.prototype.hasOwnProperty,U={current:null},ie={key:!0,ref:!0,__self:!0,__source:!0};function ae(e,t,n){var r,s={},o=null,l=null;if(t!=null)for(r in t.ref!==void 0&&(l=t.ref),t.key!==void 0&&(o=""+t.key),t)se.call(t,r)&&!ie.hasOwnProperty(r)&&(s[r]=t[r]);var a=arguments.length-2;if(a===1)s.children=n;else if(1<a){for(var u=Array(a),f=0;f<a;f++)u[f]=arguments[f+2];s.children=u}if(e&&e.defaultProps)for(r in a=e.defaultProps,a)s[r]===void 0&&(s[r]=a[r]);return{$$typeof:O,type:e,key:o,ref:l,props:s,_owner:U.current}}function je(e,t){return{$$typeof:O,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function k(e){return typeof e=="object"&&e!==null&&e.$$typeof===O}function Ue(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var ee=/\/+/g;function F(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Ue(""+e.key):t.toString(36)}function P(e,t,n,r,s){var o=typeof e;(o==="undefined"||o==="boolean")&&(e=null);var l=!1;if(e===null)l=!0;else switch(o){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case O:case Ce:l=!0}}if(l)return l=e,s=s(l),e=r===""?"."+F(l,0):r,Z(s)?(n="",e!=null&&(n=e.replace(ee,"$&/")+"/"),P(s,t,n,"",function(f){return f})):s!=null&&(k(s)&&(s=je(s,n+(!s.key||l&&l.key===s.key?"":(""+s.key).replace(ee,"$&/")+"/")+e)),t.push(s)),1;if(l=0,r=r===""?".":r+":",Z(e))for(var a=0;a<e.length;a++){o=e[a];var u=r+F(o,a);l+=P(o,t,n,u,s)}else if(u=Ke(e),typeof u=="function")for(e=u.call(e),a=0;!(o=e.next()).done;)o=o.value,u=r+F(o,a++),l+=P(o,t,n,u,s);else if(o==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function L(e,t,n){if(e==null)return e;var r=[],s=0;return P(e,r,"","",function(o){return t.call(n,o,s++)}),r}function ke(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var c={current:null},M={transition:null},Ie={ReactCurrentDispatcher:c,ReactCurrentBatchConfig:M,ReactCurrentOwner:U};i.Children={map:L,forEach:function(e,t,n){L(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return L(e,function(){t++}),t},toArray:function(e){return L(e,function(t){return t})||[]},only:function(e){if(!k(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};i.Component=T;i.Fragment=Le;i.Profiler=Me;i.PureComponent=K;i.StrictMode=Pe;i.Suspense=we;i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Ie;i.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=ne({},e.props),s=e.key,o=e.ref,l=e._owner;if(t!=null){if(t.ref!==void 0&&(o=t.ref,l=U.current),t.key!==void 0&&(s=""+t.key),e.type&&e.type.defaultProps)var a=e.type.defaultProps;for(u in t)se.call(t,u)&&!ie.hasOwnProperty(u)&&(r[u]=t[u]===void 0&&a!==void 0?a[u]:t[u])}var u=arguments.length-2;if(u===1)r.children=n;else if(1<u){a=Array(u);for(var f=0;f<u;f++)a[f]=arguments[f+2];r.children=a}return{$$typeof:O,type:e.type,key:s,ref:o,props:r,_owner:l}};i.createContext=function(e){return e={$$typeof:Ne,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:he,_context:e},e.Consumer=e};i.createElement=ae;i.createFactory=function(e){var t=ae.bind(null,e);return t.type=e,t};i.createRef=function(){return{current:null}};i.forwardRef=function(e){return{$$typeof:xe,render:e}};i.isValidElement=k;i.lazy=function(e){return{$$typeof:Fe,_payload:{_status:-1,_result:e},_init:ke}};i.memo=function(e,t){return{$$typeof:De,type:e,compare:t===void 0?null:t}};i.startTransition=function(e){var t=M.transition;M.transition={};try{e()}finally{M.transition=t}};i.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")};i.useCallback=function(e,t){return c.current.useCallback(e,t)};i.useContext=function(e){return c.current.useContext(e)};i.useDebugValue=function(){};i.useDeferredValue=function(e){return c.current.useDeferredValue(e)};i.useEffect=function(e,t){return c.current.useEffect(e,t)};i.useId=function(){return c.current.useId()};i.useImperativeHandle=function(e,t,n){return c.current.useImperativeHandle(e,t,n)};i.useInsertionEffect=function(e,t){return c.current.useInsertionEffect(e,t)};i.useLayoutEffect=function(e,t){return c.current.useLayoutEffect(e,t)};i.useMemo=function(e,t){return c.current.useMemo(e,t)};i.useReducer=function(e,t,n){return c.current.useReducer(e,t,n)};i.useRef=function(e){return c.current.useRef(e)};i.useState=function(e){return c.current.useState(e)};i.useSyncExternalStore=function(e,t,n){return c.current.useSyncExternalStore(e,t,n)};i.useTransition=function(){return c.current.useTransition()};i.version="18.2.0"});var m=B((Tt,le)=>{"use strict";le.exports=ue()});var Je={};ge(Je,{createBaseElementComponent:()=>y,createElementComponent:()=>I,createFloatingElementComponent:()=>He,createFocusTrapElementComponent:()=>Ge,createFormFieldElementComponent:()=>Be,forwardRef:()=>Ve,useComponent:()=>$e,useDispatch:()=>Xe,useEventListener:()=>h,useLifeCycle:()=>H,useSafeRef:()=>We,useWindowEventListener:()=>qe});function v(...e){}var X=()=>({tc:{log:!0,onCatch:v},tcp:{log:!0,onCatch:v}});var Oe="abcdefghijklmnopqrstuvwxyz";var w="0123456789",Se="ABCDEFGHIJKLMNOPQRSTUVWXYZ",Ze=w+Oe+Se,et=w+"abcdef",tt=w+"ABCDEF";var D=/([^.])\[/g,A=/[\[\]]/g;var W=/[^a-zA-Z]/g;var _=class{};$(_,"module",X());function R(e,t=_.module.tc.log){try{return e()}catch(n){return t&&console.error(n),_.module.tc.onCatch(n,t),n}}var C=class{static get(t){let n;return n=R(()=>process.env[t],!1),n instanceof Error?"":n||""}static has(t){let n;return n=R(()=>process.env[t],!1),!(n instanceof Error||typeof n>"u")}static get import(){return new Function("path","return import(path)")}static get require(){return typeof __webpack_require__=="function"?__non_webpack_require__:typeof x=="function"?x:v}static get isBlobDefined(){return typeof Blob<"u"}static get isBlobNotDefined(){return typeof Blob>"u"}static get isDevelopment(){return this.NODE_ENV==="development"}static get isNotDevelopment(){return this.NODE_ENV!=="development"}static get isDocumentDefined(){return typeof document<"u"}static get isDocumentNotDefined(){return typeof document>"u"}static get isFetchDefined(){return typeof fetch<"u"}static get isFetchNotDefined(){return typeof fetch>"u"}static get isFileDefined(){return typeof File<"u"}static get isFileNotDefined(){return typeof File>"u"}static get isFormDataDefined(){return typeof FormData<"u"}static get isFormDataNotDefined(){return typeof FormData>"u"}static get isJest(){return typeof R(()=>process.env.JEST_WORKER_ID,!1)=="string"}static get isNotJest(){return typeof R(()=>process.env.JEST_WORKER_ID,!1)!="string"}static get isProduction(){return this.NODE_ENV==="production"}static get isNotProduction(){return this.NODE_ENV!=="production"}static get isTest(){return this.NODE_ENV==="test"}static get isNotTest(){return this.NODE_ENV!=="test"}static get isProcessDefined(){return typeof process<"u"}static get isProcessNotDefined(){return typeof process>"u"}static get isWindowDefined(){return typeof window<"u"}static get isWindowNotDefined(){return typeof window>"u"}static get NODE_ENV(){let t;return t=R(()=>"production",!1),t instanceof Error?"":t||""}};function Ae(e,t=!1){return e.charAt(0).toUpperCase()+(t?e.slice(1).toLowerCase():e.slice(1))}function q(e){let t,n;t="",n=!1;for(let r of e){if(W.test(r)){n=!0;continue}if(n){t+=r.toUpperCase(),n=!1;continue}t+=r}return Ae(t)}function J(e,t,n){switch(typeof t){case"number":case"symbol":return e[t];case"string":if(t.includes(".")){let r,s,o;return r=t.replace(D,"$1.[").split("."),s=r[r.length-1].replace(A,""),o=Q(e,r),o instanceof Error?n:o[s]}return t in e?e[t]:n}}function Q(e,t,n=!1){let r=e;for(let s=0;s<t.length;s++){let o;if(!(s>=t.length-1))switch(o=t[s],o=o.replace(A,""),typeof r[o]){case"object":if(r[o]===null)return new Error("The target value is null.");r=r[o];continue;case"undefined":if(n){r[o]=t[s+1].includes("[")?[]:{},r=r[o];continue}return new Error("The target type is undefined.");default:return new Error("The target type is nor undefined nor object.")}}return r}function z(e,t,n){switch(typeof t){case"number":case"symbol":e[t]=n;break;case"string":if(t.includes(".")){let r,s,o;if(r=t.replace(D,"$1.[").split("."),o=r[r.length-1].replace(A,""),s=Q(e,r,!0),s instanceof Error)return s;s[o]=n;break}e[t]=n;break}}var p=d(m());function I(e,t,n){return(0,p.forwardRef)((r,s)=>{r={...r};for(let E in r)r[E]===!1&&delete r[E],r[E]===!0&&(r[E]="");r.className&&(z(r,"class",r.className),delete r.className);let o=s??(0,p.createRef)(),l=(0,p.createElement)(e,{...r,ref:o,suppressHydrationWarning:!0}),[a]=(0,p.useState)(new Map),u=()=>{if(!(typeof o!="object"||!o?.current||!n))for(let E of n){let G,S;G="on"+q(String(E)),S=J(r,G),typeof S=="function"&&(o.current.addEventListener(String(E),S),a.set(String(E),S))}},f=()=>{if(!(typeof o!="object"||!o?.current))for(let E of a)o.current.removeEventListener(...E),a.delete(E[0])};return(0,p.useEffect)(()=>(f(),u(),f),[r]),l})}function y(e,t,n=[]){return I(e,t,["attribute-change","state-change",...n])}function He(e,t,n){return y(e,t,n)}function Ge(e,t,n=[]){return y(e,t,["focus-trap-activate","focus-trap-deactivate","focus-trap-post-activate","focus-trap-post-deactivate",...n])}function Be(e,t,n){return y(e,t,n)}var ce=d(m());function Ve(...e){return(0,ce.forwardRef)(e[0])}var b=d(m());var fe=d(m());function h(e,t,n,r=[]){(0,fe.useEffect)(()=>(e.current?.addEventListener(t,n),()=>e.current?.removeEventListener(t,n)),r)}function $e(e){let t=(0,b.useRef)(null),[,n]=(0,b.useReducer)(()=>({}),{}),r=o=>{e?.attribute?.dispatch===!0&&o.detail&&(e.attribute.blacklist&&e.attribute.blacklist.includes(o.detail.name)||e.attribute.whitelist&&!e.attribute.whitelist.includes(o.detail.name)||n())},s=o=>{e?.state?.dispatch===!0&&o.detail&&(e.state.blacklist&&e.state.blacklist.includes(o.detail.name)||e.state.whitelist&&!e.state.whitelist.includes(o.detail.name)||n())};return h(t,"attribute-changed",r,[t.current]),h(t,"state-changed",s,[t.current]),(0,b.useEffect)(()=>n(),[t.current]),{element:t.current,ref:t}}var Ee=d(m());var N=d(m());function H(){let e=(0,N.useRef)("CONSTRUCTED");return(0,N.useEffect)(()=>(e.current="MOUNTED",()=>{e.current="UNMOUNTED"})),e}function Xe(e){let t=H(),n=(0,Ee.useReducer)(()=>({}),{});return()=>{switch(t.current){case"CONSTRUCTED":case"UNMOUNTED":break;case"MOUNTED":n[1](),e&&e();break}}}var pe=d(m());function We(e,t){return(0,pe.useRef)(C.isWindowDefined?document.createElement(e,t):{current:{}})}var me=d(m());function qe(e,t,n=[]){(0,me.useEffect)(()=>(window.addEventListener(e,t),()=>window.removeEventListener(e,t)),n)}return ve(Je);})();
2
+ /*! Bundled license information:
3
+
4
+ react/cjs/react.production.min.js:
5
+ (**
6
+ * @license React
7
+ * react.production.min.js
8
+ *
9
+ * Copyright (c) Facebook, Inc. and its affiliates.
10
+ *
11
+ * This source code is licensed under the MIT license found in the
12
+ * LICENSE file in the root directory of this source tree.
13
+ *)
14
+ */
package/index.js CHANGED
@@ -1 +1 @@
1
- export{createBaseElementComponent}from"./functions/create.base.element.component.js";export{createElementComponent}from"./functions/create.element.component.js";export{createFloatingElementComponent}from"./functions/create.floating.element.component.js";export{createFocusTrapElementComponent}from"./functions/create.focus.trap.element.component.js";export{createFormFieldElementComponent}from"./functions/create.form.field.element.component.js";export{forwardRef}from"./functions/forward.ref.js";export{useComponent}from"./hooks/use.aracna.element.js";export{useEventListener}from"./hooks/use.event.listener.js";export{useSafeRef}from"./hooks/use.safe.ref.js";export{useWindowEventListener}from"./hooks/use.window.event.listener.js";
1
+ export*from"./definitions/props";export*from"./definitions/types";export*from"./functions/create.base.element.component";export*from"./functions/create.element.component";export*from"./functions/create.floating.element.component";export*from"./functions/create.focus.trap.element.component";export*from"./functions/create.form.field.element.component";export*from"./functions/forward.ref";export*from"./hooks/use.aracna.element";export*from"./hooks/use.dispatch";export*from"./hooks/use.event.listener";export*from"./hooks/use.life.cycle";export*from"./hooks/use.safe.ref";export*from"./hooks/use.window.event.listener";
package/package.json CHANGED
@@ -1,46 +1,48 @@
1
1
  {
2
2
  "author": "Dario Sechi",
3
3
  "devDependencies": {
4
- "@aracna/core": "^1.1.19",
5
- "@aracna/web": "^1.0.15",
6
- "@aracna/web-components": "^1.0.13",
7
- "@microsoft/api-extractor": "^7.34.7",
8
- "@rollup/plugin-strip": "^3.0.2",
9
- "@rollup/plugin-typescript": "^11.1.0",
10
- "@testing-library/react": "^14.0.0",
11
- "@types/react": "^18.2.1",
12
- "@types/react-dom": "^18.2.2",
13
- "@vitejs/plugin-react": "^4.0.0",
14
- "@vitest/coverage-c8": "^0.30.1",
15
- "@vitest/ui": "^0.30.1",
16
- "jsdom": "^22.0.0",
17
- "prettier": "^2.8.8",
18
- "react": "^18.2.0",
19
- "react-dom": "^18.2.0",
20
- "rollup": "^3.21.3",
21
- "rollup-plugin-terser": "^7.0.2",
22
- "tslib": "^2.5.0",
23
- "typedoc": "^0.24.6",
24
- "typescript": "5.0.4",
25
- "vitest": "^0.30.1"
4
+ "@aracna/core": "latest",
5
+ "@aracna/web": "latest",
6
+ "@aracna/web-components": "latest",
7
+ "@microsoft/api-extractor": "latest",
8
+ "@testing-library/react": "latest",
9
+ "@types/react": "latest",
10
+ "@types/react-dom": "latest",
11
+ "@vitejs/plugin-react": "latest",
12
+ "@vitest/coverage-c8": "latest",
13
+ "@vitest/ui": "latest",
14
+ "esbuild": "latest",
15
+ "glob": "latest",
16
+ "jsdom": "latest",
17
+ "prettier": "latest",
18
+ "react": "latest",
19
+ "react-dom": "latest",
20
+ "tslib": "latest",
21
+ "typedoc": "latest",
22
+ "typescript": "latest",
23
+ "vitest": "latest"
26
24
  },
27
25
  "license": "MIT",
28
- "main": "index.cjs",
26
+ "main": "index.cjs.js",
29
27
  "module": "index.js",
30
28
  "name": "@aracna/react",
31
29
  "peerDependencies": {
32
- "@aracna/core": ">= 1.1.14",
33
- "@aracna/web": ">= 1.0.10",
30
+ "@aracna/core": ">= 1.1.0",
31
+ "@aracna/web": ">= 1.0.0",
34
32
  "react": ">= 18.2.0",
35
- "react-dom": ">= 18.0.8"
33
+ "react-dom": ">= 18.2.0"
36
34
  },
37
35
  "repository": "https://github.com/aracna/react",
36
+ "resolutions": {
37
+ "@types/react": "18.2.5",
38
+ "@types/react-dom": "18.0.11"
39
+ },
38
40
  "scripts": {
39
41
  "test": "yarn vitest run",
40
- "build": "rm -rf dist && yarn rollup -c && yarn api-extractor run --local",
42
+ "build": "rm -rf dist && node esbuild.mjs && yarn tsc && yarn api-extractor run --local",
41
43
  "tarball": "yarn version && cp LICENSE package.json README.md dist/. && cd dist && yarn pack",
42
44
  "deploy": "yarn test && yarn build && yarn tarball && yarn publish dist/*.tgz"
43
45
  },
44
46
  "sideEffects": false,
45
- "version": "1.0.10"
47
+ "version": "1.0.11"
46
48
  }
@@ -1,12 +0,0 @@
1
- export * from './definitions/props';
2
- export * from './definitions/types';
3
- export * from './functions/create.base.element.component';
4
- export * from './functions/create.element.component';
5
- export * from './functions/create.floating.element.component';
6
- export * from './functions/create.focus.trap.element.component';
7
- export * from './functions/create.form.field.element.component';
8
- export * from './functions/forward.ref';
9
- export * from './hooks/use.aracna.element';
10
- export * from './hooks/use.event.listener';
11
- export * from './hooks/use.safe.ref';
12
- export * from './hooks/use.window.event.listener';
package/index.cjs DELETED
@@ -1 +0,0 @@
1
- "use strict";var e=require("@aracna/core"),t=require("react");function r(r,n,a){return t.forwardRef(((n,s)=>{n={...n};for(let e in n)!1===n[e]&&delete n[e],!0===n[e]&&(n[e]="");n.className&&(e.setObjectProperty(n,"class",n.className),delete n.className);const i=s??t.createRef(),c=t.createElement(r,{...n,ref:i,suppressHydrationWarning:!0}),[o]=t.useState(new Map),u=()=>{if("object"==typeof i&&i?.current)for(let e of o)i.current.removeEventListener(...e),o.delete(e[0])};return t.useEffect((()=>(u(),(()=>{if("object"==typeof i&&i?.current&&a)for(let t of a){let r,a;r="on"+e.getPascalCaseString(String(t)),a=e.getObjectProperty(n,r),"function"==typeof a&&(i.current.addEventListener(String(t),a),o.set(String(t),a))}})(),u)),[n]),c}))}function n(e,t,n=[]){return r(e,0,["attribute-change","state-change",...n])}function a(e,r,n,a=[]){t.useEffect((()=>(e.current?.addEventListener(r,n),()=>e.current?.removeEventListener(r,n))),a)}exports.createBaseElementComponent=n,exports.createElementComponent=r,exports.createFloatingElementComponent=function(e,t,r){return n(e,0,r)},exports.createFocusTrapElementComponent=function(e,t,r=[]){return n(e,0,["focus-trap-activate","focus-trap-deactivate","focus-trap-post-activate","focus-trap-post-deactivate",...r])},exports.createFormFieldElementComponent=function(e,t,r){return n(e,0,r)},exports.forwardRef=function(...e){return t.forwardRef(e[0])},exports.useComponent=function(e){const r=t.useRef(null),[,n]=t.useReducer((()=>({})),{});return a(r,"attribute-changed",(t=>{!0===e?.attribute?.dispatch&&t.detail&&(e.attribute.blacklist&&e.attribute.blacklist.includes(t.detail.name)||e.attribute.whitelist&&!e.attribute.whitelist.includes(t.detail.name)||n())}),[r.current]),a(r,"state-changed",(t=>{!0===e?.state?.dispatch&&t.detail&&(e.state.blacklist&&e.state.blacklist.includes(t.detail.name)||e.state.whitelist&&!e.state.whitelist.includes(t.detail.name)||n())}),[r.current]),t.useEffect((()=>n()),[r.current]),{element:r.current,ref:r}},exports.useEventListener=a,exports.useSafeRef=function(r,n){return t.useRef(e.Environment.isWindowDefined?document.createElement(r,n):{current:{}})},exports.useWindowEventListener=function(e,r,n=[]){t.useEffect((()=>(window.addEventListener(e,r),()=>window.removeEventListener(e,r))),n)};
File without changes