@chain-ui/core 0.1.2 → 0.2.0
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.css +1 -1
- package/dist/index.js +1042 -266
- package/dist/src/components/checkbox/checkbox.d.ts +40 -0
- package/dist/src/components/checkbox/checkbox.stories.d.ts +29 -0
- package/dist/src/components/checkbox/checkbox.test.d.ts +1 -0
- package/dist/src/components/checkbox/index.d.ts +2 -0
- package/dist/src/components/index.d.ts +7 -0
- package/dist/src/components/message/index.d.ts +2 -0
- package/dist/src/components/message/message.d.ts +16 -0
- package/dist/src/components/message/message.stories.d.ts +18 -0
- package/dist/src/components/message/message.test.d.ts +1 -0
- package/dist/src/components/notification/index.d.ts +2 -0
- package/dist/src/components/notification/notification.d.ts +18 -0
- package/dist/src/components/notification/notification.stories.d.ts +18 -0
- package/dist/src/components/notification/notification.test.d.ts +1 -0
- package/dist/src/components/popover/index.d.ts +2 -0
- package/dist/src/components/popover/popover.d.ts +23 -0
- package/dist/src/components/popover/popover.stories.d.ts +18 -0
- package/dist/src/components/popover/popover.test.d.ts +1 -0
- package/dist/src/components/radio/index.d.ts +2 -0
- package/dist/src/components/radio/radio.d.ts +37 -0
- package/dist/src/components/radio/radio.stories.d.ts +28 -0
- package/dist/src/components/radio/radio.test.d.ts +1 -0
- package/dist/src/components/switch/index.d.ts +2 -0
- package/dist/src/components/switch/switch.d.ts +14 -0
- package/dist/src/components/switch/switch.stories.d.ts +24 -0
- package/dist/src/components/switch/switch.test.d.ts +1 -0
- package/dist/src/components/tooltip/index.d.ts +2 -0
- package/dist/src/components/tooltip/tooltip.d.ts +20 -0
- package/dist/src/components/tooltip/tooltip.stories.d.ts +19 -0
- package/dist/src/components/tooltip/tooltip.test.d.ts +1 -0
- package/dist/src/utils/icons.d.ts +1 -0
- package/dist/src/utils/index.d.ts +5 -1
- package/dist/src/utils/portal.d.ts +13 -0
- package/dist/src/utils/position.d.ts +7 -0
- package/package.json +4 -1
- package/dist/index.d.ts +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("react");c=s(c,1);let l=require("react/jsx-runtime"),u=require("react-dom");var d=(0,c.forwardRef)(function({variant:e=`solid`,color:t=`primary`,size:n=`md`,shape:r=`default`,disabled:i=!1,loading:a=!1,icon:o,iconRight:s,children:c,onClick:u,className:d,htmlType:f,ariaLabel:p,...m},h){let g=i||a,_=[`chain-btn`,`chain-btn--${e}`,`chain-btn--${t}`,`chain-btn--${n}`,r!==`default`&&`chain-btn--${r}`,g&&`chain-btn--disabled`,a&&`chain-btn--loading`,d].filter(Boolean).join(` `);return(0,l.jsxs)(`button`,{ref:h,type:f,className:_,disabled:g,"aria-disabled":g||void 0,"aria-busy":a||void 0,"aria-label":p,onClick:e=>{g||u?.(e)},...m,children:[a&&(0,l.jsx)(`span`,{className:`chain-btn__spinner`,"aria-hidden":`true`}),!a&&o&&(0,l.jsx)(`span`,{className:`chain-btn__icon`,children:o}),c&&(0,l.jsx)(`span`,{children:c}),!a&&s&&(0,l.jsx)(`span`,{className:`chain-btn__icon--right`,children:s})]})}),f=(0,c.forwardRef)(function({value:e,defaultValue:t,onChange:n,variant:r=`outline`,size:i=`md`,status:a=`default`,disabled:o=!1,readOnly:s=!1,prefix:u,suffix:d,allowClear:f=!1,clearAriaLabel:p=`Clear input`,showCount:m=!1,maxLength:h,className:g,style:_,...v},y){let[b,x]=(0,c.useState)(t??``),S=e!==void 0,C=S?e:b,w=e=>{if(o||s)return;let t=e.target.value;S||x(t),n?.(t,e)},T=()=>{S||x(``),n?.(``,{target:{value:``}})},E=f&&C.length>0&&!o&&!s;return(0,l.jsxs)(`div`,{className:[`chain-input`,`chain-input--${r}`,`chain-input--${i}`,a!==`default`&&`chain-input--${a}`,o&&`chain-input--disabled`,s&&`chain-input--readonly`,g].filter(Boolean).join(` `),style:_,children:[u&&(0,l.jsx)(`span`,{className:`chain-input__prefix`,children:u}),(0,l.jsx)(`input`,{ref:y,className:`chain-input__field`,...S?{value:C}:{defaultValue:t},onChange:w,disabled:o,readOnly:s,maxLength:h,"aria-disabled":o||void 0,"aria-invalid":a===`error`||void 0,...v}),(E||m||d)&&(0,l.jsxs)(`span`,{className:`chain-input__suffix`,children:[E&&(0,l.jsx)(`span`,{className:`chain-input__clear`,onClick:T,role:`button`,tabIndex:0,"aria-label":p,children:`×`}),m&&(0,l.jsxs)(`span`,{className:`chain-input__count`,children:[C.length,h!==void 0&&` / ${h}`]}),d]})]})});function p(e,t){if(t===`default`||!c.default.isValidElement(e))return e;let n=e.type;return typeof n==`function`||typeof n==`object`&&n?c.default.cloneElement(e,{status:t}):e}var m=(0,c.forwardRef)(function({label:e,labelWidth:t=120,labelAlign:n=`right`,required:r=!1,requiredMark:i=`*`,colon:a=!0,colonText:o=`:`,status:s=`default`,help:u,layout:d=`horizontal`,children:f,className:m,style:h,...g},_){let v=e!=null,y=()=>{if(!v)return null;let s=a&&typeof e==`string`&&e.length>0;return(0,l.jsxs)(`label`,{className:[`chain-form-item__label`,n===`right`&&`chain-form-item__label--right`].filter(Boolean).join(` `),style:{width:typeof t==`number`?`${t}px`:t},children:[r&&(0,l.jsx)(`span`,{className:`chain-form-item__label-required`,"aria-hidden":`true`,children:i}),(0,l.jsx)(`span`,{className:`chain-form-item__label-text`,children:e}),s&&(0,l.jsx)(`span`,{className:`chain-form-item__label-colon`,children:o})]})},b=[`chain-form-item`,`chain-form-item--${d}`,s!==`default`&&`chain-form-item--${s}`,r&&`chain-form-item--required`,m].filter(Boolean).join(` `),x=[`chain-form-item__help`,s!==`default`&&`chain-form-item__help--${s}`].filter(Boolean).join(` `),S=s!==`default`&&c.default.Children.count(f)===1?p(c.default.Children.toArray(f)[0],s):f;return(0,l.jsxs)(`div`,{ref:_,className:b,style:h,...g,children:[y(),(0,l.jsx)(`div`,{className:`chain-form-item__control`,children:S}),u&&(0,l.jsx)(`div`,{className:x,children:u})]})});function h(e,t){return e===t.value}var g=(0,c.forwardRef)(function({value:e,defaultValue:t,onChange:n,options:r=[],variant:i=`outline`,size:a=`md`,status:o=`default`,disabled:s=!1,loading:d=!1,allowClear:f=!1,placeholder:p=`Please select`,mode:m=`single`,showSearch:g=!1,prefix:_,suffix:v,emptyText:y=`暂无数据`,clearAriaLabel:b=`Clear selection`,searchPlaceholder:x=`Search`,expandAriaLabel:S=`Expand`,collapseAriaLabel:C=`Collapse`,removeAriaLabel:w=`Remove`,dropdownClassName:T,dropdownStyle:E,getPopupContainer:D,className:O,style:k,...A},j){let M=e!==void 0,[N,P]=(0,c.useState)(t??(m===`multiple`?[]:``)),F=M?e:N,[I,L]=(0,c.useState)(!1),[R,z]=(0,c.useState)(-1),[B,V]=(0,c.useState)(``),[H,ee]=(0,c.useState)({top:0,left:0,width:0}),U=(0,c.useRef)(null),W=(0,c.useRef)(null),G=(0,c.useRef)(null),K=(0,c.useRef)(null),q=s||d,J=(0,c.useCallback)((e,t)=>{M||P(e),n?.(e,t)},[M,n]),te=r.filter(e=>m===`multiple`&&Array.isArray(F)?F.some(t=>h(t,e)):h(F,e)),ne=g&&B?r.filter(e=>String(e.label).toLowerCase().includes(B.toLowerCase())):r,Y=ne.filter(e=>!e.disabled),X=(0,c.useCallback)(()=>{if(!U.current)return;let e=U.current.getBoundingClientRect();ee({top:e.bottom+4,left:e.left,width:e.width})},[]),Z=(0,c.useCallback)(()=>{q||(X(),L(!0),z(-1),V(``))},[q,X]),Q=(0,c.useCallback)(()=>{L(!1),z(-1),V(``)},[]),$=(0,c.useCallback)((e,t)=>{if(!e.disabled)if(m===`multiple`){let n=Array.isArray(F)?F:[];J(n.some(t=>h(t,e))?n.filter(t=>!h(t,e)):[...n,e.value],t)}else J(e.value,t),Q()},[m,F,J,Q]),re=(0,c.useCallback)(e=>{e.stopPropagation(),J(m===`multiple`?[]:``,e)},[m,J]),ie=(0,c.useCallback)((e,t)=>{t.stopPropagation(),m===`multiple`&&Array.isArray(F)&&J(F.filter(t=>!h(t,e)),t)},[m,F,J]),ae=()=>{if(m===`multiple`&&Array.isArray(F)&&F.length>0)return null;if(m===`single`&&F!==``&&F!==void 0){let e=r.find(e=>h(F,e));return e?e.label:String(F)}return null},oe=(0,c.useCallback)(()=>{q||(I?Q():Z())},[q,I,Z,Q]),se=(0,c.useCallback)(e=>{if(!q)switch(e.key){case`Enter`:case` `:e.preventDefault(),I?R>=0&&R<Y.length&&$(Y[R],e):Z();break;case`ArrowDown`:e.preventDefault(),I?z(e=>e<Y.length-1?e+1:0):(Z(),z(0));break;case`ArrowUp`:e.preventDefault(),I&&z(e=>e>0?e-1:Y.length-1);break;case`Escape`:e.preventDefault(),Q(),U.current?.focus();break;case`Tab`:I&&Q();break}},[q,I,R,Y,$,Z,Q]),ce=(0,c.useCallback)((e,t)=>{$(e,t)},[$]),le=(0,c.useCallback)(e=>{re(e)},[re]),ue=(0,c.useCallback)(e=>{V(e.target.value),z(-1)},[]);(0,c.useEffect)(()=>{if(!I)return;let e=e=>{let t=e.target;W.current?.contains(t)||U.current?.contains(t)||Q()};return document.addEventListener(`mousedown`,e,!0),()=>document.removeEventListener(`mousedown`,e,!0)},[I,Q]),(0,c.useEffect)(()=>{if(!I)return;let e=()=>X();return window.addEventListener(`scroll`,e,!0),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`scroll`,e,!0),window.removeEventListener(`resize`,e)}},[I,X]),(0,c.useEffect)(()=>{I&&g&&requestAnimationFrame(()=>G.current?.focus())},[I,g]),(0,c.useEffect)(()=>{if(R<0||!K.current)return;let e=K.current.querySelectorAll(`.chain-select__item`)[R];e&&typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`})},[R]);let de=f&&!q&&(m===`multiple`?Array.isArray(F)&&F.length>0:F!==``&&F!==void 0),fe=[`chain-select`,`chain-select--${i}`,`chain-select--${a}`,o!==`default`&&`chain-select--${o}`,q&&`chain-select--disabled`,d&&`chain-select--loading`,m===`multiple`&&`chain-select--multiple`,I&&`chain-select--open`,O].filter(Boolean).join(` `),pe=ae(),me=()=>{if(!I)return null;let e=D?.()??document.body;return(0,u.createPortal)((0,l.jsxs)(`div`,{ref:W,className:[`chain-select__dropdown`,T].filter(Boolean).join(` `),style:{top:H.top,left:H.left,width:H.width,...E},children:[g&&(0,l.jsx)(`div`,{className:`chain-select__search`,children:(0,l.jsx)(`input`,{ref:G,className:`chain-select__search-input`,placeholder:x,value:B,onChange:ue,role:`searchbox`,onClick:e=>e.stopPropagation()})}),ne.length===0?(0,l.jsx)(`div`,{className:`chain-select__empty`,children:y}):(0,l.jsx)(`ul`,{ref:K,className:`chain-select__list`,role:`listbox`,children:ne.map((e,t)=>{let n=m===`multiple`&&Array.isArray(F)?F.some(t=>h(t,e)):h(F,e);return(0,l.jsxs)(`li`,{className:[`chain-select__item`,n&&`chain-select__item--selected`,t===R&&`chain-select__item--highlighted`,e.disabled&&`chain-select__item--disabled`].filter(Boolean).join(` `),role:`option`,"aria-selected":n,"aria-disabled":e.disabled||void 0,onClick:t=>{e.disabled||ce(e,t)},onMouseEnter:()=>{e.disabled||z(t)},children:[(0,l.jsx)(`span`,{children:e.label}),n&&(0,l.jsx)(`span`,{className:`chain-select__item-check`,"aria-hidden":`true`,children:`✓`})]},e.value)})})]}),e)};return(0,l.jsxs)(`div`,{ref:j,className:fe,style:k,...A,children:[(0,l.jsxs)(`div`,{ref:U,className:`chain-select__trigger`,role:`combobox`,"aria-expanded":I,"aria-haspopup":`listbox`,"aria-disabled":q||void 0,tabIndex:q?-1:0,onClick:oe,onKeyDown:se,children:[_&&(0,l.jsx)(`span`,{className:`chain-select__prefix`,children:_}),(0,l.jsx)(`div`,{className:`chain-select__trigger-inner`,children:m===`multiple`&&Array.isArray(F)&&F.length>0?(0,l.jsx)(`div`,{className:`chain-select__tags`,children:te.map(e=>(0,l.jsxs)(`span`,{className:`chain-select__tag`,children:[(0,l.jsx)(`span`,{children:e.label}),(0,l.jsx)(`button`,{type:`button`,className:`chain-select__tag-remove`,"aria-label":w,onClick:t=>ie(e,t),children:`×`})]},e.value))}):pe?(0,l.jsx)(`span`,{className:`chain-select__value`,children:pe}):(0,l.jsx)(`span`,{className:`chain-select__placeholder`,children:p})}),de&&(0,l.jsx)(`span`,{className:`chain-select__clear`,role:`button`,"aria-label":b,onClick:le,children:`×`}),d?(0,l.jsx)(`span`,{className:`chain-select__spinner`,"aria-hidden":`true`}):(0,l.jsx)(`span`,{className:`chain-select__arrow`,"aria-label":I?C:S,children:`▼`}),v&&(0,l.jsx)(`span`,{className:`chain-select__suffix`,children:v})]}),me()]})}),_={sm:`400px`,md:`520px`,lg:`720px`},v=`a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])`,y=(0,c.forwardRef)(function({open:e=!1,onCancel:t,title:n,children:r,footer:i,onOk:a,okText:o=`确定`,okButtonProps:s,cancelText:f=`取消`,cancelButtonProps:p,confirmLoading:m=!1,closable:h=!0,closeAriaLabel:g=`Close`,maskClosable:y=!0,keyboard:b=!0,destroyOnClose:x=!1,size:S=`md`,width:C,centered:w=!1,getContainer:T,className:E,style:D,...O},k){let A=(0,c.useId)(),[j,M]=(0,c.useState)(!1),[N,P]=(0,c.useState)(!1),[F,I]=(0,c.useState)(!1),L=(0,c.useRef)(null),R=(0,c.useRef)(null),z=(0,c.useRef)(null),B=(0,c.useRef)(0),V=e||j,H=(0,c.useCallback)(e=>{L.current=e,typeof k==`function`?k(e):k&&(k.current=e)},[k]);(0,c.useEffect)(()=>{if(e)z.current=document.activeElement,requestAnimationFrame(()=>{M(!0)});else{P(!0);let e=setTimeout(()=>{P(!1),M(!1)},250);return()=>clearTimeout(e)}},[e]),(0,c.useEffect)(()=>{if(!V)return;let e=window.innerWidth-document.documentElement.clientWidth;B.current=e;let t=document.body.style.overflow,n=document.body.style.paddingRight;return document.body.style.overflow=`hidden`,e>0&&(document.body.style.paddingRight=`${e}px`),()=>{document.body.style.overflow=t,document.body.style.paddingRight=n}},[V]),(0,c.useEffect)(()=>{if(!V)return;let e=setTimeout(()=>{R.current?.focus()},50);return()=>clearTimeout(e)},[V]),(0,c.useEffect)(()=>{!V&&z.current&&(z.current.focus(),z.current=null)},[V]),(0,c.useEffect)(()=>{if(!V||!b)return;let e=e=>{e.key===`Escape`&&t?.()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[V,b,t]);let ee=(0,c.useCallback)(e=>{y&&e.target===e.currentTarget&&t?.()},[y,t]),U=(0,c.useCallback)(async()=>{if(!a)return;let e=a();if(e instanceof Promise){I(!0);try{await e,I(!1),t?.()}catch{I(!1)}}},[a,t]),W=(0,c.useCallback)(e=>{if(e.key!==`Tab`)return;let t=R.current;if(!t)return;let n=t.querySelectorAll(v);if(n.length===0){e.preventDefault();return}let r=n[0],i=n[n.length-1];e.shiftKey?document.activeElement===r&&(e.preventDefault(),i.focus()):document.activeElement===i&&(e.preventDefault(),r.focus())},[]),G=C??_[S]??_.md,K=m||F,q=[`chain-modal`,j&&!N&&`chain-modal--open`,N&&`chain-modal--hidden`,w&&`chain-modal--centered`,E].filter(Boolean).join(` `);return!V&&x?null:(0,u.createPortal)((0,l.jsxs)(`div`,{ref:H,className:q,style:D,role:`dialog`,"aria-modal":`true`,"aria-labelledby":n?A:void 0,...O,children:[(0,l.jsx)(`div`,{className:`chain-modal__mask`,onMouseDown:ee}),(0,l.jsx)(`div`,{className:`chain-modal__wrap`,children:(0,l.jsxs)(`div`,{ref:R,className:`chain-modal__content`,tabIndex:-1,style:{width:typeof G==`number`?`${G}px`:G},onKeyDown:W,children:[n!==void 0||h?(0,l.jsxs)(`div`,{className:`chain-modal__header`,children:[n&&(0,l.jsx)(`h2`,{id:A,className:`chain-modal__title`,children:n}),h&&(0,l.jsx)(`button`,{type:`button`,className:`chain-modal__close`,"aria-label":g,onClick:t,children:`×`})]}):null,r&&(0,l.jsx)(`div`,{className:`chain-modal__body`,children:r}),i===void 0?i===null?null:(0,l.jsxs)(`div`,{className:`chain-modal__footer`,children:[(0,l.jsx)(d,{...p,onClick:t,children:f}),(0,l.jsx)(d,{variant:`solid`,color:`primary`,...s,loading:K,onClick:U,children:o})]}):i]})})]}),T?.()??document.body)});function b(e,t,n){if(typeof n==`function`)return n(e);let r=e[n];return String(r??t)}function x(e,t){if(t!=null)return Array.isArray(t)?t.reduce((e,t)=>{if(typeof e==`object`&&e)return e[t]},e):e[t]}var S=(0,c.forwardRef)(function({dataSource:e,columns:t,rowKey:n=`key`,rowSelection:r,loading:i=!1,emptyText:a=`暂无数据`,pagination:o,bordered:s=!0,size:u=`md`,locale:f,scroll:p,onRow:m,className:h,style:g,..._},v){let y={total:f?.total??`共`,items:f?.items??`条`,prevPage:f?.prevPage??`上一页`,nextPage:f?.nextPage??`下一页`},S=r?.type===`radio`,C=r!=null,w=(0,c.useMemo)(()=>r?.selectedRowKeys??[],[r?.selectedRowKeys]),T=(0,c.useCallback)(()=>{if(!r)return;let t=e.filter(e=>!r.getCheckboxProps?.(e)?.disabled).map((e,t)=>b(e,t,n));if(S)return;let i=t.every(e=>w.includes(e)),a;if(i)a=w.filter(e=>!t.includes(e));else{let e=new Set(w);t.forEach(t=>e.add(t)),a=Array.from(e)}let o=e.filter((e,t)=>a.includes(b(e,t,n)));r.onChange?.(a,o),r.onSelect?.(e[0],!i,o)},[r,e,w,S,n]),E=(0,c.useCallback)((t,i)=>{if(!r)return;let a=b(t,i,n),o,s=w.includes(a);if(S){if(s)return;o=[a]}else o=s?w.filter(e=>e!==a):[...w,a];let c=e.filter((e,t)=>o.includes(b(e,t,n)));r.onChange?.(o,c),r.onSelect?.(t,!s,c)},[r,e,w,S,n]),D=e.map((e,t)=>r?.getCheckboxProps?.(e)?.disabled?null:b(e,t,n)).filter(Boolean),O=D.length>0&&D.every(e=>w.includes(e)),k=w.some(e=>D.includes(e))&&!O,A=o?o.current??1:1,j=o?o.pageSize??10:10,M=o?o.total??e.length:e.length,N=Math.max(1,Math.ceil(M/j)),P=(0,c.useCallback)(e=>{o&&o.onChange?.(e,j)},[o,j]);return(0,l.jsxs)(`div`,{ref:v,className:[`chain-table`,`chain-table--${u}`,s&&`chain-table--bordered`,i&&`chain-table--loading`,h].filter(Boolean).join(` `),style:g,role:`table`,..._,children:[(0,l.jsx)(`div`,{className:`chain-table__container`,style:p?{maxHeight:p.y,overflow:p.x?`auto`:void 0}:void 0,children:(0,l.jsxs)(`table`,{className:`chain-table__table`,children:[(0,l.jsxs)(`colgroup`,{children:[C&&(0,l.jsx)(`col`,{style:{width:48}}),t.map(e=>(0,l.jsx)(`col`,{style:{width:e.width}},e.key))]}),(0,l.jsx)(`thead`,{className:`chain-table__header`,children:(0,l.jsxs)(`tr`,{className:`chain-table__header-row`,children:[C&&(0,l.jsx)(`th`,{className:`chain-table__selection chain-table__header-cell`,role:`columnheader`,children:!S&&(0,l.jsx)(`span`,{className:`chain-table__checkbox`,children:(0,l.jsx)(`input`,{type:`checkbox`,checked:O,ref:e=>{e&&(e.indeterminate=k)},onChange:T,"aria-label":`Select all`})})}),t.map(e=>(0,l.jsx)(`th`,{className:[`chain-table__header-cell`,e.align&&`chain-table__header-cell--align-${e.align}`].filter(Boolean).join(` `),role:`columnheader`,children:e.title},e.key))]})}),(0,l.jsx)(`tbody`,{className:`chain-table__body`,children:e.length===0?(0,l.jsx)(`tr`,{className:`chain-table__row`,children:(0,l.jsx)(`td`,{className:`chain-table__cell chain-table__empty`,colSpan:t.length+ +!!C,role:`status`,"aria-live":`polite`,children:a})}):e.map((e,i)=>{let a=b(e,i,n),o=w.includes(a),s=r?.getCheckboxProps?.(e)?.disabled??!1,c=m?.(e,i);return(0,l.jsxs)(`tr`,{className:[`chain-table__row`,o&&`chain-table__row--selected`,c?.className].filter(Boolean).join(` `),role:`row`,onClick:c?.onClick,onDoubleClick:c?.onDoubleClick,children:[C&&(0,l.jsx)(`td`,{className:`chain-table__selection chain-table__cell`,role:`cell`,children:(0,l.jsx)(`span`,{className:`chain-table__checkbox`,children:(0,l.jsx)(`input`,{type:S?`radio`:`checkbox`,name:S?`chain-table-radio`:void 0,checked:o,disabled:s,onChange:()=>E(e,i),"aria-label":r.selectAriaLabel??`Select row`})})}),t.map(t=>{let n=x(e,t.dataIndex),r=t.render?t.render(n,e,i):n==null?`-`:String(n);return(0,l.jsx)(`td`,{className:[`chain-table__cell`,t.align&&`chain-table__cell--align-${t.align}`,t.ellipsis&&`chain-table__cell--ellipsis`].filter(Boolean).join(` `),role:`cell`,title:t.ellipsis&&typeof r==`string`?r:void 0,children:r},t.key)})]},a)})})]})}),i&&(0,l.jsx)(`div`,{className:`chain-table__loading-overlay`,children:(0,l.jsx)(`span`,{className:`chain-table__loading-spinner`})}),o!==void 0&&o!==!1&&(0,l.jsxs)(`div`,{className:`chain-table__pagination`,children:[(0,l.jsxs)(`span`,{className:`chain-table__pagination-total`,children:[y.total,` `,M,` `,y.items]}),(0,l.jsxs)(`div`,{className:`chain-table__pagination-nav`,children:[(0,l.jsx)(d,{size:`sm`,disabled:A<=1,onClick:()=>P(A-1),children:y.prevPage}),(0,l.jsxs)(`span`,{children:[A,` / `,N]}),(0,l.jsx)(d,{size:`sm`,disabled:A>=N,onClick:()=>P(A+1),children:y.nextPage})]})]})]})}),C=(0,c.forwardRef)(function({color:e=`default`,variant:t=`light`,size:n=`md`,closable:r=!1,onClose:i,children:a,className:o,...s},c){return(0,l.jsxs)(`span`,{ref:c,className:[`chain-tag`,`chain-tag--${t}`,`chain-tag--${e}`,`chain-tag--${n}`,r&&`chain-tag--closable`,o].filter(Boolean).join(` `),...s,children:[(0,l.jsx)(`span`,{className:`chain-tag__text`,children:a}),r&&(0,l.jsx)(`span`,{className:`chain-tag__close`,role:`button`,tabIndex:0,onClick:i,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),i?.(e))},"aria-label":`Close`,children:`×`})]})}),w=(0,c.forwardRef)(function({count:e,dot:t=!1,color:n=`error`,size:r=`md`,overflowCount:i=99,showZero:a=!1,offset:o,children:s,className:c,style:u,...d},f){let p=!t&&e!==void 0&&!a&&e===0,m=e===void 0&&!t,h=(()=>{if(t||e===void 0)return null;let n=typeof e==`number`?e:void 0;return n!==void 0&&n>i?`${i}+`:String(e)})();if(p)return s?(0,l.jsx)(l.Fragment,{children:s}):null;let g=(0,l.jsx)(`span`,{className:[[`chain-badge__content`,t?`chain-badge__content--dot`:`chain-badge__content--number`,!s&&`chain-badge__content--${r}`].filter(Boolean).join(` `),`chain-badge--${n}`,s&&`chain-badge--${r}`].filter(Boolean).join(` `),style:o?{marginLeft:o[0],marginTop:o[1]}:void 0,children:h},`badge`);return s?(0,l.jsxs)(`span`,{ref:f,className:[`chain-badge`,c].filter(Boolean).join(` `),style:u,...d,children:[s,g]}):(0,l.jsx)(`span`,{ref:f,className:[`chain-badge`,c].filter(Boolean).join(` `),style:u,...d,children:m?null:g})});function T(e,t){if(t<=7)return Array.from({length:t},(e,t)=>t+1);let n=[];n.push(1),e>3&&n.push(`ellipsis`);let r=Math.max(2,e-1),i=Math.min(t-1,e+1);for(let e=r;e<=i;e++)n.push(e);return e<t-2&&n.push(`ellipsis`),n.push(t),n}var E=(0,c.forwardRef)(function({value:e,defaultValue:t=1,pageSize:n=10,total:r=0,onChange:i,showSizeChanger:a=!1,pageSizeOptions:o=[10,20,50,100],showQuickJumper:s=!1,showTotal:u=!0,size:d=`md`,disabled:f=!1,locale:p,className:m,...h},g){let[_,v]=(0,c.useState)(t),y=e!==void 0,b=y?e:_,[x,S]=(0,c.useState)(``),[C,w]=(0,c.useState)(n),E=y?n:C,D={total:p?.total??`共`,items:p?.items??`条`,prevPage:p?.prevPage??`上一页`,nextPage:p?.nextPage??`下一页`,jumpTo:p?.jumpTo??`前往`},O=Math.max(1,Math.ceil(r/E)),k=Math.max(1,Math.min(b,O)),A=(0,c.useMemo)(()=>T(k,O),[k,O]),j=(0,c.useCallback)(e=>{if(f)return;let t=Math.max(1,Math.min(e,O));y||v(t),i?.(t,E)},[f,O,y,i,E]),M=(0,c.useCallback)(e=>{if(f)return;w(e);let t=Math.ceil(r/e),n=Math.min(k,t);y||(v(n),w(e)),i?.(n,e)},[f,r,k,y,i]),N=(0,c.useCallback)(()=>{let e=parseInt(x,10);isNaN(e)||(j(e),S(``))},[x,j]);return(0,l.jsxs)(`div`,{ref:g,className:[`chain-pagination`,`chain-pagination--${d}`,f&&`chain-pagination--disabled`,m].filter(Boolean).join(` `),...h,children:[u&&(0,l.jsxs)(`span`,{className:`chain-pagination__total`,children:[D.total,` `,r,` `,D.items]}),(0,l.jsxs)(`ul`,{className:`chain-pagination__list`,children:[(0,l.jsx)(`li`,{className:[`chain-pagination__prev`,(f||k<=1)&&`chain-pagination__item--disabled`].filter(Boolean).join(` `),children:(0,l.jsx)(`button`,{type:`button`,disabled:f||k<=1,onClick:()=>j(k-1),children:D.prevPage})}),A.map((e,t)=>e===`ellipsis`?(0,l.jsx)(`li`,{className:`chain-pagination__item chain-pagination__item--disabled`,children:(0,l.jsx)(`span`,{children:`...`})},`ellipsis-${t}`):(0,l.jsx)(`li`,{className:[`chain-pagination__item`,e===k&&`chain-pagination__item--active`].filter(Boolean).join(` `),children:(0,l.jsx)(`button`,{type:`button`,disabled:f,onClick:()=>j(e),children:e})},e)),(0,l.jsx)(`li`,{className:[`chain-pagination__next`,(f||k>=O)&&`chain-pagination__item--disabled`].filter(Boolean).join(` `),children:(0,l.jsx)(`button`,{type:`button`,disabled:f||k>=O,onClick:()=>j(k+1),children:D.nextPage})})]}),a&&(0,l.jsx)(`select`,{className:`chain-pagination__size-changer`,value:E,disabled:f,onChange:e=>M(Number(e.target.value)),children:o.map(e=>(0,l.jsxs)(`option`,{value:e,children:[e,` `,D.items]},e))}),s&&(0,l.jsxs)(`div`,{className:`chain-pagination__jump`,children:[(0,l.jsx)(`input`,{type:`text`,value:x,disabled:f,onChange:e=>S(e.target.value),onKeyDown:e=>{e.key===`Enter`&&N()},placeholder:``}),(0,l.jsx)(`button`,{type:`button`,disabled:f,onClick:N,children:D.jumpTo})]})]})}),D={success:`✓`,warning:`!`,error:`✗`,info:`ℹ`},O=(0,c.forwardRef)(function({color:e=`info`,size:t=`md`,message:n,description:r,showIcon:i=!0,closable:a=!1,closeAriaLabel:o=`Close`,onClose:s,open:c=!0,action:u,children:d,className:f,...p},m){return c?(0,l.jsxs)(`div`,{ref:m,className:[`chain-alert`,`chain-alert--${e}`,`chain-alert--${t}`,a&&`chain-alert--closable`,f].filter(Boolean).join(` `),role:`alert`,...p,children:[i&&(0,l.jsx)(`span`,{className:`chain-alert__icon`,"aria-hidden":`true`,children:D[e]}),(0,l.jsxs)(`div`,{className:`chain-alert__content`,children:[(0,l.jsx)(`div`,{className:`chain-alert__message`,children:n}),r&&(0,l.jsx)(`div`,{className:`chain-alert__description`,children:r}),d]}),u&&(0,l.jsx)(`div`,{className:`chain-alert__action`,children:u}),a&&(0,l.jsx)(`button`,{type:`button`,className:`chain-alert__close`,"aria-label":o,onClick:s,children:`×`})]}):null}),k={sm:`var(--space-1)`,md:`var(--space-2)`,lg:`var(--space-4)`},A=(0,c.forwardRef)(function({size:e=`md`,gap:t,direction:n=`horizontal`,align:r=`center`,wrap:i=!1,children:a,className:o,style:s,...c},u){let d=t==null?typeof e==`number`?`${e}px`:k[e]??k.md:typeof t==`number`?`${t}px`:t;return(0,l.jsx)(`div`,{ref:u,className:[`chain-space`,`chain-space--${n}`,`chain-space--align-${r}`,i&&`chain-space--wrap`,o].filter(Boolean).join(` `),style:{gap:d,...s},...c,children:a})}),j=(0,c.forwardRef)(function({orientation:e=`horizontal`,type:t=`solid`,size:n=`md`,children:r,className:i,...a},o){return e===`vertical`?(0,l.jsx)(`hr`,{ref:o,className:[`chain-divider`,`chain-divider--vertical`,`chain-divider--${t}`,`chain-divider--${n}`,i].filter(Boolean).join(` `),role:`separator`,"aria-orientation":`vertical`,...a}):r?(0,l.jsxs)(`div`,{ref:o,className:[`chain-divider`,`chain-divider--horizontal`,`chain-divider--${t}`,`chain-divider--${n}`,`chain-divider--with-text`,i].filter(Boolean).join(` `),role:`separator`,...a,children:[(0,l.jsx)(`span`,{className:`chain-divider__line`}),(0,l.jsx)(`span`,{className:`chain-divider__text`,children:r}),(0,l.jsx)(`span`,{className:`chain-divider__line`})]}):(0,l.jsx)(`hr`,{ref:o,className:[`chain-divider`,`chain-divider--horizontal`,`chain-divider--${t}`,`chain-divider--${n}`,i].filter(Boolean).join(` `),role:`separator`,...a})});exports.Alert=O,exports.Badge=w,exports.Button=d,exports.Divider=j,exports.FormItem=m,exports.Input=f,exports.Modal=y,exports.Pagination=E,exports.Select=g,exports.Space=A,exports.Table=S,exports.Tag=C;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("react");c=s(c,1);let l=require("react/jsx-runtime"),u=require("react-dom");var d=(0,c.forwardRef)(function({variant:e=`solid`,color:t=`primary`,size:n=`md`,shape:r=`default`,disabled:i=!1,loading:a=!1,icon:o,iconRight:s,children:c,onClick:u,className:d,htmlType:f,ariaLabel:p,...m},h){let g=i||a,_=[`chain-btn`,`chain-btn--${e}`,`chain-btn--${t}`,`chain-btn--${n}`,r!==`default`&&`chain-btn--${r}`,g&&`chain-btn--disabled`,a&&`chain-btn--loading`,d].filter(Boolean).join(` `);return(0,l.jsxs)(`button`,{ref:h,type:f,className:_,disabled:g,"aria-disabled":g||void 0,"aria-busy":a||void 0,"aria-label":p,onClick:e=>{g||u?.(e)},...m,children:[a&&(0,l.jsx)(`span`,{className:`chain-btn__spinner`,"aria-hidden":`true`}),!a&&o&&(0,l.jsx)(`span`,{className:`chain-btn__icon`,children:o}),c&&(0,l.jsx)(`span`,{children:c}),!a&&s&&(0,l.jsx)(`span`,{className:`chain-btn__icon--right`,children:s})]})}),f=(0,c.forwardRef)(function({value:e,defaultValue:t,onChange:n,variant:r=`outline`,size:i=`md`,status:a=`default`,disabled:o=!1,readOnly:s=!1,prefix:u,suffix:d,allowClear:f=!1,clearAriaLabel:p=`Clear input`,showCount:m=!1,maxLength:h,className:g,style:_,...v},y){let[b,x]=(0,c.useState)(t??``),S=e!==void 0,C=S?e:b,w=e=>{if(o||s)return;let t=e.target.value;S||x(t),n?.(t,e)},T=()=>{S||x(``),n?.(``,{target:{value:``}})},E=f&&C.length>0&&!o&&!s;return(0,l.jsxs)(`div`,{className:[`chain-input`,`chain-input--${r}`,`chain-input--${i}`,a!==`default`&&`chain-input--${a}`,o&&`chain-input--disabled`,s&&`chain-input--readonly`,g].filter(Boolean).join(` `),style:_,children:[u&&(0,l.jsx)(`span`,{className:`chain-input__prefix`,children:u}),(0,l.jsx)(`input`,{ref:y,className:`chain-input__field`,...S?{value:C}:{defaultValue:t},onChange:w,disabled:o,readOnly:s,maxLength:h,"aria-disabled":o||void 0,"aria-invalid":a===`error`||void 0,...v}),(E||m||d)&&(0,l.jsxs)(`span`,{className:`chain-input__suffix`,children:[E&&(0,l.jsx)(`span`,{className:`chain-input__clear`,onClick:T,role:`button`,tabIndex:0,"aria-label":p,children:`×`}),m&&(0,l.jsxs)(`span`,{className:`chain-input__count`,children:[C.length,h!==void 0&&` / ${h}`]}),d]})]})});function p(e,t){if(t===`default`||!c.default.isValidElement(e))return e;let n=e.type;return typeof n==`function`||typeof n==`object`&&n?c.default.cloneElement(e,{status:t}):e}var m=(0,c.forwardRef)(function({label:e,labelWidth:t=120,labelAlign:n=`right`,required:r=!1,requiredMark:i=`*`,colon:a=!0,colonText:o=`:`,status:s=`default`,help:u,layout:d=`horizontal`,children:f,className:m,style:h,...g},_){let v=e!=null,y=()=>{if(!v)return null;let s=a&&typeof e==`string`&&e.length>0;return(0,l.jsxs)(`label`,{className:[`chain-form-item__label`,n===`right`&&`chain-form-item__label--right`].filter(Boolean).join(` `),style:{width:typeof t==`number`?`${t}px`:t},children:[r&&(0,l.jsx)(`span`,{className:`chain-form-item__label-required`,"aria-hidden":`true`,children:i}),(0,l.jsx)(`span`,{className:`chain-form-item__label-text`,children:e}),s&&(0,l.jsx)(`span`,{className:`chain-form-item__label-colon`,children:o})]})},b=[`chain-form-item`,`chain-form-item--${d}`,s!==`default`&&`chain-form-item--${s}`,r&&`chain-form-item--required`,m].filter(Boolean).join(` `),x=[`chain-form-item__help`,s!==`default`&&`chain-form-item__help--${s}`].filter(Boolean).join(` `),S=s!==`default`&&c.default.Children.count(f)===1?p(c.default.Children.toArray(f)[0],s):f;return(0,l.jsxs)(`div`,{ref:_,className:b,style:h,...g,children:[y(),(0,l.jsx)(`div`,{className:`chain-form-item__control`,children:S}),u&&(0,l.jsx)(`div`,{className:x,children:u})]})});function h(e,t){return e===t.value}var g=(0,c.forwardRef)(function({value:e,defaultValue:t,onChange:n,options:r=[],variant:i=`outline`,size:a=`md`,status:o=`default`,disabled:s=!1,loading:d=!1,allowClear:f=!1,placeholder:p=`Please select`,mode:m=`single`,showSearch:g=!1,prefix:_,suffix:v,emptyText:y=`暂无数据`,clearAriaLabel:b=`Clear selection`,searchPlaceholder:x=`Search`,expandAriaLabel:S=`Expand`,collapseAriaLabel:C=`Collapse`,removeAriaLabel:w=`Remove`,dropdownClassName:T,dropdownStyle:E,getPopupContainer:D,className:O,style:k,...A},j){let M=e!==void 0,[N,P]=(0,c.useState)(t??(m===`multiple`?[]:``)),F=M?e:N,[I,L]=(0,c.useState)(!1),[R,z]=(0,c.useState)(-1),[B,V]=(0,c.useState)(``),[H,U]=(0,c.useState)({top:0,left:0,width:0}),W=(0,c.useRef)(null),G=(0,c.useRef)(null),K=(0,c.useRef)(null),q=(0,c.useRef)(null),J=s||d,Y=(0,c.useCallback)((e,t)=>{M||P(e),n?.(e,t)},[M,n]),X=r.filter(e=>m===`multiple`&&Array.isArray(F)?F.some(t=>h(t,e)):h(F,e)),ee=g&&B?r.filter(e=>String(e.label).toLowerCase().includes(B.toLowerCase())):r,Z=ee.filter(e=>!e.disabled),Q=(0,c.useCallback)(()=>{if(!W.current)return;let e=W.current.getBoundingClientRect();U({top:e.bottom+4,left:e.left,width:e.width})},[]),te=(0,c.useCallback)(()=>{J||(Q(),L(!0),z(-1),V(``))},[J,Q]),$=(0,c.useCallback)(()=>{L(!1),z(-1),V(``)},[]),ne=(0,c.useCallback)((e,t)=>{if(!e.disabled)if(m===`multiple`){let n=Array.isArray(F)?F:[];Y(n.some(t=>h(t,e))?n.filter(t=>!h(t,e)):[...n,e.value],t)}else Y(e.value,t),$()},[m,F,Y,$]),re=(0,c.useCallback)(e=>{e.stopPropagation(),Y(m===`multiple`?[]:``,e)},[m,Y]),ie=(0,c.useCallback)((e,t)=>{t.stopPropagation(),m===`multiple`&&Array.isArray(F)&&Y(F.filter(t=>!h(t,e)),t)},[m,F,Y]),ae=()=>{if(m===`multiple`&&Array.isArray(F)&&F.length>0)return null;if(m===`single`&&F!==``&&F!==void 0){let e=r.find(e=>h(F,e));return e?e.label:String(F)}return null},oe=(0,c.useCallback)(()=>{J||(I?$():te())},[J,I,te,$]),se=(0,c.useCallback)(e=>{if(!J)switch(e.key){case`Enter`:case` `:e.preventDefault(),I?R>=0&&R<Z.length&&ne(Z[R],e):te();break;case`ArrowDown`:e.preventDefault(),I?z(e=>e<Z.length-1?e+1:0):(te(),z(0));break;case`ArrowUp`:e.preventDefault(),I&&z(e=>e>0?e-1:Z.length-1);break;case`Escape`:e.preventDefault(),$(),W.current?.focus();break;case`Tab`:I&&$();break}},[J,I,R,Z,ne,te,$]),ce=(0,c.useCallback)((e,t)=>{ne(e,t)},[ne]),le=(0,c.useCallback)(e=>{re(e)},[re]),ue=(0,c.useCallback)(e=>{V(e.target.value),z(-1)},[]);(0,c.useEffect)(()=>{if(!I)return;let e=e=>{let t=e.target;G.current?.contains(t)||W.current?.contains(t)||$()};return document.addEventListener(`mousedown`,e,!0),()=>document.removeEventListener(`mousedown`,e,!0)},[I,$]),(0,c.useEffect)(()=>{if(!I)return;let e=()=>Q();return window.addEventListener(`scroll`,e,!0),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`scroll`,e,!0),window.removeEventListener(`resize`,e)}},[I,Q]),(0,c.useEffect)(()=>{I&&g&&requestAnimationFrame(()=>K.current?.focus())},[I,g]),(0,c.useEffect)(()=>{if(R<0||!q.current)return;let e=q.current.querySelectorAll(`.chain-select__item`)[R];e&&typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`})},[R]);let de=f&&!J&&(m===`multiple`?Array.isArray(F)&&F.length>0:F!==``&&F!==void 0),fe=[`chain-select`,`chain-select--${i}`,`chain-select--${a}`,o!==`default`&&`chain-select--${o}`,J&&`chain-select--disabled`,d&&`chain-select--loading`,m===`multiple`&&`chain-select--multiple`,I&&`chain-select--open`,O].filter(Boolean).join(` `),pe=ae(),me=()=>{if(!I)return null;let e=D?.()??document.body;return(0,u.createPortal)((0,l.jsxs)(`div`,{ref:G,className:[`chain-select__dropdown`,T].filter(Boolean).join(` `),style:{top:H.top,left:H.left,width:H.width,...E},children:[g&&(0,l.jsx)(`div`,{className:`chain-select__search`,children:(0,l.jsx)(`input`,{ref:K,className:`chain-select__search-input`,placeholder:x,value:B,onChange:ue,role:`searchbox`,onClick:e=>e.stopPropagation()})}),ee.length===0?(0,l.jsx)(`div`,{className:`chain-select__empty`,children:y}):(0,l.jsx)(`ul`,{ref:q,className:`chain-select__list`,role:`listbox`,children:ee.map((e,t)=>{let n=m===`multiple`&&Array.isArray(F)?F.some(t=>h(t,e)):h(F,e);return(0,l.jsxs)(`li`,{className:[`chain-select__item`,n&&`chain-select__item--selected`,t===R&&`chain-select__item--highlighted`,e.disabled&&`chain-select__item--disabled`].filter(Boolean).join(` `),role:`option`,"aria-selected":n,"aria-disabled":e.disabled||void 0,onClick:t=>{e.disabled||ce(e,t)},onMouseEnter:()=>{e.disabled||z(t)},children:[(0,l.jsx)(`span`,{children:e.label}),n&&(0,l.jsx)(`span`,{className:`chain-select__item-check`,"aria-hidden":`true`,children:`✓`})]},e.value)})})]}),e)};return(0,l.jsxs)(`div`,{ref:j,className:fe,style:k,...A,children:[(0,l.jsxs)(`div`,{ref:W,className:`chain-select__trigger`,role:`combobox`,"aria-expanded":I,"aria-haspopup":`listbox`,"aria-disabled":J||void 0,tabIndex:J?-1:0,onClick:oe,onKeyDown:se,children:[_&&(0,l.jsx)(`span`,{className:`chain-select__prefix`,children:_}),(0,l.jsx)(`div`,{className:`chain-select__trigger-inner`,children:m===`multiple`&&Array.isArray(F)&&F.length>0?(0,l.jsx)(`div`,{className:`chain-select__tags`,children:X.map(e=>(0,l.jsxs)(`span`,{className:`chain-select__tag`,children:[(0,l.jsx)(`span`,{children:e.label}),(0,l.jsx)(`button`,{type:`button`,className:`chain-select__tag-remove`,"aria-label":w,onClick:t=>ie(e,t),children:`×`})]},e.value))}):pe?(0,l.jsx)(`span`,{className:`chain-select__value`,children:pe}):(0,l.jsx)(`span`,{className:`chain-select__placeholder`,children:p})}),de&&(0,l.jsx)(`span`,{className:`chain-select__clear`,role:`button`,"aria-label":b,onClick:le,children:`×`}),d?(0,l.jsx)(`span`,{className:`chain-select__spinner`,"aria-hidden":`true`}):(0,l.jsx)(`span`,{className:`chain-select__arrow`,"aria-label":I?C:S,children:`▼`}),v&&(0,l.jsx)(`span`,{className:`chain-select__suffix`,children:v})]}),me()]})});function _(e,t,n){let r=window.scrollX??window.pageXOffset,i=window.scrollY??window.pageYOffset,a=e.left+r,o=e.top+i,s=e.width,c=e.height,l=t.width,u=t.height,[d,f]=n.split(`-`),p=0,m=0;switch(d){case`top`:p=o-u-10;break;case`bottom`:p=o+c+10;break;case`left`:m=a-l-10;break;case`right`:m=a+s+10;break}return(d===`top`||d===`bottom`)&&(m=f===`start`?a:f===`end`?a+s-l:a+s/2-l/2),(d===`left`||d===`right`)&&(p=f===`start`?o:f===`end`?o+c-u:o+c/2-u/2),{top:p,left:m}}var v={success:`✓`,error:`✗`,warning:`!`,info:`ℹ`};function y(e,t={}){let{duration:n=200,onExited:r}=t,[i,a]=(0,c.useState)(e),[o,s]=(0,c.useState)(e),[l,u]=(0,c.useState)(!1),d=(0,c.useRef)(void 0),f=(0,c.useRef)(r);return f.current=r,(0,c.useEffect)(()=>{if(e)a(!0),u(!1),requestAnimationFrame(()=>s(!0));else if(i)return s(!1),u(!0),d.current=setTimeout(()=>{u(!1),a(!1),f.current?.()},n),()=>clearTimeout(d.current)},[e]),(0,c.useEffect)(()=>()=>clearTimeout(d.current),[]),{mounted:i,animating:o,closing:l}}function b({getContainer:e,children:t}){return(0,u.createPortal)(t,e?.()??document.body)}function x({mounted:e,animating:t,closing:n},r={}){let{duration:i=200,easing:a=`ease`,from:o=0,to:s=1}=r;return e?{opacity:t&&!n?s:o,transition:`opacity ${i}ms ${a}`}:{opacity:o}}function S({mounted:e,animating:t,closing:n},r={}){let{duration:i=200,easing:a=`ease`,from:o=.9,to:s=1}=r;return e?{transform:t&&!n?`scale(${s})`:`scale(${o})`,transition:`transform ${i}ms ${a}`}:{transform:`scale(${o})`}}function C(e){return typeof e==`number`?`${e}px`:e}function w(e,t){switch(e){case`up`:return{x:0,y:t};case`down`:return{x:0,y:-t};case`left`:return{x:t,y:0};case`right`:return{x:-t,y:0}}}function T({mounted:e,animating:t,closing:n},r={}){let{duration:i=250,easing:a=`ease`,direction:o=`down`,distance:s=16}=r,c=r.from??w(o,s),l=r.to??{x:0,y:0};if(!e)return{transform:`translate(${C(c.x)}, ${C(c.y)})`};let u=t&&!n?l:c;return{transform:`translate(${C(u.x)}, ${C(u.y)})`,transition:`transform ${i}ms ${a}`}}function E(...e){let t={},n=[];for(let r of e)for(let e of Object.keys(r))if(e===`transition`){let t=r[e];typeof t==`string`&&t&&n.push(t)}else t[e]=r[e];return n.length>0&&(t.transition=n.join(`, `)),t}var D={sm:`400px`,md:`520px`,lg:`720px`},O=`a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])`,k=(0,c.forwardRef)(function({open:e=!1,onCancel:t,title:n,children:r,footer:i,onOk:a,okText:o=`确定`,okButtonProps:s,cancelText:u=`取消`,cancelButtonProps:f,confirmLoading:p=!1,closable:m=!0,closeAriaLabel:h=`Close`,maskClosable:g=!0,keyboard:_=!0,destroyOnClose:v=!1,size:C=`md`,width:w,centered:T=!1,getContainer:k,className:A,style:j,...M},N){let P=(0,c.useId)(),F=y(e,{duration:250,onExited:()=>{G.current&&=(G.current.focus(),null)}}),{mounted:I,animating:L,closing:R}=F,z=x(F,{duration:250}),B=E(x(F,{duration:250}),S(F,{from:.95,duration:250})),[V,H]=(0,c.useState)(!1),U=(0,c.useRef)(null),W=(0,c.useRef)(null),G=(0,c.useRef)(null),K=(0,c.useRef)(0),q=I,J=(0,c.useCallback)(e=>{U.current=e,typeof N==`function`?N(e):N&&(N.current=e)},[N]);(0,c.useEffect)(()=>{e&&(G.current=document.activeElement)},[e]),(0,c.useEffect)(()=>{if(!q)return;let e=window.innerWidth-document.documentElement.clientWidth;K.current=e;let t=document.body.style.overflow,n=document.body.style.paddingRight;return document.body.style.overflow=`hidden`,e>0&&(document.body.style.paddingRight=`${e}px`),()=>{document.body.style.overflow=t,document.body.style.paddingRight=n}},[q]),(0,c.useEffect)(()=>{if(!q)return;let e=setTimeout(()=>{W.current?.focus()},50);return()=>clearTimeout(e)},[q]),(0,c.useEffect)(()=>{if(!q||!_)return;let e=e=>{e.key===`Escape`&&t?.()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[q,_,t]);let Y=(0,c.useCallback)(e=>{g&&e.target===e.currentTarget&&t?.()},[g,t]),X=(0,c.useCallback)(async()=>{if(!a)return;let e=a();if(e instanceof Promise){H(!0);try{await e,H(!1),t?.()}catch{H(!1)}}},[a,t]),ee=(0,c.useCallback)(e=>{if(e.key!==`Tab`)return;let t=W.current;if(!t)return;let n=t.querySelectorAll(O);if(n.length===0){e.preventDefault();return}let r=n[0],i=n[n.length-1];e.shiftKey?document.activeElement===r&&(e.preventDefault(),i.focus()):document.activeElement===i&&(e.preventDefault(),r.focus())},[]),Z=w??D[C]??D.md,Q=p||V,te=[`chain-modal`,T&&`chain-modal--centered`,A].filter(Boolean).join(` `);return!q&&v?null:(0,l.jsx)(b,{getContainer:k,children:(0,l.jsxs)(`div`,{ref:J,className:te,style:{pointerEvents:q?`auto`:`none`,...j},role:`dialog`,"aria-modal":`true`,"aria-labelledby":n?P:void 0,...M,children:[(0,l.jsx)(`div`,{className:`chain-modal__mask`,style:{...z,pointerEvents:L&&!R?`auto`:`none`},onMouseDown:Y}),(0,l.jsx)(`div`,{className:`chain-modal__wrap`,children:(0,l.jsxs)(`div`,{ref:W,className:`chain-modal__content`,tabIndex:-1,style:{...B,width:typeof Z==`number`?`${Z}px`:Z},onKeyDown:ee,children:[n!==void 0||m?(0,l.jsxs)(`div`,{className:`chain-modal__header`,children:[n&&(0,l.jsx)(`h2`,{id:P,className:`chain-modal__title`,children:n}),m&&(0,l.jsx)(`button`,{type:`button`,className:`chain-modal__close`,"aria-label":h,onClick:t,children:`×`})]}):null,r&&(0,l.jsx)(`div`,{className:`chain-modal__body`,children:r}),i===void 0?i===null?null:(0,l.jsxs)(`div`,{className:`chain-modal__footer`,children:[(0,l.jsx)(d,{...f,onClick:t,children:u}),(0,l.jsx)(d,{variant:`solid`,color:`primary`,...s,loading:Q,onClick:X,children:o})]}):i]})})]})})});function A(e,t,n){if(typeof n==`function`)return n(e);let r=e[n];return String(r??t)}function j(e,t){if(t!=null)return Array.isArray(t)?t.reduce((e,t)=>{if(typeof e==`object`&&e)return e[t]},e):e[t]}var M=(0,c.forwardRef)(function({dataSource:e,columns:t,rowKey:n=`key`,rowSelection:r,loading:i=!1,emptyText:a=`暂无数据`,pagination:o,bordered:s=!0,size:u=`md`,locale:f,scroll:p,onRow:m,className:h,style:g,..._},v){let y={total:f?.total??`共`,items:f?.items??`条`,prevPage:f?.prevPage??`上一页`,nextPage:f?.nextPage??`下一页`},b=r?.type===`radio`,x=r!=null,S=(0,c.useMemo)(()=>r?.selectedRowKeys??[],[r?.selectedRowKeys]),C=(0,c.useCallback)(()=>{if(!r)return;let t=e.filter(e=>!r.getCheckboxProps?.(e)?.disabled).map((e,t)=>A(e,t,n));if(b)return;let i=t.every(e=>S.includes(e)),a;if(i)a=S.filter(e=>!t.includes(e));else{let e=new Set(S);t.forEach(t=>e.add(t)),a=Array.from(e)}let o=e.filter((e,t)=>a.includes(A(e,t,n)));r.onChange?.(a,o),r.onSelect?.(e[0],!i,o)},[r,e,S,b,n]),w=(0,c.useCallback)((t,i)=>{if(!r)return;let a=A(t,i,n),o,s=S.includes(a);if(b){if(s)return;o=[a]}else o=s?S.filter(e=>e!==a):[...S,a];let c=e.filter((e,t)=>o.includes(A(e,t,n)));r.onChange?.(o,c),r.onSelect?.(t,!s,c)},[r,e,S,b,n]),T=e.map((e,t)=>r?.getCheckboxProps?.(e)?.disabled?null:A(e,t,n)).filter(Boolean),E=T.length>0&&T.every(e=>S.includes(e)),D=S.some(e=>T.includes(e))&&!E,O=o?o.current??1:1,k=o?o.pageSize??10:10,M=o?o.total??e.length:e.length,N=Math.max(1,Math.ceil(M/k)),P=(0,c.useCallback)(e=>{o&&o.onChange?.(e,k)},[o,k]);return(0,l.jsxs)(`div`,{ref:v,className:[`chain-table`,`chain-table--${u}`,s&&`chain-table--bordered`,i&&`chain-table--loading`,h].filter(Boolean).join(` `),style:g,role:`table`,..._,children:[(0,l.jsx)(`div`,{className:`chain-table__container`,style:p?{maxHeight:p.y,overflow:p.x?`auto`:void 0}:void 0,children:(0,l.jsxs)(`table`,{className:`chain-table__table`,children:[(0,l.jsxs)(`colgroup`,{children:[x&&(0,l.jsx)(`col`,{style:{width:48}}),t.map(e=>(0,l.jsx)(`col`,{style:{width:e.width}},e.key))]}),(0,l.jsx)(`thead`,{className:`chain-table__header`,children:(0,l.jsxs)(`tr`,{className:`chain-table__header-row`,children:[x&&(0,l.jsx)(`th`,{className:`chain-table__selection chain-table__header-cell`,role:`columnheader`,children:!b&&(0,l.jsx)(`span`,{className:`chain-table__checkbox`,children:(0,l.jsx)(`input`,{type:`checkbox`,checked:E,ref:e=>{e&&(e.indeterminate=D)},onChange:C,"aria-label":`Select all`})})}),t.map(e=>(0,l.jsx)(`th`,{className:[`chain-table__header-cell`,e.align&&`chain-table__header-cell--align-${e.align}`].filter(Boolean).join(` `),role:`columnheader`,children:e.title},e.key))]})}),(0,l.jsx)(`tbody`,{className:`chain-table__body`,children:e.length===0?(0,l.jsx)(`tr`,{className:`chain-table__row`,children:(0,l.jsx)(`td`,{className:`chain-table__cell chain-table__empty`,colSpan:t.length+ +!!x,role:`status`,"aria-live":`polite`,children:a})}):e.map((e,i)=>{let a=A(e,i,n),o=S.includes(a),s=r?.getCheckboxProps?.(e)?.disabled??!1,c=m?.(e,i);return(0,l.jsxs)(`tr`,{className:[`chain-table__row`,o&&`chain-table__row--selected`,c?.className].filter(Boolean).join(` `),role:`row`,onClick:c?.onClick,onDoubleClick:c?.onDoubleClick,children:[x&&(0,l.jsx)(`td`,{className:`chain-table__selection chain-table__cell`,role:`cell`,children:(0,l.jsx)(`span`,{className:`chain-table__checkbox`,children:(0,l.jsx)(`input`,{type:b?`radio`:`checkbox`,name:b?`chain-table-radio`:void 0,checked:o,disabled:s,onChange:()=>w(e,i),"aria-label":r.selectAriaLabel??`Select row`})})}),t.map(t=>{let n=j(e,t.dataIndex),r=t.render?t.render(n,e,i):n==null?`-`:String(n);return(0,l.jsx)(`td`,{className:[`chain-table__cell`,t.align&&`chain-table__cell--align-${t.align}`,t.ellipsis&&`chain-table__cell--ellipsis`].filter(Boolean).join(` `),role:`cell`,title:t.ellipsis&&typeof r==`string`?r:void 0,children:r},t.key)})]},a)})})]})}),i&&(0,l.jsx)(`div`,{className:`chain-table__loading-overlay`,children:(0,l.jsx)(`span`,{className:`chain-table__loading-spinner`})}),o!==void 0&&o!==!1&&(0,l.jsxs)(`div`,{className:`chain-table__pagination`,children:[(0,l.jsxs)(`span`,{className:`chain-table__pagination-total`,children:[y.total,` `,M,` `,y.items]}),(0,l.jsxs)(`div`,{className:`chain-table__pagination-nav`,children:[(0,l.jsx)(d,{size:`sm`,disabled:O<=1,onClick:()=>P(O-1),children:y.prevPage}),(0,l.jsxs)(`span`,{children:[O,` / `,N]}),(0,l.jsx)(d,{size:`sm`,disabled:O>=N,onClick:()=>P(O+1),children:y.nextPage})]})]})]})}),N=(0,c.forwardRef)(function({color:e=`default`,variant:t=`light`,size:n=`md`,closable:r=!1,onClose:i,children:a,className:o,...s},c){return(0,l.jsxs)(`span`,{ref:c,className:[`chain-tag`,`chain-tag--${t}`,`chain-tag--${e}`,`chain-tag--${n}`,r&&`chain-tag--closable`,o].filter(Boolean).join(` `),...s,children:[(0,l.jsx)(`span`,{className:`chain-tag__text`,children:a}),r&&(0,l.jsx)(`span`,{className:`chain-tag__close`,role:`button`,tabIndex:0,onClick:i,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),i?.(e))},"aria-label":`Close`,children:`×`})]})}),P=(0,c.forwardRef)(function({count:e,dot:t=!1,color:n=`error`,size:r=`md`,overflowCount:i=99,showZero:a=!1,offset:o,children:s,className:c,style:u,...d},f){let p=!t&&e!==void 0&&!a&&e===0,m=e===void 0&&!t,h=(()=>{if(t||e===void 0)return null;let n=typeof e==`number`?e:void 0;return n!==void 0&&n>i?`${i}+`:String(e)})();if(p)return s?(0,l.jsx)(l.Fragment,{children:s}):null;let g=(0,l.jsx)(`span`,{className:[[`chain-badge__content`,t?`chain-badge__content--dot`:`chain-badge__content--number`,!s&&`chain-badge__content--${r}`].filter(Boolean).join(` `),`chain-badge--${n}`,s&&`chain-badge--${r}`].filter(Boolean).join(` `),style:o?{marginLeft:o[0],marginTop:o[1]}:void 0,children:h},`badge`);return s?(0,l.jsxs)(`span`,{ref:f,className:[`chain-badge`,c].filter(Boolean).join(` `),style:u,...d,children:[s,g]}):(0,l.jsx)(`span`,{ref:f,className:[`chain-badge`,c].filter(Boolean).join(` `),style:u,...d,children:m?null:g})});function F(e,t){if(t<=7)return Array.from({length:t},(e,t)=>t+1);let n=[];n.push(1),e>3&&n.push(`ellipsis`);let r=Math.max(2,e-1),i=Math.min(t-1,e+1);for(let e=r;e<=i;e++)n.push(e);return e<t-2&&n.push(`ellipsis`),n.push(t),n}var I=(0,c.forwardRef)(function({value:e,defaultValue:t=1,pageSize:n=10,total:r=0,onChange:i,showSizeChanger:a=!1,pageSizeOptions:o=[10,20,50,100],showQuickJumper:s=!1,showTotal:u=!0,size:d=`md`,disabled:f=!1,locale:p,className:m,...h},g){let[_,v]=(0,c.useState)(t),y=e!==void 0,b=y?e:_,[x,S]=(0,c.useState)(``),[C,w]=(0,c.useState)(n),T=y?n:C,E={total:p?.total??`共`,items:p?.items??`条`,prevPage:p?.prevPage??`上一页`,nextPage:p?.nextPage??`下一页`,jumpTo:p?.jumpTo??`前往`},D=Math.max(1,Math.ceil(r/T)),O=Math.max(1,Math.min(b,D)),k=(0,c.useMemo)(()=>F(O,D),[O,D]),A=(0,c.useCallback)(e=>{if(f)return;let t=Math.max(1,Math.min(e,D));y||v(t),i?.(t,T)},[f,D,y,i,T]),j=(0,c.useCallback)(e=>{if(f)return;w(e);let t=Math.ceil(r/e),n=Math.min(O,t);y||(v(n),w(e)),i?.(n,e)},[f,r,O,y,i]),M=(0,c.useCallback)(()=>{let e=parseInt(x,10);isNaN(e)||(A(e),S(``))},[x,A]);return(0,l.jsxs)(`div`,{ref:g,className:[`chain-pagination`,`chain-pagination--${d}`,f&&`chain-pagination--disabled`,m].filter(Boolean).join(` `),...h,children:[u&&(0,l.jsxs)(`span`,{className:`chain-pagination__total`,children:[E.total,` `,r,` `,E.items]}),(0,l.jsxs)(`ul`,{className:`chain-pagination__list`,children:[(0,l.jsx)(`li`,{className:[`chain-pagination__prev`,(f||O<=1)&&`chain-pagination__item--disabled`].filter(Boolean).join(` `),children:(0,l.jsx)(`button`,{type:`button`,disabled:f||O<=1,onClick:()=>A(O-1),children:E.prevPage})}),k.map((e,t)=>e===`ellipsis`?(0,l.jsx)(`li`,{className:`chain-pagination__item chain-pagination__item--disabled`,children:(0,l.jsx)(`span`,{children:`...`})},`ellipsis-${t}`):(0,l.jsx)(`li`,{className:[`chain-pagination__item`,e===O&&`chain-pagination__item--active`].filter(Boolean).join(` `),children:(0,l.jsx)(`button`,{type:`button`,disabled:f,onClick:()=>A(e),children:e})},e)),(0,l.jsx)(`li`,{className:[`chain-pagination__next`,(f||O>=D)&&`chain-pagination__item--disabled`].filter(Boolean).join(` `),children:(0,l.jsx)(`button`,{type:`button`,disabled:f||O>=D,onClick:()=>A(O+1),children:E.nextPage})})]}),a&&(0,l.jsx)(`select`,{className:`chain-pagination__size-changer`,value:T,disabled:f,onChange:e=>j(Number(e.target.value)),children:o.map(e=>(0,l.jsxs)(`option`,{value:e,children:[e,` `,E.items]},e))}),s&&(0,l.jsxs)(`div`,{className:`chain-pagination__jump`,children:[(0,l.jsx)(`input`,{type:`text`,value:x,disabled:f,onChange:e=>S(e.target.value),onKeyDown:e=>{e.key===`Enter`&&M()},placeholder:``}),(0,l.jsx)(`button`,{type:`button`,disabled:f,onClick:M,children:E.jumpTo})]})]})}),L={success:`✓`,warning:`!`,error:`✗`,info:`ℹ`},R=(0,c.forwardRef)(function({color:e=`info`,size:t=`md`,message:n,description:r,showIcon:i=!0,closable:a=!1,closeAriaLabel:o=`Close`,onClose:s,open:c=!0,action:u,children:d,className:f,...p},m){return c?(0,l.jsxs)(`div`,{ref:m,className:[`chain-alert`,`chain-alert--${e}`,`chain-alert--${t}`,a&&`chain-alert--closable`,f].filter(Boolean).join(` `),role:`alert`,...p,children:[i&&(0,l.jsx)(`span`,{className:`chain-alert__icon`,"aria-hidden":`true`,children:L[e]}),(0,l.jsxs)(`div`,{className:`chain-alert__content`,children:[(0,l.jsx)(`div`,{className:`chain-alert__message`,children:n}),r&&(0,l.jsx)(`div`,{className:`chain-alert__description`,children:r}),d]}),u&&(0,l.jsx)(`div`,{className:`chain-alert__action`,children:u}),a&&(0,l.jsx)(`button`,{type:`button`,className:`chain-alert__close`,"aria-label":o,onClick:s,children:`×`})]}):null}),z={sm:`var(--space-1)`,md:`var(--space-2)`,lg:`var(--space-4)`},B=(0,c.forwardRef)(function({size:e=`md`,gap:t,direction:n=`horizontal`,align:r=`center`,wrap:i=!1,children:a,className:o,style:s,...c},u){let d=t==null?typeof e==`number`?`${e}px`:z[e]??z.md:typeof t==`number`?`${t}px`:t;return(0,l.jsx)(`div`,{ref:u,className:[`chain-space`,`chain-space--${n}`,`chain-space--align-${r}`,i&&`chain-space--wrap`,o].filter(Boolean).join(` `),style:{gap:d,...s},...c,children:a})}),V=(0,c.forwardRef)(function({orientation:e=`horizontal`,type:t=`solid`,size:n=`md`,children:r,className:i,...a},o){return e===`vertical`?(0,l.jsx)(`hr`,{ref:o,className:[`chain-divider`,`chain-divider--vertical`,`chain-divider--${t}`,`chain-divider--${n}`,i].filter(Boolean).join(` `),role:`separator`,"aria-orientation":`vertical`,...a}):r?(0,l.jsxs)(`div`,{ref:o,className:[`chain-divider`,`chain-divider--horizontal`,`chain-divider--${t}`,`chain-divider--${n}`,`chain-divider--with-text`,i].filter(Boolean).join(` `),role:`separator`,...a,children:[(0,l.jsx)(`span`,{className:`chain-divider__line`}),(0,l.jsx)(`span`,{className:`chain-divider__text`,children:r}),(0,l.jsx)(`span`,{className:`chain-divider__line`})]}):(0,l.jsx)(`hr`,{ref:o,className:[`chain-divider`,`chain-divider--horizontal`,`chain-divider--${t}`,`chain-divider--${n}`,i].filter(Boolean).join(` `),role:`separator`,...a})}),H=(0,c.forwardRef)(function({checked:e,defaultChecked:t=!1,onChange:n,indeterminate:r=!1,disabled:i=!1,size:a=`md`,color:o=`primary`,status:s=`default`,shape:u=`square`,label:d,ariaLabel:f=`Checkbox`,inputRef:p,value:m,className:h,style:g,children:_,id:v,name:y,...b},x){let S=e!==void 0,[C,w]=(0,c.useState)(t),T=S?e:C,E=(0,c.useRef)(null);(0,c.useEffect)(()=>{let e=E.current;e&&(e.indeterminate=r)},[r]);let D=(0,c.useCallback)(e=>{if(i)return;let t=r?!0:!T;S||w(t),n?.(t,e)},[i,r,T,S,n]);(0,c.useEffect)(()=>{typeof p==`function`?p(E.current):p&&`current`in p&&(p.current=E.current)},[p]);let O=d!==void 0||_!==void 0;return(0,l.jsxs)(`label`,{ref:x,className:[`chain-checkbox`,`chain-checkbox--${a}`,`chain-checkbox--${o}`,u!==`square`&&`chain-checkbox--${u}`,T&&!r&&`chain-checkbox--checked`,r&&`chain-checkbox--indeterminate`,i&&`chain-checkbox--disabled`,s!==`default`&&`chain-checkbox--${s}`,h].filter(Boolean).join(` `),style:g,children:[(0,l.jsx)(`input`,{ref:E,type:`checkbox`,className:`chain-checkbox__input`,checked:T,disabled:i,onChange:D,id:v,name:y,value:m,"aria-checked":r?`mixed`:T,"aria-label":O?void 0:f,...b}),(0,l.jsx)(`span`,{className:`chain-checkbox__box`,"aria-hidden":`true`,children:r?(0,l.jsx)(`span`,{className:`chain-checkbox__indeterminate`}):T?(0,l.jsx)(`span`,{className:`chain-checkbox__check`,children:`✓`}):null}),O&&(0,l.jsx)(`span`,{className:`chain-checkbox__label`,children:d??_})]})}),U=(0,c.forwardRef)(function({value:e,defaultValue:t=[],onChange:n,options:r,disabled:i=!1,size:a=`md`,color:o=`primary`,direction:s=`vertical`,className:u,style:d,children:f},p){let m=e!==void 0,[h,g]=(0,c.useState)(t),_=m?e:h,v=(0,c.useCallback)((e,t)=>{let r=_.includes(e)?_.filter(t=>t!==e):[..._,e];m||g(r),n?.(r,t)},[_,m,n]);(0,c.useEffect)(()=>{r&&f&&console.warn("[CheckboxGroup] Both `options` and `children` provided — `children` takes precedence.")},[r,f]);let y=[`chain-checkbox-group`,`chain-checkbox-group--${s}`,u].filter(Boolean).join(` `),b=e=>(0,l.jsx)(H,{value:e.value,label:e.label,disabled:i||e.disabled,size:a,color:o,indeterminate:e.indeterminate,checked:_.includes(e.value),onChange:(t,n)=>v(e.value,n)},e.value),x;return f?x=c.default.Children.map(f,e=>{if(!c.default.isValidElement(e))return e;let t=e.props.value;return t===void 0?e:c.default.cloneElement(e,{checked:_.includes(t),onChange:(n,r)=>{v(t,r),e.props.onChange?.(n,r)},disabled:e.props.disabled||i,size:e.props.size||a,color:e.props.color||o})}):r&&(x=r.map(b)),(0,l.jsx)(`div`,{ref:p,className:y,style:d,role:`group`,children:x})}),W=(0,c.forwardRef)(function({checked:e,defaultChecked:t=!1,onChange:n,disabled:r=!1,size:i=`md`,color:a=`primary`,status:o=`default`,label:s,ariaLabel:u=`Radio`,inputRef:d,value:f,className:p,style:m,children:h,id:g,name:_,...v},y){let b=e!==void 0,[x,S]=(0,c.useState)(t),C=b?e:x,w=(0,c.useCallback)(e=>{r||C||(b||S(!0),n?.(!0,e))},[r,C,b,n]),T=s!==void 0||h!==void 0;return(0,l.jsxs)(`label`,{ref:y,className:[`chain-radio`,`chain-radio--${i}`,`chain-radio--${a}`,C&&`chain-radio--checked`,r&&`chain-radio--disabled`,o!==`default`&&!C&&`chain-radio--${o}`,p].filter(Boolean).join(` `),style:m,children:[(0,l.jsx)(`input`,{ref:d,type:`radio`,className:`chain-radio__input`,checked:C,disabled:r,onChange:w,id:g,name:_,value:f,"aria-checked":C,"aria-label":T?void 0:u,...v}),(0,l.jsx)(`span`,{className:`chain-radio__box`,"aria-hidden":`true`,children:C&&(0,l.jsx)(`span`,{className:`chain-radio__dot`})}),T&&(0,l.jsx)(`span`,{className:`chain-radio__label`,children:s??h})]})}),G=(0,c.forwardRef)(function({value:e,defaultValue:t,onChange:n,options:r,disabled:i=!1,size:a=`md`,color:o=`primary`,direction:s=`vertical`,className:u,style:d,children:f},p){let m=e!==void 0,[h,g]=(0,c.useState)(t),_=m?e:h,v=(0,c.useCallback)((e,t)=>{e!==_&&(m||g(e),n?.(e,t))},[_,m,n]);(0,c.useEffect)(()=>{r&&f&&console.warn("[RadioGroup] Both `options` and `children` provided — `children` takes precedence.")},[r,f]);let y=[`chain-radio-group`,`chain-radio-group--${s}`,u].filter(Boolean).join(` `),b=e=>(0,l.jsx)(W,{value:e.value,label:e.label,disabled:i||e.disabled,size:a,color:o,checked:_===e.value,onChange:(t,n)=>v(e.value,n)},e.value),x;return f?x=c.default.Children.map(f,e=>{if(!c.default.isValidElement(e))return e;let t=e.props.value;return t===void 0?e:c.default.cloneElement(e,{checked:_===t,onChange:(n,r)=>{v(t,r),e.props.onChange?.(!0,r)},disabled:e.props.disabled||i,size:e.props.size||a,color:e.props.color||o})}):r&&(x=r.map(b)),(0,l.jsx)(`div`,{ref:p,className:y,style:d,role:`radiogroup`,children:x})}),K=(0,c.forwardRef)(function({checked:e,defaultChecked:t=!1,onChange:n,disabled:r=!1,loading:i=!1,size:a=`md`,color:o=`primary`,checkedChildren:s,unCheckedChildren:u,ariaLabel:d=`Switch`,className:f,style:p,onClick:m,onKeyDown:h,...g},_){let v=e!==void 0,[y,b]=(0,c.useState)(t),x=v?e:y,S=r||i,C=(0,c.useCallback)(e=>{if(S)return;let t=!x;v||b(t),n?.(t,e),m?.(e)},[S,x,v,n,m]),w=(0,c.useCallback)(e=>{if((e.key===` `||e.key===`Enter`)&&(e.preventDefault(),!S)){let e=!x;v||b(e),n?.(e)}h?.(e)},[S,x,v,n,h]),T=a!==`sm`;return(0,l.jsx)(`button`,{ref:_,type:`button`,role:`switch`,className:[`chain-switch`,`chain-switch--${a}`,`chain-switch--${o}`,x&&`chain-switch--checked`,S&&`chain-switch--disabled`,i&&`chain-switch--loading`,f].filter(Boolean).join(` `),style:p,"aria-checked":x,"aria-busy":i||void 0,"aria-label":d,disabled:r,onClick:C,onKeyDown:w,...g,children:(0,l.jsxs)(`span`,{className:`chain-switch__track`,children:[T&&(0,l.jsx)(`span`,{className:`chain-switch__text chain-switch__text--off`,children:u}),(0,l.jsx)(`span`,{className:`chain-switch__thumb`,children:i&&(0,l.jsx)(`span`,{className:`chain-switch__spinner`,"aria-hidden":`true`})}),T&&(0,l.jsx)(`span`,{className:`chain-switch__text chain-switch__text--on`,children:s})]})})}),q=(0,c.forwardRef)(function({title:e,content:t,placement:n=`top`,trigger:r=`hover`,visible:i,defaultVisible:a=!1,onVisibleChange:o,color:s=`dark`,arrow:u=!0,mouseEnterDelay:d=100,mouseLeaveDelay:f=100,zIndex:p=1060,getPopupContainer:m,destroyOnClose:h=!0,className:g,style:v,children:C,...w},T){let D=(0,c.useId)(),O=i!==void 0,[k,A]=(0,c.useState)(a),j=O?i:k,M=y(j,{duration:200}),{mounted:N,animating:P,closing:F}=M,I=E(x(M),S(M)),[L,R]=(0,c.useState)({top:0,left:0}),z=(0,c.useRef)(null),B=(0,c.useRef)(null),V=(0,c.useRef)(void 0),H=(0,c.useRef)(void 0),U=(0,c.useCallback)(e=>{B.current=e,typeof T==`function`?T(e):T&&(T.current=e)},[T]),W=(0,c.useCallback)(e=>{e!==j&&(O||A(e),o?.(e))},[j,O,o]),G=(0,c.useCallback)(()=>{clearTimeout(H.current),!j&&(V.current=setTimeout(()=>{W(!0)},d))},[j,d,W]),K=(0,c.useCallback)(()=>{clearTimeout(V.current),H.current=setTimeout(()=>{W(!1)},f)},[f,W]);(0,c.useEffect)(()=>{P&&!F&&requestAnimationFrame(()=>{z.current&&B.current&&R(_(z.current.getBoundingClientRect(),B.current.getBoundingClientRect(),n))})},[P,F,n]),(0,c.useEffect)(()=>{if(!N||F)return;let e=()=>{z.current&&B.current&&R(_(z.current.getBoundingClientRect(),B.current.getBoundingClientRect(),n))};return window.addEventListener(`scroll`,e,!0),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`scroll`,e,!0),window.removeEventListener(`resize`,e)}},[N,F,n]),(0,c.useEffect)(()=>{if(r!==`click`||!N||F)return;let e=e=>{let t=e.target;B.current?.contains(t)||z.current?.contains(t)||W(!1)};return document.addEventListener(`mousedown`,e,!0),()=>document.removeEventListener(`mousedown`,e,!0)},[r,N,F,W]),(0,c.useEffect)(()=>{if(r!==`click`||!N||F)return;let e=e=>{e.key===`Escape`&&W(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[r,N,F,W]),(0,c.useEffect)(()=>()=>{clearTimeout(V.current),clearTimeout(H.current)},[]);let q={};r===`hover`&&(q.onMouseEnter=G,q.onMouseLeave=K),r===`focus`&&(q.onFocusCapture=G,q.onBlurCapture=K),r===`click`&&(q.onClick=e=>{e.stopPropagation(),j?K():G()});let J=[`chain-tooltip`,`chain-tooltip--${s}`,`chain-tooltip--${n.split(`-`)[0]}`,n.includes(`-start`)&&`chain-tooltip--start`,n.includes(`-end`)&&`chain-tooltip--end`,!u&&`chain-tooltip--no-arrow`,g].filter(Boolean).join(` `),Y=t??e;return!N&&h?(0,l.jsx)(`span`,{ref:z,className:`chain-tooltip__wrapper`,...q,children:C}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`span`,{ref:z,className:`chain-tooltip__wrapper`,"aria-describedby":P?D:void 0,...q,children:C}),(0,l.jsx)(b,{getContainer:m,children:(0,l.jsxs)(`div`,{ref:U,id:D,className:J,role:`tooltip`,style:{...I,pointerEvents:P&&!F?`auto`:`none`,...v,top:L.top,left:L.left,zIndex:p},onMouseEnter:r===`hover`?G:void 0,onMouseLeave:r===`hover`?K:void 0,...w,children:[(0,l.jsx)(`div`,{className:`chain-tooltip__content`,children:Y}),u&&(0,l.jsx)(`div`,{className:`chain-tooltip__arrow`})]})})]})}),J=`a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])`,Y=(0,c.forwardRef)(function({title:e,content:t,footer:n,placement:r=`top`,trigger:i=`click`,visible:a,defaultVisible:o=!1,onVisibleChange:s,closable:u=!1,closeAriaLabel:d=`Close`,arrow:f=!0,width:p=320,mouseEnterDelay:m=100,mouseLeaveDelay:h=100,zIndex:g=1060,getPopupContainer:v,destroyOnClose:C=!0,className:w,style:T,children:D,...O},k){let A=(0,c.useId)(),j=(0,c.useId)(),M=a!==void 0,[N,P]=(0,c.useState)(o),F=M?a:N,I=y(F,{duration:200}),{mounted:L,animating:R,closing:z}=I,B=E(x(I),S(I)),[V,H]=(0,c.useState)({top:0,left:0}),U=(0,c.useRef)(null),W=(0,c.useRef)(null),G=(0,c.useRef)(void 0),K=(0,c.useRef)(void 0),q=(0,c.useRef)(null),Y=(0,c.useCallback)(e=>{W.current=e,typeof k==`function`?k(e):k&&(k.current=e)},[k]),X=(0,c.useCallback)(e=>{e!==F&&(M||P(e),s?.(e))},[F,M,s]),ee=(0,c.useCallback)(()=>{clearTimeout(K.current),!F&&(q.current=document.activeElement,G.current=setTimeout(()=>{X(!0)},m))},[F,m,X]),Z=(0,c.useCallback)(()=>{clearTimeout(G.current),K.current=setTimeout(()=>{X(!1)},h)},[h,X]);(0,c.useEffect)(()=>{R&&!z&&requestAnimationFrame(()=>{W.current&&W.current.querySelector(J)?.focus(),U.current&&W.current&&H(_(U.current.getBoundingClientRect(),W.current.getBoundingClientRect(),r))})},[R,z,r]),(0,c.useEffect)(()=>{z&&(q.current?.focus(),q.current=null)},[z]),(0,c.useEffect)(()=>{if(!L||z)return;let e=()=>{U.current&&W.current&&H(_(U.current.getBoundingClientRect(),W.current.getBoundingClientRect(),r))};return window.addEventListener(`scroll`,e,!0),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`scroll`,e,!0),window.removeEventListener(`resize`,e)}},[L,z,r]),(0,c.useEffect)(()=>{if(!L||z)return;let e=e=>{let t=e.target;W.current?.contains(t)||U.current?.contains(t)||X(!1)};return document.addEventListener(`mousedown`,e,!0),()=>document.removeEventListener(`mousedown`,e,!0)},[L,z,X]),(0,c.useEffect)(()=>{if(!L||z)return;let e=e=>{e.key===`Escape`&&X(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[L,z,X]),(0,c.useEffect)(()=>()=>{clearTimeout(G.current),clearTimeout(K.current)},[]);let Q={};i===`hover`&&(Q.onMouseEnter=ee,Q.onMouseLeave=Z),i===`focus`&&(Q.onFocusCapture=ee,Q.onBlurCapture=Z),i===`click`&&(Q.onClick=e=>{e.stopPropagation(),F?Z():ee()});let te=(0,c.useCallback)(()=>{X(!1)},[X]),$=e!==void 0||u,ne=[`chain-popover`,`chain-popover--${r.split(`-`)[0]}`,r.includes(`-start`)&&`chain-popover--start`,r.includes(`-end`)&&`chain-popover--end`,!f&&`chain-popover--no-arrow`,w].filter(Boolean).join(` `);return!L&&C?(0,l.jsx)(`span`,{ref:U,className:`chain-popover__wrapper`,...Q,children:D}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`span`,{ref:U,className:`chain-popover__wrapper`,"aria-describedby":R?A:void 0,...Q,children:D}),(0,l.jsx)(b,{getContainer:v,children:(0,l.jsxs)(`div`,{ref:Y,id:A,className:ne,role:`dialog`,"aria-labelledby":e?j:void 0,style:{...B,pointerEvents:R&&!z?`auto`:`none`,...T,top:V.top,left:V.left,width:typeof p==`number`?`${p}px`:p,zIndex:g},...O,children:[$&&(0,l.jsxs)(`div`,{className:`chain-popover__header`,children:[e&&(0,l.jsx)(`h3`,{id:j,className:`chain-popover__title`,children:e}),u&&(0,l.jsx)(`button`,{type:`button`,className:`chain-popover__close`,"aria-label":d,onClick:te,children:`×`})]}),t&&(0,l.jsx)(`div`,{className:`chain-popover__body`,children:t}),n&&(0,l.jsx)(`div`,{className:`chain-popover__footer`,children:n}),f&&(0,l.jsx)(`div`,{className:`chain-popover__arrow`})]})})]})}),X=(0,c.forwardRef)(function({type:e=`info`,content:t,open:n,defaultOpen:r=!0,onClose:i,duration:a=3e3,closable:o=!1,closeAriaLabel:s=`Close`,icon:u,placement:d=`top`,getContainer:f,destroyOnClose:p=!0,className:m,style:h,...g},_){let S=n!==void 0,[C,w]=(0,c.useState)(r),D=S?n:C,O=y(D,{duration:250}),{mounted:k,animating:A,closing:j}=O,M=d===`top`?{x:`-50%`,y:-16}:{x:0,y:-16},N=d===`top`?{x:`-50%`,y:0}:{x:0,y:0},P=E(x(O),T(O,{from:M,to:N,duration:250})),F=(0,c.useRef)(void 0),I=(0,c.useCallback)(()=>{clearTimeout(F.current),S||w(!1),i?.()},[S,i]);(0,c.useEffect)(()=>(D&&a>0&&!S&&(F.current=setTimeout(I,a)),()=>clearTimeout(F.current)),[D,a,S,I]);let L=(0,c.useCallback)(()=>{I()},[I]),R=u===!1?null:u===void 0?v[e]:u,z=[`chain-message`,`chain-message--${e}`,`chain-message--${d}`,m].filter(Boolean).join(` `);return!k&&p?null:(0,l.jsx)(b,{getContainer:f,children:(0,l.jsxs)(`div`,{ref:_,className:z,role:e===`error`?`alert`:`status`,"aria-live":e===`error`?`assertive`:`polite`,style:{...P,pointerEvents:A&&!j?`auto`:`none`,...h},...g,children:[R&&(0,l.jsx)(`span`,{className:`chain-message__icon`,"aria-hidden":`true`,children:R}),(0,l.jsx)(`span`,{className:`chain-message__content`,children:t}),o&&(0,l.jsx)(`button`,{type:`button`,className:`chain-message__close`,"aria-label":s,onClick:L,children:`×`})]})})}),ee=(0,c.forwardRef)(function({type:e=`info`,title:t,description:n,open:r,defaultOpen:i=!0,onClose:a,duration:o=0,closable:s=!0,closeAriaLabel:u=`Close`,icon:d,placement:f=`top-right`,action:p,getContainer:m,destroyOnClose:h=!0,className:g,style:_,...S},C){let w=r!==void 0,[D,O]=(0,c.useState)(i),k=w?r:D,A=y(k,{duration:250}),{mounted:j,animating:M,closing:N}=A,P=f===`top-left`?`left`:`right`,F=E(x(A),T(A,{direction:P,distance:120,duration:300})),I=(0,c.useRef)(void 0),L=(0,c.useCallback)(()=>{clearTimeout(I.current),w||O(!1),a?.()},[w,a]);(0,c.useEffect)(()=>(k&&o>0&&!w&&(I.current=setTimeout(L,o)),()=>clearTimeout(I.current)),[k,o,w,L]);let R=(0,c.useCallback)(()=>{L()},[L]),z=d===!1?null:d===void 0?v[e]:d,B=[`chain-notification`,`chain-notification--${e}`,`chain-notification--${f}`,g].filter(Boolean).join(` `);return!j&&h?null:(0,l.jsx)(b,{getContainer:m,children:(0,l.jsxs)(`div`,{ref:C,className:B,role:`status`,"aria-live":`polite`,style:{...F,pointerEvents:M&&!N?`auto`:`none`,..._},...S,children:[(0,l.jsxs)(`div`,{className:`chain-notification__body`,children:[z&&(0,l.jsx)(`span`,{className:`chain-notification__icon`,"aria-hidden":`true`,children:z}),(0,l.jsxs)(`div`,{className:`chain-notification__text`,children:[t&&(0,l.jsx)(`div`,{className:`chain-notification__title`,children:t}),n&&(0,l.jsx)(`div`,{className:`chain-notification__description`,children:n})]}),s&&(0,l.jsx)(`button`,{type:`button`,className:`chain-notification__close`,"aria-label":u,onClick:R,children:`×`})]}),p&&(0,l.jsx)(`div`,{className:`chain-notification__action`,children:p})]})})});exports.Alert=R,exports.Badge=P,exports.Button=d,exports.Checkbox=H,exports.CheckboxGroup=U,exports.Divider=V,exports.FormItem=m,exports.Input=f,exports.Message=X,exports.Modal=k,exports.Notification=ee,exports.Pagination=I,exports.Popover=Y,exports.Radio=W,exports.RadioGroup=G,exports.Select=g,exports.Space=B,exports.Switch=K,exports.Table=M,exports.Tag=N,exports.Tooltip=q;
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--color-primary-50:#eff3f9;--color-primary-100:#d8e3f2;--color-primary-200:#bacce7;--color-primary-300:#94b1da;--color-primary-400:#6e95ce;--color-primary-500:#1b365d;--color-primary-600:#162d4f;--color-primary-700:#132642;--color-primary-800:#0f1f35;--color-primary-900:#0c1829;--color-primary-950:#09121f;--color-brand-50:#fdebeb;--color-brand-100:#fccece;--color-brand-200:#faa7a7;--color-brand-300:#f77777;--color-brand-400:#f54646;--color-brand-500:red;--color-brand-600:#d80000;--color-brand-700:#b70000;--color-brand-800:#930000;--color-brand-900:#720000;--color-brand-950:#510000;--color-success-50:#ebfdfc;--color-success-100:#cefcf9;--color-success-200:#a7faf5;--color-success-300:#77f7f0;--color-success-400:#46f5ea;--color-success-500:#00857d;--color-success-600:#00716a;--color-success-700:#005f5a;--color-success-800:#004d48;--color-success-900:#003b38;--color-success-950:#002a28;--color-warning-50:#fdf7eb;--color-warning-100:#fcebce;--color-warning-200:#fadca7;--color-warning-300:#f7c977;--color-warning-400:#f5b646;--color-warning-500:#ffa300;--color-warning-600:#d88a00;--color-warning-700:#b77500;--color-warning-800:#935e00;--color-warning-900:#724900;--color-warning-950:#513400;--color-error-50:#fbeeed;--color-error-100:#f7d6d3;--color-error-200:#f1b5b1;--color-error-300:#e98c85;--color-error-400:#e1635a;--color-error-500:#da291c;--color-error-600:#b92217;--color-error-700:#9c1d14;--color-error-800:#7e1710;--color-error-900:#62120c;--color-error-950:#450d08;--color-info-50:#ebf6fd;--color-info-100:#cee8fc;--color-info-200:#a7d6fa;--color-info-300:#77c0f7;--color-info-400:#46aaf5;--color-info-500:#0076cf;--color-info-600:#0064af;--color-info-700:#005495;--color-info-800:#004478;--color-info-900:#00355d;--color-info-950:#002542;--color-text-primary:#1f2329;--color-text-secondary:#5c6166;--color-text-tertiary:#8c9196;--color-text-disabled:#bbbfc4;--color-text-placeholder:#c5c9ce;--color-border:#d9dce0;--color-border-light:#e8eaed;--color-border-split:#f0f1f3;--color-fill-base:#fff;--color-fill-default:#f5f6f8;--color-fill-hover:#ebedf0;--color-fill-active:#e6ecf5;--color-fill-selected:#d6e4f7;--color-bg-page:#f2f3f5;--color-bg-container:#fff;--color-bg-elevated:#fff;--font-family-en:"HedleyNew-Regular", "Arial", sans-serif;--font-family-cn:"Noto Sans CJK SC Regular", "微软雅黑", sans-serif;--font-family-base:"HedleyNew-Regular", "Noto Sans CJK SC Regular", "Arial", "微软雅黑", -apple-system, BlinkMacSystemFont, sans-serif;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-loose:1.75;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--shadow-none:none;--shadow-1:0 1px 4px #1b365d14;--shadow-2:0 4px 12px #1b365d1f;--shadow-3:0 8px 24px #1b365d29;--shadow-focus:0 0 0 3px #1b365d26;--z-index-dropdown:1000;--z-index-sticky:1020;--z-index-fixed:1030;--z-index-modal-backdrop:1040;--z-index-modal:1050;--z-index-popover:1060;--z-index-tooltip:1070;--z-index-toast:1080;--duration-instant:0s;--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.35s;--ease-default:cubic-bezier(.4, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1)}.chain-btn{justify-content:center;align-items:center;gap:var(--space-1);border-radius:var(--radius-sm);font-family:var(--font-family-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;text-decoration:none;display:inline-flex}.chain-btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.chain-btn--sm{height:28px;padding:0 var(--space-3);font-size:var(--font-size-sm)}.chain-btn--md{height:32px;padding:0 var(--space-4);font-size:var(--font-size-base)}.chain-btn--lg{height:40px;padding:0 var(--space-5);font-size:var(--font-size-md)}.chain-btn--circle{border-radius:var(--radius-full);padding:0}.chain-btn--circle.chain-btn--sm{width:28px}.chain-btn--circle.chain-btn--md{width:32px}.chain-btn--circle.chain-btn--lg{width:40px}.chain-btn--round{border-radius:var(--radius-lg)}.chain-btn--solid{color:#fff}.chain-btn--solid.chain-btn--primary{background-color:var(--color-primary-500)}.chain-btn--solid.chain-btn--primary:hover{background-color:var(--color-primary-600)}.chain-btn--solid.chain-btn--primary:active{background-color:var(--color-primary-700)}.chain-btn--solid.chain-btn--brand{background-color:var(--color-brand-500)}.chain-btn--solid.chain-btn--brand:hover{background-color:var(--color-brand-600)}.chain-btn--solid.chain-btn--brand:active{background-color:var(--color-brand-700)}.chain-btn--solid.chain-btn--success{background-color:var(--color-success-500)}.chain-btn--solid.chain-btn--success:hover{background-color:var(--color-success-600)}.chain-btn--solid.chain-btn--success:active{background-color:var(--color-success-700)}.chain-btn--solid.chain-btn--warning{background-color:var(--color-warning-500)}.chain-btn--solid.chain-btn--warning:hover{background-color:var(--color-warning-600)}.chain-btn--solid.chain-btn--warning:active{background-color:var(--color-warning-700)}.chain-btn--solid.chain-btn--error{background-color:var(--color-error-500)}.chain-btn--solid.chain-btn--error:hover{background-color:var(--color-error-600)}.chain-btn--solid.chain-btn--error:active{background-color:var(--color-error-700)}.chain-btn--solid.chain-btn--info{background-color:var(--color-info-500)}.chain-btn--solid.chain-btn--info:hover{background-color:var(--color-info-600)}.chain-btn--solid.chain-btn--info:active{background-color:var(--color-info-700)}.chain-btn--outline{background-color:#0000}.chain-btn--outline.chain-btn--primary{color:var(--color-primary-500);border-color:var(--color-primary-500)}.chain-btn--outline.chain-btn--primary:hover{background-color:var(--color-primary-50)}.chain-btn--outline.chain-btn--primary:active{background-color:var(--color-primary-100)}.chain-btn--outline.chain-btn--brand{color:var(--color-brand-500);border-color:var(--color-brand-500)}.chain-btn--outline.chain-btn--brand:hover{background-color:var(--color-brand-50)}.chain-btn--outline.chain-btn--brand:active{background-color:var(--color-brand-100)}.chain-btn--outline.chain-btn--success{color:var(--color-success-500);border-color:var(--color-success-500)}.chain-btn--outline.chain-btn--success:hover{background-color:var(--color-success-50)}.chain-btn--outline.chain-btn--success:active{background-color:var(--color-success-100)}.chain-btn--outline.chain-btn--warning{color:var(--color-warning-500);border-color:var(--color-warning-500)}.chain-btn--outline.chain-btn--warning:hover{background-color:var(--color-warning-50)}.chain-btn--outline.chain-btn--warning:active{background-color:var(--color-warning-100)}.chain-btn--outline.chain-btn--error{color:var(--color-error-500);border-color:var(--color-error-500)}.chain-btn--outline.chain-btn--error:hover{background-color:var(--color-error-50)}.chain-btn--outline.chain-btn--error:active{background-color:var(--color-error-100)}.chain-btn--outline.chain-btn--info{color:var(--color-info-500);border-color:var(--color-info-500)}.chain-btn--outline.chain-btn--info:hover{background-color:var(--color-info-50)}.chain-btn--outline.chain-btn--info:active{background-color:var(--color-info-100)}.chain-btn--ghost{background-color:#0000;border-color:#0000}.chain-btn--ghost.chain-btn--primary{color:var(--color-primary-500)}.chain-btn--ghost.chain-btn--primary:hover{background-color:var(--color-primary-50)}.chain-btn--ghost.chain-btn--primary:active{background-color:var(--color-primary-100)}.chain-btn--ghost.chain-btn--brand{color:var(--color-brand-500)}.chain-btn--ghost.chain-btn--brand:hover{background-color:var(--color-brand-50)}.chain-btn--ghost.chain-btn--brand:active{background-color:var(--color-brand-100)}.chain-btn--ghost.chain-btn--success{color:var(--color-success-500)}.chain-btn--ghost.chain-btn--success:hover{background-color:var(--color-success-50)}.chain-btn--ghost.chain-btn--success:active{background-color:var(--color-success-100)}.chain-btn--ghost.chain-btn--warning{color:var(--color-warning-500)}.chain-btn--ghost.chain-btn--warning:hover{background-color:var(--color-warning-50)}.chain-btn--ghost.chain-btn--warning:active{background-color:var(--color-warning-100)}.chain-btn--ghost.chain-btn--error{color:var(--color-error-500)}.chain-btn--ghost.chain-btn--error:hover{background-color:var(--color-error-50)}.chain-btn--ghost.chain-btn--error:active{background-color:var(--color-error-100)}.chain-btn--ghost.chain-btn--info{color:var(--color-info-500)}.chain-btn--ghost.chain-btn--info:hover{background-color:var(--color-info-50)}.chain-btn--ghost.chain-btn--info:active{background-color:var(--color-info-100)}.chain-btn--link{background-color:#0000;border-color:#0000;height:auto;padding:0}.chain-btn--link.chain-btn--primary{color:var(--color-primary-500)}.chain-btn--link.chain-btn--primary:hover{text-decoration:underline}.chain-btn--link.chain-btn--brand{color:var(--color-brand-500)}.chain-btn--link.chain-btn--brand:hover{text-decoration:underline}.chain-btn--link.chain-btn--success{color:var(--color-success-500)}.chain-btn--link.chain-btn--success:hover{text-decoration:underline}.chain-btn--link.chain-btn--warning{color:var(--color-warning-500)}.chain-btn--link.chain-btn--warning:hover{text-decoration:underline}.chain-btn--link.chain-btn--error{color:var(--color-error-500)}.chain-btn--link.chain-btn--error:hover{text-decoration:underline}.chain-btn--link.chain-btn--info{color:var(--color-info-500)}.chain-btn--link.chain-btn--info:hover{text-decoration:underline}.chain-btn--disabled,.chain-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.chain-btn--loading{pointer-events:none;cursor:default}.chain-btn__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:1em;height:1em;animation:.6s linear infinite chain-btn-spin;display:inline-flex}@keyframes chain-btn-spin{to{transform:rotate(360deg)}}.chain-input{box-sizing:border-box;align-items:center;gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-fill-base);font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-tight);color:var(--color-text-primary);transition:border-color var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default);display:inline-flex}.chain-input:focus-within{border-color:var(--color-primary-500);box-shadow:var(--shadow-focus)}.chain-input--sm{height:28px;padding:0 var(--space-3);font-size:var(--font-size-sm)}.chain-input--md{height:32px;padding:0 var(--space-4)}.chain-input--lg{height:40px;padding:0 var(--space-4);font-size:var(--font-size-md)}.chain-input--filled{background-color:var(--color-fill-default);border-color:#0000}.chain-input--filled:focus-within{background-color:var(--color-fill-base)}.chain-input--borderless{background-color:#0000;border-color:#0000}.chain-input--borderless:focus-within{box-shadow:none}.chain-input--error{border-color:var(--color-error-500)}.chain-input--error:focus-within{box-shadow:0 0 0 3px #da291c26}.chain-input--warning{border-color:var(--color-warning-500)}.chain-input--warning:focus-within{box-shadow:0 0 0 3px #ffa30026}.chain-input--disabled{background-color:var(--color-fill-default);color:var(--color-text-disabled);border-color:var(--color-border-light);cursor:not-allowed}.chain-input--disabled:focus-within{border-color:var(--color-border-light);box-shadow:none}.chain-input--readonly{background-color:var(--color-fill-default);color:var(--color-text-primary);border-color:var(--color-border-light);cursor:default}.chain-input--readonly:focus-within{border-color:var(--color-border-light);box-shadow:none}.chain-input__field{width:100%;min-width:0;height:100%;font:inherit;color:inherit;line-height:inherit;background:0 0;border:none;outline:none;flex:1;padding:0}.chain-input__field::placeholder{color:var(--color-text-placeholder)}.chain-input__field:disabled{color:inherit;cursor:inherit}.chain-input__field:read-only{cursor:inherit}.chain-input__prefix,.chain-input__suffix{color:var(--color-text-tertiary);font-size:inherit;flex-shrink:0;align-items:center;display:inline-flex}.chain-input__clear{cursor:pointer;width:16px;height:16px;color:var(--color-text-tertiary);transition:background-color var(--duration-fast) var(--ease-default);border-radius:50%;justify-content:center;align-items:center;font-size:12px;line-height:1;display:inline-flex}.chain-input__clear:hover{background-color:var(--color-fill-hover);color:var(--color-text-secondary)}.chain-input__count{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap;flex-shrink:0}.chain-form-item{box-sizing:border-box;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-tight);display:flex}.chain-form-item--horizontal{align-items:flex-start;gap:var(--space-4);flex-direction:row}.chain-form-item--vertical{gap:var(--space-1);flex-direction:column}.chain-form-item--vertical .chain-form-item__label{width:auto}.chain-form-item__label{color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-tight);word-break:break-word;flex-shrink:0;align-items:center;padding-top:6px;display:inline-flex}.chain-form-item__label--right{justify-content:flex-end}.chain-form-item__label-text{display:inline}.chain-form-item__label-colon{flex-shrink:0;margin-left:0;display:inline}.chain-form-item__label-required{color:var(--color-error-500);flex-shrink:0;margin-right:4px;display:inline}.chain-form-item__control{flex-direction:column;flex:1;min-width:0;display:flex}.chain-form-item__help{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-tight)}.chain-form-item--error .chain-form-item__label,.chain-form-item__help--error{color:var(--color-error-500)}.chain-form-item--warning .chain-form-item__label,.chain-form-item__help--warning{color:var(--color-warning-500)}.chain-select{width:100%;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-tight);display:inline-block;position:relative}.chain-select__trigger{box-sizing:border-box;align-items:center;gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-fill-base);width:100%;color:var(--color-text-primary);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default);-webkit-user-select:none;user-select:none;display:flex}.chain-select__trigger:focus-visible{border-color:var(--color-primary-500);box-shadow:var(--shadow-focus);outline:none}.chain-select__trigger-inner{align-items:center;gap:var(--space-1);flex:1;min-width:0;display:flex;overflow:hidden}.chain-select__placeholder{color:var(--color-text-placeholder);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chain-select__value{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chain-select__arrow{width:16px;height:16px;color:var(--color-text-tertiary);transition:transform var(--duration-fast) var(--ease-default);flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.chain-select--open .chain-select__arrow{transform:rotate(180deg)}.chain-select__clear{cursor:pointer;width:16px;height:16px;color:var(--color-text-tertiary);transition:background-color var(--duration-fast) var(--ease-default);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;line-height:1;display:inline-flex}.chain-select__clear:hover{background-color:var(--color-fill-hover);color:var(--color-text-secondary)}.chain-select__spinner{border:2px solid var(--color-text-tertiary);border-right-color:#0000;border-radius:50%;flex-shrink:0;width:1em;height:1em;animation:.6s linear infinite chain-select-spin;display:inline-flex}@keyframes chain-select-spin{to{transform:rotate(360deg)}}.chain-select__prefix,.chain-select__suffix{color:var(--color-text-tertiary);flex-shrink:0;align-items:center;display:inline-flex}.chain-select--sm .chain-select__trigger{height:28px;padding:0 var(--space-3);font-size:var(--font-size-sm)}.chain-select--md .chain-select__trigger{height:32px;padding:0 var(--space-4);font-size:var(--font-size-base)}.chain-select--lg .chain-select__trigger{height:40px;padding:0 var(--space-4);font-size:var(--font-size-md)}.chain-select--filled .chain-select__trigger{background-color:var(--color-fill-default);border-color:#0000}.chain-select--filled .chain-select__trigger:focus-visible,.chain-select--filled.chain-select--open .chain-select__trigger{background-color:var(--color-fill-base)}.chain-select--borderless .chain-select__trigger{background-color:#0000;border-color:#0000}.chain-select--borderless .chain-select__trigger:focus-visible{box-shadow:none}.chain-select--error .chain-select__trigger{border-color:var(--color-error-500)}.chain-select--error .chain-select__trigger:focus-visible{box-shadow:0 0 0 3px #da291c26}.chain-select--warning .chain-select__trigger{border-color:var(--color-warning-500)}.chain-select--warning .chain-select__trigger:focus-visible{box-shadow:0 0 0 3px #ffa30026}.chain-select--disabled .chain-select__trigger{background-color:var(--color-fill-default);color:var(--color-text-disabled);border-color:var(--color-border-light);cursor:not-allowed}.chain-select--disabled .chain-select__arrow{color:var(--color-text-disabled)}.chain-select--loading .chain-select__trigger{cursor:default}.chain-select__tags{flex-wrap:wrap;flex:1;gap:4px;min-width:0;display:flex}.chain-select__tag{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-fill-default);height:22px;font-size:var(--font-size-xs);white-space:nowrap;align-items:center;gap:2px;padding:0 4px;line-height:1;display:inline-flex}.chain-select__tag-remove{border-radius:var(--radius-xs);cursor:pointer;width:14px;height:14px;color:var(--color-text-tertiary);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;display:inline-flex}.chain-select__tag-remove:hover{background-color:var(--color-fill-hover);color:var(--color-text-secondary)}.chain-select__dropdown{z-index:var(--z-index-dropdown);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:100%;box-shadow:var(--shadow-2);position:fixed;overflow:hidden}.chain-select__search{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-border-split)}.chain-select__search-input{box-sizing:border-box;width:100%;height:28px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-xs);background-color:var(--color-fill-base);font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-primary);outline:none}.chain-select__search-input:focus{border-color:var(--color-primary-500)}.chain-select__search-input::placeholder{color:var(--color-text-placeholder)}.chain-select__list{padding:var(--space-1) 0;max-height:256px;margin:0;list-style:none;overflow-y:auto}.chain-select__item{padding:0 var(--space-3);cursor:pointer;color:var(--color-text-primary);transition:background-color var(--duration-fast) var(--ease-default);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.chain-select--sm .chain-select__item{height:32px;font-size:var(--font-size-sm)}.chain-select--md .chain-select__item{height:36px;font-size:var(--font-size-base)}.chain-select--lg .chain-select__item{height:40px;font-size:var(--font-size-md)}.chain-select__item--highlighted{background-color:var(--color-fill-hover)}.chain-select__item--selected{background-color:var(--color-fill-selected);color:var(--color-primary-500)}.chain-select__item--disabled{color:var(--color-text-disabled);cursor:not-allowed}.chain-select__item-check{color:var(--color-primary-500);flex-shrink:0;font-size:12px;display:inline-flex}.chain-select__empty{padding:var(--space-4) var(--space-3);color:var(--color-text-tertiary);font-size:var(--font-size-sm);justify-content:center;align-items:center;display:flex}.chain-modal{z-index:var(--z-index-modal-backdrop);font-family:var(--font-family-base);position:fixed;inset:0}.chain-modal__mask{transition:opacity var(--duration-normal) var(--ease-out);background:#00000073;position:absolute;inset:0}.chain-modal__wrap{pointer-events:none;justify-content:center;align-items:flex-start;padding-top:100px;display:flex;position:absolute;inset:0;overflow:auto}.chain-modal--centered .chain-modal__wrap{align-items:center;padding-top:0}.chain-modal__content{background:var(--color-bg-elevated);border-radius:var(--radius-sm);width:520px;max-height:calc(100vh - 100px);box-shadow:var(--shadow-3);z-index:var(--z-index-modal);pointer-events:auto;transition:opacity var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);outline:none;flex-direction:column;display:flex;position:relative}.chain-modal__header{border-bottom:1px solid var(--color-border-split);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.chain-modal__title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0}.chain-modal__close{border-radius:var(--radius-xs);cursor:pointer;width:24px;height:24px;color:var(--color-text-secondary);transition:color var(--duration-fast) var(--ease-default), background-color var(--duration-fast) var(--ease-default);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:16px;padding:0;font-size:18px;line-height:1;display:inline-flex}.chain-modal__close:hover{color:var(--color-text-primary);background-color:var(--color-fill-hover)}.chain-modal__body{color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);flex:1;padding:16px 24px;overflow-y:auto}.chain-modal__footer{justify-content:flex-end;align-items:center;gap:var(--space-2);border-top:1px solid var(--color-border-split);flex-shrink:0;padding:16px 24px;display:flex}.chain-modal:not(.chain-modal--open){pointer-events:none}.chain-modal:not(.chain-modal--open) .chain-modal__mask{opacity:0}.chain-modal:not(.chain-modal--open) .chain-modal__content{opacity:0;transform:scale(.95)}.chain-modal--open .chain-modal__mask{opacity:1}.chain-modal--open .chain-modal__content{opacity:1;transform:scale(1)}.chain-modal--hidden .chain-modal__mask{opacity:0}.chain-modal--hidden .chain-modal__content{opacity:0;transform:scale(.95)}.chain-table{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-tight);color:var(--color-text-primary);position:relative}.chain-table__container{overflow:auto}.chain-table__table{border-collapse:collapse;table-layout:fixed;width:100%}.chain-table__header{background:var(--color-fill-default)}.chain-table__header-cell{font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;border-bottom:2px solid var(--color-border);text-align:left;padding:0 16px;overflow:hidden}.chain-table__header-cell--align-center{text-align:center}.chain-table__header-cell--align-right{text-align:right}.chain-table__row{background:var(--color-fill-base);border-bottom:1px solid var(--color-border-split);transition:background-color var(--duration-fast) var(--ease-default)}.chain-table__row:nth-child(2n){background:var(--color-fill-default)}.chain-table__row:hover{background:var(--color-fill-hover)}.chain-table__row--selected{background:var(--color-fill-selected)!important}.chain-table__cell{text-align:left;padding:0 16px;overflow:hidden}.chain-table__cell--align-center{text-align:center}.chain-table__cell--align-right{text-align:right}.chain-table__cell--ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chain-table__selection{text-align:center;width:48px}.chain-table__checkbox{justify-content:center;align-items:center;display:inline-flex}.chain-table__checkbox input[type=checkbox],.chain-table__checkbox input[type=radio]{cursor:pointer;width:16px;height:16px;accent-color:var(--color-primary-500)}.chain-table__checkbox input[type=checkbox]:disabled,.chain-table__checkbox input[type=radio]:disabled{cursor:not-allowed;opacity:.4}.chain-table__empty{text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-base);padding:64px 16px}.chain-table__loading-overlay{z-index:1;background:#fff9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chain-table__loading-spinner{border:3px solid var(--color-primary-100);border-top-color:var(--color-primary-500);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite chain-table-spin;display:inline-flex}@keyframes chain-table-spin{to{transform:rotate(360deg)}}.chain-table--bordered .chain-table__table{border:1px solid var(--color-border)}.chain-table--bordered .chain-table__header-cell,.chain-table--bordered .chain-table__cell{border-right:1px solid var(--color-border-split)}.chain-table--bordered .chain-table__header-cell:last-child,.chain-table--bordered .chain-table__cell:last-child{border-right:none}.chain-table--sm .chain-table__header-cell,.chain-table--sm .chain-table__cell{height:40px;font-size:var(--font-size-sm);padding-left:12px;padding-right:12px}.chain-table--sm .chain-table__selection{padding-left:0;padding-right:0}.chain-table--md .chain-table__header-cell,.chain-table--md .chain-table__cell{height:48px;font-size:var(--font-size-base);padding-left:16px;padding-right:16px}.chain-table--md .chain-table__selection{padding-left:0;padding-right:0}.chain-table--lg .chain-table__header-cell,.chain-table--lg .chain-table__cell{height:56px;font-size:var(--font-size-base);padding-left:16px;padding-right:16px}.chain-table--lg .chain-table__selection{padding-left:0;padding-right:0}.chain-table__pagination{justify-content:flex-end;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.chain-table__pagination-total{flex-shrink:0}.chain-table__pagination-nav{align-items:center;gap:var(--space-2);display:flex}.chain-tag{border-radius:var(--radius-sm);font-family:var(--font-family-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-tight);white-space:nowrap;-webkit-user-select:none;user-select:none;vertical-align:middle;border:1px solid #0000;align-items:center;gap:4px;display:inline-flex}.chain-tag__text{display:inline}.chain-tag--sm{height:20px;padding:0 8px;font-size:12px}.chain-tag--md{height:24px;padding:0 12px;font-size:13px}.chain-tag--lg{height:28px;padding:0 12px;font-size:14px}.chain-tag__close{cursor:pointer;width:14px;height:14px;transition:background-color var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:-2px;padding:0;font-size:12px;line-height:1;display:inline-flex}.chain-tag--sm .chain-tag__close{width:12px;height:12px;font-size:10px}.chain-tag__close:hover{background-color:#0000001a}.chain-tag--solid{color:#fff}.chain-tag--solid.chain-tag--primary{background-color:var(--color-primary-500)}.chain-tag--solid.chain-tag--brand{background-color:var(--color-brand-500)}.chain-tag--solid.chain-tag--success{background-color:var(--color-success-500)}.chain-tag--solid.chain-tag--warning{background-color:var(--color-warning-500)}.chain-tag--solid.chain-tag--error{background-color:var(--color-error-500)}.chain-tag--solid.chain-tag--info{background-color:var(--color-info-500)}.chain-tag--solid.chain-tag--default{background-color:var(--color-fill-hover);color:var(--color-text-secondary)}.chain-tag--outline{background-color:#0000}.chain-tag--outline.chain-tag--primary{color:var(--color-primary-500);border-color:var(--color-primary-500)}.chain-tag--outline.chain-tag--brand{color:var(--color-brand-500);border-color:var(--color-brand-500)}.chain-tag--outline.chain-tag--success{color:var(--color-success-500);border-color:var(--color-success-500)}.chain-tag--outline.chain-tag--warning{color:var(--color-warning-500);border-color:var(--color-warning-500)}.chain-tag--outline.chain-tag--error{color:var(--color-error-500);border-color:var(--color-error-500)}.chain-tag--outline.chain-tag--info{color:var(--color-info-500);border-color:var(--color-info-500)}.chain-tag--outline.chain-tag--default{color:var(--color-text-secondary);border-color:var(--color-border)}.chain-tag--light{border-color:#0000}.chain-tag--light.chain-tag--primary{color:var(--color-primary-500);background-color:var(--color-primary-50)}.chain-tag--light.chain-tag--brand{color:var(--color-brand-500);background-color:var(--color-brand-50)}.chain-tag--light.chain-tag--success{color:var(--color-success-500);background-color:var(--color-success-50)}.chain-tag--light.chain-tag--warning{color:var(--color-warning-500);background-color:var(--color-warning-50)}.chain-tag--light.chain-tag--error{color:var(--color-error-500);background-color:var(--color-error-50)}.chain-tag--light.chain-tag--info{color:var(--color-info-500);background-color:var(--color-info-50)}.chain-tag--light.chain-tag--default{color:var(--color-text-secondary);background-color:var(--color-fill-default);border:1px solid var(--color-border)}.chain-badge{vertical-align:middle;display:inline-flex;position:relative}.chain-badge__content{font-family:var(--font-family-base);font-weight:var(--font-weight-bold);color:#fff;border-radius:var(--radius-full);white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.chain-badge__content--dot{background-color:var(--color-error-500);border-radius:50%;padding:0}.chain-badge--primary{background-color:var(--color-primary-500)}.chain-badge--brand{background-color:var(--color-brand-500)}.chain-badge--success{background-color:var(--color-success-500)}.chain-badge--warning{background-color:var(--color-warning-500)}.chain-badge--error{background-color:var(--color-error-500)}.chain-badge--info{background-color:var(--color-info-500)}.chain-badge--default{background-color:var(--color-fill-hover);color:var(--color-text-secondary)}.chain-badge__content--number.chain-badge__content--sm{min-width:16px;height:16px;padding:0 4px;font-size:11px}.chain-badge__content--number.chain-badge__content--md{min-width:18px;height:18px;padding:0 6px;font-size:12px}.chain-badge__content--number.chain-badge__content--lg{min-width:20px;height:20px;padding:0 8px;font-size:13px}.chain-badge__content--dot.chain-badge__content--sm{width:6px;height:6px}.chain-badge__content--dot.chain-badge__content--md{width:8px;height:8px}.chain-badge__content--dot.chain-badge__content--lg{width:10px;height:10px}.chain-badge>.chain-badge__content{transform-origin:100% 0;position:absolute;top:0;right:0;transform:translate(50%,-50%)}.chain-pagination{align-items:center;gap:var(--space-4);font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.chain-pagination__total{white-space:nowrap;flex-shrink:0}.chain-pagination__list{align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.chain-pagination__item button,.chain-pagination__prev button,.chain-pagination__next button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-fill-base);min-width:32px;height:32px;color:var(--color-text-primary);font-family:inherit;font-size:inherit;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default), background-color var(--duration-fast) var(--ease-default);justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.chain-pagination__item button:hover,.chain-pagination__prev button:hover,.chain-pagination__next button:hover{border-color:var(--color-primary-500);color:var(--color-primary-500)}.chain-pagination__item--active button{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500)}.chain-pagination__item--disabled button,.chain-pagination__item--disabled button:hover{color:var(--color-text-disabled);border-color:var(--color-border-light);background:var(--color-fill-base);cursor:not-allowed}.chain-pagination__item--disabled span{min-width:32px;height:32px;color:var(--color-text-disabled);justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.chain-pagination--sm .chain-pagination__item button,.chain-pagination--sm .chain-pagination__prev button,.chain-pagination--sm .chain-pagination__next button{min-width:28px;height:28px;font-size:12px}.chain-pagination--lg .chain-pagination__item button,.chain-pagination--lg .chain-pagination__prev button,.chain-pagination--lg .chain-pagination__next button{min-width:40px;height:40px}.chain-pagination__size-changer{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-fill-base);height:32px;font-family:inherit;font-size:inherit;color:var(--color-text-primary);cursor:pointer;padding:0 8px}.chain-pagination__jump{align-items:center;gap:4px;display:flex}.chain-pagination__jump input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:48px;height:32px;font-family:inherit;font-size:inherit;text-align:center;outline:none;padding:0 8px}.chain-pagination__jump input:focus{border-color:var(--color-primary-500)}.chain-pagination__jump button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-fill-base);height:32px;font-family:inherit;font-size:inherit;cursor:pointer;padding:0 8px}.chain-pagination__jump button:hover{border-color:var(--color-primary-500);color:var(--color-primary-500)}.chain-alert{align-items:flex-start;gap:var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-family-base);line-height:var(--line-height-tight);border:1px solid;display:flex}.chain-alert--sm{padding:8px 12px;font-size:13px}.chain-alert--md{padding:12px 16px;font-size:14px}.chain-alert--lg{padding:16px 20px;font-size:14px}.chain-alert--success{background-color:var(--color-success-50);border-color:var(--color-success-200);color:var(--color-success-500)}.chain-alert--warning{background-color:var(--color-warning-50);border-color:var(--color-warning-200);color:var(--color-warning-500)}.chain-alert--error{background-color:var(--color-error-50);border-color:var(--color-error-200);color:var(--color-error-500)}.chain-alert--info{background-color:var(--color-info-50);border-color:var(--color-info-200);color:var(--color-info-500)}.chain-alert__icon{width:20px;height:20px;font-size:14px;line-height:1;font-weight:var(--font-weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chain-alert__content{flex:1;min-width:0}.chain-alert__message{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.chain-alert__description{color:var(--color-text-secondary);font-weight:var(--font-weight-regular);margin-top:4px}.chain-alert__close{border-radius:var(--radius-xs);cursor:pointer;width:20px;height:20px;color:inherit;opacity:.6;transition:opacity var(--duration-fast) var(--ease-default);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:inline-flex}.chain-alert__close:hover{opacity:1}.chain-alert__action{margin-left:var(--space-2);flex-shrink:0}.chain-space{display:inline-flex}.chain-space--horizontal{flex-direction:row}.chain-space--vertical{flex-direction:column}.chain-space--wrap{flex-wrap:wrap}.chain-space--align-start{align-items:flex-start}.chain-space--align-end{align-items:flex-end}.chain-space--align-center{align-items:center}.chain-space--align-baseline{align-items:baseline}.chain-divider{box-sizing:border-box;border:none;margin:0}.chain-divider--horizontal{border-top-style:solid;border-top-color:var(--color-border-split);width:100%}.chain-divider--vertical{border-left-style:solid;border-left-color:var(--color-border-split);vertical-align:middle;width:0;height:1em;display:inline-block}.chain-divider--horizontal.chain-divider--solid{border-top-style:solid}.chain-divider--horizontal.chain-divider--dashed{border-top-style:dashed}.chain-divider--vertical.chain-divider--solid{border-left-style:solid}.chain-divider--vertical.chain-divider--dashed{border-left-style:dashed}.chain-divider--horizontal.chain-divider--sm{border-top-width:.5px}.chain-divider--horizontal.chain-divider--md{border-top-width:1px}.chain-divider--horizontal.chain-divider--lg{border-top-width:2px}.chain-divider--vertical.chain-divider--sm{border-left-width:.5px}.chain-divider--vertical.chain-divider--md{border-left-width:1px}.chain-divider--vertical.chain-divider--lg{border-left-width:2px}.chain-divider--with-text{align-items:center;gap:var(--space-3);border:none;display:flex}.chain-divider--with-text .chain-divider__line{border-top-style:solid;border-top-color:var(--color-border-split);flex:1}.chain-divider--with-text.chain-divider--sm .chain-divider__line{border-top-width:.5px}.chain-divider--with-text.chain-divider--md .chain-divider__line{border-top-width:1px}.chain-divider--with-text.chain-divider--lg .chain-divider__line{border-top-width:2px}.chain-divider--with-text.chain-divider--dashed .chain-divider__line{border-top-style:dashed}.chain-divider__text{font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0}
|
|
1
|
+
:root{--color-primary-50:#eff3f9;--color-primary-100:#d8e3f2;--color-primary-200:#bacce7;--color-primary-300:#94b1da;--color-primary-400:#6e95ce;--color-primary-500:#1b365d;--color-primary-600:#162d4f;--color-primary-700:#132642;--color-primary-800:#0f1f35;--color-primary-900:#0c1829;--color-primary-950:#09121f;--color-brand-50:#fdebeb;--color-brand-100:#fccece;--color-brand-200:#faa7a7;--color-brand-300:#f77777;--color-brand-400:#f54646;--color-brand-500:red;--color-brand-600:#d80000;--color-brand-700:#b70000;--color-brand-800:#930000;--color-brand-900:#720000;--color-brand-950:#510000;--color-success-50:#ebfdfc;--color-success-100:#cefcf9;--color-success-200:#a7faf5;--color-success-300:#77f7f0;--color-success-400:#46f5ea;--color-success-500:#00857d;--color-success-600:#00716a;--color-success-700:#005f5a;--color-success-800:#004d48;--color-success-900:#003b38;--color-success-950:#002a28;--color-warning-50:#fdf7eb;--color-warning-100:#fcebce;--color-warning-200:#fadca7;--color-warning-300:#f7c977;--color-warning-400:#f5b646;--color-warning-500:#ffa300;--color-warning-600:#d88a00;--color-warning-700:#b77500;--color-warning-800:#935e00;--color-warning-900:#724900;--color-warning-950:#513400;--color-error-50:#fbeeed;--color-error-100:#f7d6d3;--color-error-200:#f1b5b1;--color-error-300:#e98c85;--color-error-400:#e1635a;--color-error-500:#da291c;--color-error-600:#b92217;--color-error-700:#9c1d14;--color-error-800:#7e1710;--color-error-900:#62120c;--color-error-950:#450d08;--color-info-50:#ebf6fd;--color-info-100:#cee8fc;--color-info-200:#a7d6fa;--color-info-300:#77c0f7;--color-info-400:#46aaf5;--color-info-500:#0076cf;--color-info-600:#0064af;--color-info-700:#005495;--color-info-800:#004478;--color-info-900:#00355d;--color-info-950:#002542;--color-text-primary:#1f2329;--color-text-secondary:#5c6166;--color-text-tertiary:#8c9196;--color-text-disabled:#bbbfc4;--color-text-placeholder:#c5c9ce;--color-border:#d9dce0;--color-border-light:#e8eaed;--color-border-split:#f0f1f3;--color-fill-base:#fff;--color-fill-default:#f5f6f8;--color-fill-hover:#ebedf0;--color-fill-active:#e6ecf5;--color-fill-selected:#d6e4f7;--color-bg-page:#f2f3f5;--color-bg-container:#fff;--color-bg-elevated:#fff;--font-family-en:"HedleyNew-Regular", "Arial", sans-serif;--font-family-cn:"Noto Sans CJK SC Regular", "微软雅黑", sans-serif;--font-family-base:"HedleyNew-Regular", "Noto Sans CJK SC Regular", "Arial", "微软雅黑", -apple-system, BlinkMacSystemFont, sans-serif;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-loose:1.75;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--shadow-none:none;--shadow-1:0 1px 4px #1b365d14;--shadow-2:0 4px 12px #1b365d1f;--shadow-3:0 8px 24px #1b365d29;--shadow-focus:0 0 0 3px #1b365d26;--z-index-dropdown:1000;--z-index-sticky:1020;--z-index-fixed:1030;--z-index-modal-backdrop:1040;--z-index-modal:1050;--z-index-popover:1060;--z-index-tooltip:1070;--z-index-toast:1080;--duration-instant:0s;--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.35s;--ease-default:cubic-bezier(.4, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1)}.chain-btn{justify-content:center;align-items:center;gap:var(--space-1);border-radius:var(--radius-sm);font-family:var(--font-family-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;text-decoration:none;display:inline-flex}.chain-btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.chain-btn--sm{height:28px;padding:0 var(--space-3);font-size:var(--font-size-sm)}.chain-btn--md{height:32px;padding:0 var(--space-4);font-size:var(--font-size-base)}.chain-btn--lg{height:40px;padding:0 var(--space-5);font-size:var(--font-size-md)}.chain-btn--circle{border-radius:var(--radius-full);padding:0}.chain-btn--circle.chain-btn--sm{width:28px}.chain-btn--circle.chain-btn--md{width:32px}.chain-btn--circle.chain-btn--lg{width:40px}.chain-btn--round{border-radius:var(--radius-lg)}.chain-btn--solid{color:#fff}.chain-btn--solid.chain-btn--primary{background-color:var(--color-primary-500)}.chain-btn--solid.chain-btn--primary:hover{background-color:var(--color-primary-600)}.chain-btn--solid.chain-btn--primary:active{background-color:var(--color-primary-700)}.chain-btn--solid.chain-btn--brand{background-color:var(--color-brand-500)}.chain-btn--solid.chain-btn--brand:hover{background-color:var(--color-brand-600)}.chain-btn--solid.chain-btn--brand:active{background-color:var(--color-brand-700)}.chain-btn--solid.chain-btn--success{background-color:var(--color-success-500)}.chain-btn--solid.chain-btn--success:hover{background-color:var(--color-success-600)}.chain-btn--solid.chain-btn--success:active{background-color:var(--color-success-700)}.chain-btn--solid.chain-btn--warning{background-color:var(--color-warning-500)}.chain-btn--solid.chain-btn--warning:hover{background-color:var(--color-warning-600)}.chain-btn--solid.chain-btn--warning:active{background-color:var(--color-warning-700)}.chain-btn--solid.chain-btn--error{background-color:var(--color-error-500)}.chain-btn--solid.chain-btn--error:hover{background-color:var(--color-error-600)}.chain-btn--solid.chain-btn--error:active{background-color:var(--color-error-700)}.chain-btn--solid.chain-btn--info{background-color:var(--color-info-500)}.chain-btn--solid.chain-btn--info:hover{background-color:var(--color-info-600)}.chain-btn--solid.chain-btn--info:active{background-color:var(--color-info-700)}.chain-btn--outline{background-color:#0000}.chain-btn--outline.chain-btn--primary{color:var(--color-primary-500);border-color:var(--color-primary-500)}.chain-btn--outline.chain-btn--primary:hover{background-color:var(--color-primary-50)}.chain-btn--outline.chain-btn--primary:active{background-color:var(--color-primary-100)}.chain-btn--outline.chain-btn--brand{color:var(--color-brand-500);border-color:var(--color-brand-500)}.chain-btn--outline.chain-btn--brand:hover{background-color:var(--color-brand-50)}.chain-btn--outline.chain-btn--brand:active{background-color:var(--color-brand-100)}.chain-btn--outline.chain-btn--success{color:var(--color-success-500);border-color:var(--color-success-500)}.chain-btn--outline.chain-btn--success:hover{background-color:var(--color-success-50)}.chain-btn--outline.chain-btn--success:active{background-color:var(--color-success-100)}.chain-btn--outline.chain-btn--warning{color:var(--color-warning-500);border-color:var(--color-warning-500)}.chain-btn--outline.chain-btn--warning:hover{background-color:var(--color-warning-50)}.chain-btn--outline.chain-btn--warning:active{background-color:var(--color-warning-100)}.chain-btn--outline.chain-btn--error{color:var(--color-error-500);border-color:var(--color-error-500)}.chain-btn--outline.chain-btn--error:hover{background-color:var(--color-error-50)}.chain-btn--outline.chain-btn--error:active{background-color:var(--color-error-100)}.chain-btn--outline.chain-btn--info{color:var(--color-info-500);border-color:var(--color-info-500)}.chain-btn--outline.chain-btn--info:hover{background-color:var(--color-info-50)}.chain-btn--outline.chain-btn--info:active{background-color:var(--color-info-100)}.chain-btn--ghost{background-color:#0000;border-color:#0000}.chain-btn--ghost.chain-btn--primary{color:var(--color-primary-500)}.chain-btn--ghost.chain-btn--primary:hover{background-color:var(--color-primary-50)}.chain-btn--ghost.chain-btn--primary:active{background-color:var(--color-primary-100)}.chain-btn--ghost.chain-btn--brand{color:var(--color-brand-500)}.chain-btn--ghost.chain-btn--brand:hover{background-color:var(--color-brand-50)}.chain-btn--ghost.chain-btn--brand:active{background-color:var(--color-brand-100)}.chain-btn--ghost.chain-btn--success{color:var(--color-success-500)}.chain-btn--ghost.chain-btn--success:hover{background-color:var(--color-success-50)}.chain-btn--ghost.chain-btn--success:active{background-color:var(--color-success-100)}.chain-btn--ghost.chain-btn--warning{color:var(--color-warning-500)}.chain-btn--ghost.chain-btn--warning:hover{background-color:var(--color-warning-50)}.chain-btn--ghost.chain-btn--warning:active{background-color:var(--color-warning-100)}.chain-btn--ghost.chain-btn--error{color:var(--color-error-500)}.chain-btn--ghost.chain-btn--error:hover{background-color:var(--color-error-50)}.chain-btn--ghost.chain-btn--error:active{background-color:var(--color-error-100)}.chain-btn--ghost.chain-btn--info{color:var(--color-info-500)}.chain-btn--ghost.chain-btn--info:hover{background-color:var(--color-info-50)}.chain-btn--ghost.chain-btn--info:active{background-color:var(--color-info-100)}.chain-btn--link{background-color:#0000;border-color:#0000;height:auto;padding:0}.chain-btn--link.chain-btn--primary{color:var(--color-primary-500)}.chain-btn--link.chain-btn--primary:hover{text-decoration:underline}.chain-btn--link.chain-btn--brand{color:var(--color-brand-500)}.chain-btn--link.chain-btn--brand:hover{text-decoration:underline}.chain-btn--link.chain-btn--success{color:var(--color-success-500)}.chain-btn--link.chain-btn--success:hover{text-decoration:underline}.chain-btn--link.chain-btn--warning{color:var(--color-warning-500)}.chain-btn--link.chain-btn--warning:hover{text-decoration:underline}.chain-btn--link.chain-btn--error{color:var(--color-error-500)}.chain-btn--link.chain-btn--error:hover{text-decoration:underline}.chain-btn--link.chain-btn--info{color:var(--color-info-500)}.chain-btn--link.chain-btn--info:hover{text-decoration:underline}.chain-btn--disabled,.chain-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.chain-btn--loading{pointer-events:none;cursor:default}.chain-btn__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:1em;height:1em;animation:.6s linear infinite chain-btn-spin;display:inline-flex}@keyframes chain-btn-spin{to{transform:rotate(360deg)}}.chain-input{box-sizing:border-box;align-items:center;gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-fill-base);font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-tight);color:var(--color-text-primary);transition:border-color var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default);display:inline-flex}.chain-input:focus-within{border-color:var(--color-primary-500);box-shadow:var(--shadow-focus)}.chain-input--sm{height:28px;padding:0 var(--space-3);font-size:var(--font-size-sm)}.chain-input--md{height:32px;padding:0 var(--space-4)}.chain-input--lg{height:40px;padding:0 var(--space-4);font-size:var(--font-size-md)}.chain-input--filled{background-color:var(--color-fill-default);border-color:#0000}.chain-input--filled:focus-within{background-color:var(--color-fill-base)}.chain-input--borderless{background-color:#0000;border-color:#0000}.chain-input--borderless:focus-within{box-shadow:none}.chain-input--error{border-color:var(--color-error-500)}.chain-input--error:focus-within{box-shadow:0 0 0 3px #da291c26}.chain-input--warning{border-color:var(--color-warning-500)}.chain-input--warning:focus-within{box-shadow:0 0 0 3px #ffa30026}.chain-input--disabled{background-color:var(--color-fill-default);color:var(--color-text-disabled);border-color:var(--color-border-light);cursor:not-allowed}.chain-input--disabled:focus-within{border-color:var(--color-border-light);box-shadow:none}.chain-input--readonly{background-color:var(--color-fill-default);color:var(--color-text-primary);border-color:var(--color-border-light);cursor:default}.chain-input--readonly:focus-within{border-color:var(--color-border-light);box-shadow:none}.chain-input__field{width:100%;min-width:0;height:100%;font:inherit;color:inherit;line-height:inherit;background:0 0;border:none;outline:none;flex:1;padding:0}.chain-input__field::placeholder{color:var(--color-text-placeholder)}.chain-input__field:disabled{color:inherit;cursor:inherit}.chain-input__field:read-only{cursor:inherit}.chain-input__prefix,.chain-input__suffix{color:var(--color-text-tertiary);font-size:inherit;flex-shrink:0;align-items:center;display:inline-flex}.chain-input__clear{cursor:pointer;width:16px;height:16px;color:var(--color-text-tertiary);transition:background-color var(--duration-fast) var(--ease-default);border-radius:50%;justify-content:center;align-items:center;font-size:12px;line-height:1;display:inline-flex}.chain-input__clear:hover{background-color:var(--color-fill-hover);color:var(--color-text-secondary)}.chain-input__count{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap;flex-shrink:0}.chain-form-item{box-sizing:border-box;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-tight);display:flex}.chain-form-item--horizontal{align-items:flex-start;gap:var(--space-4);flex-direction:row}.chain-form-item--vertical{gap:var(--space-1);flex-direction:column}.chain-form-item--vertical .chain-form-item__label{width:auto}.chain-form-item__label{color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-tight);word-break:break-word;flex-shrink:0;align-items:center;padding-top:6px;display:inline-flex}.chain-form-item__label--right{justify-content:flex-end}.chain-form-item__label-text{display:inline}.chain-form-item__label-colon{flex-shrink:0;margin-left:0;display:inline}.chain-form-item__label-required{color:var(--color-error-500);flex-shrink:0;margin-right:4px;display:inline}.chain-form-item__control{flex-direction:column;flex:1;min-width:0;display:flex}.chain-form-item__help{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-tight)}.chain-form-item--error .chain-form-item__label,.chain-form-item__help--error{color:var(--color-error-500)}.chain-form-item--warning .chain-form-item__label,.chain-form-item__help--warning{color:var(--color-warning-500)}.chain-select{width:100%;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-tight);display:inline-block;position:relative}.chain-select__trigger{box-sizing:border-box;align-items:center;gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-fill-base);width:100%;color:var(--color-text-primary);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default);-webkit-user-select:none;user-select:none;display:flex}.chain-select__trigger:focus-visible{border-color:var(--color-primary-500);box-shadow:var(--shadow-focus);outline:none}.chain-select__trigger-inner{align-items:center;gap:var(--space-1);flex:1;min-width:0;display:flex;overflow:hidden}.chain-select__placeholder{color:var(--color-text-placeholder);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chain-select__value{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chain-select__arrow{width:16px;height:16px;color:var(--color-text-tertiary);transition:transform var(--duration-fast) var(--ease-default);flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.chain-select--open .chain-select__arrow{transform:rotate(180deg)}.chain-select__clear{cursor:pointer;width:16px;height:16px;color:var(--color-text-tertiary);transition:background-color var(--duration-fast) var(--ease-default);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;line-height:1;display:inline-flex}.chain-select__clear:hover{background-color:var(--color-fill-hover);color:var(--color-text-secondary)}.chain-select__spinner{border:2px solid var(--color-text-tertiary);border-right-color:#0000;border-radius:50%;flex-shrink:0;width:1em;height:1em;animation:.6s linear infinite chain-select-spin;display:inline-flex}@keyframes chain-select-spin{to{transform:rotate(360deg)}}.chain-select__prefix,.chain-select__suffix{color:var(--color-text-tertiary);flex-shrink:0;align-items:center;display:inline-flex}.chain-select--sm .chain-select__trigger{height:28px;padding:0 var(--space-3);font-size:var(--font-size-sm)}.chain-select--md .chain-select__trigger{height:32px;padding:0 var(--space-4);font-size:var(--font-size-base)}.chain-select--lg .chain-select__trigger{height:40px;padding:0 var(--space-4);font-size:var(--font-size-md)}.chain-select--filled .chain-select__trigger{background-color:var(--color-fill-default);border-color:#0000}.chain-select--filled .chain-select__trigger:focus-visible,.chain-select--filled.chain-select--open .chain-select__trigger{background-color:var(--color-fill-base)}.chain-select--borderless .chain-select__trigger{background-color:#0000;border-color:#0000}.chain-select--borderless .chain-select__trigger:focus-visible{box-shadow:none}.chain-select--error .chain-select__trigger{border-color:var(--color-error-500)}.chain-select--error .chain-select__trigger:focus-visible{box-shadow:0 0 0 3px #da291c26}.chain-select--warning .chain-select__trigger{border-color:var(--color-warning-500)}.chain-select--warning .chain-select__trigger:focus-visible{box-shadow:0 0 0 3px #ffa30026}.chain-select--disabled .chain-select__trigger{background-color:var(--color-fill-default);color:var(--color-text-disabled);border-color:var(--color-border-light);cursor:not-allowed}.chain-select--disabled .chain-select__arrow{color:var(--color-text-disabled)}.chain-select--loading .chain-select__trigger{cursor:default}.chain-select__tags{flex-wrap:wrap;flex:1;gap:4px;min-width:0;display:flex}.chain-select__tag{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-fill-default);height:22px;font-size:var(--font-size-xs);white-space:nowrap;align-items:center;gap:2px;padding:0 4px;line-height:1;display:inline-flex}.chain-select__tag-remove{border-radius:var(--radius-xs);cursor:pointer;width:14px;height:14px;color:var(--color-text-tertiary);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;display:inline-flex}.chain-select__tag-remove:hover{background-color:var(--color-fill-hover);color:var(--color-text-secondary)}.chain-select__dropdown{z-index:var(--z-index-dropdown);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:100%;box-shadow:var(--shadow-2);position:fixed;overflow:hidden}.chain-select__search{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-border-split)}.chain-select__search-input{box-sizing:border-box;width:100%;height:28px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-xs);background-color:var(--color-fill-base);font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-primary);outline:none}.chain-select__search-input:focus{border-color:var(--color-primary-500)}.chain-select__search-input::placeholder{color:var(--color-text-placeholder)}.chain-select__list{padding:var(--space-1) 0;max-height:256px;margin:0;list-style:none;overflow-y:auto}.chain-select__item{padding:0 var(--space-3);cursor:pointer;color:var(--color-text-primary);transition:background-color var(--duration-fast) var(--ease-default);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.chain-select--sm .chain-select__item{height:32px;font-size:var(--font-size-sm)}.chain-select--md .chain-select__item{height:36px;font-size:var(--font-size-base)}.chain-select--lg .chain-select__item{height:40px;font-size:var(--font-size-md)}.chain-select__item--highlighted{background-color:var(--color-fill-hover)}.chain-select__item--selected{background-color:var(--color-fill-selected);color:var(--color-primary-500)}.chain-select__item--disabled{color:var(--color-text-disabled);cursor:not-allowed}.chain-select__item-check{color:var(--color-primary-500);flex-shrink:0;font-size:12px;display:inline-flex}.chain-select__empty{padding:var(--space-4) var(--space-3);color:var(--color-text-tertiary);font-size:var(--font-size-sm);justify-content:center;align-items:center;display:flex}.chain-modal{z-index:var(--z-index-modal-backdrop);font-family:var(--font-family-base);position:fixed;inset:0}.chain-modal__mask{transition:opacity var(--duration-normal) var(--ease-out);background:#00000073;position:absolute;inset:0}.chain-modal__wrap{pointer-events:none;justify-content:center;align-items:flex-start;padding-top:100px;display:flex;position:absolute;inset:0;overflow:auto}.chain-modal--centered .chain-modal__wrap{align-items:center;padding-top:0}.chain-modal__content{background:var(--color-bg-elevated);border-radius:var(--radius-sm);width:520px;max-height:calc(100vh - 100px);box-shadow:var(--shadow-3);z-index:var(--z-index-modal);pointer-events:auto;transition:opacity var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);outline:none;flex-direction:column;display:flex;position:relative}.chain-modal__header{border-bottom:1px solid var(--color-border-split);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.chain-modal__title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0}.chain-modal__close{border-radius:var(--radius-xs);cursor:pointer;width:24px;height:24px;color:var(--color-text-secondary);transition:color var(--duration-fast) var(--ease-default), background-color var(--duration-fast) var(--ease-default);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:16px;padding:0;font-size:18px;line-height:1;display:inline-flex}.chain-modal__close:hover{color:var(--color-text-primary);background-color:var(--color-fill-hover)}.chain-modal__body{color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);flex:1;padding:16px 24px;overflow-y:auto}.chain-modal__footer{justify-content:flex-end;align-items:center;gap:var(--space-2);border-top:1px solid var(--color-border-split);flex-shrink:0;padding:16px 24px;display:flex}.chain-modal:not(.chain-modal--open){pointer-events:none}.chain-modal:not(.chain-modal--open) .chain-modal__mask{opacity:0}.chain-modal:not(.chain-modal--open) .chain-modal__content{opacity:0;transform:scale(.95)}.chain-modal--open .chain-modal__mask{opacity:1}.chain-modal--open .chain-modal__content{opacity:1;transform:scale(1)}.chain-modal--hidden .chain-modal__mask{opacity:0}.chain-modal--hidden .chain-modal__content{opacity:0;transform:scale(.95)}.chain-table{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-tight);color:var(--color-text-primary);position:relative}.chain-table__container{overflow:auto}.chain-table__table{border-collapse:collapse;table-layout:fixed;width:100%}.chain-table__header{background:var(--color-fill-default)}.chain-table__header-cell{font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;border-bottom:2px solid var(--color-border);text-align:left;padding:0 16px;overflow:hidden}.chain-table__header-cell--align-center{text-align:center}.chain-table__header-cell--align-right{text-align:right}.chain-table__row{background:var(--color-fill-base);border-bottom:1px solid var(--color-border-split);transition:background-color var(--duration-fast) var(--ease-default)}.chain-table__row:nth-child(2n){background:var(--color-fill-default)}.chain-table__row:hover{background:var(--color-fill-hover)}.chain-table__row--selected{background:var(--color-fill-selected)!important}.chain-table__cell{text-align:left;padding:0 16px;overflow:hidden}.chain-table__cell--align-center{text-align:center}.chain-table__cell--align-right{text-align:right}.chain-table__cell--ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chain-table__selection{text-align:center;width:48px}.chain-table__checkbox{justify-content:center;align-items:center;display:inline-flex}.chain-table__checkbox input[type=checkbox],.chain-table__checkbox input[type=radio]{cursor:pointer;width:16px;height:16px;accent-color:var(--color-primary-500)}.chain-table__checkbox input[type=checkbox]:disabled,.chain-table__checkbox input[type=radio]:disabled{cursor:not-allowed;opacity:.4}.chain-table__empty{text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-base);padding:64px 16px}.chain-table__loading-overlay{z-index:1;background:#fff9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chain-table__loading-spinner{border:3px solid var(--color-primary-100);border-top-color:var(--color-primary-500);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite chain-table-spin;display:inline-flex}@keyframes chain-table-spin{to{transform:rotate(360deg)}}.chain-table--bordered .chain-table__table{border:1px solid var(--color-border)}.chain-table--bordered .chain-table__header-cell,.chain-table--bordered .chain-table__cell{border-right:1px solid var(--color-border-split)}.chain-table--bordered .chain-table__header-cell:last-child,.chain-table--bordered .chain-table__cell:last-child{border-right:none}.chain-table--sm .chain-table__header-cell,.chain-table--sm .chain-table__cell{height:40px;font-size:var(--font-size-sm);padding-left:12px;padding-right:12px}.chain-table--sm .chain-table__selection{padding-left:0;padding-right:0}.chain-table--md .chain-table__header-cell,.chain-table--md .chain-table__cell{height:48px;font-size:var(--font-size-base);padding-left:16px;padding-right:16px}.chain-table--md .chain-table__selection{padding-left:0;padding-right:0}.chain-table--lg .chain-table__header-cell,.chain-table--lg .chain-table__cell{height:56px;font-size:var(--font-size-base);padding-left:16px;padding-right:16px}.chain-table--lg .chain-table__selection{padding-left:0;padding-right:0}.chain-table__pagination{justify-content:flex-end;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.chain-table__pagination-total{flex-shrink:0}.chain-table__pagination-nav{align-items:center;gap:var(--space-2);display:flex}.chain-tag{border-radius:var(--radius-sm);font-family:var(--font-family-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-tight);white-space:nowrap;-webkit-user-select:none;user-select:none;vertical-align:middle;border:1px solid #0000;align-items:center;gap:4px;display:inline-flex}.chain-tag__text{display:inline}.chain-tag--sm{height:20px;padding:0 8px;font-size:12px}.chain-tag--md{height:24px;padding:0 12px;font-size:13px}.chain-tag--lg{height:28px;padding:0 12px;font-size:14px}.chain-tag__close{cursor:pointer;width:14px;height:14px;transition:background-color var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:-2px;padding:0;font-size:12px;line-height:1;display:inline-flex}.chain-tag--sm .chain-tag__close{width:12px;height:12px;font-size:10px}.chain-tag__close:hover{background-color:#0000001a}.chain-tag--solid{color:#fff}.chain-tag--solid.chain-tag--primary{background-color:var(--color-primary-500)}.chain-tag--solid.chain-tag--brand{background-color:var(--color-brand-500)}.chain-tag--solid.chain-tag--success{background-color:var(--color-success-500)}.chain-tag--solid.chain-tag--warning{background-color:var(--color-warning-500)}.chain-tag--solid.chain-tag--error{background-color:var(--color-error-500)}.chain-tag--solid.chain-tag--info{background-color:var(--color-info-500)}.chain-tag--solid.chain-tag--default{background-color:var(--color-fill-hover);color:var(--color-text-secondary)}.chain-tag--outline{background-color:#0000}.chain-tag--outline.chain-tag--primary{color:var(--color-primary-500);border-color:var(--color-primary-500)}.chain-tag--outline.chain-tag--brand{color:var(--color-brand-500);border-color:var(--color-brand-500)}.chain-tag--outline.chain-tag--success{color:var(--color-success-500);border-color:var(--color-success-500)}.chain-tag--outline.chain-tag--warning{color:var(--color-warning-500);border-color:var(--color-warning-500)}.chain-tag--outline.chain-tag--error{color:var(--color-error-500);border-color:var(--color-error-500)}.chain-tag--outline.chain-tag--info{color:var(--color-info-500);border-color:var(--color-info-500)}.chain-tag--outline.chain-tag--default{color:var(--color-text-secondary);border-color:var(--color-border)}.chain-tag--light{border-color:#0000}.chain-tag--light.chain-tag--primary{color:var(--color-primary-500);background-color:var(--color-primary-50)}.chain-tag--light.chain-tag--brand{color:var(--color-brand-500);background-color:var(--color-brand-50)}.chain-tag--light.chain-tag--success{color:var(--color-success-500);background-color:var(--color-success-50)}.chain-tag--light.chain-tag--warning{color:var(--color-warning-500);background-color:var(--color-warning-50)}.chain-tag--light.chain-tag--error{color:var(--color-error-500);background-color:var(--color-error-50)}.chain-tag--light.chain-tag--info{color:var(--color-info-500);background-color:var(--color-info-50)}.chain-tag--light.chain-tag--default{color:var(--color-text-secondary);background-color:var(--color-fill-default);border:1px solid var(--color-border)}.chain-badge{vertical-align:middle;display:inline-flex;position:relative}.chain-badge__content{font-family:var(--font-family-base);font-weight:var(--font-weight-bold);color:#fff;border-radius:var(--radius-full);white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.chain-badge__content--dot{background-color:var(--color-error-500);border-radius:50%;padding:0}.chain-badge--primary{background-color:var(--color-primary-500)}.chain-badge--brand{background-color:var(--color-brand-500)}.chain-badge--success{background-color:var(--color-success-500)}.chain-badge--warning{background-color:var(--color-warning-500)}.chain-badge--error{background-color:var(--color-error-500)}.chain-badge--info{background-color:var(--color-info-500)}.chain-badge--default{background-color:var(--color-fill-hover);color:var(--color-text-secondary)}.chain-badge__content--number.chain-badge__content--sm{min-width:16px;height:16px;padding:0 4px;font-size:11px}.chain-badge__content--number.chain-badge__content--md{min-width:18px;height:18px;padding:0 6px;font-size:12px}.chain-badge__content--number.chain-badge__content--lg{min-width:20px;height:20px;padding:0 8px;font-size:13px}.chain-badge__content--dot.chain-badge__content--sm{width:6px;height:6px}.chain-badge__content--dot.chain-badge__content--md{width:8px;height:8px}.chain-badge__content--dot.chain-badge__content--lg{width:10px;height:10px}.chain-badge>.chain-badge__content{transform-origin:100% 0;position:absolute;top:0;right:0;transform:translate(50%,-50%)}.chain-pagination{align-items:center;gap:var(--space-4);font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.chain-pagination__total{white-space:nowrap;flex-shrink:0}.chain-pagination__list{align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.chain-pagination__item button,.chain-pagination__prev button,.chain-pagination__next button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-fill-base);min-width:32px;height:32px;color:var(--color-text-primary);font-family:inherit;font-size:inherit;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default), background-color var(--duration-fast) var(--ease-default);justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.chain-pagination__item button:hover,.chain-pagination__prev button:hover,.chain-pagination__next button:hover{border-color:var(--color-primary-500);color:var(--color-primary-500)}.chain-pagination__item--active button{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500)}.chain-pagination__item--disabled button,.chain-pagination__item--disabled button:hover{color:var(--color-text-disabled);border-color:var(--color-border-light);background:var(--color-fill-base);cursor:not-allowed}.chain-pagination__item--disabled span{min-width:32px;height:32px;color:var(--color-text-disabled);justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.chain-pagination--sm .chain-pagination__item button,.chain-pagination--sm .chain-pagination__prev button,.chain-pagination--sm .chain-pagination__next button{min-width:28px;height:28px;font-size:12px}.chain-pagination--lg .chain-pagination__item button,.chain-pagination--lg .chain-pagination__prev button,.chain-pagination--lg .chain-pagination__next button{min-width:40px;height:40px}.chain-pagination__size-changer{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-fill-base);height:32px;font-family:inherit;font-size:inherit;color:var(--color-text-primary);cursor:pointer;padding:0 8px}.chain-pagination__jump{align-items:center;gap:4px;display:flex}.chain-pagination__jump input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:48px;height:32px;font-family:inherit;font-size:inherit;text-align:center;outline:none;padding:0 8px}.chain-pagination__jump input:focus{border-color:var(--color-primary-500)}.chain-pagination__jump button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-fill-base);height:32px;font-family:inherit;font-size:inherit;cursor:pointer;padding:0 8px}.chain-pagination__jump button:hover{border-color:var(--color-primary-500);color:var(--color-primary-500)}.chain-alert{align-items:flex-start;gap:var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-family-base);line-height:var(--line-height-tight);border:1px solid;display:flex}.chain-alert--sm{padding:8px 12px;font-size:13px}.chain-alert--md{padding:12px 16px;font-size:14px}.chain-alert--lg{padding:16px 20px;font-size:14px}.chain-alert--success{background-color:var(--color-success-50);border-color:var(--color-success-200);color:var(--color-success-500)}.chain-alert--warning{background-color:var(--color-warning-50);border-color:var(--color-warning-200);color:var(--color-warning-500)}.chain-alert--error{background-color:var(--color-error-50);border-color:var(--color-error-200);color:var(--color-error-500)}.chain-alert--info{background-color:var(--color-info-50);border-color:var(--color-info-200);color:var(--color-info-500)}.chain-alert__icon{width:20px;height:20px;font-size:14px;line-height:1;font-weight:var(--font-weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chain-alert__content{flex:1;min-width:0}.chain-alert__message{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.chain-alert__description{color:var(--color-text-secondary);font-weight:var(--font-weight-regular);margin-top:4px}.chain-alert__close{border-radius:var(--radius-xs);cursor:pointer;width:20px;height:20px;color:inherit;opacity:.6;transition:opacity var(--duration-fast) var(--ease-default);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:inline-flex}.chain-alert__close:hover{opacity:1}.chain-alert__action{margin-left:var(--space-2);flex-shrink:0}.chain-space{display:inline-flex}.chain-space--horizontal{flex-direction:row}.chain-space--vertical{flex-direction:column}.chain-space--wrap{flex-wrap:wrap}.chain-space--align-start{align-items:flex-start}.chain-space--align-end{align-items:flex-end}.chain-space--align-center{align-items:center}.chain-space--align-baseline{align-items:baseline}.chain-divider{box-sizing:border-box;border:none;margin:0}.chain-divider--horizontal{border-top-style:solid;border-top-color:var(--color-border-split);width:100%}.chain-divider--vertical{border-left-style:solid;border-left-color:var(--color-border-split);vertical-align:middle;width:0;height:1em;display:inline-block}.chain-divider--horizontal.chain-divider--solid{border-top-style:solid}.chain-divider--horizontal.chain-divider--dashed{border-top-style:dashed}.chain-divider--vertical.chain-divider--solid{border-left-style:solid}.chain-divider--vertical.chain-divider--dashed{border-left-style:dashed}.chain-divider--horizontal.chain-divider--sm{border-top-width:.5px}.chain-divider--horizontal.chain-divider--md{border-top-width:1px}.chain-divider--horizontal.chain-divider--lg{border-top-width:2px}.chain-divider--vertical.chain-divider--sm{border-left-width:.5px}.chain-divider--vertical.chain-divider--md{border-left-width:1px}.chain-divider--vertical.chain-divider--lg{border-left-width:2px}.chain-divider--with-text{align-items:center;gap:var(--space-3);border:none;display:flex}.chain-divider--with-text .chain-divider__line{border-top-style:solid;border-top-color:var(--color-border-split);flex:1}.chain-divider--with-text.chain-divider--sm .chain-divider__line{border-top-width:.5px}.chain-divider--with-text.chain-divider--md .chain-divider__line{border-top-width:1px}.chain-divider--with-text.chain-divider--lg .chain-divider__line{border-top-width:2px}.chain-divider--with-text.chain-divider--dashed .chain-divider__line{border-top-style:dashed}.chain-divider__text{font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0}.chain-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:middle;align-items:center;gap:8px;display:inline-flex;position:relative}.chain-checkbox--disabled{cursor:not-allowed;opacity:.5}.chain-checkbox--sm{font-size:12px}.chain-checkbox--md{font-size:14px}.chain-checkbox--lg{font-size:16px}.chain-checkbox--sm .chain-checkbox__box{width:14px;height:14px}.chain-checkbox--md .chain-checkbox__box{width:16px;height:16px}.chain-checkbox--lg .chain-checkbox__box{width:18px;height:18px}.chain-checkbox--round .chain-checkbox__box{border-radius:50%}.chain-checkbox--primary .chain-checkbox__box,.chain-checkbox--brand .chain-checkbox__box,.chain-checkbox--success .chain-checkbox__box,.chain-checkbox--warning .chain-checkbox__box,.chain-checkbox--error .chain-checkbox__box,.chain-checkbox--info .chain-checkbox__box{--_cb-bg:var(--chain-color-primary,#1677ff);--_cb-border:var(--chain-color-primary,#1677ff)}.chain-checkbox--checked.chain-checkbox--brand .chain-checkbox__box,.chain-checkbox--indeterminate.chain-checkbox--brand .chain-checkbox__box{--_cb-bg:var(--chain-color-brand,#a855f7);--_cb-border:var(--chain-color-brand,#a855f7)}.chain-checkbox--checked.chain-checkbox--success .chain-checkbox__box,.chain-checkbox--indeterminate.chain-checkbox--success .chain-checkbox__box{--_cb-bg:var(--chain-color-success,#52c41a);--_cb-border:var(--chain-color-success,#52c41a)}.chain-checkbox--checked.chain-checkbox--warning .chain-checkbox__box,.chain-checkbox--indeterminate.chain-checkbox--warning .chain-checkbox__box{--_cb-bg:var(--chain-color-warning,#faad14);--_cb-border:var(--chain-color-warning,#faad14)}.chain-checkbox--checked.chain-checkbox--error .chain-checkbox__box,.chain-checkbox--indeterminate.chain-checkbox--error .chain-checkbox__box{--_cb-bg:var(--chain-color-error,#ff4d4f);--_cb-border:var(--chain-color-error,#ff4d4f)}.chain-checkbox--checked.chain-checkbox--info .chain-checkbox__box,.chain-checkbox--indeterminate.chain-checkbox--info .chain-checkbox__box{--_cb-bg:var(--chain-color-info,#1677ff);--_cb-border:var(--chain-color-info,#1677ff)}.chain-checkbox--error:not(.chain-checkbox--checked):not(.chain-checkbox--indeterminate) .chain-checkbox__box{border-color:var(--chain-color-error,#ff4d4f);background:var(--chain-color-error-bg,#fff2f0)}.chain-checkbox--warning:not(.chain-checkbox--checked):not(.chain-checkbox--indeterminate) .chain-checkbox__box{border-color:var(--chain-color-warning,#faad14);background:var(--chain-color-warning-bg,#fffbe6)}.chain-checkbox__input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.chain-checkbox__box{box-sizing:border-box;background:#fff;border:2px solid #d9d9d9;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:all .2s;display:inline-flex}.chain-checkbox--checked .chain-checkbox__box,.chain-checkbox--indeterminate .chain-checkbox__box{background:var(--_cb-bg);border-color:var(--_cb-border)}.chain-checkbox__check{color:#fff;justify-content:center;align-items:center;font-size:12px;line-height:1;display:flex}.chain-checkbox__indeterminate{background:#fff;border-radius:1px;width:8px;height:2px}.chain-checkbox__label{color:inherit;line-height:1.4}.chain-checkbox-group{gap:8px;display:flex}.chain-checkbox-group--vertical{flex-direction:column}.chain-checkbox-group--horizontal{flex-flow:wrap}.chain-radio{cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:middle;align-items:center;gap:8px;display:inline-flex;position:relative}.chain-radio--disabled{cursor:not-allowed;opacity:.5}.chain-radio--sm{font-size:12px}.chain-radio--md{font-size:14px}.chain-radio--lg{font-size:16px}.chain-radio--sm .chain-radio__box{width:14px;height:14px}.chain-radio--md .chain-radio__box{width:16px;height:16px}.chain-radio--lg .chain-radio__box{width:18px;height:18px}.chain-radio--primary{--_ra-accent:var(--chain-color-primary,#1677ff)}.chain-radio--brand{--_ra-accent:var(--chain-color-brand,#a855f7)}.chain-radio--success{--_ra-accent:var(--chain-color-success,#52c41a)}.chain-radio--warning{--_ra-accent:var(--chain-color-warning,#faad14)}.chain-radio--error{--_ra-accent:var(--chain-color-error,#ff4d4f)}.chain-radio--info{--_ra-accent:var(--chain-color-info,#1677ff)}.chain-radio--checked .chain-radio__box{border-color:var(--_ra-accent)}.chain-radio--checked .chain-radio__dot{background:var(--_ra-accent)}.chain-radio--error .chain-radio__box{border-color:var(--chain-color-error,#ff4d4f);background:var(--chain-color-error-bg,#fff2f0)}.chain-radio--warning .chain-radio__box{border-color:var(--chain-color-warning,#faad14);background:var(--chain-color-warning-bg,#fffbe6)}.chain-radio__input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.chain-radio__box{box-sizing:border-box;background:#fff;border:2px solid #d9d9d9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:all .2s;display:inline-flex}.chain-radio__dot{background:var(--_ra-accent,#1677ff);border-radius:50%;width:8px;height:8px;transition:transform .15s}.chain-radio--sm .chain-radio__dot{width:6px;height:6px}.chain-radio--lg .chain-radio__dot{width:10px;height:10px}.chain-radio__label{color:inherit;line-height:1.4}.chain-radio-group{gap:8px;display:flex}.chain-radio-group--vertical{flex-direction:column}.chain-radio-group--horizontal{flex-flow:wrap}.chain-switch{cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:middle;background:0 0;border:none;outline:none;align-items:center;padding:0;display:inline-flex}.chain-switch:focus-visible .chain-switch__track{box-shadow:0 0 0 2px var(--chain-color-primary-outline,#1677ff4d)}.chain-switch--disabled{cursor:not-allowed;opacity:.5}.chain-switch--loading{cursor:not-allowed}.chain-switch--loading .chain-switch__track{opacity:.7}.chain-switch__track{box-sizing:border-box;background:#d9d9d9;border-radius:9999px;align-items:center;transition:background .2s;display:inline-flex;position:relative}.chain-switch--sm .chain-switch__track{width:28px;height:16px}.chain-switch--md .chain-switch__track{width:44px;height:22px;padding:0 4px}.chain-switch--lg .chain-switch__track{width:56px;height:28px;padding:0 6px}.chain-switch--primary.chain-switch--checked .chain-switch__track{background:var(--chain-color-primary,#1677ff)}.chain-switch--brand.chain-switch--checked .chain-switch__track{background:var(--chain-color-brand,#a855f7)}.chain-switch--success.chain-switch--checked .chain-switch__track{background:var(--chain-color-success,#52c41a)}.chain-switch--warning.chain-switch--checked .chain-switch__track{background:var(--chain-color-warning,#faad14)}.chain-switch--error.chain-switch--checked .chain-switch__track{background:var(--chain-color-error,#ff4d4f)}.chain-switch--info.chain-switch--checked .chain-switch__track{background:var(--chain-color-info,#1677ff)}.chain-switch__thumb{z-index:1;background:#fff;border-radius:50%;justify-content:center;align-items:center;transition:transform .25s;display:flex;position:absolute;box-shadow:0 1px 3px #0003}.chain-switch--sm .chain-switch__thumb{width:12px;height:12px;left:2px}.chain-switch--md .chain-switch__thumb{width:18px;height:18px;left:2px}.chain-switch--lg .chain-switch__thumb{width:24px;height:24px;left:2px}.chain-switch--sm.chain-switch--checked .chain-switch__thumb{transform:translate(12px)}.chain-switch--md.chain-switch--checked .chain-switch__thumb{transform:translate(22px)}.chain-switch--lg.chain-switch--checked .chain-switch__thumb{transform:translate(28px)}.chain-switch__spinner{border:2px solid #00000026;border-top-color:var(--chain-color-primary,#1677ff);border-radius:50%;width:60%;height:60%;animation:.6s linear infinite chain-switch-spin}@keyframes chain-switch-spin{to{transform:rotate(360deg)}}.chain-switch__text{white-space:nowrap;color:#fff;z-index:0;font-size:12px;line-height:1;position:relative}.chain-switch__text--off{margin-right:auto;padding-left:2px}.chain-switch__text--on{margin-left:auto;padding-right:2px}.chain-switch--lg .chain-switch__text{font-size:14px}.chain-tooltip__wrapper{display:inline-flex}.chain-tooltip{word-break:break-word;pointer-events:none;opacity:0;border-radius:4px;max-width:300px;padding:6px 10px;font-size:12px;line-height:1.5;transition:opacity .2s,transform .2s;position:absolute;transform:scale(.9)}.chain-tooltip--enter{opacity:1;pointer-events:auto;transform:scale(1)}.chain-tooltip--exit{opacity:0;transform:scale(.9)}.chain-tooltip--dark{color:#fff;background:#000000d9}.chain-tooltip--light{color:#000000d9;background:#fff;box-shadow:0 2px 8px #0000001f}.chain-tooltip__content{z-index:1;position:relative}.chain-tooltip__arrow{border:6px solid #0000;width:0;height:0;position:absolute}.chain-tooltip--top .chain-tooltip__arrow{border-top-color:#000000d9;bottom:-12px;left:50%;transform:translate(-50%)}.chain-tooltip--light.chain-tooltip--top .chain-tooltip__arrow{border-top-color:#fff}.chain-tooltip--top.chain-tooltip--start .chain-tooltip__arrow{left:12px;transform:none}.chain-tooltip--top.chain-tooltip--end .chain-tooltip__arrow{left:auto;right:12px;transform:none}.chain-tooltip--bottom .chain-tooltip__arrow{border-bottom-color:#000000d9;top:-12px;left:50%;transform:translate(-50%)}.chain-tooltip--light.chain-tooltip--bottom .chain-tooltip__arrow{border-bottom-color:#fff}.chain-tooltip--bottom.chain-tooltip--start .chain-tooltip__arrow{left:12px;transform:none}.chain-tooltip--bottom.chain-tooltip--end .chain-tooltip__arrow{left:auto;right:12px;transform:none}.chain-tooltip--left .chain-tooltip__arrow{border-left-color:#000000d9;top:50%;right:-12px;transform:translateY(-50%)}.chain-tooltip--light.chain-tooltip--left .chain-tooltip__arrow{border-left-color:#fff}.chain-tooltip--left.chain-tooltip--start .chain-tooltip__arrow{top:12px;transform:none}.chain-tooltip--left.chain-tooltip--end .chain-tooltip__arrow{top:auto;bottom:12px;transform:none}.chain-tooltip--right .chain-tooltip__arrow{border-right-color:#000000d9;top:50%;left:-12px;transform:translateY(-50%)}.chain-tooltip--light.chain-tooltip--right .chain-tooltip__arrow{border-right-color:#fff}.chain-tooltip--right.chain-tooltip--start .chain-tooltip__arrow{top:12px;transform:none}.chain-tooltip--right.chain-tooltip--end .chain-tooltip__arrow{top:auto;bottom:12px;transform:none}.chain-tooltip--no-arrow .chain-tooltip__arrow{display:none}.chain-popover__wrapper{display:inline-flex}.chain-popover{opacity:0;background:#fff;border:1px solid #e8e8e8;border-radius:8px;transition:opacity .2s,transform .2s;position:absolute;transform:scale(.9);box-shadow:0 4px 16px #0000001f}.chain-popover--enter{opacity:1;transform:scale(1)}.chain-popover--exit{opacity:0;transform:scale(.9)}.chain-popover__header{justify-content:space-between;align-items:center;padding:12px 16px 0;display:flex}.chain-popover__title{color:#000000d9;flex:1;margin:0;font-size:14px;font-weight:600}.chain-popover__close{color:#00000073;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-left:8px;padding:0;font-size:16px;display:inline-flex}.chain-popover__close:hover{color:#000000d9;background:#f5f5f5}.chain-popover__body{color:#000000a6;padding:12px 16px;font-size:14px;line-height:1.5}.chain-popover__header+.chain-popover__body{padding-top:8px}.chain-popover__footer{justify-content:flex-end;align-items:center;gap:8px;padding:0 16px 12px;display:flex}.chain-popover__arrow{border:6px solid #0000;width:0;height:0;position:absolute}.chain-popover--top .chain-popover__arrow{filter:drop-shadow(0 1px #e8e8e8);border-top-color:#fff;bottom:-13px;left:50%;transform:translate(-50%)}.chain-popover--top.chain-popover--start .chain-popover__arrow{left:12px;transform:none}.chain-popover--top.chain-popover--end .chain-popover__arrow{left:auto;right:12px;transform:none}.chain-popover--bottom .chain-popover__arrow{filter:drop-shadow(0 -1px #e8e8e8);border-bottom-color:#fff;top:-13px;left:50%;transform:translate(-50%)}.chain-popover--bottom.chain-popover--start .chain-popover__arrow{left:12px;transform:none}.chain-popover--bottom.chain-popover--end .chain-popover__arrow{left:auto;right:12px;transform:none}.chain-popover--left .chain-popover__arrow{filter:drop-shadow(1px 0 #e8e8e8);border-left-color:#fff;top:50%;right:-13px;transform:translateY(-50%)}.chain-popover--left.chain-popover--start .chain-popover__arrow{top:12px;transform:none}.chain-popover--left.chain-popover--end .chain-popover__arrow{top:auto;bottom:12px;transform:none}.chain-popover--right .chain-popover__arrow{filter:drop-shadow(-1px 0 #e8e8e8);border-right-color:#fff;top:50%;left:-13px;transform:translateY(-50%)}.chain-popover--right.chain-popover--start .chain-popover__arrow{top:12px;transform:none}.chain-popover--right.chain-popover--end .chain-popover__arrow{top:auto;bottom:12px;transform:none}.chain-popover--no-arrow .chain-popover__arrow{display:none}.chain-message{z-index:1080;opacity:0;pointer-events:none;border-radius:6px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;line-height:1.5;transition:transform .25s,opacity .25s;display:inline-flex;position:fixed;transform:translateY(-16px);box-shadow:0 4px 12px #0000001f}.chain-message--enter{opacity:1;pointer-events:auto;transform:translateY(0)}.chain-message--exit{opacity:0;transform:translateY(-16px)}.chain-message--top{top:16px;left:50%;transform:translate(-50%)translateY(-16px)}.chain-message--top.chain-message--enter{transform:translate(-50%)translateY(0)}.chain-message--top.chain-message--exit{transform:translate(-50%)translateY(-16px)}.chain-message--top-left{top:16px;left:16px}.chain-message--top-right{top:16px;right:16px}.chain-message--success{color:#52c41a;background:#f6ffed;border:1px solid #b7eb8f}.chain-message--error{color:#ff4d4f;background:#fff2f0;border:1px solid #ffccc7}.chain-message--warning{color:#faad14;background:#fffbe6;border:1px solid #ffe58f}.chain-message--info{color:#1677ff;background:#e6f4ff;border:1px solid #91caff}.chain-message__icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;font-weight:700;display:inline-flex}.chain-message__content{color:#000000d9;flex:1}.chain-message__close{color:#00000073;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:14px;display:inline-flex}.chain-message__close:hover{color:#000000d9;background:#0000000f}.chain-notification{z-index:1090;opacity:0;pointer-events:none;background:#fff;border-radius:8px;width:360px;max-width:calc(100vw - 32px);transition:transform .3s,opacity .25s;position:fixed;transform:translate(120%);box-shadow:0 4px 16px #0000001f}.chain-notification--enter{opacity:1;pointer-events:auto;transform:translate(0)}.chain-notification--exit{opacity:0;transform:translate(120%)}.chain-notification--top-right{top:16px;right:16px}.chain-notification--top-left{top:16px;left:16px;transform:translate(-120%)}.chain-notification--top-left.chain-notification--enter{transform:translate(0)}.chain-notification--top-left.chain-notification--exit{transform:translate(-120%)}.chain-notification--success{border-left:4px solid #52c41a}.chain-notification--error{border-left:4px solid #ff4d4f}.chain-notification--warning{border-left:4px solid #faad14}.chain-notification--info{border-left:4px solid #1677ff}.chain-notification__body{align-items:flex-start;gap:10px;padding:16px 16px 0;display:flex}.chain-notification__icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:1px;font-size:14px;font-weight:700;display:inline-flex}.chain-notification--success .chain-notification__icon{color:#52c41a;background:#f6ffed}.chain-notification--error .chain-notification__icon{color:#ff4d4f;background:#fff2f0}.chain-notification--warning .chain-notification__icon{color:#faad14;background:#fffbe6}.chain-notification--info .chain-notification__icon{color:#1677ff;background:#e6f4ff}.chain-notification__text{flex:1;min-width:0}.chain-notification__title{color:#000000d9;word-break:break-word;font-size:14px;font-weight:600;line-height:1.5}.chain-notification__description{color:#0000008c;word-break:break-word;margin-top:4px;font-size:13px;line-height:1.5}.chain-notification__close{color:#00000059;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:16px;display:inline-flex}.chain-notification__close:hover{color:#000000d9;background:#f5f5f5}.chain-notification__action{justify-content:flex-end;align-items:center;gap:8px;padding:8px 16px 12px;display:flex}
|