@hanzogui/button 7.3.1 → 8.0.1

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 (58) hide show
  1. package/dist/cjs/Button.cjs +82 -18
  2. package/dist/cjs/Button.native.js +88 -20
  3. package/dist/cjs/Button.native.js.map +1 -1
  4. package/dist/esm/Button.mjs +82 -18
  5. package/dist/esm/Button.mjs.map +1 -1
  6. package/dist/esm/Button.native.js +88 -20
  7. package/dist/esm/Button.native.js.map +1 -1
  8. package/dist/jsx/Button.mjs +82 -18
  9. package/dist/jsx/Button.mjs.map +1 -1
  10. package/dist/jsx/Button.native.js +88 -20
  11. package/dist/jsx/Button.native.js.map +1 -1
  12. package/package.json +18 -22
  13. package/src/Button.tsx +115 -24
  14. package/types/Button.d.ts +140 -40
  15. package/types/Button.d.ts.map +1 -1
  16. package/LICENSE +0 -42
  17. package/dist/cjs/v1/Button.cjs +0 -262
  18. package/dist/cjs/v1/Button.native.js +0 -267
  19. package/dist/cjs/v1/Button.native.js.map +0 -1
  20. package/dist/cjs/v1/Button.test.cjs +0 -9
  21. package/dist/cjs/v1/Button.test.native.js +0 -12
  22. package/dist/cjs/v1/Button.test.native.js.map +0 -1
  23. package/dist/cjs/v1/index.cjs +0 -20
  24. package/dist/cjs/v1/index.native.js +0 -23
  25. package/dist/cjs/v1/index.native.js.map +0 -1
  26. package/dist/esm/v1/Button.mjs +0 -232
  27. package/dist/esm/v1/Button.mjs.map +0 -1
  28. package/dist/esm/v1/Button.native.js +0 -234
  29. package/dist/esm/v1/Button.native.js.map +0 -1
  30. package/dist/esm/v1/Button.test.mjs +0 -10
  31. package/dist/esm/v1/Button.test.mjs.map +0 -1
  32. package/dist/esm/v1/Button.test.native.js +0 -10
  33. package/dist/esm/v1/Button.test.native.js.map +0 -1
  34. package/dist/esm/v1/index.mjs +0 -2
  35. package/dist/esm/v1/index.mjs.map +0 -1
  36. package/dist/esm/v1/index.native.js +0 -2
  37. package/dist/esm/v1/index.native.js.map +0 -1
  38. package/dist/jsx/v1/Button.mjs +0 -232
  39. package/dist/jsx/v1/Button.mjs.map +0 -1
  40. package/dist/jsx/v1/Button.native.js +0 -267
  41. package/dist/jsx/v1/Button.native.js.map +0 -1
  42. package/dist/jsx/v1/Button.test.mjs +0 -10
  43. package/dist/jsx/v1/Button.test.mjs.map +0 -1
  44. package/dist/jsx/v1/Button.test.native.js +0 -12
  45. package/dist/jsx/v1/Button.test.native.js.map +0 -1
  46. package/dist/jsx/v1/index.mjs +0 -2
  47. package/dist/jsx/v1/index.mjs.map +0 -1
  48. package/dist/jsx/v1/index.native.js +0 -23
  49. package/dist/jsx/v1/index.native.js.map +0 -1
  50. package/src/v1/Button.test.tsx +0 -21
  51. package/src/v1/Button.tsx +0 -336
  52. package/src/v1/index.ts +0 -1
  53. package/types/v1/Button.d.ts +0 -302
  54. package/types/v1/Button.d.ts.map +0 -1
  55. package/types/v1/Button.test.d.ts +0 -2
  56. package/types/v1/Button.test.d.ts.map +0 -1
  57. package/types/v1/index.d.ts +0 -2
  58. package/types/v1/index.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","Button_exports","Button","ButtonContext","module","exports","import_jsx_runtime","require","import_font_size","import_get_button_sized","import_component_helpers","import_stacks","import_text","import_web","import_react","context","createStyledContext","size","variant","color","elevation","Frame","styled","View","role","render","jsx","type","tabIndex","variants","unstyled","false","justifyContent","alignItems","flexWrap","flexDirection","cursor","backgroundColor","borderWidth","borderColor","hoverStyle","pressStyle","focusVisibleStyle","outlineColor","outlineStyle","outlineWidth","outlined","process","env","GUI_HEADLESS","circular","themeableVariants","chromeless","...size","val","extras","buttonStyle","getButtonSized","gap","getTokenValue",":number","getElevation","disabled","true","pointerEvents","defaultVariants","Text","SizableText","userSelect","flexGrow","flexShrink","ellipsis","Icon","props","children","scaleIcon","styledContext","useStyledContext","Error","sizeToken","iconColor","useCurrentColor","iconSize","getFontSize","getIcon","ButtonComponent","styleable","propsIn","ref","isNested","useContext","ButtonNestingContext","processedProps","useProps","noNormalize","noExpand","icon","iconAfter","_ref","finalSize","iconSizeNumber","themedIcon","themedIconAfter","map","icon2","wrappedChildren","wrapChildrenInText","Provider"],"sources":["../../src/Button.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","Button_exports","Button","ButtonContext","module","exports","import_jsx_runtime","require","import_font_size","import_get_button_sized","import_component_helpers","import_stacks","import_text","import_web","import_react","context","createStyledContext","size","variant","color","elevation","ellipsis","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","maxFontSizeMultiplier","textAlign","Frame","styled","View","role","render","jsx","type","tabIndex","variants","unstyled","true","outlineWidth","borderWidth","backgroundColor","false","justifyContent","alignItems","flexWrap","flexDirection","borderColor","cursor","hoverStyle","pressStyle","focusVisibleStyle","outlineColor","outlineStyle","outlined","process","env","GUI_HEADLESS","circular","themeableVariants","chromeless","...size","val","extras","buttonStyle","getButtonSized","gap","getTokenValue",":number","getElevation","disabled","pointerEvents","defaultVariants","Text","SizableText","userSelect","flexGrow","flexShrink","Icon","props","children","scaleIcon","styledContext","useStyledContext","Error","sizeToken","iconColorProp","iconColor","useCurrentColor","iconSize","getFontSize","getIcon","ButtonComponent","styleable","propsIn","ref","isNested","useContext","ButtonNestingContext","processedProps","useProps","noNormalize","noExpand","icon","iconAfter","noTextWrap","textProps","_ref","contextColor","_ref1","finalSize","iconSizeNumber","themedIcon","themedIconAfter","map","icon2","_ref2","_ref3","_ref4","_ref5","_ref6","_ref7","_ref8","_ref9","wrappedChildren","wrapChildrenInText","_ref10","_ref11","_ref12","_ref13","_ref14","_ref15","_ref16","_ref17","textContext","_props_size","_ref18","_props_variant","_ref19","_props_elevation","_ref20","buttonContext","Provider","jsxs"],"sources":["../../src/Button.tsx"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AACT,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAsB;AAC/B,IAAAC,gBAAkB,GAAAF,MAAA,CAAAG,wBAAuB;AACzC,IAAAC,iBAAS,GAAAJ,MAAA,CAAsBK,mBAAc;AAE7C,IAAAC,YAAS,GAAAN,MAAa,CAAAO,SAAA,CAAAC,cAA0B;AAEhD,IAAAC,QAAA,GAAAA,CAAAC,MAAA,EAAAC,GAAA;EACE,SAAAC,IAAA,IAAAD,GAAA,EACAZ,SAAA,CAAAW,MAAA,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAA;AACA,IACAC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EACA,IAAAF,IAAA,WAAAA,IAAA,wBAAAA,IAAA;IACA,SAAAG,GAAA,IAAAhB,iBAAA,CAAAa,IAAA,OACK,CAAAX,YAAA,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EAEPnB,SAAS,CAAAiB,EAAA,EAAAI,GAAA,EAAkB;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EA6BjB;EAnBV,OAAME,EAAA;AAAmD;AACjD,IACNM,YAAS,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AAAA,IACTE,cAAO;AAAAhB,QACP,CAAAgB,cAAW;EACXC,MAAA,EAAAA,CAAA,KAAUA,MAAA;EACVC,aAAY,EAAAA,CAAA,KAAAA;AAAA,EACZ;AAAUC,MACV,CAAAC,OAAW,GAAAP,YAAA,CAAAG,cAAA;AAAA,IACXK,kBAAY,GAAAC,OAAA;AAAA,IACZC,gBAAe,GAAAD,OAAA;AAAA,IACfE,uBAAuB,GAAAF,OAAA;AAAA,IACvBG,wBAAW,GAAAH,OAAA;AACb,IAACI,aAAA,GAAAJ,OAAA;AAED,IAAAK,WAAc,GAAAL,OAAO,iBAAM;AAAA,IACzBM,UAAA,GAAAN,OAAA;AAAA,IACAO,YAAM,GAAAP,OAAA;AAAA,IACNQ,OAAM,OAAAF,UAAA,CAAAG,mBAAA;EACNC,IAAA,OAAQ;EACRC,OAAA,OAAU;EAEVC,KAAA,OAAU;EAAAC,SACR,OAAU;EAAAC,QACR,EAAM;EAAAC,UAAA;EAAAC,QAEJ;EAAcC,SACd;EAAaC,UACb;EAAiBC,aACnB;EAAAC,qBACO;EAAAC,SACL,OAAM;AAAA;AACU,IAAAC,KAChB,OAAAhB,UAAY,CAAAiB,MAAA,EAAAjB,UAAA,CAAAkB,IAAA;EAAAhB,OACZ;EAAU3B,IAAA,EACV;EAAe4C,IAAA,EACf;EAAiBC,MACjB,iBAAa,IAAA3B,kBAAA,CAAA4B,GAAA;IAAAC,IACb;EAAa;EAEIC,QACf;EAAQC,QACV;IAAAC,QAEA;MAAYC,IACV;QAAiB;QAEnBC,YAAA;QAEAC,WAAA,EAAY;QAAAC,eACV;MAAiB;MACJC,KACf;QAEA1B,IAAA;QAAmB2B,cACjB,EAAc;QAAAC,UACd,UAAc;QAAAC,QACd,UAAc;QAChBC,aAAA;QACFL,eAAA;QACFD,WAAA;QAEAO,WAAS;QACP,eACE,EAAQ;UAGFC,MAAA;QACA;QACAC,UAAA;UAEAR,eAAY;UACVM,WAAA;QAAiB;QAEnBG,UAAA;UAEAT,eAAY;UACVM,WAAA;QAAiB;QAEnBI,iBAAA;UACFC,YAAA;UACRC,YAAA;UAEAd,YAAU;QAEV;MAEA;IAAM;IAEFtB,OAAA;MACAqC,QAAM,EAAAC,OAAM,CAAAC,GAAA,CAAAC,YAA0B;QACtChB,eAAO;QAAAD,WACF;QAAAO,WACH;QACFE,UAAA;UACFR,eAAA;UACAM,WAAY,EAAK;QACf;QACAG,UAAM,EAAM;UACZT,eAAO;UACLM,WAAG;QAAA;MACH;IACF;IAEJW,QAAA,EAAAhD,aAAA,CAAAiD,iBAAA,CAAAD,QAAA;IAEAE,UAAA,EAAWlD,aAAA,CAAAiD,iBAAA,CAAAC,UAAA;IAAA5C,IACT;MACA,WAAW,SAAA6C,CAAAC,GAAA,EAAAC,MAAA;QACb,IAAAC,WAAA,OAAAxD,uBAAA,CAAAyD,cAAA,EAAAH,GAAA,EAAAC,MAAA;QAEA,IAAAG,GAAU,OAAAtD,UAAA,CAAAuD,aAAA,EAAAL,GAAA;QACR,OAAM;UACJ,GAAAE,WAAe;UAAAE;QAEf;MACF;MACF,oBAAAE,CAAAN,GAAA,EAAAC,MAAA;QACF,IAAAC,WAAA,OAAAxD,uBAAA,CAAAyD,cAAA,EAAAH,GAAA,EAAAC,MAAA;QAEA,IAAAG,GAAA,GAAAJ,GAAiB;QACf,OAAU;UACZ,GAAAE,WAAA;UACDE;QAEK;MACJ;IAEA;IACE/C,SAAA,EAAU;MACR,SAAO,EAAAT,aAAA,CAAA2D,YAAA;MAAA,SACL,EAAA3D,aAAY,CAAA2D;IAAA;IAAAC,QAEZ;MAAUhC,IACV;QACAiC,aAAU;QACV;QAEA,iBAAiB;MAAA;IACP;EACV;EACFC,eACF;IACFnC,QAAA,EAAAkB,OAAA,CAAAC,GAAA,CAAAC,YAAA;EAEA;AAAiB;AACwB,IACzCgB,IAAA,OAAA7D,UAAA,CAAAiB,MAAA,EAAAlB,WAAA,CAAA+D,WAAA;EACD5D,OAAA;EAEDsB,QAAM;IAKJC,QAAQ;MACRK,KAAM;QACDiC,UAAA,QAAe;QAClB;QACFC,QAAA;QAEMC,UAAA,EAAY;QACZzD,QAAA;QAIAF,KAAA,UAAY;QAEZ,eACH;UAGI8B,MAAA,EAAQ;QACb;MACA;IACD;EACH;EAEOwB,eAAM;IAKXnC,QAAM,EAAAkB,OAAA,CAAAC,GAAA,CAAAC,YAAA;EACN;AAAS,EACT;AACF,IAACqB,IAAA,YAAAA,CAAAC,KAAA;EAsBD,IAAM;IAAAC,QAAA;IAAAC,SAAkB,GAAM;IAAAjE;EAAA,IAA6B+D,KAAA;EACzD,IAAAG,aAAiB,GAAApE,OAAA,CAAWqE,gBAAA;EAG5B,KAAAD,aAAM;IACJ,UAAAE,KAAa;EAAA;EAEf,IAACC,SAAA,GAAArE,IAAA,aAAAA,IAAA,cAAAA,IAAA,GAAAkE,aAAA,CAAAlE,IAAA;EAED,IAAAsE,aAAM,GAAAJ,aAAA,CAAAhE,KAAA,uBAAAgE,aAAA,CAAAhE,KAAA,yBAAAgE,aAAA,CAAAhE,KAAA;EAAA,IACJqE,SAAA,OAAA9E,wBAAA,CAAA+E,eAAA,EAAAF,aAAA;EAAA,IACAG,QAAA,WAAAJ,SAAA,gBAAAA,SAAA,aAAA9E,gBAAA,CAAAmF,WAAA,EAAAL,SAAA,KAAAJ,SAAA;EAAA,OACA,IAAAxE,wBAAA,CAAAkF,OAAA,EAAAX,QAAA;IACAhE,IAAA,EAAAyE,QAAA;IACAvE,KAAA,EAAAqE;EAAY,EACZ;AAAA;AACA,IACArF,aAAA,OAAAU,UAAA,CAAAG,mBAAA;EAAAC,IACA;EAAAC,OACA;EAAAC,KACA;AAAA;AACA,IACA0E,eAAA,GAAAhE,KAAA,CAAAiE,SAAA,WAAAC,OAAA,EAAAC,GAAA;EAAA,IACAC,QAAA,OAAAnF,YAAA,CAAAoF,UAAA,EAAAvF,aAAA,CAAAwF,oBAAA;EAAA,IACAC,cAAA,OAAAvF,UAAA,CAAAwF,QAAA,EAAAN,OAAA;IACAO,WAAA;IACAC,QAAG;EACL;EAEA;IAAMtB,QAAO;IAAAS,QAAQ;IAAAc,IAAS;IAAAC,SAAQ;IAAAvB,SAAW;IAAYwB,UAAA;IAAAC,SAAA;IAAAxF,KAAA;IAAAE,QAAA;IAAAC,UAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC,UAAA;IAAAC,aAAA;IAAAC,qBAAA;IAAAC,SAAA;IAAA,GAAAoD;EAAA,IAAAoB,cAAA;EAE7D,IAAAnF,IAAM,GAAA8E,OAAA,CAAA9E,IAAgB,KAAA8E,OAAQ,CAAAzD,QAAA,GAAiB;EAC/C,IAAA6C,aAAM,GAAApE,OAAe,CAAAqE,gBAAiB;EACtC,IAAAwB,IAAM;EAIN,IAAAC,YAAM,GAAY,CAAAD,IAAA,GAAAzF,KAAA,KAAgB,QAAAA,KAAa,cAAAA,KAAA,GAAA4E,OAAA,CAAA5E,KAAA,cAAAyF,IAAA,cAAAA,IAAA,GAAAzB,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAAhE,KAAA;EAC/C,IAAAoE,aAAM,GAAYsB,YAAY,YAAQ,WAAeA,YAAA,yBAAAA,YAAA;EACrD,IAAArB,SAAM,OAAA9E,wBACI,CAAc+E,eAAW,EAAAF,aAAkB;EAGrD,IAAAuB,KAAO;EACL,IAAAC,SAAW,IAAAD,KAAO,GAAApB,QAAA,aAAAA,QAAA,cAAAA,QAAA,GAAAzE,IAAA,cAAA6F,KAAA,cAAAA,KAAA,GAAA3B,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAAlE,IAAA;EAClB,IAAA+F,cAAe,WAAMD,SAAA,gBAAAA,SAAA,aAAAvG,gBAAA,CAAAmF,WAAA,EAAAoB,SAAA,KAAA7B,SAAA;EAAA,IACnB,CAAA+B,UAAM,EAAAC,eAAA,KAAAV,IACN,EAAOC,SAAA,EAETU,GAAC,WAAAC,KAAA;IACF,KAAAA,KAAA;IAED,OAAM,IAAA1G,wBAAkB,CAAAkF,OAAA,EAAAwB,KAAA;MACtBnG,IAAA,EAAA+F,cAAA;MACA7F,KAAA,EAAAqE;IAAA,EACE;EAAA;EACO,IACP6B,KAAA,EAAAC,KAAU,EAAAC,KAAA,EAAAC,KAAY,EAAAC,KAAQ,EAAAC,KAAA,EAAYC,KAAA,EAAAC,KAAA;EAAe,IACzDC,eAAY,OAAAjH,WAAc,CAAQkH,kBAAc,EAAApD,IAAA;IAAeO,QAC/D;IAAyD9D,KACzD,EAAA0F,YAAW;IAAiDxF,QAC5D,GAAAgG,KAAY,GAAAhG,QAAA,KAAc,IAAQ,IAAAA,QAAA,KAAc,SAAAA,QAAe,GAAA0E,OAAA,CAAA1E,QAAA,cAAAgG,KAAA,cAAAA,KAAA,GAAAlC,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAA9D,QAAA;IAAAC,UAC/D,GAAAgG,KACE,GAAAhG,UAAA,KAAiB,QAAQA,UAAA,KAAiB,SAAAA,UAAe,GAAAyE,OAAA,CAAAzE,UAAA,cAAAgG,KAAA,cAAAA,KAAA,GAAAnC,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAA7D,UAAA;IAAAC,QAC3D,GAAAgG,KAAA,GAAAhG,QACE,aAAAA,QAAA,KACA,KAAQ,IAAAA,QAAA,GAAAwE,OAAA,CAAAxE,QACR,UAAe,IAAAgG,KAAA,cAAAA,KAAA,GAAApC,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAA5D,QAAA;IAAAC,SACjB,GAAAgG,KAAY,GAAAhG,SAAc,SAAQ,IAAAA,SAAA,cAAAA,SAAA,GAAAuE,OAAA,CAAAvE,SAAA,cAAAgG,KAAA,cAAAA,KAAA,GAAArC,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAA3D,SAAA;IAAAC,UAClC,GAAWgG,KAAA,GAAAhG,UAAa,KAAQ,QAAAA,UAAa,UAAe,IAAAA,UAAA,GAAAsE,OAAA,CAAAtE,UAAA,cAAAgG,KAAA,cAAAA,KAAA,GAAAtC,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAA1D,UAAA;IAAAC,aACjD,GAAAgG,KAAA,GAAAhG,aAAqB,aAAAA,aAAA,cAAAA,aAAA,GAAAqE,OAAA,CAAArE,aAAA,cAAAgG,KAAA,cAAAA,KAAA,GAAAvC,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAAzD,aAAA;IAClCC,qBAAA,GAAAgG,KAAA,GAAAhG,qBAAA,aAAAA,qBAAA,cAAAA,qBAAA,GAAAoE,OAAA,CAAApE,qBAAA,cAAAgG,KAAA,cAAAA,KAAA,GAAAxC,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAAxD,qBAAA;IACA+E,UAAA,EAAAA,UAAA,aAAAA,UAAA,cAAAA,UAAA,GAAAX,OAAA,CAAAW,UAAA;IAAA9E,SACE,GAAUgG,KAAA,GAAQhG,SAAI,aAAiBA,SAAA,cAAAA,SAAA,GAAAmE,OAAA,CAAAnE,SAAA,cAAAgG,KAAA,cAAAA,KAAA,GAAAzC,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAAvD,SAAA;IAAA+E,SACjC,EAAAA,SAAA,KAAa,QAAAA,SAAe,cAAAA,SAAA,GAAAZ,OAAA,CAAAY;EAAA,GACpC;IACFrE,QAAA,EAAAkB,OAAA,CAAAC,GAAA,CAAAC,YAAA;IAEAzC,IAAM,EAAA8F,SAAA,KAAiC,QAAAA,SAAA,cAAAA,SAAA,GAAA5B,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAAlE;EAAA,EACrC;EAAO,IACP8G,MAAA,EAAUC,MAAA,EAAAC,MAAY,EAAAC,MAAQ,EAAAC,MAAA,EAAYC,MAAA,EAAAC,MAAA,EAAeC,MAAA;EAAA,IACzDC,WAAY;IACZpH,KAAA,EAAA0F,YAAU;IACVxF,QAAA,GAAW0G,MAAA,GAAA1G,QAAa,KAAQ,QAAAA,QAAa,WAAe,GAAAA,QAAA,GAAA0E,OAAA,CAAA1E,QAAA,cAAA0G,MAAA,cAAAA,MAAA,GAAA5C,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAA9D,QAAA;IAC5DC,UAAA,EAAY,CAAA0G,MAAA,GAAA1G,UAAc,KAAQ,QAAAA,UAAc,UAAe,IAAAA,UAAA,GAAAyE,OAAA,CAAAzE,UAAA,cAAA0G,MAAA,cAAAA,MAAA,GAAA7C,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAA7D,UAAA;IAC/DC,QAAA,GAAA0G,MAAe,GAAA1G,QAAA,KAAiB,QAAQA,QAAA,UAAiB,IAAAA,QAAA,GAAewE,OAAA,CAAAxE,QAAA,cAAA0G,MAAA,cAAAA,MAAA,GAAA9C,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAA5D,QAAA;IACxEC,SAAA,GAAA0G,MAAA,GAAA1G,SACE,aAAAA,SACA,KAAQ,SAAAA,SAAA,GAAAuE,OACR,CAAAvE,SAAA,MAAe,QAAA0G,MAAA,cAAAA,MAAA,GAAA/C,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAA3D,SAAA;IACjBC,UAAA,EAAW,CAAA0G,MAAA,GAAA1G,UAAqB,aAAaA,UAAA,KAAe,SAAAA,UAAA,GAAAsE,OAAA,CAAAtE,UAAA,cAAA0G,MAAA,cAAAA,MAAA,GAAAhD,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAA1D,UAAA;IAC9DC,aAAA,GAAA0G,MAAA,GAAA1G,aAAA,aAAAA,aAAA,cAAAA,aAAA,GAAAqE,OAAA,CAAArE,aAAA,cAAA0G,MAAA,cAAAA,MAAA,GAAAjD,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAAzD,aAAA;IAEAC,qBAA2C,GAAA0G,MAAA,GAAA1G,qBAAA,aAAAA,qBAAA,cAAAA,qBAAA,GAAAoE,OAAA,CAAApE,qBAAA,cAAA0G,MAAA,cAAAA,MAAA,GAAAlD,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAAxD,qBAAA;IACzCC,SAAG,GAAA0G,MAAA,GAAA1G,SAAA,aAAAA,SAAA,cAAAA,SAAA,GAAAmE,OAAA,CAAAnE,SAAA,cAAA0G,MAAA,cAAAA,MAAA,GAAAnD,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAAvD;EAAA;EACA,IACH4G,WAAY,EAAAC,MAAQ,EAAAC,cAAgB,EAAAC,MAAA,EAAAC,gBAAe,EAAAC,MAAA;EAAA,IACnDC,aAAe;IACf,GAAA3D,aAAW;IACb,GAAAoD,WAAA;IAEAtH,IAAA,EACE,CAAAwH,MAAA,IAAAD,WAAC,GAAAxD,KAAA,CAAA/D,IAAA,MAAqB,QAAAuH,WAAgB,KACpC,SAAAA,WAAA,GAAAzC,OAAC,CAAA9E,IAAA,MAAQ,QAARwH,MAAqB,cACpBA,MAAA,GAAAtD,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAAlE,IAAA;IAACC,OAAA,GAAAyH,MAAA,IAAAD,cAAA,GAAA1D,KAAA,CAAA9D,OAAA,cAAAwH,cAAA,cAAAA,cAAA,GAAA3C,OAAA,CAAA7E,OAAA,cAAAyH,MAAA,cAAAA,MAAA,GAAAxD,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAAjE,OAAA;IAAAE,SAAA,GAAAyH,MAAA,IAAAD,gBAAA,GAAA5D,KAAA,CAAA5D,SAAA,cAAAwH,gBAAA,cAAAA,gBAAA,GAAA7C,OAAA,CAAA3E,SAAA,cAAAyH,MAAA,cAAAA,MAAA,GAAA1D,aAAA,aAAAA,aAAA,uBAAAA,aAAA,CAAA/D;EAAA;EACC,OACI,mBAAAd,kBAAA,CAAA4B,GAAA,EAAAvB,aAAA,CAAAwF,oBAAA,CAAA4C,QAAA;IAAA/I,KACC;IAA6BiF,QAE7B,iBAAmB,IAAA3E,kBAAuB,CAAA4B,GAAA,EAAAnB,OAAA,CAAAgI,QAAA;MAC/C,GAAAD,aAAU;MAET7D,QAAA,qBAAA3E,kBAAA,CAAA0I,IAAA,EAAAnH,KAAA;QAAAmE,GAAA;QACA,GAAAhB,KAAA;QACA,IAAAiB,QAAA;UAAAhE,MAAA;QAAA;QAGP;QAEH,IAAA+C,KAAA,CAAArB,QAAA,KAAAoC,OAAA,CAAA9E,IAAA;UAEYA;QACX,CAAO;QACPmB,QAAA;QACA6C,QAAA,GACAgC,UAAA,EACDY,eAAA,E","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanzogui/button",
3
- "version": "7.3.1",
3
+ "version": "8.0.1",
4
4
  "gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
5
5
  "source": "src/index.ts",
6
6
  "files": [
@@ -9,9 +9,7 @@
9
9
  "dist"
10
10
  ],
11
11
  "type": "module",
12
- "sideEffects": [
13
- "*.css"
14
- ],
12
+ "sideEffects": false,
15
13
  "main": "dist/cjs",
16
14
  "module": "dist/esm",
17
15
  "types": "./types/index.d.ts",
@@ -31,32 +29,30 @@
31
29
  "access": "public"
32
30
  },
33
31
  "scripts": {
34
- "build": "gui-build",
35
- "watch": "gui-build --watch",
36
- "clean": "gui-build clean",
37
- "clean:build": "gui-build clean:build"
32
+ "build": "hanzogui-build",
33
+ "watch": "hanzogui-build --watch",
34
+ "clean": "hanzogui-build clean",
35
+ "clean:build": "hanzogui-build clean:build"
38
36
  },
39
37
  "dependencies": {
40
- "@hanzogui/config-default": "7.3.1",
41
- "@hanzogui/core": "7.3.1",
42
- "@hanzogui/get-button-sized": "7.3.1",
43
- "@hanzogui/helpers": "7.3.1",
44
- "@hanzogui/component-helpers": "7.3.1",
45
- "@hanzogui/spacer": "7.3.1",
46
- "@hanzogui/stacks": "7.3.1",
47
- "@hanzogui/text": "7.3.1",
48
- "@hanzogui/font-size": "7.3.1",
49
- "@hanzogui/web": "7.3.1"
38
+ "@hanzogui/config-default": "8.0.1",
39
+ "@hanzogui/core": "8.0.1",
40
+ "@hanzogui/get-button-sized": "8.0.0",
41
+ "@hanzogui/helpers": "8.0.0",
42
+ "@hanzogui/component-helpers": "8.0.0",
43
+ "@hanzogui/spacer": "8.0.0",
44
+ "@hanzogui/stacks": "8.0.1",
45
+ "@hanzogui/text": "8.0.0",
46
+ "@hanzogui/font-size": "8.0.1",
47
+ "@hanzogui/web": "8.0.0"
50
48
  },
51
49
  "devDependencies": {
52
- "@hanzogui/build": "7.3.1",
50
+ "@hanzogui/build": "8.0.0",
53
51
  "react": ">=19",
54
52
  "vitest": "4.0.4"
55
53
  },
56
54
  "peerDependencies": {
57
55
  "react": ">=19"
58
56
  },
59
- "module:jsx": "dist/jsx",
60
- "license": "BSD-3-Clause",
61
- "author": "Hanzo AI <dev@hanzo.ai>"
57
+ "module:jsx": "dist/jsx"
62
58
  }
package/src/Button.tsx CHANGED
@@ -2,8 +2,9 @@ import { getFontSize } from '@hanzogui/font-size'
2
2
  import { getButtonSized } from '@hanzogui/get-button-sized'
3
3
  import { getIcon, useCurrentColor } from '@hanzogui/component-helpers'
4
4
  import { ButtonNestingContext, getElevation, themeableVariants } from '@hanzogui/stacks'
5
+ import type { TextContextStyles, TextParentStyles } from '@hanzogui/text'
5
6
  import { SizableText, wrapChildrenInText } from '@hanzogui/text'
6
- import type { ColorTokens, GetProps, SizeTokens, Token } from '@hanzogui/web'
7
+ import type { GetProps, SizeTokens, Token } from '@hanzogui/web'
7
8
  import {
8
9
  createStyledContext,
9
10
  getTokenValue,
@@ -17,16 +18,25 @@ import { useContext } from 'react'
17
18
 
18
19
  type ButtonVariant = 'outlined'
19
20
 
20
- const context = createStyledContext<{
21
+ type ButtonContextStyles = TextContextStyles & {
21
22
  size?: SizeTokens
22
23
  variant?: ButtonVariant
23
- color?: ColorTokens | string
24
24
  elevation?: SizeTokens | number
25
- }>({
25
+ }
26
+
27
+ const context = createStyledContext<ButtonContextStyles>({
26
28
  size: undefined,
27
29
  variant: undefined,
28
30
  color: undefined,
29
31
  elevation: undefined,
32
+ ellipsis: undefined,
33
+ fontFamily: undefined,
34
+ fontSize: undefined,
35
+ fontStyle: undefined,
36
+ fontWeight: undefined,
37
+ letterSpacing: undefined,
38
+ maxFontSizeMultiplier: undefined,
39
+ textAlign: undefined,
30
40
  })
31
41
 
32
42
  const Frame = styled(View, {
@@ -38,17 +48,26 @@ const Frame = styled(View, {
38
48
 
39
49
  variants: {
40
50
  unstyled: {
51
+ true: {
52
+ // reset browser <button> defaults
53
+ outlineWidth: 0,
54
+ borderWidth: 0,
55
+ backgroundColor: 'transparent',
56
+ },
41
57
  false: {
42
58
  size: '$true',
43
59
  justifyContent: 'center',
44
60
  alignItems: 'center',
45
61
  flexWrap: 'nowrap',
46
62
  flexDirection: 'row',
47
- cursor: 'pointer',
48
63
  backgroundColor: '$background',
49
64
  borderWidth: 1,
50
65
  borderColor: 'transparent',
51
66
 
67
+ '$platform-web': {
68
+ cursor: 'pointer',
69
+ },
70
+
52
71
  hoverStyle: {
53
72
  backgroundColor: '$backgroundHover',
54
73
  borderColor: '$borderColorHover',
@@ -137,12 +156,15 @@ const Text = styled(SizableText, {
137
156
  unstyled: {
138
157
  false: {
139
158
  userSelect: 'none',
140
- cursor: 'pointer',
141
159
  // flexGrow 1 leads to inconsistent native style where text pushes to start of view
142
160
  flexGrow: 0,
143
161
  flexShrink: 1,
144
162
  ellipsis: true,
145
163
  color: '$color',
164
+
165
+ '$platform-web': {
166
+ cursor: 'pointer',
167
+ },
146
168
  },
147
169
  },
148
170
  } as const,
@@ -164,7 +186,11 @@ const Icon = (props: {
164
186
  }
165
187
 
166
188
  const sizeToken = size ?? styledContext.size
167
- const iconColor = useCurrentColor(styledContext.color)
189
+ const iconColorProp =
190
+ styledContext.color === 'unset' || typeof styledContext.color === 'number'
191
+ ? undefined
192
+ : styledContext.color
193
+ const iconColor = useCurrentColor(iconColorProp)
168
194
 
169
195
  const iconSize =
170
196
  (typeof sizeToken === 'number' ? sizeToken * 0.5 : getFontSize(sizeToken as Token)) *
@@ -179,7 +205,7 @@ const Icon = (props: {
179
205
  export const ButtonContext = createStyledContext<{
180
206
  size?: SizeTokens
181
207
  variant?: ButtonVariant
182
- color?: ColorTokens | string
208
+ color?: ButtonContextStyles['color']
183
209
  }>({
184
210
  size: undefined,
185
211
  variant: undefined,
@@ -188,7 +214,7 @@ export const ButtonContext = createStyledContext<{
188
214
 
189
215
  type IconProp = JSX.Element | FunctionComponent<{ color?: any; size?: any }> | null
190
216
 
191
- type ButtonExtraProps = {
217
+ type ButtonExtraProps = TextParentStyles & {
192
218
  icon?: IconProp
193
219
  iconAfter?: IconProp
194
220
  scaleIcon?: number
@@ -215,12 +241,35 @@ const ButtonComponent = Frame.styleable<ButtonExtraProps>((propsIn, ref) => {
215
241
  noExpand: true,
216
242
  })
217
243
 
218
- const { children, iconSize, icon, iconAfter, scaleIcon = 1, ...props } = processedProps
244
+ const {
245
+ children,
246
+ iconSize,
247
+ icon,
248
+ iconAfter,
249
+ scaleIcon = 1,
250
+ noTextWrap,
251
+ textProps,
252
+ color,
253
+ ellipsis,
254
+ fontFamily,
255
+ fontSize,
256
+ fontStyle,
257
+ fontWeight,
258
+ letterSpacing,
259
+ maxFontSizeMultiplier,
260
+ textAlign,
261
+ ...props
262
+ } = processedProps
219
263
 
220
264
  const size = propsIn.size || (propsIn.unstyled ? undefined : '$true')
221
265
 
222
266
  const styledContext = context.useStyledContext()
223
- const iconColor = useCurrentColor(styledContext?.color)
267
+ const contextColor = color ?? propsIn.color ?? styledContext?.color
268
+ const iconColorProp =
269
+ contextColor === 'unset' || typeof contextColor === 'number'
270
+ ? undefined
271
+ : contextColor
272
+ const iconColor = useCurrentColor(iconColorProp)
224
273
  const finalSize = iconSize ?? size ?? styledContext?.size
225
274
  const iconSizeNumber =
226
275
  (typeof finalSize === 'number' ? finalSize * 0.5 : getFontSize(finalSize as Token)) *
@@ -237,27 +286,69 @@ const ButtonComponent = Frame.styleable<ButtonExtraProps>((propsIn, ref) => {
237
286
 
238
287
  const wrappedChildren = wrapChildrenInText(
239
288
  Text,
240
- { children },
289
+ {
290
+ children,
291
+ color: contextColor,
292
+ ellipsis: ellipsis ?? propsIn.ellipsis ?? styledContext?.ellipsis,
293
+ fontFamily: fontFamily ?? propsIn.fontFamily ?? styledContext?.fontFamily,
294
+ fontSize: fontSize ?? propsIn.fontSize ?? styledContext?.fontSize,
295
+ fontStyle: fontStyle ?? propsIn.fontStyle ?? styledContext?.fontStyle,
296
+ fontWeight: fontWeight ?? propsIn.fontWeight ?? styledContext?.fontWeight,
297
+ letterSpacing:
298
+ letterSpacing ?? propsIn.letterSpacing ?? styledContext?.letterSpacing,
299
+ maxFontSizeMultiplier:
300
+ maxFontSizeMultiplier ??
301
+ propsIn.maxFontSizeMultiplier ??
302
+ styledContext?.maxFontSizeMultiplier,
303
+ noTextWrap: noTextWrap ?? propsIn.noTextWrap,
304
+ textAlign: textAlign ?? propsIn.textAlign ?? styledContext?.textAlign,
305
+ textProps: textProps ?? propsIn.textProps,
306
+ },
241
307
  {
242
308
  unstyled: process.env.GUI_HEADLESS === '1',
243
309
  size: finalSize ?? styledContext?.size,
244
310
  }
245
311
  )
246
312
 
313
+ const textContext: TextContextStyles = {
314
+ color: contextColor,
315
+ ellipsis: ellipsis ?? propsIn.ellipsis ?? styledContext?.ellipsis,
316
+ fontFamily: fontFamily ?? propsIn.fontFamily ?? styledContext?.fontFamily,
317
+ fontSize: fontSize ?? propsIn.fontSize ?? styledContext?.fontSize,
318
+ fontStyle: fontStyle ?? propsIn.fontStyle ?? styledContext?.fontStyle,
319
+ fontWeight: fontWeight ?? propsIn.fontWeight ?? styledContext?.fontWeight,
320
+ letterSpacing: letterSpacing ?? propsIn.letterSpacing ?? styledContext?.letterSpacing,
321
+ maxFontSizeMultiplier:
322
+ maxFontSizeMultiplier ??
323
+ propsIn.maxFontSizeMultiplier ??
324
+ styledContext?.maxFontSizeMultiplier,
325
+ textAlign: textAlign ?? propsIn.textAlign ?? styledContext?.textAlign,
326
+ }
327
+
328
+ const buttonContext: ButtonContextStyles = {
329
+ ...styledContext,
330
+ ...textContext,
331
+ size: props.size ?? propsIn.size ?? styledContext?.size,
332
+ variant: props.variant ?? propsIn.variant ?? styledContext?.variant,
333
+ elevation: props.elevation ?? propsIn.elevation ?? styledContext?.elevation,
334
+ }
335
+
247
336
  return (
248
337
  <ButtonNestingContext.Provider value={true}>
249
- <Frame
250
- ref={ref}
251
- {...props}
252
- {...(isNested && { render: 'span' })}
253
- // Pass resolved size to circular variant when no explicit size provided
254
- {...(props.circular && !propsIn.size && { size })}
255
- tabIndex={0}
256
- >
257
- {themedIcon}
258
- {wrappedChildren}
259
- {themedIconAfter}
260
- </Frame>
338
+ <context.Provider {...buttonContext}>
339
+ <Frame
340
+ ref={ref}
341
+ {...props}
342
+ {...(isNested && { render: 'span' })}
343
+ // pass resolved size to circular variant when no explicit size provided
344
+ {...(props.circular && !propsIn.size && { size })}
345
+ tabIndex={0}
346
+ >
347
+ {themedIcon}
348
+ {wrappedChildren}
349
+ {themedIconAfter}
350
+ </Frame>
351
+ </context.Provider>
261
352
  </ButtonNestingContext.Provider>
262
353
  )
263
354
  })
package/types/Button.d.ts CHANGED
@@ -1,21 +1,38 @@
1
- import type { ColorTokens, GetProps, SizeTokens } from '@hanzogui/web';
1
+ import type { TextContextStyles } from '@hanzogui/text';
2
+ import type { GetProps, SizeTokens } from '@hanzogui/web';
2
3
  import type { FunctionComponent, JSX } from 'react';
3
4
  type ButtonVariant = 'outlined';
5
+ type ButtonContextStyles = TextContextStyles & {
6
+ size?: SizeTokens;
7
+ variant?: ButtonVariant;
8
+ elevation?: SizeTokens | number;
9
+ };
4
10
  export declare const ButtonContext: import("@hanzogui/web").StyledContext<{
5
11
  size?: SizeTokens;
6
12
  variant?: ButtonVariant;
7
- color?: ColorTokens | string;
13
+ color?: ButtonContextStyles["color"];
8
14
  }>;
9
15
  type IconProp = JSX.Element | FunctionComponent<{
10
16
  color?: any;
11
17
  size?: any;
12
18
  }> | null;
13
- type ButtonExtraProps = {
19
+ declare const ButtonComponent: import("@hanzogui/web").GuiComponent<Omit<import("@hanzogui/web").GetFinalProps<import("@hanzogui/web").StackNonStyleProps, import("@hanzogui/web").StackStyleBase, {
20
+ size?: number | SizeTokens | undefined;
21
+ variant?: "outlined" | undefined;
22
+ disabled?: boolean | undefined;
23
+ unstyled?: boolean | undefined;
24
+ elevation?: number | SizeTokens | undefined;
25
+ circular?: boolean | undefined;
26
+ chromeless?: boolean | "all" | undefined;
27
+ }>, "form" | "name" | "value" | keyof TextContextStyles | "textProps" | "noTextWrap" | "icon" | "iconAfter" | "scaleIcon" | "iconSize" | "type" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget"> & TextContextStyles & {
28
+ textProps?: Partial<import("@hanzogui/text").SizableTextProps>;
29
+ noTextWrap?: boolean;
30
+ } & {
14
31
  icon?: IconProp;
15
32
  iconAfter?: IconProp;
16
33
  scaleIcon?: number;
17
34
  iconSize?: SizeTokens;
18
- type?: 'submit' | 'reset' | 'button';
35
+ type?: "submit" | "reset" | "button";
19
36
  form?: string;
20
37
  formAction?: string;
21
38
  formEncType?: string;
@@ -24,89 +41,172 @@ type ButtonExtraProps = {
24
41
  formTarget?: string;
25
42
  name?: string;
26
43
  value?: string | readonly string[] | number;
27
- };
28
- declare const ButtonComponent: import("@hanzogui/web").GuiComponent<Omit<import("@hanzogui/web").GetFinalProps<import("@hanzogui/web").StackNonStyleProps, import("@hanzogui/web").StackStyleBase, {
44
+ }, import("@hanzogui/web").GuiElement, import("@hanzogui/web").StackNonStyleProps & TextContextStyles & {
45
+ textProps?: Partial<import("@hanzogui/text").SizableTextProps>;
46
+ noTextWrap?: boolean;
47
+ } & {
48
+ icon?: IconProp;
49
+ iconAfter?: IconProp;
50
+ scaleIcon?: number;
51
+ iconSize?: SizeTokens;
52
+ type?: "submit" | "reset" | "button";
53
+ form?: string;
54
+ formAction?: string;
55
+ formEncType?: string;
56
+ formMethod?: string;
57
+ formNoValidate?: boolean;
58
+ formTarget?: string;
59
+ name?: string;
60
+ value?: string | readonly string[] | number;
61
+ }, import("@hanzogui/web").StackStyleBase, {
29
62
  size?: number | SizeTokens | undefined;
30
63
  variant?: "outlined" | undefined;
31
- elevation?: number | SizeTokens | undefined;
32
- circular?: boolean | undefined;
33
- chromeless?: boolean | "all" | undefined;
34
64
  disabled?: boolean | undefined;
35
65
  unstyled?: boolean | undefined;
36
- }>, keyof ButtonExtraProps> & ButtonExtraProps, import("@hanzogui/web").GuiElement, import("@hanzogui/web").StackNonStyleProps & ButtonExtraProps, import("@hanzogui/web").StackStyleBase, {
37
- size?: number | SizeTokens | undefined;
38
- variant?: "outlined" | undefined;
39
66
  elevation?: number | SizeTokens | undefined;
40
67
  circular?: boolean | undefined;
41
68
  chromeless?: boolean | "all" | undefined;
42
- disabled?: boolean | undefined;
43
- unstyled?: boolean | undefined;
44
69
  }, import("@hanzogui/web").StaticConfigPublic>;
45
70
  export declare const Button: import("react").ForwardRefExoticComponent<Omit<import("@hanzogui/web").GetFinalProps<import("@hanzogui/web").StackNonStyleProps, import("@hanzogui/web").StackStyleBase, {
46
71
  size?: number | SizeTokens | undefined;
47
72
  variant?: "outlined" | undefined;
73
+ disabled?: boolean | undefined;
74
+ unstyled?: boolean | undefined;
48
75
  elevation?: number | SizeTokens | undefined;
49
76
  circular?: boolean | undefined;
50
77
  chromeless?: boolean | "all" | undefined;
51
- disabled?: boolean | undefined;
52
- unstyled?: boolean | undefined;
53
- }>, keyof ButtonExtraProps> & ButtonExtraProps & import("react").RefAttributes<import("@hanzogui/web").GuiElement>> & import("@hanzogui/web").StaticComponentObject<Omit<import("@hanzogui/web").GetFinalProps<import("@hanzogui/web").StackNonStyleProps, import("@hanzogui/web").StackStyleBase, {
78
+ }>, "form" | "name" | "value" | keyof TextContextStyles | "textProps" | "noTextWrap" | "icon" | "iconAfter" | "scaleIcon" | "iconSize" | "type" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget"> & TextContextStyles & {
79
+ textProps?: Partial<import("@hanzogui/text").SizableTextProps>;
80
+ noTextWrap?: boolean;
81
+ } & {
82
+ icon?: IconProp;
83
+ iconAfter?: IconProp;
84
+ scaleIcon?: number;
85
+ iconSize?: SizeTokens;
86
+ type?: "submit" | "reset" | "button";
87
+ form?: string;
88
+ formAction?: string;
89
+ formEncType?: string;
90
+ formMethod?: string;
91
+ formNoValidate?: boolean;
92
+ formTarget?: string;
93
+ name?: string;
94
+ value?: string | readonly string[] | number;
95
+ } & import("react").RefAttributes<import("@hanzogui/web").GuiElement>> & import("@hanzogui/web").StaticComponentObject<Omit<import("@hanzogui/web").GetFinalProps<import("@hanzogui/web").StackNonStyleProps, import("@hanzogui/web").StackStyleBase, {
54
96
  size?: number | SizeTokens | undefined;
55
97
  variant?: "outlined" | undefined;
98
+ disabled?: boolean | undefined;
99
+ unstyled?: boolean | undefined;
56
100
  elevation?: number | SizeTokens | undefined;
57
101
  circular?: boolean | undefined;
58
102
  chromeless?: boolean | "all" | undefined;
59
- disabled?: boolean | undefined;
60
- unstyled?: boolean | undefined;
61
- }>, keyof ButtonExtraProps> & ButtonExtraProps, import("@hanzogui/web").GuiElement, import("@hanzogui/web").StackNonStyleProps & ButtonExtraProps, import("@hanzogui/web").StackStyleBase, {
103
+ }>, "form" | "name" | "value" | keyof TextContextStyles | "textProps" | "noTextWrap" | "icon" | "iconAfter" | "scaleIcon" | "iconSize" | "type" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget"> & TextContextStyles & {
104
+ textProps?: Partial<import("@hanzogui/text").SizableTextProps>;
105
+ noTextWrap?: boolean;
106
+ } & {
107
+ icon?: IconProp;
108
+ iconAfter?: IconProp;
109
+ scaleIcon?: number;
110
+ iconSize?: SizeTokens;
111
+ type?: "submit" | "reset" | "button";
112
+ form?: string;
113
+ formAction?: string;
114
+ formEncType?: string;
115
+ formMethod?: string;
116
+ formNoValidate?: boolean;
117
+ formTarget?: string;
118
+ name?: string;
119
+ value?: string | readonly string[] | number;
120
+ }, import("@hanzogui/web").GuiElement, import("@hanzogui/web").StackNonStyleProps & TextContextStyles & {
121
+ textProps?: Partial<import("@hanzogui/text").SizableTextProps>;
122
+ noTextWrap?: boolean;
123
+ } & {
124
+ icon?: IconProp;
125
+ iconAfter?: IconProp;
126
+ scaleIcon?: number;
127
+ iconSize?: SizeTokens;
128
+ type?: "submit" | "reset" | "button";
129
+ form?: string;
130
+ formAction?: string;
131
+ formEncType?: string;
132
+ formMethod?: string;
133
+ formNoValidate?: boolean;
134
+ formTarget?: string;
135
+ name?: string;
136
+ value?: string | readonly string[] | number;
137
+ }, import("@hanzogui/web").StackStyleBase, {
62
138
  size?: number | SizeTokens | undefined;
63
139
  variant?: "outlined" | undefined;
140
+ disabled?: boolean | undefined;
141
+ unstyled?: boolean | undefined;
64
142
  elevation?: number | SizeTokens | undefined;
65
143
  circular?: boolean | undefined;
66
144
  chromeless?: boolean | "all" | undefined;
67
- disabled?: boolean | undefined;
68
- unstyled?: boolean | undefined;
69
145
  }, import("@hanzogui/web").StaticConfigPublic> & Omit<import("@hanzogui/web").StaticConfigPublic, "staticConfig" | "styleable"> & {
70
146
  __tama: [Omit<import("@hanzogui/web").GetFinalProps<import("@hanzogui/web").StackNonStyleProps, import("@hanzogui/web").StackStyleBase, {
71
147
  size?: number | SizeTokens | undefined;
72
148
  variant?: "outlined" | undefined;
149
+ disabled?: boolean | undefined;
150
+ unstyled?: boolean | undefined;
73
151
  elevation?: number | SizeTokens | undefined;
74
152
  circular?: boolean | undefined;
75
153
  chromeless?: boolean | "all" | undefined;
76
- disabled?: boolean | undefined;
77
- unstyled?: boolean | undefined;
78
- }>, keyof ButtonExtraProps> & ButtonExtraProps, import("@hanzogui/web").GuiElement, import("@hanzogui/web").StackNonStyleProps & ButtonExtraProps, import("@hanzogui/web").StackStyleBase, {
154
+ }>, "form" | "name" | "value" | keyof TextContextStyles | "textProps" | "noTextWrap" | "icon" | "iconAfter" | "scaleIcon" | "iconSize" | "type" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget"> & TextContextStyles & {
155
+ textProps?: Partial<import("@hanzogui/text").SizableTextProps>;
156
+ noTextWrap?: boolean;
157
+ } & {
158
+ icon?: IconProp;
159
+ iconAfter?: IconProp;
160
+ scaleIcon?: number;
161
+ iconSize?: SizeTokens;
162
+ type?: "submit" | "reset" | "button";
163
+ form?: string;
164
+ formAction?: string;
165
+ formEncType?: string;
166
+ formMethod?: string;
167
+ formNoValidate?: boolean;
168
+ formTarget?: string;
169
+ name?: string;
170
+ value?: string | readonly string[] | number;
171
+ }, import("@hanzogui/web").GuiElement, import("@hanzogui/web").StackNonStyleProps & TextContextStyles & {
172
+ textProps?: Partial<import("@hanzogui/text").SizableTextProps>;
173
+ noTextWrap?: boolean;
174
+ } & {
175
+ icon?: IconProp;
176
+ iconAfter?: IconProp;
177
+ scaleIcon?: number;
178
+ iconSize?: SizeTokens;
179
+ type?: "submit" | "reset" | "button";
180
+ form?: string;
181
+ formAction?: string;
182
+ formEncType?: string;
183
+ formMethod?: string;
184
+ formNoValidate?: boolean;
185
+ formTarget?: string;
186
+ name?: string;
187
+ value?: string | readonly string[] | number;
188
+ }, import("@hanzogui/web").StackStyleBase, {
79
189
  size?: number | SizeTokens | undefined;
80
190
  variant?: "outlined" | undefined;
191
+ disabled?: boolean | undefined;
192
+ unstyled?: boolean | undefined;
81
193
  elevation?: number | SizeTokens | undefined;
82
194
  circular?: boolean | undefined;
83
195
  chromeless?: boolean | "all" | undefined;
84
- disabled?: boolean | undefined;
85
- unstyled?: boolean | undefined;
86
196
  }, import("@hanzogui/web").StaticConfigPublic];
87
197
  } & {
88
- Apply: import("react").Provider<{
89
- size?: SizeTokens;
90
- variant?: ButtonVariant;
91
- color?: ColorTokens | string;
92
- elevation?: SizeTokens | number;
93
- }> & import("react").ProviderExoticComponent<Partial<{
94
- size?: SizeTokens;
95
- variant?: ButtonVariant;
96
- color?: ColorTokens | string;
97
- elevation?: SizeTokens | number;
98
- }> & {
198
+ Apply: import("react").Provider<ButtonContextStyles> & import("react").ProviderExoticComponent<Partial<ButtonContextStyles> & {
99
199
  children?: import("react").ReactNode;
100
200
  scope?: string;
101
201
  }>;
102
202
  Frame: import("@hanzogui/web").GuiComponent<import("@hanzogui/web").TamaDefer, import("@hanzogui/web").GuiElement, import("@hanzogui/web").StackNonStyleProps, import("@hanzogui/web").StackStyleBase, {
103
203
  size?: number | SizeTokens | undefined;
104
204
  variant?: "outlined" | undefined;
205
+ disabled?: boolean | undefined;
206
+ unstyled?: boolean | undefined;
105
207
  elevation?: number | SizeTokens | undefined;
106
208
  circular?: boolean | undefined;
107
209
  chromeless?: boolean | "all" | undefined;
108
- disabled?: boolean | undefined;
109
- unstyled?: boolean | undefined;
110
210
  }, import("@hanzogui/web").StaticConfigPublic>;
111
211
  Text: import("@hanzogui/web").GuiComponent<import("@hanzogui/web").TamaDefer, import("@hanzogui/web").GuiTextElement, import("@hanzogui/web").TextNonStyleProps, import("@hanzogui/web").TextStylePropsBase, {
112
212
  size?: import("@hanzogui/web").FontSizeTokens | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../src/Button.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAS,MAAM,eAAe,CAAA;AAS7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAGnD,KAAK,aAAa,GAAG,UAAU,CAAA;AAiK/B,eAAO,MAAM,aAAa;WACjB,UAAU;cACP,aAAa;YACf,WAAW,GAAG,MAAM;EAK5B,CAAA;AAEF,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,GAAG,iBAAiB,CAAC;IAAE,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC,GAAG,IAAI,CAAA;AAEnF,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,SAAS,CAAC,EAAE,QAAQ,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,UAAU,CAAA;IAGrB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,MAAM,CAAA;CAC5C,CAAA;AAED,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;8CAsDnB,CAAA;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eApPV,UAAU;kBACP,aAAa;gBACf,WAAW,GAAG,MAAM;oBAChB,UAAU,GAAG,MAAM;;eAHxB,UAAU;kBACP,aAAa;gBACf,WAAW,GAAG,MAAM;oBAChB,UAAU,GAAG,MAAM;;;;;;;;;;;;;;;;;;kBAmIZ;QACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;QACzB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,IAAI,CAAC,EAAE,UAAU,CAAA;KAClB;CA+GC,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,eAAe,CAAC,CAAA"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../src/Button.tsx"],"names":[],"mappings":"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"}