@nice2dev/ui 1.0.17 → 1.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/CHANGELOG.md +316 -0
  2. package/dist/NiceAlertDialog.doc-BST0-aVs.cjs +14 -0
  3. package/dist/NiceAlertDialog.doc-GRpJU_5Y.js +38 -0
  4. package/dist/NiceAnimatePresence.doc-BrttRpeS.js +36 -0
  5. package/dist/NiceAnimatePresence.doc-IdEWrSnT.cjs +12 -0
  6. package/dist/NiceCalendarScheduler.doc-Cc-DFMhR.js +33 -0
  7. package/dist/NiceCalendarScheduler.doc-TPe0kRBN.cjs +9 -0
  8. package/dist/NiceCameraFeed.doc-BJl0gdWv.js +31 -0
  9. package/dist/NiceCameraFeed.doc-Bt4eZ8MH.cjs +7 -0
  10. package/dist/NiceChip.doc-Bccf4IQe.cjs +7 -0
  11. package/dist/NiceChip.doc-DEsqjL7z.js +31 -0
  12. package/dist/NiceCombobox.doc-8hMzrsdM.js +34 -0
  13. package/dist/NiceCombobox.doc-C5IPnVuz.cjs +10 -0
  14. package/dist/NiceConfigProvider.doc-CKIudO44.js +32 -0
  15. package/dist/NiceConfigProvider.doc-bMLQj3Zx.cjs +8 -0
  16. package/dist/NiceCronEditor.doc-BThdELxx.js +31 -0
  17. package/dist/NiceCronEditor.doc-w_TbOWFo.cjs +7 -0
  18. package/dist/NiceDataList.doc-DHXrpTPT.cjs +9 -0
  19. package/dist/NiceDataList.doc-R8SchHqZ.js +33 -0
  20. package/dist/NiceDiagram.doc-CASS0Tnj.cjs +8 -0
  21. package/dist/NiceDiagram.doc-DGX-Hwhg.js +32 -0
  22. package/dist/NiceDocPage.doc-BVBe27kj.cjs +1 -0
  23. package/dist/NiceDocPage.doc-CDcL3Sqt.js +25 -0
  24. package/dist/NiceDrawingCanvas.doc-DYYFKKMW.js +32 -0
  25. package/dist/NiceDrawingCanvas.doc-wa684gbC.cjs +8 -0
  26. package/dist/NiceDropdown.doc-D2NS9hBT.js +35 -0
  27. package/dist/NiceDropdown.doc-dAgER8da.cjs +11 -0
  28. package/dist/NiceDropzone.doc-CVVNc9SE.cjs +9 -0
  29. package/dist/NiceDropzone.doc-aeajYWqU.js +33 -0
  30. package/dist/NiceEnergyMonitor.doc-BBnVKuwf.js +32 -0
  31. package/dist/NiceEnergyMonitor.doc-lf6CCIYi.cjs +8 -0
  32. package/dist/NiceErrorBoundary-COY0cEsF.js +762 -0
  33. package/dist/NiceErrorBoundary-CR-_ZScD.cjs +1 -0
  34. package/dist/NiceErrorBoundary-DBCCmeyl.js +770 -0
  35. package/dist/NiceErrorBoundary-V6wkSSLP.cjs +1 -0
  36. package/dist/NiceExpressionBuilder.doc-CTjqEcZR.cjs +8 -0
  37. package/dist/NiceExpressionBuilder.doc-Cu_ORFhd.js +32 -0
  38. package/dist/NiceFileExplorer.doc-B0aN041v.js +32 -0
  39. package/dist/NiceFileExplorer.doc-DNHYQF_t.cjs +8 -0
  40. package/dist/NiceFloatingActionButton.doc-BOlJwq4S.cjs +7 -0
  41. package/dist/NiceFloatingActionButton.doc-oYnwvMP9.js +31 -0
  42. package/dist/NiceFontPicker.doc-B10vOqeF.cjs +8 -0
  43. package/dist/NiceFontPicker.doc-DuPp0cDP.js +32 -0
  44. package/dist/NiceForm-COk1rNVa.js +5357 -0
  45. package/dist/NiceForm-CU8Dldq-.cjs +382 -0
  46. package/dist/NiceForm-DLADlHAQ.js +5383 -0
  47. package/dist/NiceForm-DUkduLqG.cjs +382 -0
  48. package/dist/NiceForm.css +1 -1
  49. package/dist/NiceGestureHandler.doc-9GGvVnM5.cjs +8 -0
  50. package/dist/NiceGestureHandler.doc-BduQU3SA.js +32 -0
  51. package/dist/NiceHeader.doc-Cxoy_f_k.cjs +6 -0
  52. package/dist/NiceHeader.doc-DjAVl-T4.js +30 -0
  53. package/dist/NiceImage.doc-COy4iVy1.js +34 -0
  54. package/dist/NiceImage.doc-CvnaTRj8.cjs +10 -0
  55. package/dist/NiceInPlaceEditor.doc-8nC6Kqvn.cjs +1 -0
  56. package/dist/NiceInPlaceEditor.doc-gF1XPyu5.js +25 -0
  57. package/dist/NiceInteractiveTimeline.doc-BTeASFR4.js +50 -0
  58. package/dist/NiceInteractiveTimeline.doc-WMOVQhMe.cjs +11 -0
  59. package/dist/NiceJsonEditor.doc-BpVa-AlY.js +31 -0
  60. package/dist/NiceJsonEditor.doc-DeyoVDQw.cjs +7 -0
  61. package/dist/NiceMegaMenu.doc-CO34gN43.cjs +7 -0
  62. package/dist/NiceMegaMenu.doc-DpchTBL6.js +31 -0
  63. package/dist/NiceMentionInput.doc-O0W58Unu.js +32 -0
  64. package/dist/NiceMentionInput.doc-ZSPjBsZc.cjs +8 -0
  65. package/dist/NiceModal-CIITx65V.cjs +1 -0
  66. package/dist/NiceModal-CN23FZsc.js +95 -0
  67. package/dist/NiceModal-CUdeVj-j.js +95 -0
  68. package/dist/NiceModal-Cc8R-DpX.cjs +1 -0
  69. package/dist/NiceModuleLifecyclePanel-4UEsYB5r.js +6553 -0
  70. package/dist/NiceModuleLifecyclePanel-BDnsr5ZW.js +6349 -0
  71. package/dist/NiceModuleLifecyclePanel-C6agdtTI.cjs +1 -0
  72. package/dist/NiceModuleLifecyclePanel-F1uN0gMh.cjs +1 -0
  73. package/dist/NiceModuleLifecyclePanel.css +1 -1
  74. package/dist/NiceMotion.doc-COF5BldG.cjs +9 -0
  75. package/dist/NiceMotion.doc-utheTBgM.js +33 -0
  76. package/dist/NiceMultiColumnComboBox.doc-Ben0Q0J0.cjs +1 -0
  77. package/dist/NiceMultiColumnComboBox.doc-CK1DppZI.js +25 -0
  78. package/dist/NiceNotificationList.doc-CBWusjJX.cjs +7 -0
  79. package/dist/NiceNotificationList.doc-D7lQIxK0.js +31 -0
  80. package/dist/NiceOfflineSync.doc-BLQFyOf2.cjs +8 -0
  81. package/dist/NiceOfflineSync.doc-CKWFmR3b.js +32 -0
  82. package/dist/NicePagination-B4U0LwZy.js +171 -0
  83. package/dist/NicePagination-CGQf54a9.cjs +1 -0
  84. package/dist/NicePagination-Cqr3Pe_F.js +171 -0
  85. package/dist/NicePagination-DyWWdtb3.cjs +1 -0
  86. package/dist/NicePinCodeInput-C6zJxUVf.cjs +419 -0
  87. package/dist/NicePinCodeInput-DG_-eXXJ.cjs +419 -0
  88. package/dist/NicePinCodeInput-g-yUiepm.js +11875 -0
  89. package/dist/NicePinCodeInput-ltwzQf4r.js +12240 -0
  90. package/dist/NicePinCodeInput.css +1 -1
  91. package/dist/NicePreview.doc-Cl7_5MVR.js +30 -0
  92. package/dist/NicePreview.doc-atKISvmp.cjs +6 -0
  93. package/dist/NicePropertyGrid.doc-D6xljYe1.cjs +7 -0
  94. package/dist/NicePropertyGrid.doc-nX2etusg.js +31 -0
  95. package/dist/NiceRadio.doc-BTURz62X.js +27 -0
  96. package/dist/NiceRadio.doc-Cc8-1vbn.cjs +3 -0
  97. package/dist/NiceRecurrencePicker.doc-78HjPJm0.js +31 -0
  98. package/dist/NiceRecurrencePicker.doc-vC2YmCXF.cjs +7 -0
  99. package/dist/NiceRichTextEditor.doc-ClPCkzCd.cjs +6 -0
  100. package/dist/NiceRichTextEditor.doc-CtmV9UvX.js +30 -0
  101. package/dist/NiceSavedQueryPanel-BIXW0y1X.js +6455 -0
  102. package/dist/NiceSavedQueryPanel-CE3QR4RY.js +6446 -0
  103. package/dist/NiceSavedQueryPanel-CFHwMDIx.cjs +596 -0
  104. package/dist/NiceSavedQueryPanel-DSnj-3Es.cjs +596 -0
  105. package/dist/NiceSavedQueryPanel.css +1 -1
  106. package/dist/NiceSceneSelector.doc-CY2OmaWQ.cjs +7 -0
  107. package/dist/NiceSceneSelector.doc-UsVgDrw1.js +31 -0
  108. package/dist/NiceScrollArea.doc-C6Y-odUa.js +27 -0
  109. package/dist/NiceScrollArea.doc-LdxDrGDY.cjs +3 -0
  110. package/dist/NiceSheet.doc-CsIu3Y1G.cjs +11 -0
  111. package/dist/NiceSheet.doc-DLfSY-MA.js +35 -0
  112. package/dist/NiceSpeedDial.doc-CSWvNR9n.cjs +7 -0
  113. package/dist/NiceSpeedDial.doc-DqnpBcMy.js +31 -0
  114. package/dist/NiceSplitPane.doc-Ck_FvdL6.cjs +9 -0
  115. package/dist/NiceSplitPane.doc-Di68JZuy.js +33 -0
  116. package/dist/NiceSpotlight.doc-CM4PnsHE.js +34 -0
  117. package/dist/NiceSpotlight.doc-Dm_B-kUJ.cjs +10 -0
  118. package/dist/NiceStepNavigation.doc-DXraCs7t.js +31 -0
  119. package/dist/NiceStepNavigation.doc-TSy2dWmf.cjs +7 -0
  120. package/dist/NiceSteps.doc-C_mkhnez.cjs +10 -0
  121. package/dist/NiceSteps.doc-PW1zubHM.js +34 -0
  122. package/dist/NiceSwitch.doc-CLc7OxrE.cjs +6 -0
  123. package/dist/NiceSwitch.doc-dGMMY4es.js +30 -0
  124. package/dist/NiceTabs-32xjguOv.cjs +1 -0
  125. package/dist/NiceTabs-B9zxj6qd.js +1657 -0
  126. package/dist/NiceTabs-Blk0h4jY.js +1624 -0
  127. package/dist/NiceTabs-CNauJ4fu.cjs +1 -0
  128. package/dist/NiceTransition.doc-BmImVoB8.js +35 -0
  129. package/dist/NiceTransition.doc-GA1N91ON.cjs +11 -0
  130. package/dist/NiceTree.doc-D7SCXljC.js +40 -0
  131. package/dist/NiceTree.doc-DZx3hUwY.cjs +16 -0
  132. package/dist/NiceUnitConverter.doc-DmiyYOH_.cjs +10 -0
  133. package/dist/NiceUnitConverter.doc-YnzD3uKT.js +34 -0
  134. package/dist/NiceVirtualGrid.doc-DI2c9ckY.js +35 -0
  135. package/dist/NiceVirtualGrid.doc-rtwudxTG.cjs +11 -0
  136. package/dist/NiceVirtualList.doc-BpoTiXoV.js +31 -0
  137. package/dist/NiceVirtualList.doc-C8q-Hfl0.cjs +7 -0
  138. package/dist/NiceWindow-B4jA_-hi.js +1409 -0
  139. package/dist/NiceWindow-Bo_yCa1o.js +1418 -0
  140. package/dist/NiceWindow-DPzJxOfx.cjs +1 -0
  141. package/dist/NiceWindow-UpKllge7.cjs +1 -0
  142. package/dist/charts-0BEMJ0Xt.js +4657 -0
  143. package/dist/charts-C60va95_.js +4657 -0
  144. package/dist/charts-CbxmU6Z2.cjs +761 -0
  145. package/dist/charts-D_I1iwel.cjs +761 -0
  146. package/dist/charts.cjs +1 -1
  147. package/dist/charts.css +1 -1
  148. package/dist/charts.d.ts +19 -19
  149. package/dist/charts.mjs +1 -1
  150. package/dist/core-BIA5_uSq.js +22316 -0
  151. package/dist/core-Bcc4sz15.cjs +96 -0
  152. package/dist/core-DQYnL6uf.cjs +96 -0
  153. package/dist/core-Da1dGJN3.js +22401 -0
  154. package/dist/data.cjs +1 -1
  155. package/dist/data.d.ts +5 -0
  156. package/dist/data.mjs +1 -1
  157. package/dist/editors.cjs +1 -1
  158. package/dist/editors.d.ts +44 -1
  159. package/dist/editors.mjs +3 -3
  160. package/dist/feedback.cjs +1 -1
  161. package/dist/feedback.d.ts +10 -10
  162. package/dist/feedback.mjs +2 -2
  163. package/dist/index-BjBsn6ad.cjs +5194 -0
  164. package/dist/index-C2Uoywo9.js +63852 -0
  165. package/dist/index-DCDfWfAt.js +64336 -0
  166. package/dist/index-DpiCo0_e.cjs +5194 -0
  167. package/dist/index.cjs +1 -1
  168. package/dist/index.css +1 -1
  169. package/dist/index.d.ts +1798 -57
  170. package/dist/index.mjs +943 -895
  171. package/dist/lazy.cjs +1 -1
  172. package/dist/lazy.d.ts +4 -3
  173. package/dist/lazy.mjs +3 -3
  174. package/dist/navigation.cjs +1 -1
  175. package/dist/navigation.d.ts +15 -1
  176. package/dist/navigation.mjs +30 -30
  177. package/dist/overlays.cjs +1 -1
  178. package/dist/overlays.mjs +53 -53
  179. package/dist/style.css +6 -6
  180. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ "use strict";const e=require("react/jsx-runtime"),o=require("./core-Bcc4sz15.cjs"),l=require("react"),Ie=require("react-dom"),Ce=l.forwardRef(({label:t,helperText:p,error:s,required:u,disabled:n,readOnly:i,size:d="md",name:y,id:h,className:f,style:_,accessMode:S,displayStyle:P,variant:x,value:w,defaultValue:E,onChange:m,onBlur:J,onKeyDown:D,placeholder:$,type:F="text",maxLength:g,prefix:I,suffix:U,clearable:R,autoFocus:T,submitOnEnter:k,onSubmit:A,showKeyboardHints:Z,labelPlacement:L,errorPlacement:W,loading:re,labelWidth:le,controlWidth:X,displayMode:V,...de},b)=>{const N=o.Zs(S,h),z=N==="hidden";N==="disabled"&&(n=!0),N==="readOnly"&&(i=!0);const{t:H}=o.$o(),M=o.Hs(h),ee=o.vs("input",P),ae=o.Ss("input",P),ue=x==="filled"?"filled":x==="underlined"?"underlined":"",Y=l.useCallback(()=>m?.(""),[m]),G=o.Ms({enabled:V,readOnly:i,disabled:n}),oe=o.gc({enabled:k,onSubmit:A}),ie=l.useCallback(v=>{oe(v),D?.(v)},[oe,D]),a=l.useMemo(()=>{const v=[];return k&&v.push({key:"Enter",description:H("shortcuts.submit","Submit")}),R&&v.push({key:"Escape",description:H("shortcuts.clear","Clear")}),v},[k,R,H]);return z?null:e.jsxs("div",{className:`nice-field nice-field--${d} ${L==="left"?"nice-field--label-left":""} ${L==="inside"?"nice-field--label-inside":""} ${re?"nice-field--loading":""} ${f||""}`,style:{..._,...le!=null&&{"--nice-field-label-width":typeof le=="number"?`${le}px`:le},...X!=null&&{"--nice-field-control-width":typeof X=="number"?`${X}px`:X}},"aria-busy":re||void 0,"data-floating":L==="inside"&&w?"true":void 0,children:[t&&L!=="inside"&&e.jsxs("label",{htmlFor:M,className:`nice-field__label ${u?"nice-field__label--required":""}`,children:[t,Z&&a.length>0&&e.jsx(o.Kr,{shortcuts:a,size:"sm"})]}),e.jsxs("div",{className:"nice-field__control",children:[G.isDisplay?e.jsx(o.Cs,{value:w??E??"",placeholder:$,disabled:n,readOnly:i,onActivate:G.enterEdit,ariaLabel:t}):e.jsxs("div",{className:`nice-input nice-input--${d} nice-input--ds-${ue||ae} ${s?"nice-input--error":""} ${n?"nice-input--disabled":""} ${i?"nice-input--readonly":""}`,style:x?void 0:ee,children:[I&&e.jsx("span",{className:"nice-input__icon",children:I}),e.jsx("input",{ref:v=>{typeof b=="function"?b(v):b&&(b.current=v),G.autoFocusRef(v)},id:M,className:"nice-input__native",type:F,name:y,value:w,defaultValue:E,placeholder:$,disabled:n||re,readOnly:i,maxLength:g,autoFocus:T,"aria-invalid":!!s,"aria-describedby":s?`${M}-error`:p?`${M}-helper`:void 0,onChange:v=>m?.(v.target.value),onBlur:v=>{V&&G.exitEdit(),J?.(v)},onKeyDown:ie,...de}),R&&w&&e.jsx("button",{type:"button",className:"nice-input__clear",onClick:Y,"aria-label":H("controls.clear","Clear"),children:"✕"}),U&&e.jsx("span",{className:"nice-input__icon",children:U}),t&&L==="inside"&&e.jsx("label",{htmlFor:M,className:`nice-input__floating-label ${u?"nice-input__floating-label--required":""}`,children:t})]}),re&&e.jsx("span",{className:"nice-field__spinner",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),W==="right"&&s&&e.jsx("div",{id:`${M}-error`,className:"nice-field__error",role:"alert",children:s}),W==="right"&&!s&&p&&e.jsx("div",{id:`${M}-helper`,className:"nice-field__helper",children:p})]}),W!=="right"&&s&&e.jsx("div",{id:`${M}-error`,className:"nice-field__error",role:"alert",children:s}),W!=="right"&&!s&&p&&e.jsx("div",{id:`${M}-helper`,className:"nice-field__helper",children:p})]})});Ce.displayName="NiceTextInput";const He=Object.freeze(Object.defineProperty({__proto__:null,NiceTextInput:Ce},Symbol.toStringTag,{value:"Module"})),Se=l.forwardRef(({label:t,helperText:p,error:s,required:u,disabled:n,readOnly:i,size:d="md",name:y,id:h,className:f,style:_,accessMode:S,displayStyle:P,value:x,onChange:w,onBlur:E,onKeyDown:m,placeholder:J,min:D,max:$,step:F=1,precision:g,prefix:I,prefixType:U="label",prefixOptions:R,prefixValue:T,onPrefixChange:k,suffix:A,showStepper:Z=!0,submitOnEnter:L,onSubmit:W,showKeyboardHints:re,labelPlacement:le,errorPlacement:X,loading:V,labelWidth:de,controlWidth:b,formatPreset:N,format:z,suffixType:H="label",suffixOptions:M,suffixValue:ee,onSuffixChange:ae,displayMode:ue},Y)=>{const G=o.Zs(S,h),oe=G==="hidden";G==="disabled"&&(n=!0),G==="readOnly"&&(i=!0);const{t:ie}=o.$o(),a=o.Hs(h),v=o.vs("input",P),q=o.Ss("input",P),[C,Q]=l.useState(!1),[O,xe]=l.useState(null),ve=o.Ms({enabled:ue,readOnly:i,disabled:n}),pe=l.useMemo(()=>{let c=3;return $!=null&&(c=String(Math.abs(Math.floor($))).length),D!=null&&D<0&&(c+=1),g&&(c+=g+1),Math.max(3,c)+1},[$,D,g]),je=l.useCallback(c=>{if(z)return z(c);if(!N)return g!=null?c.toFixed(g):String(c);switch(N){case"integer":return Math.round(c).toLocaleString();case"decimal":return c.toLocaleString(void 0,{minimumFractionDigits:g??2,maximumFractionDigits:g??2});case"money":return c.toLocaleString(void 0,{minimumFractionDigits:g??2,maximumFractionDigits:g??2,useGrouping:!0});case"percent":return(c*100).toLocaleString(void 0,{minimumFractionDigits:g??0,maximumFractionDigits:g??2})+"%";default:return String(c)}},[z,N,g]),ye=l.useMemo(()=>C&&O!==null?O:x==null?"":C?g!=null?x.toFixed(g):String(x):je(x),[x,C,O,je,g]),fe=x!=null&&x<0,se=!!(I||U==="select"&&R&&R.length>0),ne=fe&&se&&!C,we=ne?ye.replace(/^[-−]/,""):ye,he=l.useCallback(c=>{let j=c;return D!==void 0&&(j=Math.max(D,j)),$!==void 0&&(j=Math.min($,j)),g!==void 0&&(j=parseFloat(j.toFixed(g))),j},[D,$,g]),Me=l.useCallback(c=>{const j=c.target.value;if(xe(j),j===""||j==="-"||j==="."||j==="-."){j===""&&w?.(null);return}const ce=parseFloat(j);if(!isNaN(ce)){let _e=ce;D!==void 0&&(_e=Math.max(D,_e)),$!==void 0&&(_e=Math.min($,_e)),w?.(_e)}},[w,D,$]),ge=l.useCallback(()=>{const c=be.current,j=he((c??0)+F);be.current=j,w?.(j)},[F,w,he]),$e=l.useCallback(()=>{const c=be.current,j=he((c??0)-F);be.current=j,w?.(j)},[F,w,he]),be=l.useRef(x);be.current=x;const r=l.useRef(null),B=l.useCallback(()=>{r.current&&(clearTimeout(r.current),r.current=null)},[]),K=l.useCallback(c=>{B();let j=300;const ce=()=>{c(),j=Math.max(30,j*.82),r.current=setTimeout(ce,j)};r.current=setTimeout(ce,400)},[B]),me=o.gc({enabled:L,onSubmit:W}),ke=l.useCallback(c=>{me(c),c.key==="ArrowUp"?(c.preventDefault(),ge()):c.key==="ArrowDown"&&(c.preventDefault(),$e()),m?.(c)},[me,m,ge,$e]),te=l.useMemo(()=>{const c=[];return L&&c.push(o.mc.submit),Z&&(c.push({key:"ArrowUp",description:ie("shortcuts.increment","Increase value")}),c.push({key:"ArrowDown",description:ie("shortcuts.decrement","Decrease value")})),c},[L,Z,ie]);return oe?null:e.jsxs("div",{className:`nice-field nice-field--${d} ${le==="left"?"nice-field--label-left":""} ${V?"nice-field--loading":""} ${f||""}`,style:{..._,...de!=null&&{"--nice-field-label-width":typeof de=="number"?`${de}px`:de},...b!=null&&{"--nice-field-control-width":typeof b=="number"?`${b}px`:b}},"aria-busy":V||void 0,children:[t&&e.jsxs("label",{htmlFor:a,className:`nice-field__label ${u?"nice-field__label--required":""}`,children:[t,re&&te.length>0&&e.jsx(o.Kr,{shortcuts:te,size:"sm"})]}),e.jsxs("div",{className:"nice-field__control",children:[ve.isDisplay?e.jsx(o.Cs,{value:x==null?"":I?e.jsxs(e.Fragment,{children:[I,ye]}):ye,placeholder:J,disabled:n,readOnly:i,onActivate:ve.enterEdit,ariaLabel:t}):e.jsx(e.Fragment,{children:e.jsxs("div",{className:`nice-input nice-input--number nice-input--${d} nice-input--ds-${q} ${s?"nice-input--error":""} ${n?"nice-input--disabled":""} ${i?"nice-input--readonly":""}`,style:v,children:[Z&&!i&&e.jsx("button",{type:"button",className:"nice-input__clear nice-input__minus",onClick:$e,onMouseDown:()=>K($e),onMouseUp:B,onMouseLeave:B,disabled:n,"aria-label":ie("controls.decrement","Decrement"),children:"−"}),U==="select"&&R&&R.length>0?e.jsxs(e.Fragment,{children:[ne&&e.jsx("span",{className:"nice-input__sign",children:"−"}),e.jsx("select",{className:"nice-input__suffix-select nice-input__icon--prefix",value:T??R[0]?.value,disabled:n,onChange:c=>{const j=c.target.value,ce=R.find(Ne=>Ne.value===(T??R[0]?.value)),_e=R.find(Ne=>Ne.value===j);k?.(j,ce?.weight,_e?.weight)},children:R.map(c=>e.jsx("option",{value:c.value,children:c.label},c.value))})]}):I?e.jsxs("span",{className:"nice-input__icon nice-input__icon--prefix",children:[ne&&e.jsx("span",{className:"nice-input__sign",children:"−"}),I]}):null,e.jsx("input",{ref:c=>{typeof Y=="function"?Y(c):Y&&(Y.current=c),ve.autoFocusRef(c)},id:a,className:"nice-input__native",type:!C&&(z||N)?"text":"number",name:y,value:we,placeholder:J,min:D,max:$,step:F,disabled:n||V,readOnly:i,"aria-invalid":!!s,onChange:Me,onFocus:c=>{Q(!0),xe(null),c.target.select()},onBlur:c=>{if(Q(!1),xe(null),x!=null&&g!==void 0){const j=parseFloat(x.toFixed(g));j!==x&&w?.(j)}ue&&ve.exitEdit(),E?.(c)},onKeyDown:ke,style:{width:`${pe}ch`}}),H==="select"&&M&&M.length>0?e.jsx("select",{className:"nice-input__suffix-select nice-input__icon--suffix",value:ee??M[0]?.value,disabled:n,onChange:c=>{const j=c.target.value,ce=M.find(Ne=>Ne.value===(ee??M[0]?.value)),_e=M.find(Ne=>Ne.value===j);ae?.(j,ce?.weight,_e?.weight)},children:M.map(c=>e.jsx("option",{value:c.value,children:c.label},c.value))}):A?e.jsx("span",{className:"nice-input__icon nice-input__icon--suffix",children:A}):null,Z&&!i&&e.jsx("button",{type:"button",className:"nice-input__clear nice-input__plus",onClick:ge,onMouseDown:()=>K(ge),onMouseUp:B,onMouseLeave:B,disabled:n,"aria-label":ie("controls.increment","Increment"),children:"+"})]})}),V&&e.jsx("span",{className:"nice-field__spinner",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),X==="right"&&s&&e.jsx("div",{className:"nice-field__error",role:"alert",children:s}),X==="right"&&!s&&p&&e.jsx("div",{className:"nice-field__helper",children:p})]}),X!=="right"&&s&&e.jsx("div",{className:"nice-field__error",role:"alert",children:s}),X!=="right"&&!s&&p&&e.jsx("div",{className:"nice-field__helper",children:p})]})});Se.displayName="NiceNumberInput";const Te=Object.freeze(Object.defineProperty({__proto__:null,NiceNumberInput:Se},Symbol.toStringTag,{value:"Module"})),Re=l.forwardRef(({label:t,helperText:p,error:s,required:u,disabled:n,size:i="md",name:d,id:y,className:h,style:f,accessMode:_,displayStyle:S,options:P,value:x,onChange:w,placeholder:E,multiple:m=!1,searchable:J=!1,clearable:D=!1,emptyText:$,maxHeight:F=240,optionsSource:g,valueField:I,labelField:U,virtualScroll:R,optionHeight:T=36,onSearch:k,loading:A,renderOption:Z,multipleAutosize:L=!1,showKeyboardHints:W,labelPlacement:re,errorPlacement:le,labelWidth:X,controlWidth:V,displayMode:de},b)=>{const N=o.Zs(_,y),z=N==="hidden";(N==="disabled"||N==="readOnly")&&(n=!0);const{t:H}=o.$o(),M=o.vs("input",S),ee=o.Ss("input",S),ae=o.Hs(y),ue=o.Ms({enabled:de,disabled:n}),[Y,G]=l.useState(!1),[oe,ie]=l.useState(""),[a,v]=l.useState(-1),[q,C]=l.useState(0),Q=l.useRef(null),O=l.useRef(null),[xe,ve]=l.useState(null);l.useLayoutEffect(()=>{!A&&O.current&&ve(O.current.offsetWidth)},[A,x,S]);const[pe,je]=l.useState(null);l.useLayoutEffect(()=>{m&&!L&&O.current&&pe==null&&je(O.current.offsetWidth)},[m,L,pe]);const ye=o.od(g??null,I??g?.keyField??"id",U??"name"),fe=g?ye.options:(P??[]).map(r=>typeof r=="string"?{value:r,label:r}:r);o.$s(Q,()=>{G(!1),ie("")});const se=l.useMemo(()=>x?Array.isArray(x)?x:[x]:[],[x]),ne=l.useMemo(()=>{if(!oe&&!k||k)return fe;const r=oe.toLowerCase();return fe.filter(B=>B.label.toLowerCase().includes(r)||String(B.value).toLowerCase().includes(r))},[fe,oe,k]),we=l.useMemo(()=>{const r=new Map;for(const B of ne){const K=B.group||"";r.has(K)||r.set(K,[]),r.get(K).push(B)}return r},[ne]),he=l.useCallback(r=>{if(m){const B=se.includes(r)?se.filter(K=>K!==r):[...se,r];w?.(B)}else w?.(r),G(!1),ie("")},[m,se,w]),Me=l.useCallback(r=>{if(r.key==="Escape"){G(!1),ie("");return}if(r.key==="Enter"||r.key===" "){if(!Y){G(!0),r.preventDefault();return}a>=0&&ne[a]&&(he(ne[a].value),r.preventDefault());return}r.key==="ArrowDown"&&(r.preventDefault(),v(B=>Math.min(B+1,ne.length-1))),r.key==="ArrowUp"&&(r.preventDefault(),v(B=>Math.max(B-1,0)))},[Y,a,ne,he]),ge=l.useMemo(()=>se.length===0?null:m?se.map(r=>fe.find(B=>B.value===r)?.label||r).join(", "):fe.find(r=>r.value===se[0])?.label||se[0],[se,fe,m]),$e=l.useCallback(r=>{r.stopPropagation(),w?.(m?[]:"")},[w,m]),be=l.useMemo(()=>[{key:"Enter",description:H("shortcuts.select","Select")},{key:"Space",description:H("shortcuts.openDropdown","Open dropdown")},o.mc.moveUp,o.mc.moveDown,o.mc.cancel],[H]);return z?null:e.jsxs("div",{className:`nice-field ${V==null?"nice-field--select-auto":""} nice-field--${i} ${re==="left"?"nice-field--label-left":""} ${A?"nice-field--loading":""} ${h||""}`,style:{...f,...X!=null&&{"--nice-field-label-width":typeof X=="number"?`${X}px`:X},...V!=null&&{"--nice-field-control-width":typeof V=="number"?`${V}px`:V},...A&&xe!=null&&{"--nice-select-locked-width":`${xe}px`}},"aria-busy":A||void 0,children:[t&&e.jsxs("label",{htmlFor:ae,className:`nice-field__label ${u?"nice-field__label--required":""}`,children:[t,W&&e.jsx(o.Kr,{shortcuts:be,size:"sm"})]}),e.jsxs("div",{className:"nice-field__control",children:[ue.isDisplay?e.jsx(o.Cs,{value:ge,placeholder:E||H("controls.select","Select..."),disabled:n,onActivate:()=>{ue.enterEdit(),G(!0)},ariaLabel:t}):e.jsxs("div",{className:"nice-select",ref:Q,children:[e.jsxs("button",{ref:r=>{O.current=r,typeof b=="function"?b(r):b&&(b.current=r)},type:"button",id:ae,role:"combobox","aria-expanded":Y,"aria-haspopup":"listbox","aria-invalid":!!s,className:`nice-select__trigger nice-select__trigger--${i} nice-select--ds-${ee} ${Y?"nice-select__trigger--open":""} ${s?"nice-select__trigger--error":""} ${n?"nice-select__trigger--disabled":""}`,style:{...M,...m&&!L&&pe!=null?{width:pe,maxWidth:pe,overflow:"hidden"}:{}},disabled:n,onClick:()=>G(!Y),onKeyDown:Me,children:[ge?e.jsx("span",{style:m&&!L?{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:void 0,children:ge}):e.jsx("span",{className:"nice-select__placeholder",children:E||H("controls.select","Select...")}),e.jsxs("span",{style:{display:"flex",alignItems:"center",gap:4},children:[D&&se.length>0&&e.jsx("span",{className:"nice-input__clear",onClick:$e,role:"button","aria-label":H("controls.clear","Clear"),children:"✕"}),e.jsx("svg",{className:`nice-select__chevron ${Y?"nice-select__chevron--open":""}`,viewBox:"0 0 20 20",fill:"currentColor",children:e.jsx("path",{fillRule:"evenodd",d:"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z",clipRule:"evenodd"})})]})]}),Y&&e.jsxs("div",{className:"nice-select__dropdown",role:"listbox",style:{maxHeight:F},onScroll:R?r=>C(r.currentTarget.scrollTop):void 0,children:[(J||k)&&e.jsx("div",{className:"nice-select__search",children:e.jsx("input",{type:"text",value:oe,onChange:r=>{ie(r.target.value),v(0),k?.(r.target.value)},placeholder:H("controls.search","Search..."),autoFocus:!0})}),A&&e.jsx("div",{className:"nice-select__loading",children:e.jsx("div",{className:"nice-spinner nice-spinner--sm",style:{margin:"8px auto"}})}),!A&&ne.length===0?e.jsx("div",{className:"nice-select__empty",children:$||H("controls.noResults","No results found")}):R&&!Array.from(we.keys()).some(r=>r!=="")?(()=>{const B=ne.length*T,K=Math.max(0,Math.floor(q/T)-3),me=Math.min(ne.length,Math.ceil((q+F)/T)+3),ke=ne.slice(K,me);return e.jsx("div",{style:{height:B,position:"relative"},children:ke.map((te,c)=>{const j=K+c,ce=se.includes(te.value);return e.jsx("div",{role:"option","aria-selected":ce,className:`nice-select__option ${ce?"nice-select__option--selected":""} ${j===a?"nice-select__option--highlighted":""} ${te.disabled?"nice-select__option--disabled":""}`,style:{position:"absolute",top:j*T,left:0,right:0,height:T,display:"flex",alignItems:"center",padding:"0 12px"},onClick:()=>!te.disabled&&he(String(te.value)),onMouseEnter:()=>v(j),children:Z?Z(te,ce):e.jsxs(e.Fragment,{children:[te.icon&&e.jsx("span",{children:te.icon}),e.jsxs("div",{style:{flex:1},children:[e.jsx("div",{children:te.label}),te.description&&e.jsx("div",{className:"nice-select__option-desc",children:te.description})]}),ce&&e.jsx("svg",{className:"nice-select__option-check",viewBox:"0 0 20 20",fill:"currentColor",children:e.jsx("path",{fillRule:"evenodd",d:"M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z",clipRule:"evenodd"})})]})},te.value)})})})():Array.from(we.entries()).map(([r,B])=>e.jsxs(l.Fragment,{children:[r&&e.jsx("div",{className:"nice-select__group-label",children:r}),B.map(K=>{const me=se.includes(K.value),ke=ne.indexOf(K);return e.jsx("div",{role:"option","aria-selected":me,className:`nice-select__option ${me?"nice-select__option--selected":""} ${ke===a?"nice-select__option--highlighted":""} ${K.disabled?"nice-select__option--disabled":""}`,onClick:()=>!K.disabled&&he(String(K.value)),onMouseEnter:()=>v(ke),children:Z?Z(K,me):e.jsxs(e.Fragment,{children:[K.icon&&e.jsx("span",{children:K.icon}),e.jsxs("div",{style:{flex:1},children:[e.jsx("div",{children:K.label}),K.description&&e.jsx("div",{className:"nice-select__option-desc",children:K.description})]}),me&&e.jsx("svg",{className:"nice-select__option-check",viewBox:"0 0 20 20",fill:"currentColor",children:e.jsx("path",{fillRule:"evenodd",d:"M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z",clipRule:"evenodd"})})]})},K.value)})]},r))]})]}),A&&e.jsx("span",{className:"nice-field__spinner",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),le==="right"&&s&&e.jsx("div",{id:`${ae}-error`,className:"nice-field__error",role:"alert",children:s}),le==="right"&&!s&&p&&e.jsx("div",{id:`${ae}-helper`,className:"nice-field__helper",children:p})]}),le!=="right"&&s&&e.jsx("div",{id:`${ae}-error`,className:"nice-field__error",role:"alert",children:s}),le!=="right"&&!s&&p&&e.jsx("div",{id:`${ae}-helper`,className:"nice-field__helper",children:p})]})});Re.displayName="NiceSelect";const Ae=Object.freeze(Object.defineProperty({__proto__:null,NiceSelect:Re},Symbol.toStringTag,{value:"Module"})),De=l.forwardRef(({label:t,checked:p=!1,indeterminate:s=!1,onChange:u,disabled:n,readOnly:i,loading:d,required:y,size:h="md",name:f,id:_,className:S,style:P,error:x,helperText:w,accessMode:E,displayStyle:m,showKeyboardHints:J,labelPlacement:D,errorPlacement:$,labelWidth:F,controlWidth:g},I)=>{const U=o.Zs(E,_),R=U==="hidden";(U==="disabled"||U==="readOnly")&&(n=!0);const{t:T}=o.$o(),k=o.Hs(_);o.Ss("toggle",m);const A=l.useMemo(()=>[{key:"Space",description:T("shortcuts.toggle","Toggle")}],[T]),Z=l.useCallback(L=>{L&&(L.indeterminate=s),typeof I=="function"?I(L):I&&(I.current=L)},[s,I]);return R?null:e.jsxs("div",{className:`nice-field nice-field--inline nice-field--${h} ${D==="left"?"nice-field--label-left":""} ${$==="right"?"nice-field--error-right":""} ${d?"nice-field--loading":""} ${S||""}`,style:{...P,...F!=null&&{"--nice-field-label-width":typeof F=="number"?`${F}px`:F},...g!=null&&{"--nice-field-control-width":typeof g=="number"?`${g}px`:g}},"aria-busy":d||void 0,children:[D==="left"&&t&&e.jsx("span",{className:`nice-field__label ${y?"nice-field__label--required":""}`,children:t}),e.jsxs("div",{className:"nice-field__control",children:[e.jsxs("label",{className:`nice-checkbox ${h!=="md"?`nice-checkbox--${h}`:""} ${n||d?"nice-checkbox--disabled":""}`,htmlFor:k,children:[e.jsx("input",{ref:Z,id:k,type:"checkbox",className:"nice-checkbox__input",name:f,checked:p,disabled:n||d,readOnly:i,"aria-invalid":!!x,onChange:L=>{i||d||u?.(L.target.checked)}}),e.jsx("span",{className:"nice-checkbox__box",children:e.jsx("svg",{viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:s?e.jsx("line",{x1:"2",y1:"6",x2:"10",y2:"6"}):e.jsx("polyline",{points:"2 6 5 9 10 3"})})}),D!=="left"&&t&&e.jsx("span",{children:t}),J&&e.jsx(o.Kr,{shortcuts:A,size:"sm"})]}),d&&e.jsx("span",{className:"nice-field__spinner",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),$==="right"&&x&&e.jsx("div",{id:`${k}-error`,className:"nice-field__error",role:"alert",children:x}),$==="right"&&!x&&w&&e.jsx("div",{id:`${k}-helper`,className:"nice-field__helper",children:w})]}),$!=="right"&&x&&e.jsx("div",{id:`${k}-error`,className:"nice-field__error",role:"alert",children:x}),$!=="right"&&!x&&w&&e.jsx("div",{id:`${k}-helper`,className:"nice-field__helper",children:w})]})});De.displayName="NiceCheckbox";const Be=Object.freeze(Object.defineProperty({__proto__:null,NiceCheckbox:De},Symbol.toStringTag,{value:"Module"})),Le=l.forwardRef(({label:t,checked:p=!1,onChange:s,disabled:u,readOnly:n,loading:i,required:d,size:y="md",name:h,id:f,className:_,style:S,accessMode:P,displayStyle:x,showKeyboardHints:w,error:E,helperText:m,labelPlacement:J,errorPlacement:D,labelWidth:$,controlWidth:F},g)=>{const I=o.Zs(P,f),U=I==="hidden";(I==="disabled"||I==="readOnly")&&(u=!0);const{t:R}=o.$o(),T=o.Hs(f);o.vs("toggle",x);const k=o.Ss("toggle",x),A=l.useMemo(()=>[{key:"Space",description:R("shortcuts.toggle","Toggle on/off")}],[R]);return U?null:e.jsxs("div",{className:`nice-field nice-field--inline nice-field--${y} ${J==="left"?"nice-field--label-left":""} ${i?"nice-field--loading":""} ${_||""}`,style:{...S,...$!=null&&{"--nice-field-label-width":typeof $=="number"?`${$}px`:$},...F!=null&&{"--nice-field-control-width":typeof F=="number"?`${F}px`:F}},"aria-busy":i||void 0,children:[J==="left"&&t&&e.jsx("span",{className:`nice-field__label ${d?"nice-field__label--required":""}`,children:t}),e.jsxs("div",{className:"nice-field__control",children:[e.jsxs("label",{className:`nice-toggle nice-toggle--ds-${k} ${y!=="md"?`nice-toggle--${y}`:""} ${u||i?"nice-toggle--disabled":""}`,htmlFor:T,children:[e.jsx("input",{ref:g,id:T,type:"checkbox",className:"nice-toggle__input",name:h,checked:p,disabled:u||i,readOnly:n,role:"switch","aria-checked":p,"aria-invalid":!!E,onChange:Z=>{n||i||s?.(Z.target.checked)}}),e.jsx("span",{className:"nice-toggle__track",children:e.jsx("span",{className:"nice-toggle__thumb"})}),J!=="left"&&t&&e.jsx("span",{children:t}),w&&e.jsx(o.Kr,{shortcuts:A,size:"sm"})]}),i&&e.jsx("span",{className:"nice-field__spinner",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),D==="right"&&E&&e.jsx("div",{id:`${T}-error`,className:"nice-field__error",role:"alert",children:E}),D==="right"&&!E&&m&&e.jsx("div",{id:`${T}-helper`,className:"nice-field__helper",children:m})]}),D!=="right"&&E&&e.jsx("div",{id:`${T}-error`,className:"nice-field__error",role:"alert",children:E}),D!=="right"&&!E&&m&&e.jsx("div",{id:`${T}-helper`,className:"nice-field__helper",children:m})]})});Le.displayName="NiceToggle";const Ke=["var(--nice-danger, #ef4444)","var(--nice-warning, #f97316)","var(--nice-warning, #f59e0b)","var(--nice-success, #84cc16)","var(--nice-success, #10b981)","var(--nice-info, #06b6d4)","var(--nice-primary, #3b82f6)","var(--nice-info, #6366f1)","var(--nice-accent, #8b5cf6)","var(--nice-accent-pink, #ec4899)","var(--nice-text-secondary, #64748b)","var(--nice-text, #1e293b)"];function qe(){return"#"+Math.floor(Math.random()*16777215).toString(16).padStart(6,"0")}function Ue(t){const p=/^#?([0-9a-f]{6})$/i.exec(t.trim());if(!p)return{r:0,g:0,b:0};const s=parseInt(p[1],16);return{r:s>>16&255,g:s>>8&255,b:s&255}}function Ze(t,p,s){const u=n=>Math.max(0,Math.min(255,Math.round(n))).toString(16).padStart(2,"0");return`#${u(t)}${u(p)}${u(s)}`}function ze(t,p,s){const u=t/255,n=p/255,i=s/255,d=Math.max(u,n,i),y=Math.min(u,n,i),h=(d+y)/2;let f=0,_=0;if(d!==y){const S=d-y;switch(_=h>.5?S/(2-d-y):S/(d+y),d){case u:f=(n-i)/S+(n<i?6:0);break;case n:f=(i-u)/S+2;break;case i:f=(u-n)/S+4;break}f*=60}return{h:Math.round(f),s:Math.round(_*100),l:Math.round(h*100)}}function Pe(t,p,s){const u=p/100,n=s/100,i=(1-Math.abs(2*n-1))*u,d=i*(1-Math.abs(t/60%2-1)),y=n-i/2;let h=0,f=0,_=0;return t<60?[h,f,_]=[i,d,0]:t<120?[h,f,_]=[d,i,0]:t<180?[h,f,_]=[0,i,d]:t<240?[h,f,_]=[0,d,i]:t<300?[h,f,_]=[d,0,i]:[h,f,_]=[i,0,d],{r:Math.round((h+y)*255),g:Math.round((f+y)*255),b:Math.round((_+y)*255)}}function Ve(t,p,s){const u=t/255,n=p/255,i=s/255,d=Math.max(u,n,i),y=Math.min(u,n,i),h=d-y;let f=0;h!==0&&(d===u?f=(n-i)/h%6:d===n?f=(i-u)/h+2:f=(u-n)/h+4,f*=60,f<0&&(f+=360));const _=d===0?0:h/d;return{h:Math.round(f),s:Math.round(_*100),v:Math.round(d*100)}}function Ge(t,p,s){const u=p/100,n=s/100,i=n*u,d=i*(1-Math.abs(t/60%2-1)),y=n-i;let h=0,f=0,_=0;return t<60?[h,f,_]=[i,d,0]:t<120?[h,f,_]=[d,i,0]:t<180?[h,f,_]=[0,i,d]:t<240?[h,f,_]=[0,d,i]:t<300?[h,f,_]=[d,0,i]:[h,f,_]=[i,0,d],{r:Math.round((h+y)*255),g:Math.round((f+y)*255),b:Math.round((_+y)*255)}}function Xe(t){const p=/^#?([0-9a-f]{6})$/i.exec(t.trim()),s=/^#?([0-9a-f]{8})$/i.exec(t.trim());if(s){const u=s[1];return{r:parseInt(u.slice(0,2),16),g:parseInt(u.slice(2,4),16),b:parseInt(u.slice(4,6),16),a:parseInt(u.slice(6,8),16)/255}}if(p){const u=parseInt(p[1],16);return{r:u>>16&255,g:u>>8&255,b:u&255,a:1}}return{r:0,g:0,b:0,a:1}}function Ye(t,p,s,u,n){const i=y=>Math.max(0,Math.min(255,Math.round(y))).toString(16).padStart(2,"0"),d=`#${i(t)}${i(p)}${i(s)}`;return n?`${d}${i(u*255)}`:d}const Fe=l.forwardRef(({label:t,helperText:p,error:s,required:u,disabled:n,id:i,className:d,style:y,accessMode:h,displayStyle:f,value:_="var(--nice-primary, #3b82f6)",onChange:S,presets:P=Ke,showInput:x=!0,showRandom:w=!0,withAlpha:E=!1,showKeyboardHints:m,size:J="md",labelPlacement:D,errorPlacement:$,labelWidth:F,controlWidth:g,loading:I},U)=>{const R=o.Zs(h,i),T=R==="hidden";(R==="disabled"||R==="readOnly")&&(n=!0);const{t:k}=o.$o(),A=o.Hs(i);o.Ss("input",f);const Z=l.useCallback(()=>{n||S?.(qe())},[n,S]),[L,W]=l.useState(!1),[re,le]=l.useState(null),X=l.useRef(null),V=l.useRef(null);l.useLayoutEffect(()=>{if(!L||!V.current)return;const b=()=>{const N=V.current?.getBoundingClientRect();if(!N)return;const z=280,H=360;let M=N.left,ee=N.bottom+6;M+z>window.innerWidth-8&&(M=Math.max(8,window.innerWidth-z-8)),ee+H>window.innerHeight-8&&(ee=Math.max(8,N.top-H-6)),le({left:M,top:ee})};return b(),window.addEventListener("scroll",b,!0),window.addEventListener("resize",b),()=>{window.removeEventListener("scroll",b,!0),window.removeEventListener("resize",b)}},[L]),l.useEffect(()=>{if(!L)return;const b=z=>{const H=z.target;X.current?.contains(H)||V.current?.contains(H)||W(!1)},N=z=>{z.key==="Escape"&&W(!1)};return document.addEventListener("mousedown",b),document.addEventListener("keydown",N),()=>{document.removeEventListener("mousedown",b),document.removeEventListener("keydown",N)}},[L]);const de=l.useMemo(()=>[{key:"Enter",description:k("shortcuts.openPicker","Open color picker")},{key:"Arrow keys",description:k("shortcuts.navigatePresets","Navigate presets")}],[k]);return T?null:e.jsxs("div",{className:`nice-field nice-field--${J} ${D==="left"?"nice-field--label-left":""} ${I?"nice-field--loading":""} ${d||""}`,style:{...y,...F!=null&&{"--nice-field-label-width":typeof F=="number"?`${F}px`:F},...g!=null&&{"--nice-field-control-width":typeof g=="number"?`${g}px`:g}},"aria-busy":I||void 0,children:[t&&e.jsxs("label",{htmlFor:A,className:`nice-field__label ${u?"nice-field__label--required":""}`,children:[t,m&&e.jsx(o.Kr,{shortcuts:de,size:"sm"})]}),e.jsx("div",{className:"nice-field__control",children:e.jsxs("div",{className:"nice-color-picker",children:[e.jsxs("div",{className:"nice-color-picker__preview-row",children:[e.jsx("div",{ref:V,className:"nice-color-picker__swatch",id:A,style:{background:_},onClick:b=>{b.stopPropagation(),n||W(N=>!N)},onKeyDown:b=>{!n&&(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),W(N=>!N))},role:"button",tabIndex:0,"aria-label":k("colorPicker.openPalette","Open color palette"),"aria-haspopup":"dialog","aria-expanded":L,children:e.jsx("input",{ref:b=>{typeof U=="function"?U(b):U&&(U.current=b)},type:"hidden",value:_,disabled:n,readOnly:!0})}),x&&e.jsx("div",{className:"nice-input nice-input--sm",style:{width:100},children:e.jsx("input",{className:"nice-input__native",type:"text",value:_,disabled:n,onChange:b=>S?.(b.target.value),maxLength:7})}),w&&e.jsx("button",{type:"button",className:"nice-btn nice-btn--outline nice-btn--sm nice-color-picker__random",onClick:Z,disabled:n,title:k("colorPicker.random","Random"),"aria-label":k("colorPicker.random","Random"),style:{fontSize:"0.65rem",textTransform:"uppercase",letterSpacing:"0.05em"},children:k("colorPicker.random","Random")}),I&&e.jsx("span",{className:"nice-field__spinner",children:e.jsx("span",{className:"nice-spinner nice-spinner--sm"})}),$==="right"&&s&&e.jsx("div",{id:`${A}-error`,className:"nice-field__error",role:"alert",children:s}),$==="right"&&!s&&p&&e.jsx("div",{id:`${A}-helper`,className:"nice-field__helper",children:p})]}),L&&re&&typeof document<"u"&&Ie.createPortal(e.jsx("div",{ref:X,className:"nice-color-picker__popup nice-color-picker__popup--portal",role:"dialog","aria-label":k("colorPicker.palette","Color palette"),style:{position:"fixed",left:re.left,top:re.top},onClick:b=>b.stopPropagation(),children:(()=>{const b=Xe(_),N={r:b.r,g:b.g,b:b.b},z=E?b.a:1,H=ze(N.r,N.g,N.b),M=Ve(N.r,N.g,N.b),ee=(a,v,q,C=z)=>S?.(Ye(a,v,q,C,E)),ae=(a,v,q)=>ee(a,v,q),ue=(a,v,q)=>{const C=Pe(a,v,q);ee(C.r,C.g,C.b)},Y=(a,v,q)=>{const C=Ge(a,v,q);ee(C.r,C.g,C.b)},G=a=>ee(N.r,N.g,N.b,a),oe=a=>{if(n)return;const v=a.currentTarget,q=Q=>{const O=v.getBoundingClientRect(),xe=Math.max(0,Math.min(O.width,Q.clientX-O.left)),ve=Math.max(0,Math.min(O.height,Q.clientY-O.top)),pe=Math.round(xe/O.width*100),je=100-Math.round(ve/O.height*100);Y(M.h,pe,je)};q(a);const C=()=>{document.removeEventListener("pointermove",q),document.removeEventListener("pointerup",C)};document.addEventListener("pointermove",q),document.addEventListener("pointerup",C)},ie=`hsl(${M.h}, 100%, 50%)`;return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"nice-color-picker__popup-header",children:e.jsx("input",{type:"text",className:"nice-input__native nice-color-picker__popup-hex",value:_,disabled:n,onChange:a=>S?.(a.target.value),maxLength:E?9:7,"aria-label":k("colorPicker.hexValue","Hex value")})}),e.jsx("input",{type:"range",min:0,max:360,value:M.h,disabled:n,onChange:a=>Y(Number(a.target.value),M.s,M.v),className:"nice-color-picker__hue-slider","aria-label":k("colorPicker.hue","Hue")}),e.jsx("div",{className:"nice-color-picker__sv",style:{background:`linear-gradient(to top, var(--nice-text, #000), transparent), linear-gradient(to right, var(--nice-bg, #FFF), ${ie})`},onPointerDown:oe,role:"application","aria-label":k("colorPicker.svPalette","Saturation/value palette"),children:e.jsx("span",{className:"nice-color-picker__sv-marker",style:{left:`${M.s}%`,top:`${100-M.v}%`}})}),e.jsxs("div",{className:"nice-color-picker__sliders",children:[e.jsx("div",{className:"nice-color-picker__slider-col",children:["h","s","l"].map(a=>{const v=a==="h"?360:100,q=H[a],C=Q=>ue(a==="h"?Q:H.h,a==="s"?Q:H.s,a==="l"?Q:H.l);return e.jsxs("div",{className:"nice-color-picker__slider-row",children:[e.jsx("label",{className:"nice-color-picker__slider-label",children:a.toUpperCase()}),e.jsx("input",{type:"range",min:0,max:v,value:q,disabled:n,onChange:Q=>C(Number(Q.target.value))}),e.jsx("input",{type:"number",min:0,max:v,value:q,disabled:n,onChange:Q=>C(Number(Q.target.value)||0),className:"nice-input__native nice-color-picker__slider-num"})]},a)})}),e.jsx("div",{className:"nice-color-picker__slider-col",children:["r","g","b"].map(a=>{const v=N[a],q=C=>ae(a==="r"?C:N.r,a==="g"?C:N.g,a==="b"?C:N.b);return e.jsxs("div",{className:"nice-color-picker__slider-row",children:[e.jsx("label",{className:"nice-color-picker__slider-label",children:a.toUpperCase()}),e.jsx("input",{type:"range",min:0,max:255,value:v,disabled:n,onChange:C=>q(Number(C.target.value))}),e.jsx("input",{type:"number",min:0,max:255,value:v,disabled:n,onChange:C=>q(Number(C.target.value)||0),className:"nice-input__native nice-color-picker__slider-num"})]},a)})})]}),E&&e.jsxs("div",{className:"nice-color-picker__alpha-row",children:[e.jsx("label",{className:"nice-color-picker__slider-label",children:"A"}),e.jsx("input",{type:"range",min:0,max:100,value:Math.round(z*100),disabled:n,onChange:a=>G(Number(a.target.value)/100),className:"nice-color-picker__alpha-slider",style:{background:`linear-gradient(to right, transparent, rgb(${N.r},${N.g},${N.b}))`},"aria-label":k("colorPicker.alpha","Alpha")}),e.jsx("input",{type:"number",min:0,max:100,value:Math.round(z*100),disabled:n,onChange:a=>G((Number(a.target.value)||0)/100),className:"nice-input__native nice-color-picker__slider-num"})]}),P.length>0&&e.jsx("div",{className:"nice-color-picker__popup-presets",children:P.map(a=>e.jsx("div",{className:`nice-color-picker__preset ${_===a?"nice-color-picker__preset--active":""}`,style:{background:a},onClick:()=>{S?.(a),W(!1)},role:"button",tabIndex:0,"aria-label":a,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),S?.(a),W(!1))}},a))})]})})()}),document.body)]})}),$!=="right"&&s&&e.jsx("div",{id:`${A}-error`,className:"nice-field__error",role:"alert",children:s}),$!=="right"&&!s&&p&&e.jsx("div",{id:`${A}-helper`,className:"nice-field__helper",children:p})]})});Fe.displayName="NiceColorPicker";const Je=Object.freeze(Object.defineProperty({__proto__:null,NiceColorPicker:Fe,hexToRgb:Ue,rgbToHex:Ze},Symbol.toStringTag,{value:"Module"})),Ee=l.forwardRef(({children:t,variant:p="primary",size:s="md",type:u="button",disabled:n,loading:i,fullWidth:d,onClick:y,leftIcon:h,rightIcon:f,error:_,errorPlacement:S="bottom",className:P,style:x,id:w,accessMode:E,displayStyle:m,...J},D)=>{const $=o.Zs(E,w),F=$==="hidden";($==="disabled"||$==="readOnly")&&(n=!0);const g=o.vs("button",m),I=o.Ss("button",m),U=p!=="primary"?(({background:k,color:A,...Z})=>Z)(g):g,R=e.jsxs("button",{ref:D,type:u,id:w,className:`nice-btn nice-btn--${p} nice-btn--${s} nice-btn--ds-${I} ${d?"nice-btn--full-width":""} ${i?"nice-btn--loading":""} ${_&&!S?"nice-btn--has-error":""} ${P||""}`,style:{...U,...x},disabled:n||i,"aria-busy":i||void 0,"aria-disabled":n||i||void 0,onClick:y,...J,children:[i&&e.jsx("svg",{className:"nice-btn__spinner",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3","aria-hidden":"true",children:e.jsx("circle",{cx:"12",cy:"12",r:"10",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})}),!i&&h&&e.jsx("span",{"aria-hidden":"true",children:h}),!i&&e.jsx("span",{children:t}),i&&e.jsx("span",{style:{visibility:"hidden"},"aria-hidden":"true",children:t}),!i&&f&&e.jsx("span",{"aria-hidden":"true",children:f})]});if(F)return null;if(!_)return R;const T=e.jsx("div",{className:"nice-field__error",role:"alert",children:_});return S==="right"?e.jsxs("span",{className:`nice-btn-field nice-btn-field--right nice-field--${s}`,style:{display:"inline-flex",flexDirection:"row",alignItems:"center",gap:"8px",width:"fit-content"},children:[R,T]}):F?null:e.jsxs("span",{className:`nice-btn-field nice-btn-field--bottom nice-field--${s}`,style:{display:"inline-flex",flexDirection:"column",alignItems:"flex-start",gap:"4px",width:"fit-content"},children:[R,T]})});Ee.displayName="NiceButton";const Qe=({tabs:t,activeTab:p,onChange:s,variant:u="default",vertical:n,size:i="md",className:d,style:y,displayStyle:h})=>{const f=o.vs("tab",h),_=o.Ss("tab",h),[S,P]=l.useState(p||t[0]?.id),x=p??S,w=l.useCallback(m=>{P(m),s?.(m)},[s]),E=t.find(m=>m.id===x)?.content;return e.jsxs("div",{className:`nice-tabs nice-tabs--${i} nice-tabs--ds-${_} ${d||""}`,style:{...f,...y,...n?{display:"flex",gap:16}:{}},children:[e.jsx("div",{className:`nice-tabs__list ${u!=="default"?`nice-tabs__list--${u}`:""} ${n?"nice-tabs__list--vertical":""}`,role:"tablist",children:t.map(m=>e.jsxs("button",{type:"button",role:"tab","aria-selected":x===m.id,className:`nice-tabs__tab ${x===m.id?"nice-tabs__tab--active":""} ${m.disabled?"nice-tabs__tab--disabled":""}`,disabled:m.disabled,onClick:()=>w(m.id),children:[m.icon,e.jsx("span",{children:m.label}),m.badge!==void 0&&e.jsx("span",{className:"nice-tabs__badge",children:m.badge})]},m.id))}),E&&e.jsx("div",{className:"nice-tabs__panel",role:"tabpanel",children:E})]})};exports.NiceButton=Ee;exports.NiceCheckbox=De;exports.NiceCheckbox$1=Be;exports.NiceColorPicker=Fe;exports.NiceColorPicker$1=Je;exports.NiceNumberInput=Se;exports.NiceNumberInput$1=Te;exports.NiceSelect=Re;exports.NiceSelect$1=Ae;exports.NiceTabs=Qe;exports.NiceTextInput=Ce;exports.NiceTextInput$1=He;exports.NiceToggle=Le;
@@ -0,0 +1,35 @@
1
+ const e = "https://nice2dev.com/schemas/component-doc-v1.json", t = "NiceTransition", n = "Animation transition wrapper.", i = "utility", o = "1.0.0", a = "planned", s = [{ name: "children", type: "React.ReactNode", required: !0, description: "Content to animate" }, { name: "show", type: "boolean", required: !0, description: "Visibility trigger" }, { name: "enter", type: "string", description: "Enter class/animation" }, { name: "enterFrom", type: "string", description: "Enter from state" }, { name: "enterTo", type: "string", description: "Enter to state" }, { name: "leave", type: "string", description: "Leave class/animation" }, { name: "leaveFrom", type: "string", description: "Leave from state" }, { name: "leaveTo", type: "string", description: "Leave to state" }, { name: "appear", type: "boolean", default: "false", description: "Animate on initial mount" }, { name: "unmount", type: "boolean", default: "true", description: "Unmount when hidden" }], r = [{ title: "Transition", description: "Animated visibility", code: `<NiceTransition
2
+ show={isVisible}
3
+ enter="transition-opacity duration-300"
4
+ enterFrom="opacity-0"
5
+ enterTo="opacity-100"
6
+ leave="transition-opacity duration-200"
7
+ leaveFrom="opacity-100"
8
+ leaveTo="opacity-0"
9
+ >
10
+ <div>Animated content</div>
11
+ </NiceTransition>` }], c = { keyboard: [], aria: ["Motion safe handling"] }, p = ["NiceCollapse", "NiceAnimatePresence"], d = {
12
+ $schema: e,
13
+ name: t,
14
+ description: n,
15
+ category: i,
16
+ since: o,
17
+ status: a,
18
+ props: s,
19
+ examples: r,
20
+ accessibility: c,
21
+ seeAlso: p
22
+ };
23
+ export {
24
+ e as $schema,
25
+ c as accessibility,
26
+ i as category,
27
+ d as default,
28
+ n as description,
29
+ r as examples,
30
+ t as name,
31
+ s as props,
32
+ p as seeAlso,
33
+ o as since,
34
+ a as status
35
+ };
@@ -0,0 +1,11 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="https://nice2dev.com/schemas/component-doc-v1.json",t="NiceTransition",n="Animation transition wrapper.",i="utility",o="1.0.0",a="planned",s=[{name:"children",type:"React.ReactNode",required:!0,description:"Content to animate"},{name:"show",type:"boolean",required:!0,description:"Visibility trigger"},{name:"enter",type:"string",description:"Enter class/animation"},{name:"enterFrom",type:"string",description:"Enter from state"},{name:"enterTo",type:"string",description:"Enter to state"},{name:"leave",type:"string",description:"Leave class/animation"},{name:"leaveFrom",type:"string",description:"Leave from state"},{name:"leaveTo",type:"string",description:"Leave to state"},{name:"appear",type:"boolean",default:"false",description:"Animate on initial mount"},{name:"unmount",type:"boolean",default:"true",description:"Unmount when hidden"}],r=[{title:"Transition",description:"Animated visibility",code:`<NiceTransition
2
+ show={isVisible}
3
+ enter="transition-opacity duration-300"
4
+ enterFrom="opacity-0"
5
+ enterTo="opacity-100"
6
+ leave="transition-opacity duration-200"
7
+ leaveFrom="opacity-100"
8
+ leaveTo="opacity-0"
9
+ >
10
+ <div>Animated content</div>
11
+ </NiceTransition>`}],c={keyboard:[],aria:["Motion safe handling"]},p=["NiceCollapse","NiceAnimatePresence"],d={$schema:e,name:t,description:n,category:i,since:o,status:a,props:s,examples:r,accessibility:c,seeAlso:p};exports.$schema=e;exports.accessibility=c;exports.category=i;exports.default=d;exports.description=n;exports.examples=r;exports.name=t;exports.props=s;exports.seeAlso=p;exports.since=o;exports.status=a;
@@ -0,0 +1,40 @@
1
+ const e = "https://nice2dev.com/schemas/component-doc-v1.json", n = "NiceTree", t = "Tree component for hierarchical data display.", o = "display", c = "1.0.0", a = "planned", i = [{ name: "treeData", type: "TreeNode[]", required: !0, description: "Tree data" }, { name: "defaultExpandedKeys", type: "string[]", description: "Default expanded keys" }, { name: "defaultSelectedKeys", type: "string[]", description: "Default selected keys" }, { name: "defaultCheckedKeys", type: "string[]", description: "Default checked keys" }, { name: "checkable", type: "boolean", default: "false", description: "Show checkboxes" }, { name: "selectable", type: "boolean", default: "true", description: "Enable selection" }, { name: "draggable", type: "boolean", default: "false", description: "Enable drag and drop" }, { name: "showLine", type: "boolean", default: "false", description: "Show connection lines" }, { name: "showIcon", type: "boolean", default: "false", description: "Show icons" }, { name: "onSelect", type: "(keys: string[], info: object) => void", description: "Selection callback" }, { name: "onCheck", type: "(keys: string[], info: object) => void", description: "Check callback" }, { name: "onDrop", type: "(info: DropInfo) => void", description: "Drop callback" }], s = [{ title: "Tree", description: "Hierarchical tree", code: `<NiceTree
2
+ treeData={[
3
+ {
4
+ title: 'Parent',
5
+ key: 'parent',
6
+ children: [
7
+ { title: 'Child 1', key: 'child1' },
8
+ { title: 'Child 2', key: 'child2' }
9
+ ]
10
+ }
11
+ ]}
12
+ checkable
13
+ draggable
14
+ showLine
15
+ onSelect={(keys) => console.log('Selected:', keys)}
16
+ />` }], l = { keyboard: ["Arrow keys to navigate", "Space to check", "Enter to select"], aria: ["Tree role", "Expanded/collapsed state"] }, d = ["NiceTreeView", "NiceTreeSelect"], r = {
17
+ $schema: e,
18
+ name: n,
19
+ description: t,
20
+ category: o,
21
+ since: c,
22
+ status: a,
23
+ props: i,
24
+ examples: s,
25
+ accessibility: l,
26
+ seeAlso: d
27
+ };
28
+ export {
29
+ e as $schema,
30
+ l as accessibility,
31
+ o as category,
32
+ r as default,
33
+ t as description,
34
+ s as examples,
35
+ n as name,
36
+ i as props,
37
+ d as seeAlso,
38
+ c as since,
39
+ a as status
40
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="https://nice2dev.com/schemas/component-doc-v1.json",t="NiceTree",n="Tree component for hierarchical data display.",o="display",c="1.0.0",a="planned",s=[{name:"treeData",type:"TreeNode[]",required:!0,description:"Tree data"},{name:"defaultExpandedKeys",type:"string[]",description:"Default expanded keys"},{name:"defaultSelectedKeys",type:"string[]",description:"Default selected keys"},{name:"defaultCheckedKeys",type:"string[]",description:"Default checked keys"},{name:"checkable",type:"boolean",default:"false",description:"Show checkboxes"},{name:"selectable",type:"boolean",default:"true",description:"Enable selection"},{name:"draggable",type:"boolean",default:"false",description:"Enable drag and drop"},{name:"showLine",type:"boolean",default:"false",description:"Show connection lines"},{name:"showIcon",type:"boolean",default:"false",description:"Show icons"},{name:"onSelect",type:"(keys: string[], info: object) => void",description:"Selection callback"},{name:"onCheck",type:"(keys: string[], info: object) => void",description:"Check callback"},{name:"onDrop",type:"(info: DropInfo) => void",description:"Drop callback"}],i=[{title:"Tree",description:"Hierarchical tree",code:`<NiceTree
2
+ treeData={[
3
+ {
4
+ title: 'Parent',
5
+ key: 'parent',
6
+ children: [
7
+ { title: 'Child 1', key: 'child1' },
8
+ { title: 'Child 2', key: 'child2' }
9
+ ]
10
+ }
11
+ ]}
12
+ checkable
13
+ draggable
14
+ showLine
15
+ onSelect={(keys) => console.log('Selected:', keys)}
16
+ />`}],l={keyboard:["Arrow keys to navigate","Space to check","Enter to select"],aria:["Tree role","Expanded/collapsed state"]},r=["NiceTreeView","NiceTreeSelect"],d={$schema:e,name:t,description:n,category:o,since:c,status:a,props:s,examples:i,accessibility:l,seeAlso:r};exports.$schema=e;exports.accessibility=l;exports.category=o;exports.default=d;exports.description=n;exports.examples=i;exports.name=t;exports.props=s;exports.seeAlso=r;exports.since=c;exports.status=a;
@@ -0,0 +1,10 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="https://nice2dev.com/schemas/component-doc-v1.json",t="NiceUnitConverter",n="Unit converter for various measurement types.",i="tools",o="1.0.0",r="planned",s=[{name:"value",type:"number",required:!0,description:"Input value"},{name:"onChange",type:"(value: number) => void",required:!0,description:"Change callback"},{name:"fromUnit",type:"string",required:!0,description:"Source unit"},{name:"toUnit",type:"string",required:!0,description:"Target unit"},{name:"onFromUnitChange",type:"(unit: string) => void",description:"From unit change"},{name:"onToUnitChange",type:"(unit: string) => void",description:"To unit change"},{name:"category",type:"'length' | 'weight' | 'temperature' | 'volume' | 'area' | 'speed'",required:!0,description:"Unit category"},{name:"showSwap",type:"boolean",default:"true",description:"Show swap button"},{name:"precision",type:"number",default:"4",description:"Decimal precision"}],a=[{title:"Unit Converter",description:"Convert units",code:`<NiceUnitConverter
2
+ value={inputValue}
3
+ onChange={setInputValue}
4
+ fromUnit="km"
5
+ toUnit="mi"
6
+ onFromUnitChange={setFromUnit}
7
+ onToUnitChange={setToUnit}
8
+ category="length"
9
+ showSwap
10
+ />`}],c={keyboard:["Tab through fields"],aria:["Unit converter","Input and output values"]},u=["NiceCalculator","NiceNumericInput"],p={$schema:e,name:t,description:n,category:i,since:o,status:r,props:s,examples:a,accessibility:c,seeAlso:u};exports.$schema=e;exports.accessibility=c;exports.category=i;exports.default=p;exports.description=n;exports.examples=a;exports.name=t;exports.props=s;exports.seeAlso=u;exports.since=o;exports.status=r;
@@ -0,0 +1,34 @@
1
+ const e = "https://nice2dev.com/schemas/component-doc-v1.json", n = "NiceUnitConverter", t = "Unit converter for various measurement types.", o = "tools", i = "1.0.0", r = "planned", a = [{ name: "value", type: "number", required: !0, description: "Input value" }, { name: "onChange", type: "(value: number) => void", required: !0, description: "Change callback" }, { name: "fromUnit", type: "string", required: !0, description: "Source unit" }, { name: "toUnit", type: "string", required: !0, description: "Target unit" }, { name: "onFromUnitChange", type: "(unit: string) => void", description: "From unit change" }, { name: "onToUnitChange", type: "(unit: string) => void", description: "To unit change" }, { name: "category", type: "'length' | 'weight' | 'temperature' | 'volume' | 'area' | 'speed'", required: !0, description: "Unit category" }, { name: "showSwap", type: "boolean", default: "true", description: "Show swap button" }, { name: "precision", type: "number", default: "4", description: "Decimal precision" }], s = [{ title: "Unit Converter", description: "Convert units", code: `<NiceUnitConverter
2
+ value={inputValue}
3
+ onChange={setInputValue}
4
+ fromUnit="km"
5
+ toUnit="mi"
6
+ onFromUnitChange={setFromUnit}
7
+ onToUnitChange={setToUnit}
8
+ category="length"
9
+ showSwap
10
+ />` }], c = { keyboard: ["Tab through fields"], aria: ["Unit converter", "Input and output values"] }, u = ["NiceCalculator", "NiceNumericInput"], p = {
11
+ $schema: e,
12
+ name: n,
13
+ description: t,
14
+ category: o,
15
+ since: i,
16
+ status: r,
17
+ props: a,
18
+ examples: s,
19
+ accessibility: c,
20
+ seeAlso: u
21
+ };
22
+ export {
23
+ e as $schema,
24
+ c as accessibility,
25
+ o as category,
26
+ p as default,
27
+ t as description,
28
+ s as examples,
29
+ n as name,
30
+ a as props,
31
+ u as seeAlso,
32
+ i as since,
33
+ r as status
34
+ };
@@ -0,0 +1,35 @@
1
+ const e = "https://nice2dev.com/schemas/component-doc-v1.json", i = "NiceVirtualGrid", r = "Virtualized grid for large datasets.", t = "display", n = "1.0.0", o = "planned", d = [{ name: "items", type: "T[]", required: !0, description: "Grid items" }, { name: "renderItem", type: "(item: T, index: number) => React.ReactNode", required: !0, description: "Item renderer" }, { name: "columnCount", type: "number", required: !0, description: "Number of columns" }, { name: "rowHeight", type: "number | ((rowIndex: number) => number)", required: !0, description: "Row height" }, { name: "columnWidth", type: "number | ((colIndex: number) => number)", required: !0, description: "Column width" }, { name: "height", type: "number", required: !0, description: "Container height" }, { name: "width", type: "number", required: !0, description: "Container width" }, { name: "overscanRows", type: "number", default: "2", description: "Overscan rows" }, { name: "overscanColumns", type: "number", default: "2", description: "Overscan columns" }], c = [{ title: "Virtual Grid", description: "Large grid virtualization", code: `<NiceVirtualGrid
2
+ items={Array.from({ length: 10000 }, (_, i) => ({ id: i }))}
3
+ columnCount={4}
4
+ rowHeight={150}
5
+ columnWidth={200}
6
+ height={600}
7
+ width={800}
8
+ renderItem={(item) => (
9
+ <div key={item.id}>Cell {item.id}</div>
10
+ )}
11
+ />` }], a = { keyboard: ["Arrow keys navigation"], aria: ["grid role", "aria-rowcount", "aria-colcount"] }, s = ["NiceVirtualList", "NiceDataGrid"], u = {
12
+ $schema: e,
13
+ name: i,
14
+ description: r,
15
+ category: t,
16
+ since: n,
17
+ status: o,
18
+ props: d,
19
+ examples: c,
20
+ accessibility: a,
21
+ seeAlso: s
22
+ };
23
+ export {
24
+ e as $schema,
25
+ a as accessibility,
26
+ t as category,
27
+ u as default,
28
+ r as description,
29
+ c as examples,
30
+ i as name,
31
+ d as props,
32
+ s as seeAlso,
33
+ n as since,
34
+ o as status
35
+ };
@@ -0,0 +1,11 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="https://nice2dev.com/schemas/component-doc-v1.json",t="NiceVirtualGrid",i="Virtualized grid for large datasets.",r="display",n="1.0.0",o="planned",s=[{name:"items",type:"T[]",required:!0,description:"Grid items"},{name:"renderItem",type:"(item: T, index: number) => React.ReactNode",required:!0,description:"Item renderer"},{name:"columnCount",type:"number",required:!0,description:"Number of columns"},{name:"rowHeight",type:"number | ((rowIndex: number) => number)",required:!0,description:"Row height"},{name:"columnWidth",type:"number | ((colIndex: number) => number)",required:!0,description:"Column width"},{name:"height",type:"number",required:!0,description:"Container height"},{name:"width",type:"number",required:!0,description:"Container width"},{name:"overscanRows",type:"number",default:"2",description:"Overscan rows"},{name:"overscanColumns",type:"number",default:"2",description:"Overscan columns"}],c=[{title:"Virtual Grid",description:"Large grid virtualization",code:`<NiceVirtualGrid
2
+ items={Array.from({ length: 10000 }, (_, i) => ({ id: i }))}
3
+ columnCount={4}
4
+ rowHeight={150}
5
+ columnWidth={200}
6
+ height={600}
7
+ width={800}
8
+ renderItem={(item) => (
9
+ <div key={item.id}>Cell {item.id}</div>
10
+ )}
11
+ />`}],a={keyboard:["Arrow keys navigation"],aria:["grid role","aria-rowcount","aria-colcount"]},d=["NiceVirtualList","NiceDataGrid"],u={$schema:e,name:t,description:i,category:r,since:n,status:o,props:s,examples:c,accessibility:a,seeAlso:d};exports.$schema=e;exports.accessibility=a;exports.category=r;exports.default=u;exports.description=i;exports.examples=c;exports.name=t;exports.props=s;exports.seeAlso=d;exports.since=n;exports.status=o;
@@ -0,0 +1,31 @@
1
+ const e = "https://nice2dev.com/schemas/component-doc-v1.json", t = "NiceVirtualList", i = "Virtualized list for rendering large datasets efficiently.", n = "data", r = "1.0.0", s = "planned", o = [{ name: "items", type: "T[]", required: !0, description: "List items" }, { name: "renderItem", type: "(item: T, index: number) => React.ReactNode", required: !0, description: "Item renderer" }, { name: "itemHeight", type: "number | ((index: number) => number)", required: !0, description: "Item height" }, { name: "height", type: "number | string", required: !0, description: "Container height" }, { name: "width", type: "number | string", default: "'100%'", description: "Container width" }, { name: "overscan", type: "number", default: "5", description: "Overscan count" }, { name: "onScroll", type: "(offset: number) => void", description: "Scroll callback" }, { name: "keyExtractor", type: "(item: T, index: number) => string", description: "Key extractor" }], c = [{ title: "Virtual List", description: "Virtualized rendering", code: `<NiceVirtualList
2
+ items={largeDataset}
3
+ renderItem={(item) => <ListItem {...item} />}
4
+ itemHeight={50}
5
+ height={600}
6
+ overscan={10}
7
+ />` }], a = { keyboard: ["Arrow keys to scroll"], aria: ["List role", "Item positions"] }, d = ["NiceInfiniteScroll", "NiceDataGrid"], m = {
8
+ $schema: e,
9
+ name: t,
10
+ description: i,
11
+ category: n,
12
+ since: r,
13
+ status: s,
14
+ props: o,
15
+ examples: c,
16
+ accessibility: a,
17
+ seeAlso: d
18
+ };
19
+ export {
20
+ e as $schema,
21
+ a as accessibility,
22
+ n as category,
23
+ m as default,
24
+ i as description,
25
+ c as examples,
26
+ t as name,
27
+ o as props,
28
+ d as seeAlso,
29
+ r as since,
30
+ s as status
31
+ };
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="https://nice2dev.com/schemas/component-doc-v1.json",t="NiceVirtualList",i="Virtualized list for rendering large datasets efficiently.",n="data",r="1.0.0",s="planned",c=[{name:"items",type:"T[]",required:!0,description:"List items"},{name:"renderItem",type:"(item: T, index: number) => React.ReactNode",required:!0,description:"Item renderer"},{name:"itemHeight",type:"number | ((index: number) => number)",required:!0,description:"Item height"},{name:"height",type:"number | string",required:!0,description:"Container height"},{name:"width",type:"number | string",default:"'100%'",description:"Container width"},{name:"overscan",type:"number",default:"5",description:"Overscan count"},{name:"onScroll",type:"(offset: number) => void",description:"Scroll callback"},{name:"keyExtractor",type:"(item: T, index: number) => string",description:"Key extractor"}],o=[{title:"Virtual List",description:"Virtualized rendering",code:`<NiceVirtualList
2
+ items={largeDataset}
3
+ renderItem={(item) => <ListItem {...item} />}
4
+ itemHeight={50}
5
+ height={600}
6
+ overscan={10}
7
+ />`}],a={keyboard:["Arrow keys to scroll"],aria:["List role","Item positions"]},d=["NiceInfiniteScroll","NiceDataGrid"],m={$schema:e,name:t,description:i,category:n,since:r,status:s,props:c,examples:o,accessibility:a,seeAlso:d};exports.$schema=e;exports.accessibility=a;exports.category=n;exports.default=m;exports.description=i;exports.examples=o;exports.name=t;exports.props=c;exports.seeAlso=d;exports.since=r;exports.status=s;