@sprocketui-react/button 1.0.2 → 1.0.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.
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var L=Object.defineProperty;var
|
|
1
|
+
"use strict";var L=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var tt=Object.prototype.hasOwnProperty;var et=(t,e)=>{for(var n in e)L(t,n,{get:e[n],enumerable:!0})},ot=(t,e,n,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Y(e))!tt.call(t,o)&&o!==n&&L(t,o,{get:()=>e[o],enumerable:!(s=Q(e,o))||s.enumerable});return t};var rt=t=>ot(L({},"__esModule",{value:!0}),t);var nt={};et(nt,{Button:()=>C,ButtonContext:()=>m,SprocketButton:()=>C,SprocketButtonContext:()=>m,useButton:()=>P,useButtonContext:()=>w,useSprocketButton:()=>P,useSprocketButtonContext:()=>w});module.exports=rt(nt);var p=require("@necto-react/hooks"),a=require("@necto/dom"),k=require("@necto/mergers"),_=require("@necto-react/helpers");var F=["rel","href","ping","target","download","hrefLang","referrerPolicy"],M=["id","form","name","value","formAction","formEncType","formMethod","formTarget","formNoValidate"];function O(t,e){return t.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase()}function S({prefix:t=":sprocket:=",component:e,variant:n,state:s,unique:o,obscure:f}){if(!e)throw new Error("Component context is required!");let u=[t+O(e,!1)];return n&&u.push(O(n,!1)),Array.isArray(s)&&s.length&&u.push(...s.map(l=>O(l,!1))),o&&u.push(Math.random().toString(36).slice(2,8)),f&&u.push(Math.random().toString(36).slice(2,16)),u.join("--")}var H=a.HTMLElements.Button;function P(t,e){let{rel:n,href:s,target:o,autoFocus:f,focusDisabled:u,preventFocusOnPress:l,isDisabled:r=!1,type:R="button",as:x=H,elementType:i=x||H,onClick:c,onPress:y,onPressStart:T,onPressEnd:E,onPressUp:B,onPressChange:$}=t,g;i===a.HTMLElements.Button?g={type:R,disabled:r}:g={role:"button",href:i===a.HTMLElements.A&&!r?s:void 0,target:i===a.HTMLElements.A?o:void 0,type:i===a.HTMLElements.Input?R:void 0,disabled:i===a.HTMLElements.Input?r:void 0,"aria-disabled":!r||i===a.HTMLElements.Input?void 0:r,rel:i===a.HTMLElements.A?n:void 0};let{hoverProps:G,isHovered:W}=(0,p.useHover)({...t,isDisabled:r}),{focusProps:X,isFocused:q,isFocusVisible:z}=(0,p.useFocusRing)({autoFocus:f}),{focusableProps:A}=(0,p.useFocusable)(t,e),{pressProps:Z,isPressed:J}=(0,p.usePress)({ref:e,isDisabled:r,preventFocusOnPress:l,onPressStart:T,onPressEnd:E,onPressChange:$,onPress:y,onPressUp:B,onClick:c});u&&(A.tabIndex=r?-1:A.tabIndex);let K=(0,k.mergeProps)(A,Z,G,X,(0,_.filterDOMProps)(t,{allowLabelableProps:!0,allowedLabelableProps:new Set([]),allowedLinkProps:new Set(F),extraAllowedProps:new Set(M)}));return{isFocused:q,isPressed:J,isHovered:W,isDisabled:r,isFocusVisible:z,elementType:i,buttonProps:(0,k.mergeProps)(K,g)}}var v=require("react"),m=(0,v.createContext)(null);var N=require("react");function w(){return(0,N.useContext)(m)}var h=require("@necto/strings"),I=require("@necto/mergers"),b=require("react");var D=require("@necto-react/components");var d=require("@necto-react/hooks"),V=require("react/jsx-runtime"),j="Button";function U(t,e){[t,e]=(0,d.useContextProps)({props:t,ref:e,context:m});let{buttonProps:n,isHovered:s,isPressed:o,isFocused:f,isDisabled:u,elementType:l,isFocusVisible:r}=P(t,e),R=(0,d.useId)({defaultId:n.id}),x=(0,d.useRenderer)({...t,values:{isHovered:s,isPressed:o,isFocused:f,isFocusVisible:r,isDisabled:u},defaultClassName:S({component:j}),style:c=>({...t.style instanceof Function?t.style(c):t.style})}),i=(0,b.useMemo)(()=>{let c={hover:s,focus:f,focusVisible:r,disabled:u,pressed:o},y={},T=[];for(let[E,B]of Object.entries(c))typeof B=="boolean"&&(y[`data-${(0,h.kebabCase)(E)}`]=B?String(!0):void 0,B&&T.push((0,h.kebabCase)(E)));return{...y,"data-sprocket-state":T.join(" ")}},[s,f,r,u,o]);return(0,V.jsxs)(D.Primitive,{ref:e,as:l,...x,...(0,I.mergeProps)(n,i),id:R,slot:t.slot||void 0,children:["''",x.children]})}var C=Object.assign((0,b.forwardRef)((t,e)=>U(t,e)),{Root:(0,b.forwardRef)((t,e)=>U(t,e))});C.displayName=j;0&&(module.exports={Button,ButtonContext,SprocketButton,SprocketButtonContext,useButton,useButtonContext,useSprocketButton,useSprocketButtonContext});
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useHover as
|
|
1
|
+
import{useHover as $,usePress as G,useFocusRing as W,useFocusable as X}from"@necto-react/hooks";import{HTMLElements as u}from"@necto/dom";import{mergeProps as O}from"@necto/mergers";import{filterDOMProps as q}from"@necto-react/helpers";var g=["rel","href","ping","target","download","hrefLang","referrerPolicy"],A=["id","form","name","value","formAction","formEncType","formMethod","formTarget","formNoValidate"];function E(t,e){return t.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase()}function L({prefix:t=":sprocket:=",component:e,variant:i,state:s,unique:a,obscure:p}){if(!e)throw new Error("Component context is required!");let r=[t+E(e,!1)];return i&&r.push(E(i,!1)),Array.isArray(s)&&s.length&&r.push(...s.map(m=>E(m,!1))),a&&r.push(Math.random().toString(36).slice(2,8)),p&&r.push(Math.random().toString(36).slice(2,16)),r.join("--")}var k=u.Button;function x(t,e){let{rel:i,href:s,target:a,autoFocus:p,focusDisabled:r,preventFocusOnPress:m,isDisabled:o=!1,type:c="button",as:B=k,elementType:n=B||k,onClick:d,onPress:P,onPressStart:b,onPressEnd:R,onPressUp:l,onPressChange:H}=t,y;n===u.Button?y={type:c,disabled:o}:y={role:"button",href:n===u.A&&!o?s:void 0,target:n===u.A?a:void 0,type:n===u.Input?c:void 0,disabled:n===u.Input?o:void 0,"aria-disabled":!o||n===u.Input?void 0:o,rel:n===u.A?i:void 0};let{hoverProps:_,isHovered:v}=$({...t,isDisabled:o}),{focusProps:N,isFocused:U,isFocusVisible:I}=W({autoFocus:p}),{focusableProps:T}=X(t,e),{pressProps:D,isPressed:j}=G({ref:e,isDisabled:o,preventFocusOnPress:m,onPressStart:b,onPressEnd:R,onPressChange:H,onPress:P,onPressUp:l,onClick:d});r&&(T.tabIndex=o?-1:T.tabIndex);let V=O(T,D,_,N,q(t,{allowLabelableProps:!0,allowedLabelableProps:new Set([]),allowedLinkProps:new Set(g),extraAllowedProps:new Set(A)}));return{isFocused:U,isPressed:j,isHovered:v,isDisabled:o,isFocusVisible:I,elementType:n,buttonProps:O(V,y)}}import{createContext as z}from"react";var f=z(null);import{useContext as Z}from"react";function w(){return Z(f)}import{kebabCase as h}from"@necto/strings";import{mergeProps as J}from"@necto/mergers";import{forwardRef as F,useMemo as K}from"react";import{Primitive as Q}from"@necto-react/components";import{useContextProps as Y,useRenderer as tt,useId as et}from"@necto-react/hooks";import{jsxs as ot}from"react/jsx-runtime";var S="Button";function M(t,e){[t,e]=Y({props:t,ref:e,context:f});let{buttonProps:i,isHovered:s,isPressed:a,isFocused:p,isDisabled:r,elementType:m,isFocusVisible:o}=x(t,e),c=et({defaultId:i.id}),B=tt({...t,values:{isHovered:s,isPressed:a,isFocused:p,isFocusVisible:o,isDisabled:r},defaultClassName:L({component:S}),style:d=>({...t.style instanceof Function?t.style(d):t.style})}),n=K(()=>{let d={hover:s,focus:p,focusVisible:o,disabled:r,pressed:a},P={},b=[];for(let[R,l]of Object.entries(d))typeof l=="boolean"&&(P[`data-${h(R)}`]=l?String(!0):void 0,l&&b.push(h(R)));return{...P,"data-sprocket-state":b.join(" ")}},[s,p,o,r,a]);return ot(Q,{ref:e,as:m,...B,...J(i,n),id:c,slot:t.slot||void 0,children:["''",B.children]})}var C=Object.assign(F((t,e)=>M(t,e)),{Root:F((t,e)=>M(t,e))});C.displayName=S;export{C as Button,f as ButtonContext,C as SprocketButton,f as SprocketButtonContext,x as useButton,w as useButtonContext,x as useSprocketButton,w as useSprocketButtonContext};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sprocketui-react/button",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Sprocket's standalone React button component.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,8 +25,7 @@
|
|
|
25
25
|
"@necto/strings": "^1.4.0",
|
|
26
26
|
"@react-aria/focus": "^3.20.2",
|
|
27
27
|
"react-aria": "^3.39.0",
|
|
28
|
-
"@sprocketui-types/button": "1.0.
|
|
29
|
-
"shared": "1.0.0"
|
|
28
|
+
"@sprocketui-types/button": "1.0.2"
|
|
30
29
|
},
|
|
31
30
|
"peerDependencies": {
|
|
32
31
|
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
|
|
@@ -41,7 +40,8 @@
|
|
|
41
40
|
"react": "^19.1.0",
|
|
42
41
|
"react-dom": "^19.1.0",
|
|
43
42
|
"tsup": "^8.4.0",
|
|
44
|
-
"vitest": "^3.2.4"
|
|
43
|
+
"vitest": "^3.2.4",
|
|
44
|
+
"shared": "1.0.0"
|
|
45
45
|
},
|
|
46
46
|
"scripts": {
|
|
47
47
|
"build": "tsup",
|