amotify 0.3.3 → 0.3.4

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.
@@ -25,8 +25,7 @@ declare const dragEffect: {
25
25
  }) => void) => void;
26
26
  AutoScroll: (event: MouseEvent | TouchEvent) => void;
27
27
  styles: (cls: string) => string;
28
- DropArea: <P extends Box.DefaultInput>(p: {
29
- jsxElement?: React.ComponentType<P>;
28
+ DropArea: <E extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = <T extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = "div">(p: Box.Input<T>) => import("react/jsx-runtime").JSX.Element | null>(p: {
30
29
  dragInfo: {
31
30
  type: string;
32
31
  id?: string;
@@ -44,9 +43,9 @@ declare const dragEffect: {
44
43
  };
45
44
  className?: string;
46
45
  children?: React.ReactNode;
47
- } & P) => import("react/jsx-runtime").JSX.Element;
48
- DropSign: <P_1 extends Box.DefaultInput>(p: {
49
- jsxElement?: React.ComponentType<P_1> | undefined;
46
+ jsxElement?: E;
47
+ } & (E extends typeof Box ? Box.DefaultInput : Omit<React.ComponentPropsWithoutRef<E>, 'jsxElement'>)) => import("react/jsx-runtime").JSX.Element;
48
+ DropSign: <E_1 extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = <T extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = "div">(p: Box.Input<T>) => import("react/jsx-runtime").JSX.Element | null>(p: {
50
49
  dragInfo: {
51
50
  type: string;
52
51
  id?: string;
@@ -57,6 +56,7 @@ declare const dragEffect: {
57
56
  };
58
57
  className?: string | undefined;
59
58
  children?: React.ReactNode;
60
- } & P_1) => import("react/jsx-runtime").JSX.Element;
59
+ jsxElement?: E_1 | undefined;
60
+ } & (E_1 extends <T extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = "div">(p: Box.Input<T>) => import("react/jsx-runtime").JSX.Element | null ? Box.DefaultInput : Omit<React.PropsWithoutRef<React.ComponentProps<E_1>>, "jsxElement">)) => import("react/jsx-runtime").JSX.Element;
61
61
  };
62
62
  export { dragEffect };
@@ -1 +1 @@
1
- import{b as m,c as h,d as x}from"../chunk-C5N2D3ZX.js";import{jsx as A}from"react/jsx-runtime";import t from"jmini";import{Box as I}from"../atoms";import{Config as b}from".";import{DragEffectClasses as e}from"../@styles/componentClasses";const P={Start:(l,a,r)=>{a=m({horizontal:!0,vertical:!0,autoScroll:!0},a);let n=a.dragElement.cloneNode(!0),o=t(n),i=t.getCursor(a.startEvent),s=t.getScreenSize();o.addClass(e("Clone")).css({top:i.y-s.scrollY+8,left:i.x-s.scrollX+8}),t("html").addClass(e("preventScroll")),t(["."+e("DropArea"),`[data-drag-type="${l}"]`].join("")).addClass(e("isDroppable")),t(["."+e("DropArea"),`[data-drag-type="${l}"]`,`[data-drag-id="${a.originId}"]`].join("")).addClass(e("Origin")),t(["."+e("onDragging"),`[data-drag-type="${l}"]`].join("")).addClass(e("isActive")),t(b.get().appRoot).append(n).addClass(e("isDragging")).await(10).callback(()=>{o.addClass(e("isHovering"))});let d;const c=g=>{g.preventDefault(),g.stopPropagation();let p=t.getCursor(g),u=t.getScreenSize(),y=p.x-u.scrollX,E=p.y-u.scrollY,S=document.elementFromPoint(y,E),v=p.y-u.scrollY+8,D=p.x-u.scrollX+8;o.css(m(m({},a.horizontal&&{left:D}),a.vertical&&{top:v})),P.AutoScroll(g);let f=t(S).parent(["."+e("DropArea"),`[data-drag-type=${l}]`].join(""));if(t("."+e("onLanding")).removeClass(e("isLanding"),e("isActive")),!f[0]||(t("."+e("onLastLanding")).removeClass(e("isLanding"),e("isActive")),!f[0]))return;let{dragId:C,dragIdx:N,dragGroup:T}=f[0].dataset;if(f.addClass(e("isLanding")),t(["."+e("DropSign"),`[data-drag-type="${l}"]`,`[data-drag-id="${C}"]`].join("")).addClass(e("isActive")),d!=C)return d=C,t.interval.once(()=>{r({idx:Number(N||0),id:C,groupId:String(T||""),end:!1,onDropArea:!!f[0]})},30,"dragEffect.delay"),!1},L=g=>{t("html").removeClass(e("preventScroll")),t("."+e("DropArea")).removeClass(e("isDroppable"));let p=t.getCursor(g),u=t.getScreenSize(),y=p.x-u.scrollX,E=p.y-u.scrollY,S=document.elementFromPoint(y,E);t(b.get().appRoot).removeClass(e("isDragging")),o.removeClass(e("isHovering")).await(300).remove(),t("."+e("DropArea")).removeClass(e("isLanding"),e("Origin")),t("."+e("DropSign")).removeClass(e("isActive")),t.interval.abort("AutoScroll"),t(window).removeEvent(["dragEffect.touchmove","dragEffect.pointermove","dragEffect.pointerup"]);let v=t(S).parent(`[data-drag-type=${l}]`)[0],{dragId:D,dragIdx:f,dragGroup:C}=(v==null?void 0:v.dataset)||{};t.interval.once(()=>{r({idx:Number(f||0),id:D!=null?D:d,groupId:String(C||""),end:!0,onDropArea:!!v})},50,"dragEffect.delay")};t(window).onEvent("touchmove",g=>(g.preventDefault(),g.stopPropagation(),!1),{eventID:"dragEffect.touchmove",passive:!1}).onEvent("pointermove",c,{eventID:"dragEffect.pointermove",passive:!1}).onEvent("pointerup",L,{eventID:"dragEffect.pointerup"})},AutoScroll:l=>{t.interval.abort("AutoScroll");let a=t("html")[0],r=t.getScreenSize(),n=t.getCursor(l),o=(n.y-r.scrollY)/r.height,i=(n.x-r.scrollX)/r.width,s=r.height/100/2,d=null,c=null;t.scope(()=>{o<=.1&&(d=s*-1),o>=.9&&(d=s)}),t.scope(()=>{i<=.1&&(c=s*-1),i>=.9&&(c=s)}),!(t.isNullish(d)&&t.isNullish(c))&&t.interval.start(()=>{c&&(a.scrollLeft+=c),d&&(a.scrollTop+=d)},10,"AutoScroll")},styles:e,DropArea:function(l){let o=l,{jsxElement:a=I,dragInfo:r}=o,n=x(o,["jsxElement","dragInfo"]);return r.disabled?A(a,m({},n)):A(a,h(m({transition:"short",position:"relative"},n),{"data-drag-type":r.type,"data-drag-group":r.group||null,"data-drag-id":r.id||null,"data-drag-idx":r.idx||0,className:[e("DropArea"),e("on"+(r.activeOn||"landing").toCapital()),e("Marker_"+(r.marker||"bottom")),(n==null?void 0:n.className)||""].join(" ")}))},DropSign:function(l){let s=l,{jsxElement:a=I,dragInfo:{type:r,id:n,activeOn:o="landing"}}=s,i=x(s,["jsxElement","dragInfo"]);return A(a,h(m({transition:"short"},i),{"data-drag-type":r,"data-drag-id":n||null,className:[e("DropSign"),o=="always"&&e("isActive"),e("on"+o.toCapital()),(i==null?void 0:i.className)||""].join(" ")}))}};export{P as dragEffect};
1
+ import{b as m,c as h,d as S}from"../chunk-C5N2D3ZX.js";import{jsx as A}from"react/jsx-runtime";import t from"jmini";import{Box as I}from"../atoms";import{Config as b}from".";import{DragEffectClasses as e}from"../@styles/componentClasses";const L={Start:(l,a,r)=>{a=m({horizontal:!0,vertical:!0,autoScroll:!0},a);let o=a.dragElement.cloneNode(!0),n=t(o),i=t.getCursor(a.startEvent),s=t.getScreenSize();n.addClass(e("Clone")).css({top:i.y-s.scrollY+8,left:i.x-s.scrollX+8}),t("html").addClass(e("preventScroll")),t(["."+e("DropArea"),`[data-drag-type="${l}"]`].join("")).addClass(e("isDroppable")),t(["."+e("DropArea"),`[data-drag-type="${l}"]`,`[data-drag-id="${a.originId}"]`].join("")).addClass(e("Origin")),t(["."+e("onDragging"),`[data-drag-type="${l}"]`].join("")).addClass(e("isActive")),t(b.get().appRoot).append(o).addClass(e("isDragging")).await(10).callback(()=>{n.addClass(e("isHovering"))});let d;const c=g=>{g.preventDefault(),g.stopPropagation();let p=t.getCursor(g),u=t.getScreenSize(),x=p.x-u.scrollX,C=p.y-u.scrollY,D=document.elementFromPoint(x,C),v=p.y-u.scrollY+8,y=p.x-u.scrollX+8;n.css(m(m({},a.horizontal&&{left:y}),a.vertical&&{top:v})),L.AutoScroll(g);let f=t(D).parent(["."+e("DropArea"),`[data-drag-type=${l}]`].join(""));if(t("."+e("onLanding")).removeClass(e("isLanding"),e("isActive")),!f[0]||(t("."+e("onLastLanding")).removeClass(e("isLanding"),e("isActive")),!f[0]))return;let{dragId:E,dragIdx:N,dragGroup:j}=f[0].dataset;if(f.addClass(e("isLanding")),t(["."+e("DropSign"),`[data-drag-type="${l}"]`,`[data-drag-id="${E}"]`].join("")).addClass(e("isActive")),d!=E)return d=E,t.interval.once(()=>{r({idx:Number(N||0),id:E,groupId:String(j||""),end:!1,onDropArea:!!f[0]})},30,"dragEffect.delay"),!1},R=g=>{t("html").removeClass(e("preventScroll")),t("."+e("DropArea")).removeClass(e("isDroppable"));let p=t.getCursor(g),u=t.getScreenSize(),x=p.x-u.scrollX,C=p.y-u.scrollY,D=document.elementFromPoint(x,C);t(b.get().appRoot).removeClass(e("isDragging")),n.removeClass(e("isHovering")).await(300).remove(),t("."+e("DropArea")).removeClass(e("isLanding"),e("Origin")),t("."+e("DropSign")).removeClass(e("isActive")),t.interval.abort("AutoScroll"),t(window).removeEvent(["dragEffect.touchmove","dragEffect.pointermove","dragEffect.pointerup"]);let v=t(D).parent(`[data-drag-type=${l}]`)[0],{dragId:y,dragIdx:f,dragGroup:E}=(v==null?void 0:v.dataset)||{};t.interval.once(()=>{r({idx:Number(f||0),id:y!=null?y:d,groupId:String(E||""),end:!0,onDropArea:!!v})},50,"dragEffect.delay")};t(window).onEvent("touchmove",g=>(g.preventDefault(),g.stopPropagation(),!1),{eventID:"dragEffect.touchmove",passive:!1}).onEvent("pointermove",c,{eventID:"dragEffect.pointermove",passive:!1}).onEvent("pointerup",R,{eventID:"dragEffect.pointerup"})},AutoScroll:l=>{t.interval.abort("AutoScroll");let a=t("html")[0],r=t.getScreenSize(),o=t.getCursor(l),n=(o.y-r.scrollY)/r.height,i=(o.x-r.scrollX)/r.width,s=r.height/100/2,d=null,c=null;t.scope(()=>{n<=.1&&(d=s*-1),n>=.9&&(d=s)}),t.scope(()=>{i<=.1&&(c=s*-1),i>=.9&&(c=s)}),!(t.isNullish(d)&&t.isNullish(c))&&t.interval.start(()=>{c&&(a.scrollLeft+=c),d&&(a.scrollTop+=d)},10,"AutoScroll")},styles:e,DropArea:function(l){let n=l,{jsxElement:a=I,dragInfo:r}=n,o=S(n,["jsxElement","dragInfo"]);return r.disabled?A(a,m({},o)):A(a,h(m({transition:"short",position:"relative"},o),{"data-drag-type":r.type,"data-drag-group":r.group||null,"data-drag-id":r.id||null,"data-drag-idx":r.idx||0,className:[e("DropArea"),e("on"+(r.activeOn||"landing").toCapital()),e("Marker_"+(r.marker||"bottom")),(o==null?void 0:o.className)||""].join(" ")}))},DropSign:function(l){let s=l,{jsxElement:a=I,dragInfo:{type:r,id:o,activeOn:n="landing"}}=s,i=S(s,["jsxElement","dragInfo"]);return A(a,h(m({transition:"short"},i),{"data-drag-type":r,"data-drag-id":o||null,className:[e("DropSign"),n=="always"&&e("isActive"),e("on"+n.toCapital()),(i==null?void 0:i.className)||""].join(" ")}))}};export{L as dragEffect};
@@ -1,17 +1,19 @@
1
1
  /// <reference types="react" />
2
2
  import Box from './Box';
3
3
  declare namespace Card {
4
- type Input<P extends Box.DefaultInput> = P & {
5
- jsxElement?: React.ComponentType<P>;
4
+ type Input<E extends React.ElementType = typeof Box> = {
5
+ jsxElement?: E;
6
+ } & (E extends typeof Box ? Box.DefaultInput : Omit<React.ComponentPropsWithoutRef<E>, 'jsxElement'>);
7
+ type MainComponent = {
8
+ <E extends React.ElementType = typeof Box>(p: Input<E>): React.JSX.Element;
6
9
  };
7
- type MainComponent<P extends Box.DefaultInput> = React.FC<Input<P>>;
8
10
  type FNs = {
9
- Border: React.FC<Input<Box.DefaultInput>>;
10
- Plain: React.FC<Input<Box.DefaultInput>>;
11
- Cloud: React.FC<Input<Box.DefaultInput>>;
12
- Shadow: React.FC<Input<Box.DefaultInput>>;
11
+ Border: <E extends React.ElementType = typeof Box>(p: Input<E>) => React.JSX.Element;
12
+ Plain: <E extends React.ElementType = typeof Box>(p: Input<E>) => React.JSX.Element;
13
+ Cloud: <E extends React.ElementType = typeof Box>(p: Input<E>) => React.JSX.Element;
14
+ Shadow: <E extends React.ElementType = typeof Box>(p: Input<E>) => React.JSX.Element;
13
15
  };
14
- type Methods = MainComponent<Box.DefaultInput> & FNs;
16
+ type Methods = MainComponent & FNs;
15
17
  }
16
18
  declare const Card: Card.Methods;
17
19
  export { Card, Card as default };
@@ -1 +1 @@
1
- import{b as e,d as p}from"../chunk-C5N2D3ZX.js";import{jsx as n}from"react/jsx-runtime";import u from"./Box";const o=t=>{let a=t,{jsxElement:d=u}=a,r=p(a,["jsxElement"]);return n(d,e({ssCardBox:!0,padding:1.5},r))},s=Object.assign(o,{Border:t=>n(o,e({ssCardBox:"border"},t)),Plain:t=>n(o,e({ssCardBox:"plain"},t)),Cloud:t=>n(o,e({ssCardBox:"cloud"},t)),Shadow:t=>n(o,e({ssCardBox:"shadow"},t))});export{s as Card,s as default};
1
+ import{b as t,d as a}from"../chunk-C5N2D3ZX.js";import{jsx as n}from"react/jsx-runtime";import E from"./Box";const o=e=>{let p=e,{jsxElement:d=E}=p,x=a(p,["jsxElement"]);return n(d,t({ssCardBox:!0,padding:1.5},x))},s=Object.assign(o,{Border:e=>n(o,t({ssCardBox:"border"},e)),Plain:e=>n(o,t({ssCardBox:"plain"},e)),Cloud:e=>n(o,t({ssCardBox:"cloud"},e)),Shadow:e=>n(o,t({ssCardBox:"shadow"},e))});export{s as Card,s as default};
package/dist/index.d.ts CHANGED
@@ -443,8 +443,7 @@ declare const amotify: {
443
443
  }) => void) => void;
444
444
  AutoScroll: (event: MouseEvent | TouchEvent) => void;
445
445
  styles: (cls: string) => string;
446
- DropArea: <P extends atoms.Box.DefaultInput>(p: {
447
- jsxElement?: React.ComponentType<P> | undefined;
446
+ DropArea: <E extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = <T_1 extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = "div">(p: atoms.Box.Input<T_1>) => import("react/jsx-runtime").JSX.Element | null>(p: {
448
447
  dragInfo: {
449
448
  type: string;
450
449
  id?: string | undefined;
@@ -456,9 +455,9 @@ declare const amotify: {
456
455
  };
457
456
  className?: string | undefined;
458
457
  children?: React.ReactNode;
459
- } & P) => import("react/jsx-runtime").JSX.Element;
460
- DropSign: <P_1 extends atoms.Box.DefaultInput>(p: {
461
- jsxElement?: React.ComponentType<P_1> | undefined;
458
+ jsxElement?: E | undefined;
459
+ } & (E extends <T_1 extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = "div">(p: atoms.Box.Input<T_1>) => import("react/jsx-runtime").JSX.Element | null ? atoms.Box.DefaultInput : Omit<React.PropsWithoutRef<React.ComponentProps<E>>, "jsxElement">)) => import("react/jsx-runtime").JSX.Element;
460
+ DropSign: <E_1 extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = <T_1 extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = "div">(p: atoms.Box.Input<T_1>) => import("react/jsx-runtime").JSX.Element | null>(p: {
462
461
  dragInfo: {
463
462
  type: string;
464
463
  id?: string | undefined;
@@ -466,7 +465,8 @@ declare const amotify: {
466
465
  };
467
466
  className?: string | undefined;
468
467
  children?: React.ReactNode;
469
- } & P_1) => import("react/jsx-runtime").JSX.Element;
468
+ jsxElement?: E_1 | undefined;
469
+ } & (E_1 extends <T_1 extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = "div">(p: atoms.Box.Input<T_1>) => import("react/jsx-runtime").JSX.Element | null ? atoms.Box.DefaultInput : Omit<React.PropsWithoutRef<React.ComponentProps<E_1>>, "jsxElement">)) => import("react/jsx-runtime").JSX.Element;
470
470
  };
471
471
  LaunchReactApp: (p: utils.LaunchReactApp.Input) => import("react/jsx-runtime").JSX.Element;
472
472
  $$fromRoot: (args: any) => import("jmini").default.Chains;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amotify",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "UI Component for React,NextJS,esbuild",
5
5
  "scripts": {
6
6
  "start": "run-p clean build:*",