@leafer-in/state 1.4.0 → 1.4.2

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.
package/dist/state.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { decorateLeafAttr, attr, State } from '@leafer-ui/draw';
2
- import { MathHelper, State as State$1, isNull, PointerEvent, Plugin, UI, dataType } from '@leafer-ui/core';
2
+ import { State as State$1, MathHelper, isNull, PointerEvent, Plugin, UI, dataType } from '@leafer-ui/core';
3
3
 
4
4
  function stateType(defaultValue, styleName) {
5
5
  return decorateLeafAttr(defaultValue, (key) => attr({
@@ -1,2 +1,2 @@
1
- import{decorateLeafAttr as t,attr as e,State as n}from"@leafer-ui/draw";import{MathHelper as s,State as i,isNull as o,PointerEvent as l,Plugin as a,UI as r,dataType as c}from"@leafer-ui/core";function u(s,i){return t(s,(t=>e({set(e){this.__setAttr(t,e),this.waitLeafer((()=>i?n.setStyleName(this,i,e):n.set(this,e)))}})))}function f(n){return t(n,(t=>e({set(e){this.__setAttr(t,e),this.__layout.stateStyleChanged=!0}})))}function d(t,e){if(e&&!0!==e)return e;if(!t.button){let{parent:e}=t;for(let t=0;t<2;t++)if(e){if(e.button)return e;e=e.parent}}return null}function S(t,e){"object"!=typeof e&&(e=void 0),m(t,e,"in")}function y(t,e){const{normalStyle:n}=t;"object"!=typeof e&&(e=void 0),n&&(e||(e=n),m(t,e,"out"))}const h={};function m(t,e,n){const{normalStyle:l}=t;e||(e=h),e.scale&&(s.assignScale(e,e.scale),delete e.scale),e!==h&&i.canAnimate||(n=null);let a=!!n&&function(t,e,n){let s="in"===t?"transition":"transitionOut";"out"===t&&o(n[s])&&o(e[s])&&(s="transition");return o(e[s])?n[s]:e[s]}(n,e,t);const r=a?function(t,e){const n=v(e,t),s=t.animate();s&&v(n,t,s.fromStyle);return n}(t,e):void 0;i.canAnimate&&p(t)&&t.killAnimate("transition"),l&&t.set(l,"temp");const c=p(t);if(c){const{animation:s}=c;if(s){const i=t.animate(s,void 0,"animation",!0);Object.assign(c,i.endingStyle),"in"!==n||e.animation!==s?i.kill():a=!1,delete c.animation}t.normalStyle=b(c,t),t.set(c,"temp")}else t.normalStyle=void 0;if(a){const e=b(r,t);t.set(r,"temp"),t.animate([r,e],a,"transition",!0)}t.__layout.stateStyleChanged=!1}function p(t){let e;const n={},s=d(t),o=s?t.state||s.state:t.state,l=o&&t.states[o];l&&i.isState(o,t,s)&&(e=g(n,l));const a=n.selectedStyle||t.selectedStyle;if(a&&i.isSelected(t,s)&&(e=g(n,a)),i.isDisabled(t,s)){const s=n.disabledStyle||t.disabledStyle;s&&(e=g(n,s))}else{const o=n.focusStyle||t.focusStyle;o&&i.isFocus(t,s)&&(e=g(n,o));const l=n.hoverStyle||t.hoverStyle;l&&i.isHover(t,s)&&(e=g(n,l));const a=n.pressStyle||t.pressStyle;a&&i.isPress(t,s)&&(e=g(n,a))}return e?n:void 0}function b(t,e,n,s){const o=n?t:{},l=n||t;for(let t in l)s&&i.animateExcludes[t]||(o[t]=e[t]);return o}function v(t,e,n){return b(t,e,n,!0)}function g(t,e){return Object.assign(t,e),!0}function _(t,e){const n=t[e];n&&S(t,n),t.button&&D(t.children,e)}function k(t,e,n){n||(n=t.states[e]),S(t,n),t.button&&D(t.children,null,e)}function D(t,e,n){if(!t)return;let s,o;for(let l=0,a=t.length;l<a;l++){if(s=t[l],e){switch(o=!0,e){case"hoverStyle":i.isHover(s)&&(o=!1);break;case"pressStyle":i.isPress(s)&&(o=!1);break;case"focusStyle":i.isFocus(s)&&(o=!1)}o&&_(s,e)}else void 0!==n&&k(s,n);s.isBranch&&D(s.children,e,n)}}function E(t,e){const n=t[e];n&&y(t,n),t.button&&O(t.children,e)}function A(t,e,n){y(t,n),t.button&&O(t.children,null,e)}function O(t,e,n){if(!t)return;let s;for(let i=0,o=t.length;i<o;i++)s=t[i],e?E(s,e):void 0!==n&&A(s,n),s.isBranch&&O(s.children,e,n)}function w(t,e,n){let s;const i=e.leafer?e.leafer.interaction:null;if(i&&(s=i[t](e),!s&&n)){const o=d(e,n);o&&(s=i[t](o))}return s}function P(t,e,n){let s=e[t];if(!s&&n){const i=d(e,n);i&&(s=i[t])}return s}a.add("state"),i.animateExcludes={animation:1,animationOut:1,transition:1,transitionOut:1,states:1,state:1,normalStyle:1,hoverStyle:1,pressStyle:1,focusStyle:1,selectedStyle:1,disabledStyle:1},i.isState=function(t,e,n){return function(t,e,n){let s=e.states[t];if(!s&&n){const i=d(e,n);i&&(s=i.states[t])}return!!s}(t,e,n)},i.isSelected=function(t,e){return P("selected",t,e)},i.isDisabled=function(t,e){return P("disabled",t,e)},i.isFocus=function(t,e){return w("isFocus",t,e)},i.isHover=function(t,e){return w("isHover",t,e)},i.isPress=function(t,e){return w("isPress",t,e)},i.isDrag=function(t,e){return w("isDrag",t,e)},i.setStyleName=function(t,e,n){n?k(t,e,t[e]):A(t,e,t[e])},i.set=function(t,e){const n=t.states[e];n?k(t,e,n):A(t,e,n)},i.getStyle=p,i.updateStyle=m,i.updateEventStyle=function(t,e){switch(e){case l.ENTER:_(t,"hoverStyle");break;case l.LEAVE:E(t,"hoverStyle");break;case l.DOWN:_(t,"pressStyle");break;case l.UP:E(t,"pressStyle")}};const j=r.prototype;u(!1,"selectedStyle")(j,"selected"),u(!1,"disabledStyle")(j,"disabled"),f({})(j,"states"),u("")(j,"state"),c()(j,"normalStyle"),f()(j,"hoverStyle"),f()(j,"pressStyle"),f()(j,"focusStyle"),f()(j,"selectedStyle"),f()(j,"disabledStyle"),c(!1)(j,"button"),j.focus=function(t=!0){this.waitLeafer((()=>{let{focusData:e}=this.app.interaction;t?(e&&e.focus(!1),e=this):e=null,this.app.interaction.focusData=e,t?_(this,"focusStyle"):E(this,"focusStyle")}))},j.updateState=function(){i.updateStyle(this,void 0,"in")};export{f as stateStyleType,u as stateType};
1
+ import{decorateLeafAttr as t,attr as e,State as n}from"@leafer-ui/draw";import{State as s,MathHelper as i,isNull as o,PointerEvent as l,Plugin as a,UI as r,dataType as c}from"@leafer-ui/core";function u(s,i){return t(s,(t=>e({set(e){this.__setAttr(t,e),this.waitLeafer((()=>i?n.setStyleName(this,i,e):n.set(this,e)))}})))}function f(n){return t(n,(t=>e({set(e){this.__setAttr(t,e),this.__layout.stateStyleChanged=!0}})))}function d(t,e){if(e&&!0!==e)return e;if(!t.button){let{parent:e}=t;for(let t=0;t<2;t++)if(e){if(e.button)return e;e=e.parent}}return null}function S(t,e){"object"!=typeof e&&(e=void 0),m(t,e,"in")}function y(t,e){const{normalStyle:n}=t;"object"!=typeof e&&(e=void 0),n&&(e||(e=n),m(t,e,"out"))}const h={};function m(t,e,n){const{normalStyle:l}=t;e||(e=h),e.scale&&(i.assignScale(e,e.scale),delete e.scale),e!==h&&s.canAnimate||(n=null);let a=!!n&&function(t,e,n){let s="in"===t?"transition":"transitionOut";"out"===t&&o(n[s])&&o(e[s])&&(s="transition");return o(e[s])?n[s]:e[s]}(n,e,t);const r=a?function(t,e){const n=v(e,t),s=t.animate();s&&v(n,t,s.fromStyle);return n}(t,e):void 0;s.canAnimate&&p(t)&&t.killAnimate("transition"),l&&t.set(l,"temp");const c=p(t);if(c){const{animation:s}=c;if(s){const i=t.animate(s,void 0,"animation",!0);Object.assign(c,i.endingStyle),"in"!==n||e.animation!==s?i.kill():a=!1,delete c.animation}t.normalStyle=b(c,t),t.set(c,"temp")}else t.normalStyle=void 0;if(a){const e=b(r,t);t.set(r,"temp"),t.animate([r,e],a,"transition",!0)}t.__layout.stateStyleChanged=!1}function p(t){let e;const n={},i=d(t),o=i?t.state||i.state:t.state,l=o&&t.states[o];l&&s.isState(o,t,i)&&(e=g(n,l));const a=n.selectedStyle||t.selectedStyle;if(a&&s.isSelected(t,i)&&(e=g(n,a)),s.isDisabled(t,i)){const s=n.disabledStyle||t.disabledStyle;s&&(e=g(n,s))}else{const o=n.focusStyle||t.focusStyle;o&&s.isFocus(t,i)&&(e=g(n,o));const l=n.hoverStyle||t.hoverStyle;l&&s.isHover(t,i)&&(e=g(n,l));const a=n.pressStyle||t.pressStyle;a&&s.isPress(t,i)&&(e=g(n,a))}return e?n:void 0}function b(t,e,n,i){const o=n?t:{},l=n||t;for(let t in l)i&&s.animateExcludes[t]||(o[t]=e[t]);return o}function v(t,e,n){return b(t,e,n,!0)}function g(t,e){return Object.assign(t,e),!0}function _(t,e){const n=t[e];n&&S(t,n),t.button&&D(t.children,e)}function k(t,e,n){n||(n=t.states[e]),S(t,n),t.button&&D(t.children,null,e)}function D(t,e,n){if(!t)return;let i,o;for(let l=0,a=t.length;l<a;l++){if(i=t[l],e){switch(o=!0,e){case"hoverStyle":s.isHover(i)&&(o=!1);break;case"pressStyle":s.isPress(i)&&(o=!1);break;case"focusStyle":s.isFocus(i)&&(o=!1)}o&&_(i,e)}else void 0!==n&&k(i,n);i.isBranch&&D(i.children,e,n)}}function E(t,e){const n=t[e];n&&y(t,n),t.button&&O(t.children,e)}function A(t,e,n){y(t,n),t.button&&O(t.children,null,e)}function O(t,e,n){if(!t)return;let s;for(let i=0,o=t.length;i<o;i++)s=t[i],e?E(s,e):void 0!==n&&A(s,n),s.isBranch&&O(s.children,e,n)}function w(t,e,n){let s;const i=e.leafer?e.leafer.interaction:null;if(i&&(s=i[t](e),!s&&n)){const o=d(e,n);o&&(s=i[t](o))}return s}function P(t,e,n){let s=e[t];if(!s&&n){const i=d(e,n);i&&(s=i[t])}return s}a.add("state"),s.animateExcludes={animation:1,animationOut:1,transition:1,transitionOut:1,states:1,state:1,normalStyle:1,hoverStyle:1,pressStyle:1,focusStyle:1,selectedStyle:1,disabledStyle:1},s.isState=function(t,e,n){return function(t,e,n){let s=e.states[t];if(!s&&n){const i=d(e,n);i&&(s=i.states[t])}return!!s}(t,e,n)},s.isSelected=function(t,e){return P("selected",t,e)},s.isDisabled=function(t,e){return P("disabled",t,e)},s.isFocus=function(t,e){return w("isFocus",t,e)},s.isHover=function(t,e){return w("isHover",t,e)},s.isPress=function(t,e){return w("isPress",t,e)},s.isDrag=function(t,e){return w("isDrag",t,e)},s.setStyleName=function(t,e,n){n?k(t,e,t[e]):A(t,e,t[e])},s.set=function(t,e){const n=t.states[e];n?k(t,e,n):A(t,e,n)},s.getStyle=p,s.updateStyle=m,s.updateEventStyle=function(t,e){switch(e){case l.ENTER:_(t,"hoverStyle");break;case l.LEAVE:E(t,"hoverStyle");break;case l.DOWN:_(t,"pressStyle");break;case l.UP:E(t,"pressStyle")}};const j=r.prototype;u(!1,"selectedStyle")(j,"selected"),u(!1,"disabledStyle")(j,"disabled"),f({})(j,"states"),u("")(j,"state"),c()(j,"normalStyle"),f()(j,"hoverStyle"),f()(j,"pressStyle"),f()(j,"focusStyle"),f()(j,"selectedStyle"),f()(j,"disabledStyle"),c(!1)(j,"button"),j.focus=function(t=!0){this.waitLeafer((()=>{let{focusData:e}=this.app.interaction;t?(e&&e.focus(!1),e=this):e=null,this.app.interaction.focusData=e,t?_(this,"focusStyle"):E(this,"focusStyle")}))},j.updateState=function(){s.updateStyle(this,void 0,"in")};export{f as stateStyleType,u as stateType};
2
2
  //# sourceMappingURL=state.esm.min.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leafer-in/state",
3
- "version": "1.4.0",
3
+ "version": "1.4.2",
4
4
  "description": "@leafer-in/state",
5
5
  "author": "Chao (Leafer) Wan",
6
6
  "license": "MIT",
@@ -34,8 +34,8 @@
34
34
  "leaferjs"
35
35
  ],
36
36
  "peerDependencies": {
37
- "@leafer-ui/core": "^1.4.0",
38
- "@leafer-ui/interface": "^1.4.0",
39
- "@leafer-in/interface": "^1.4.0"
37
+ "@leafer-ui/core": "^1.4.2",
38
+ "@leafer-ui/interface": "^1.4.2",
39
+ "@leafer-in/interface": "^1.4.2"
40
40
  }
41
41
  }