@nild/components 0.0.7 → 0.0.9
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/_shared/hooks/usePopup.d.ts +1 -1
- package/dist/_shared/hooks/usePopup.js +1 -1
- package/dist/_shared/utils/isEmptyChildren.js +1 -1
- package/dist/_shared/utils/isPlainChildren.js +1 -1
- package/dist/button/Button.d.ts +2 -5
- package/dist/button/Button.js +1 -1
- package/dist/divider/Divider.d.ts +1 -3
- package/dist/divider/Divider.js +1 -1
- package/dist/popover/Popover.d.ts +2 -2
- package/dist/popover/Popover.js +1 -1
- package/dist/portal/Arrow.d.ts +0 -1
- package/dist/portal/Arrow.js +1 -1
- package/dist/portal/Portal.d.ts +1 -2
- package/dist/portal/Portal.js +1 -1
- package/dist/switch/Switch.d.ts +1 -3
- package/dist/switch/Switch.js +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/transition/Transition.js +1 -1
- package/dist/trigger/Trigger.js +1 -1
- package/dist/typography/Link.d.ts +1 -3
- package/dist/typography/Link.js +1 -1
- package/dist/typography/Paragraph.d.ts +2 -5
- package/dist/typography/Paragraph.js +1 -1
- package/dist/typography/Text.d.ts +1 -3
- package/dist/typography/Text.js +1 -1
- package/dist/typography/Title.d.ts +1 -3
- package/dist/typography/Title.js +1 -1
- package/dist/typography/Typography.d.ts +2 -5
- package/dist/typography/Typography.js +1 -1
- package/package.json +3 -3
|
@@ -13,7 +13,7 @@ type UsePopupReturn = [
|
|
|
13
13
|
boolean,
|
|
14
14
|
{
|
|
15
15
|
setOpen: Dispatch<React.SetStateAction<boolean>>;
|
|
16
|
-
renderTrigger: (props?: TriggerProps
|
|
16
|
+
renderTrigger: (props?: TriggerProps) => ReactElement | undefined;
|
|
17
17
|
renderPortal: (props?: PortalProps) => ReactElement | undefined;
|
|
18
18
|
}
|
|
19
19
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as E}from"react/jsx-runtime";import{computePosition as B,offset as F,shift as G,flip as H,arrow as J,autoUpdate as K}from"../../_lib/floating-ui.dom.js";import{useControllableState as N,usePureCallback as P,useEffectCallback as Q,useIsomorphicLayoutEffect as k}from"@nild/hooks";import{getDPR as W,roundByDPR as f}from"@nild/shared/utils";import{useRef as x,useState as p,useMemo as X,Children as Y,isValidElement as h,cloneElement as O}from"react";import"../../portal/Arrow.js";import S from"../../portal/Portal.js";import Z from"../../transition/Transition.js";import g from"../../trigger/Trigger.js";const _=(j,{placement:m="bottom",strategy:b="absolute",offset:w=12,open:I,defaultOpen:C=!1}={})=>{const t=x(null),a=x(null),c=x(null),[n,L]=p(C),[r,M]=N(I,C),[s,R]=p({x:0,y:0}),[l,T]=p({x:0,y:0}),[o,U]=p(m.split("-")[0]),V=X(()=>{const e=o==="top"||o==="bottom";return{[o==="left"?"right":"left"]:e?l.x:l.x-s.x,[o==="top"?"bottom":"top"]:e?l.y-s.y:l.y}},[o,l,s]),$={top:"down",bottom:"up",left:"right",right:"left"}[o];let y,d,i;Y.forEach(j,e=>{h(e)&&e.type!==g&&e.type!==S&&(y=e),h(e)&&e.type===g&&(d=e),h(e)&&e.type===S&&(i=e)});const q=P(e=>{if(d)return O(d,{...e,ref:t});if(y)return E(g,{...e,ref:t,children:y})}),z=P(e=>{if(i)return E(Z,{visible:r,children:n&&O(i,{...i.props,...e,style:{transform:`translate(${s.x}px, ${s.y}px)`,...W()>=1.5&&{willChange:"transform"}},ref:a,arrow:{ref:c,style:V,orientation:$}})})}),v=Q(()=>{!t.current||!a.current||B(t.current,a.current,{placement:m,strategy:b,middleware:[F(w),G(),H(),c.current&&J({element:c.current})]}).then(({x:e,y:D,placement:A,middlewareData:{arrow:u}})=>{R({x:f(e),y:f(D)}),U(A.split("-")[0]),T({x:f(u?.x??e),y:f(u?.y??D)})})});return k(()=>{r&&!n?L(!0):r&&n&&v()},[r,n]),k(()=>{if(!(!t.current||!a.current||!r))return K(t.current,a.current,v)},[m,b,w,r]),[r,{setOpen:M,renderTrigger:q,renderPortal:z}]};export{_ as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isNil as p,isArray as s,isEmpty as e}from"@nild/shared
|
|
1
|
+
import{isNil as p,isArray as s,isEmpty as e}from"@nild/shared";import{Fragment as a}from"react";const o=r=>!!(p(r)||s(r)&&e(r)||typeof r=="object"&&"type"in r&&r.type===a&&o(r.props.children));export{o as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isNil as e,isString as t,isNumber as o,isArray as r}from"@nild/shared
|
|
1
|
+
import{isNil as e,isString as t,isNumber as o,isArray as r}from"@nild/shared";const i=s=>e(s)?!1:t(s)||o(s)?!0:r(s)?s.every(a=>i(a)):!1;export{i as default};
|
package/dist/button/Button.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactElement, ButtonHTMLAttributes, HTMLAttributes, RefAttributes, ForwardRefExoticComponent } from 'react';
|
|
2
2
|
import { ButtonVariant, ButtonSize, ButtonShape } from './style';
|
|
3
3
|
export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
4
|
-
className?: string;
|
|
5
|
-
children?: ReactNode;
|
|
6
4
|
variant?: ButtonVariant;
|
|
7
5
|
size?: ButtonSize;
|
|
8
6
|
shape?: ButtonShape;
|
|
@@ -13,8 +11,7 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
13
11
|
declare const Button: ForwardRefExoticComponent<ButtonProps & RefAttributes<HTMLButtonElement>> & {
|
|
14
12
|
Group: typeof Group;
|
|
15
13
|
};
|
|
16
|
-
export interface GroupProps extends Pick<ButtonProps, 'variant' | 'size' | 'disabled'> {
|
|
17
|
-
className?: string;
|
|
14
|
+
export interface GroupProps extends HTMLAttributes<HTMLDivElement>, Pick<ButtonProps, 'variant' | 'size' | 'disabled'> {
|
|
18
15
|
children?: ReactElement<ButtonProps> | ReactElement<ButtonProps>[];
|
|
19
16
|
direction?: 'horizontal' | 'vertical';
|
|
20
17
|
}
|
package/dist/button/Button.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t,Fragment as A}from"react/jsx-runtime";import{cnMerge as
|
|
1
|
+
import{jsx as t,Fragment as A}from"react/jsx-runtime";import{cnMerge as p,isArray as S,cnJoin as b}from"@nild/shared";import{forwardRef as f}from"react";import{DISABLED_CLS as L}from"../_shared/style/index.js";import P from"../_shared/utils/isEmptyChildren.js";import h from"../_shared/utils/isPlainChildren.js";import{VARIANT_CLS_MAP as C,SIZE_CLS_MAP as M,SHAPE_CLS_MAP as N,EQUAL_CLS_MAP as R,GROUP_FIRST_CLS_MAP as I,GROUP_LAST_CLS_MAP as g,GROUP_DIVIDER_CLS_MAP as z}from"./style/index.js";const i=f(({className:r,children:n,variant:s="solid",size:o="medium",shape:l="square",equal:e=!1,disabled:m,block:c,...d},u)=>{const a=h(n);return t("button",{type:"button",...d,disabled:m,className:p("nd-button","font-sans cursor-pointer transition-colors",L,c&&"w-full",a&&"whitespace-nowrap truncate",C[s],M[o][`${a}`],N[l],e&&R[o],r),ref:u,children:n})});i.displayName="Button";const _=f(({children:r,className:n,variant:s="solid",size:o="medium",disabled:l,direction:e="horizontal",...m},c)=>{if(!r||P(r))return t(A,{});if(!S(r))return t(i,{...r.props,variant:s,size:o,disabled:l});const d=e==="horizontal";return t("div",{...m,className:p("nd-button-group","flex",!d&&"flex-col",n),ref:c,children:r.map((u,a)=>t(i,{...u.props,className:b(a===0?I[e]:a===r.length-1?g[e]:"rounded-none",a!==0&&(d?"border-l-0":"border-t-0"),a!==r.length-1&&z[e][s]),variant:s,size:o,disabled:l},a))})});_.displayName="Button.Group",i.Group=_;export{i as default};
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { HTMLAttributes
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
2
|
import { DividerVariant, DividerDirection, DividerAlign } from './style';
|
|
3
3
|
export interface DividerProps extends HTMLAttributes<HTMLDivElement> {
|
|
4
|
-
className?: string;
|
|
5
|
-
children?: ReactNode;
|
|
6
4
|
variant?: DividerVariant;
|
|
7
5
|
direction?: DividerDirection;
|
|
8
6
|
align?: DividerAlign;
|
package/dist/divider/Divider.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as l}from"react/jsx-runtime";import{cnMerge as c}from"@nild/shared
|
|
1
|
+
import{jsx as l}from"react/jsx-runtime";import{cnMerge as c}from"@nild/shared";import{forwardRef as _}from"react";import f from"../_shared/utils/isEmptyChildren.js";import{DIRECTION_WITH_CHILDREN_CLS_MAP as p,DIRECTION_WITHOUT_CHILDREN_CLS_MAP as I,ALIGN_CLS_MAP as N}from"./style/index.js";const o=_(({className:e,children:a,variant:i="solid",direction:r="horizontal",align:t="center",...s},n)=>{const d=r==="horizontal",m=!f(a);return l("div",{...s,className:c("nd-divider","border-split","text-primary",d&&m?p[r][i].concat(N[t]):I[r][i],e),ref:n,children:a})});o.displayName="Divider";export{o as default};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { FC,
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
2
|
import { default as Portal } from '../portal';
|
|
3
3
|
import { default as Trigger, TriggerAction } from '../trigger';
|
|
4
4
|
import { Placement, OffsetOptions } from '@floating-ui/dom';
|
|
5
|
-
interface PopoverProps
|
|
5
|
+
interface PopoverProps {
|
|
6
6
|
children?: ReactNode;
|
|
7
7
|
placement?: Placement;
|
|
8
8
|
offset?: OffsetOptions;
|
package/dist/popover/Popover.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as O,Fragment as P}from"react/jsx-runtime";import{
|
|
1
|
+
import{jsxs as O,Fragment as P}from"react/jsx-runtime";import{useEffectCallback as t}from"@nild/hooks";import T from"../_shared/hooks/usePopup.js";import"../portal/Arrow.js";import h from"../portal/Portal.js";import x from"../trigger/Trigger.js";const o=({children:a,placement:l,offset:p,action:m,open:f,defaultOpen:s,onChange:e})=>{const[C,{setOpen:n,renderTrigger:i,renderPortal:c}]=T(a,{placement:l,offset:p,open:f,defaultOpen:s}),d=t(()=>{n(r=>(e?.(!r),!r))}),g=t(()=>{n(()=>(e?.(!0),!0))}),u=t(()=>{n(()=>(e?.(!1),!1))});return O(P,{children:[i({action:m,onToggle:d,onOpen:g,onClose:u}),c()]})};o.displayName="Popover",o.Trigger=x,o.Portal=h;export{o as default};
|
package/dist/portal/Arrow.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { CSSProperties, HTMLAttributes } from 'react';
|
|
2
2
|
import { ArrowSize, ArrowOrientation } from './style';
|
|
3
3
|
export interface ArrowProps extends HTMLAttributes<HTMLSpanElement> {
|
|
4
|
-
className?: string;
|
|
5
4
|
style?: CSSProperties;
|
|
6
5
|
orientation?: ArrowOrientation;
|
|
7
6
|
size?: ArrowSize;
|
package/dist/portal/Arrow.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{cnMerge as d}from"@nild/shared
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{cnMerge as d}from"@nild/shared";import{forwardRef as R}from"react";import{ARROW_ORIENTATION_STYLE_MAP as _,ARROW_ORIENTATION_CLS_MAP as f,ARROW_SIZE_CLS_MAP as A}from"./style/index.js";const a=R(({className:e,style:o,orientation:r="up",size:s="medium",...i},m)=>t("div",{...i,style:{..._[r],...o},className:d("nd-arrow","bg-container border-solid border-edge",f[r],A[s],e),ref:m}));a.displayName="Arrow";export{a as default};
|
package/dist/portal/Portal.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { HTMLAttributes,
|
|
1
|
+
import { HTMLAttributes, Ref } from 'react';
|
|
2
2
|
import { ArrowProps } from './Arrow';
|
|
3
3
|
import { PaddingSize } from './style';
|
|
4
4
|
interface ArrowOptions extends ArrowProps {
|
|
5
5
|
ref: Ref<HTMLDivElement>;
|
|
6
6
|
}
|
|
7
7
|
export interface PortalProps extends HTMLAttributes<HTMLDivElement> {
|
|
8
|
-
children?: ReactNode;
|
|
9
8
|
container?: Element | DocumentFragment;
|
|
10
9
|
paddingSize?: PaddingSize;
|
|
11
10
|
arrow?: ArrowOptions | false;
|
package/dist/portal/Portal.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as p,jsx as u}from"react/jsx-runtime";import{cnMerge as r}from"@nild/shared
|
|
1
|
+
import{jsxs as p,jsx as u}from"react/jsx-runtime";import{cnMerge as r,cnJoin as f}from"@nild/shared";import{forwardRef as N,Children as g,isValidElement as b,cloneElement as P}from"react";import{createPortal as h}from"react-dom";import v from"./Arrow.js";import{PADDING_SIZE_CLS_MAP as x}from"./style/index.js";const s=N(({className:l,children:t,container:n=document.body,paddingSize:i="medium",arrow:e=!1,...m},d)=>{var o;const a=g.toArray(t).find(c=>b(c));return a?h(p("div",{...m,className:r("nd-portal","absolute top-0 left-0",l),ref:d,children:[P(a,{...a.props,className:r("bg-container rounded-md outline-solid outline-1 outline-edge shadow-lg",x[i],(o=a?.props)==null?void 0:o.className)}),e!==!1&&u(v,{...e,className:f("absolute",e.className)})]}),n):null});s.displayName="Portal";export{s as default};
|
package/dist/switch/Switch.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { ForwardRefExoticComponent, ButtonHTMLAttributes, HTMLAttributes,
|
|
1
|
+
import { ForwardRefExoticComponent, ButtonHTMLAttributes, HTMLAttributes, RefAttributes } from 'react';
|
|
2
2
|
import { SwitchVariant, SwitchSize, SwitchShape } from './style';
|
|
3
3
|
export interface SwitchProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'value' | 'defaultValue' | 'onChange'> {
|
|
4
|
-
className?: string;
|
|
5
|
-
children?: ReactNode;
|
|
6
4
|
variant?: SwitchVariant;
|
|
7
5
|
size?: SwitchSize;
|
|
8
6
|
shape?: SwitchShape;
|
package/dist/switch/Switch.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as j,jsx as r}from"react/jsx-runtime";import{useControllableState as U}from"@nild/hooks";import{cnJoin as n,cnMerge as d}from"@nild/shared
|
|
1
|
+
import{jsxs as j,jsx as r}from"react/jsx-runtime";import{useControllableState as U}from"@nild/hooks";import{cnJoin as n,cnMerge as d}from"@nild/shared";import{forwardRef as p,Children as B,isValidElement as D,cloneElement as g}from"react";import{DISABLED_CLS as H}from"../_shared/style/index.js";import{VARIANT_TRACK_CLS_MAP as y,VARIANT_THUMB_CLS_MAP as Z,SHAPE_CLS_MAP as k,SIZE_VAR_MAP as $,VARIANT_CLS_MAP as q,SIZE_CLS_MAP as J}from"./style/index.js";const m=p(({className:t,children:c,variant:e="solid",size:a="medium",shape:w="round",checked:C,defaultChecked:b,value:x,defaultValue:M,disabled:E,onChange:v,style:I,...L},P)=>{let l,h,o;B.forEach(c,s=>{D(s)&&(s.type===f?l=s:s.type===u?h=s:s.type===N&&(o=s))});const R={"--nd-switch-height":$[a]},[i,T]=U(C??x,b??M??!1),A=n("h-[var(--nd-switch-height)]","ps-[calc(var(--nd-switch-height)/3)] pe-[calc(var(--nd-switch-height)*1.1)]",y[e][`${i}`].concat(i?"ms-0 me-0":"-ms-[100%] me-[100%]")),S=n("h-[var(--nd-switch-height)]","-mt-[var(--nd-switch-height)]","ps-[calc(var(--nd-switch-height)*1.1)] pe-[calc(var(--nd-switch-height)/3)]",y[e][`${i}`].concat(i?"ms-[100%] -me-[100%]":"ms-0 me-0")),_=n("h-[var(--nd-switch-height)]",Z[e],k[w],i?"left-[calc(100%-var(--nd-switch-height))]":"left-0"),V=()=>{T(s=>(v?.(!s),!s))};return j("button",{...L,type:"button",role:"switch","aria-checked":i,disabled:E,className:d("nd-switch","h-[var(--nd-switch-height)]","group","relative inline-block font-sans overflow-hidden cursor-pointer",H,q[e],J[a],k[w],t),style:{...R,...I},ref:P,onClick:V,children:[l?g(l,{...l.props,className:n(A,l.props.className)}):r(f,{className:A}),h?g(h,{...h.props,className:n(S,h.props.className)}):r(u,{className:S}),o?g(o,{...o.props,className:n(_,o.props.className)}):r(N,{className:_})]})});m.displayName="Switch";const f=p(({className:t,children:c,...e},a)=>r("div",{...e,className:d("flex justify-center items-center","text-center text-contrast","transition-[margin-inline,background-color]",t),ref:a,children:c}));f.displayName="Switch.Checked";const u=p(({className:t,children:c,...e},a)=>r("div",{...e,className:d("flex justify-center items-center","text-center text-contrast","transition-[margin-inline,background-color]",t),ref:a,children:c}));u.displayName="Switch.Unchecked";const N=p(({className:t,children:c,...e},a)=>r("div",{...e,className:d("flex justify-center items-center","absolute aspect-square scale-80","text-contrast transition-[left,background-color]",t),ref:a,children:c}));N.displayName="Switch.Thumb",m.Checked=f,m.Unchecked=u,m.Thumb=N;export{m as default};
|
package/dist/tailwind.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@theme static{ --nd-color-primary-0: light-dark(#fafafa, #171717); --nd-color-primary-5: light-dark(#f7f7f7, #1e1e1e); --nd-color-primary-10: light-dark(#f4f4f4, #242424); --nd-color-primary-15: light-dark(#ededed, #2c2c2c); --nd-color-primary-20: light-dark(#e5e5e5, #333333); --nd-color-primary-30: light-dark(#cecece, #434343); --nd-color-primary-40: light-dark(#aeaeae, #575757); --nd-color-primary-50: light-dark(#888888, #888888); --nd-color-primary-60: light-dark(#626262, #b9b9b9); --nd-color-primary-70: light-dark(#424242, #cdcdcd); --nd-color-primary-80: light-dark(#2b2b2b, #dedede); --nd-color-primary-90: light-dark(#1d1d1d, #ececec); --nd-color-primary-100: light-dark(#171717, #fafafa); }@theme{ --color-primary: var(--nd-color-primary-80); --color-primary-hover: var(--nd-color-primary-70); --color-primary-active: var(--nd-color-primary-90); --color-secondary: var(--nd-color-primary-20); --color-secondary-hover: var(--nd-color-primary-30); --color-secondary-active: var(--nd-color-primary-40); --color-tertiary: var(--nd-color-primary-15); --color-tertiary-hover: var(--nd-color-primary-20); --color-tertiary-active: var(--nd-color-primary-30); --color-contrast: var(--nd-color-primary-0); --color-split: var(--nd-color-primary-20); --text-color-primary: var(--nd-color-primary-100); --text-color-secondary: var(--nd-color-primary-60); --text-color-link: var(--color-primary); --text-color-link-hover: var(--color-primary-hover); --text-color-link-active: var(--color-primary-active); --background-color-container: light-dark(var(--nd-color-primary-0), var(--nd-color-primary-5)); --text-sm: .75rem; --text-sm--line-height: 1.25rem; --text-md: .875rem; --text-md--line-height: 1.375rem; --text-lg: 1rem; --text-lg--line-height: 1.5rem; --text-xl: 1.25rem; --text-xl--line-height: 1.75rem; --text-2xl: 1.5rem; --text-2xl--line-height: 2rem; --text-3xl: 1.875rem; --text-3xl--line-height: 2.375rem; --text-4xl: 2.375rem; --text-4xl--line-height: 2.875rem; --text-5xl: 2.875rem; --text-5xl--line-height: 3.375rem; --radius-sm: .125rem; --radius-md: .25rem; --radius-lg: .375rem; --default-transition-duration: .2s; }@utility underline{text-decoration: underline; text-underline-offset: .125rem;}@custom-variant disabled{&.disabled,&:disabled {@slot;}}
|
|
1
|
+
@theme static{ --nd-color-primary-0: light-dark(#fafafa, #171717); --nd-color-primary-5: light-dark(#f7f7f7, #1e1e1e); --nd-color-primary-10: light-dark(#f4f4f4, #242424); --nd-color-primary-15: light-dark(#ededed, #2c2c2c); --nd-color-primary-20: light-dark(#e5e5e5, #333333); --nd-color-primary-30: light-dark(#cecece, #434343); --nd-color-primary-40: light-dark(#aeaeae, #575757); --nd-color-primary-50: light-dark(#888888, #888888); --nd-color-primary-60: light-dark(#626262, #b9b9b9); --nd-color-primary-70: light-dark(#424242, #cdcdcd); --nd-color-primary-80: light-dark(#2b2b2b, #dedede); --nd-color-primary-90: light-dark(#1d1d1d, #ececec); --nd-color-primary-100: light-dark(#171717, #fafafa); }@theme{ --color-primary: var(--nd-color-primary-80); --color-primary-hover: var(--nd-color-primary-70); --color-primary-active: var(--nd-color-primary-90); --color-secondary: var(--nd-color-primary-20); --color-secondary-hover: var(--nd-color-primary-30); --color-secondary-active: var(--nd-color-primary-40); --color-tertiary: var(--nd-color-primary-15); --color-tertiary-hover: var(--nd-color-primary-20); --color-tertiary-active: var(--nd-color-primary-30); --color-contrast: var(--nd-color-primary-0); --color-split: var(--nd-color-primary-20); --color-edge: var(--nd-color-primary-30); --text-color-primary: var(--nd-color-primary-100); --text-color-secondary: var(--nd-color-primary-60); --text-color-link: var(--color-primary); --text-color-link-hover: var(--color-primary-hover); --text-color-link-active: var(--color-primary-active); --background-color-container: light-dark(var(--nd-color-primary-0), var(--nd-color-primary-5)); --text-sm: .75rem; --text-sm--line-height: 1.25rem; --text-md: .875rem; --text-md--line-height: 1.375rem; --text-lg: 1rem; --text-lg--line-height: 1.5rem; --text-xl: 1.25rem; --text-xl--line-height: 1.75rem; --text-2xl: 1.5rem; --text-2xl--line-height: 2rem; --text-3xl: 1.875rem; --text-3xl--line-height: 2.375rem; --text-4xl: 2.375rem; --text-4xl--line-height: 2.875rem; --text-5xl: 2.875rem; --text-5xl--line-height: 3.375rem; --radius-sm: .125rem; --radius-md: .25rem; --radius-lg: .375rem; --default-transition-duration: .2s; }@utility underline{text-decoration: underline; text-underline-offset: .125rem;}@custom-variant disabled{&.disabled,&:disabled {@slot;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{useEffectCallback as o}from"@nild/hooks";import{cnMerge as E}from"@nild/shared";import{Children as T,isValidElement as k,useState as h,useRef as p,useEffect as f,cloneElement as N}from"react";const x=({className:b,children:v,visible:l=!0})=>{const c=T.toArray(v).find(a=>k(a)),u=c?l?"entered":"exited":"unmounted",[t,n]=h(u),e=p(),r=p(c);r.current=t==="unmounted"?c:c??r.current;const i=o(a=>{s();let d=!0;const m=()=>{d&&(d=!1,e.current=void 0,a?.())};m.cancel=()=>{d=!1},e.current=m}),g=o(()=>{e.current&&(e.current(),e.current=void 0)}),s=o(()=>{e.current&&(e.current.cancel(),e.current=void 0)}),y=o(()=>{u==="unmounted"&&t==="exited"&&n("unmounted")});return f(()=>{g()},[t]),f(()=>{switch(u){case"entered":t!=="entering"&&t!=="entered"&&(t==="unmounted"?n("exited"):(s(),n("entering"),i(()=>{i(()=>{n("entered")}),e.current&&setTimeout(e.current,0)})));break;case"exited":(t==="entering"||t==="entered")&&(s(),n("exiting"),i(()=>{i(()=>{n("exited")}),e.current&&setTimeout(e.current,0)}));break;case"unmounted":default:t!=="exited"&&t!=="unmounted"&&(s(),n("exiting"),i(()=>{i(()=>{n("exited")}),e.current&&setTimeout(e.current,0)}));break}},[l,u,t]),r.current?N(r.current,{...r.current.props,className:E(r.current.props.className,"transition-[opacity,visibility]",t==="entered"?"opacity-100 visible":"opacity-0 invisible",b),onTransitionEnd:y}):null};x.displayName="Transition";export{x as default};
|
package/dist/trigger/Trigger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{useEffectCallback as o}from"@nild/hooks";import{mergeRefs as x,cnJoin as y}from"@nild/shared";import{forwardRef as C,Children as E,isValidElement as A,cloneElement as N}from"react";const a=C(({children:t,action:s="click",onToggle:u,onOpen:l,onClose:i,...v},f)=>{var r,d;const n=E.toArray(t).find(c=>A(c)),e=Array.isArray(s)?s:[s],m=o(()=>e.includes("click")&&u?.()),p=o(()=>e.includes("hover")&&l?.()),g=o(()=>e.includes("hover")&&i?.()),k=o(()=>e.includes("focus")&&l?.()),M=o(()=>(e.includes("click")||e.includes("focus")||e.includes("contextMenu"))&&i?.()),h=o(c=>e.includes("contextMenu")&&(c.preventDefault(),l?.()));return n?N(n,{...v,className:y("nd-trigger",(r=n?.props)==null?void 0:r.className),ref:x(f,(d=n?.props)==null?void 0:d.ref),onClick:m,onMouseEnter:p,onMouseLeave:g,onFocus:k,onBlur:M,onContextMenu:h}):null});a.displayName="Trigger";export{a as default};
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { AnchorHTMLAttributes
|
|
1
|
+
import { AnchorHTMLAttributes } from 'react';
|
|
2
2
|
export interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
3
|
-
className?: string;
|
|
4
|
-
children?: ReactNode;
|
|
5
3
|
disabled?: boolean;
|
|
6
4
|
underlined?: boolean;
|
|
7
5
|
}
|
package/dist/typography/Link.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as d}from"react/jsx-runtime";import{cnMerge as s}from"@nild/shared
|
|
1
|
+
import{jsx as d}from"react/jsx-runtime";import{cnMerge as s}from"@nild/shared";import{forwardRef as f}from"react";import{DISABLED_CLS as m}from"../_shared/style/index.js";const r=f(({className:n,children:i,disabled:e,underlined:a,href:t="#",...l},o)=>d("a",{...l,href:e?void 0:t,className:s("nd-link",["font-sans","text-link","text-[length:inherit]","cursor-pointer","enabled:hover:text-link-hover","enabled:active:text-link-active"],m,a?"underline":"no-underline",e&&"disabled",n),ref:o,children:i}));r.displayName="Typography.Link";export{r as default};
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import { HTMLAttributes
|
|
2
|
-
export
|
|
3
|
-
className?: string;
|
|
4
|
-
children?: ReactNode;
|
|
5
|
-
}
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
export type ParagraphProps = HTMLAttributes<HTMLParagraphElement>;
|
|
6
3
|
declare const Paragraph: import('react').ForwardRefExoticComponent<ParagraphProps & import('react').RefAttributes<HTMLParagraphElement>>;
|
|
7
4
|
export default Paragraph;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{cnMerge as o}from"@nild/shared
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{cnMerge as o}from"@nild/shared";import{forwardRef as s}from"react";const r=s(({className:a,children:e,...m},p)=>t("p",{...m,className:o("nd-paragraph","text-primary text-[length:inherit]","mt-0 mb-[1em]",a),ref:p,children:e}));r.displayName="Typography.Paragraph";export{r as default};
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { HTMLAttributes
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
2
|
export interface TextProps extends HTMLAttributes<HTMLSpanElement> {
|
|
3
|
-
className?: string;
|
|
4
|
-
children?: ReactNode;
|
|
5
3
|
disabled?: boolean;
|
|
6
4
|
secondary?: boolean;
|
|
7
5
|
strong?: boolean;
|
package/dist/typography/Text.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{cnJoin as d,cnMerge as x}from"@nild/shared
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{cnJoin as d,cnMerge as x}from"@nild/shared";import{forwardRef as g}from"react";import{DISABLED_CLS as u}from"../_shared/style/index.js";const s=g(({className:a,children:o,disabled:n,secondary:t,strong:i,deleted:l,underlined:c,italic:m,marked:p,coded:b,keyboarded:h,...y},f)=>{let e=o;return i&&(e=r("strong",{children:e})),l&&(e=r("del",{children:e})),c&&(e=r("u",{className:"underline",children:e})),m&&(e=r("i",{children:e})),p&&(e=r("mark",{className:"text-contrast bg-primary",children:e})),b&&(e=r("code",{className:d("text-sm","ps-1.5 pe-1.5","bg-secondary rounded-sm border border-solid border-secondary"),children:e})),h&&(e=r("kbd",{className:d("text-sm","ps-1.5 pe-1.5","rounded-sm border border-b-2 border-solid border-secondary"),children:e})),r("span",{...y,className:x("nd-text","font-sans text-[length:inherit]",u,n&&"disabled",t?"text-secondary":"text-primary",a),ref:f,children:e})});s.displayName="Typography.Text";export{s as default};
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { HTMLAttributes
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
2
|
import { HeadingLevel } from './style';
|
|
3
3
|
export interface TitleProps extends HTMLAttributes<HTMLHeadingElement> {
|
|
4
|
-
className?: string;
|
|
5
|
-
children?: ReactNode;
|
|
6
4
|
level?: HeadingLevel;
|
|
7
5
|
}
|
|
8
6
|
declare const Title: import('react').ForwardRefExoticComponent<TitleProps & import('react').RefAttributes<HTMLHeadingElement>>;
|
package/dist/typography/Title.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as i}from"react/jsx-runtime";import{cnMerge as f}from"@nild/shared
|
|
1
|
+
import{jsx as i}from"react/jsx-runtime";import{cnMerge as f}from"@nild/shared";import{forwardRef as l}from"react";import{HEADING_LEVEL_CLS_MAP as n}from"./style/index.js";const r=l(({className:a,children:m,level:e=1,...s},o)=>{const t=`h${e}`;return i(t,{...s,className:f(["nd-title","font-sans font-semibold text-primary","mt-[1em] mb-[0.5em]"],n[e],a),ref:o,children:m})});r.displayName="Typography.Title";export{r as default};
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HTMLAttributes, ForwardRefExoticComponent } from 'react';
|
|
2
2
|
import { default as Link } from './Link';
|
|
3
3
|
import { default as Paragraph } from './Paragraph';
|
|
4
4
|
import { default as Text } from './Text';
|
|
5
5
|
import { default as Title } from './Title';
|
|
6
|
-
export
|
|
7
|
-
className?: string;
|
|
8
|
-
children?: ReactNode;
|
|
9
|
-
}
|
|
6
|
+
export type TypographyProps = HTMLAttributes<HTMLElement>;
|
|
10
7
|
declare const Typography: ForwardRefExoticComponent<TypographyProps> & {
|
|
11
8
|
Link: typeof Link;
|
|
12
9
|
Paragraph: typeof Paragraph;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{cnMerge as p}from"@nild/shared
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{cnMerge as p}from"@nild/shared";import{forwardRef as i}from"react";import s from"./Link.js";import f from"./Paragraph.js";import n from"./Text.js";import l from"./Title.js";const r=i(({className:o,children:a,...m},t)=>e("article",{...m,className:p("nd-typography","font-sans text-md",o),ref:t,children:a}));r.Link=s,r.Paragraph=f,r.Text=n,r.Title=l,r.displayName="Typography";export{r as default};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nild/components",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.9",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "./dist/index.js",
|
|
7
7
|
"exports": {
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"react": ">=18.2.0",
|
|
33
33
|
"react-dom": ">=18.2.0",
|
|
34
|
-
"@nild/
|
|
35
|
-
"@nild/
|
|
34
|
+
"@nild/shared": "0.0.6",
|
|
35
|
+
"@nild/hooks": "0.0.8"
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
38
|
"build": "vite build --mode PROD",
|