@niledatabase/react 3.0.0-alpha.9 → 3.0.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.
Files changed (41) hide show
  1. package/dist/index.d.mts +355 -0
  2. package/dist/index.d.ts +355 -11
  3. package/dist/index.js +3 -8
  4. package/dist/index.js.map +1 -0
  5. package/dist/index.mjs +3 -0
  6. package/dist/index.mjs.map +1 -0
  7. package/dist/styles.css +1 -0
  8. package/package.json +52 -32
  9. package/dist/GoogleLoginButton/GoogleLoginButton.d.ts +0 -10
  10. package/dist/GoogleLoginButton/GoogleLoginButton.stories.d.ts +0 -11
  11. package/dist/GoogleLoginButton/index.d.ts +0 -1
  12. package/dist/SignInForm/SignInForm.d.ts +0 -3
  13. package/dist/SignInForm/UserLoginForm.stories.d.ts +0 -5
  14. package/dist/SignInForm/index.d.ts +0 -1
  15. package/dist/SignInForm/types.d.ts +0 -16
  16. package/dist/SignUpForm/NewUserSignUp.stories.d.ts +0 -5
  17. package/dist/SignUpForm/SignUpForm.d.ts +0 -3
  18. package/dist/SignUpForm/index.d.ts +0 -1
  19. package/dist/SignUpForm/types.d.ts +0 -13
  20. package/dist/UserTenantList/CreateUser.d.ts +0 -8
  21. package/dist/UserTenantList/UserList.d.ts +0 -17
  22. package/dist/UserTenantList/UserList.stories.d.ts +0 -5
  23. package/dist/UserTenantList/UserModal.d.ts +0 -7
  24. package/dist/UserTenantList/index.d.ts +0 -1
  25. package/dist/UserTenantList/useDataParser.d.ts +0 -4
  26. package/dist/context/index.d.ts +0 -9
  27. package/dist/context/theme.d.ts +0 -7
  28. package/dist/context/types.d.ts +0 -22
  29. package/dist/hooks/useResults.d.ts +0 -22
  30. package/dist/hooks/useTextSizer.d.ts +0 -1
  31. package/dist/lib/SimpleForm/CheckGroup/index.d.ts +0 -10
  32. package/dist/lib/SimpleForm/index.d.ts +0 -11
  33. package/dist/lib/SimpleForm/types.d.ts +0 -37
  34. package/dist/react.cjs.development.js +0 -943
  35. package/dist/react.cjs.development.js.map +0 -1
  36. package/dist/react.cjs.production.min.js +0 -2
  37. package/dist/react.cjs.production.min.js.map +0 -1
  38. package/dist/react.esm.d.ts +0 -11
  39. package/dist/react.esm.js +0 -911
  40. package/dist/react.esm.js.map +0 -1
  41. package/dist/utils/getColumnSize.d.ts +0 -2
@@ -0,0 +1 @@
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.13 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--google-bg:217.42 89% 61%;--font-sans:"Nunito Sans";--background:0 0% 100%;--foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--popover:0 0% 100%;--popover-foreground:222.2 47.4% 11.2%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--card:0 0% 100%;--card-foreground:222.2 47.4% 11.2%;--primary:192 100% 72%;--primary-foreground:0 0% 5%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 100% 50%;--destructive-foreground:210 40% 98%;--ring:215 20.2% 65.1%;--radius:0.5rem}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-feature-settings:"rlig" 1,"calt" 1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-4{right:1rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-2{height:.5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-9{height:2.25rem}.h-px{height:1px}.max-h-96{max-height:24rem}.w-10{width:2.5rem}.w-2{width:.5rem}.w-3\.5{width:.875rem}.w-36{width:9rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-80{width:20rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-\[4px\]{border-radius:4px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-background{border-color:hsl(var(--background))}.border-input{border-color:hsl(var(--input))}.bg-\[\#0078d4\]{--tw-bg-opacity:1;background-color:rgb(0 120 212/var(--tw-bg-opacity))}.bg-\[\#0288D1\]{--tw-bg-opacity:1;background-color:rgb(2 136 209/var(--tw-bg-opacity))}.bg-\[\#4285f4\]{--tw-bg-opacity:1;background-color:rgb(66 133 244/var(--tw-bg-opacity))}.bg-\[\#4A154B\]{--tw-bg-opacity:1;background-color:rgb(74 21 75/var(--tw-bg-opacity))}.bg-\[\#5865F2\]{--tw-bg-opacity:1;background-color:rgb(88 101 242/var(--tw-bg-opacity))}.bg-\[\#ff7a59\]{--tw-bg-opacity:1;background-color:rgb(255 122 89/var(--tw-bg-opacity))}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-destructive{background-color:hsl(var(--destructive))}.bg-muted{background-color:hsl(var(--muted))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.fill-current{fill:currentColor}.fill-green-700{fill:#15803d}.stroke-black{stroke:#000}.stroke-white{stroke:#fff}.p-1{padding:.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pl-8{padding-left:2rem}.pl-\[3px\]{padding-left:3px}.pr-2{padding-right:.5rem}.text-center{text-align:center}.font-roboto{font-family:Roboto,sans-serif}.font-sans{font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-thumb{background:hsl(var(--primary)/.4);border-radius:4px}.custom-scrollbar::-webkit-scrollbar-track{background:#e5e7eb24}@media (prefers-color-scheme:dark){:root{--background:224 71% 4%;--foreground:213 31% 91%;--muted:223 47% 11%;--muted-foreground:215.4 16.3% 56.9%;--accent:216 34% 17%;--accent-foreground:210 40% 98%;--popover:224 71% 4%;--popover-foreground:215 20.2% 65.1%;--border:216 34% 17%;--input:216 34% 17%;--card:224 71% 4%;--card-foreground:213 31% 91%;--primary:36 97% 70%;--primary-foreground:240 5.9% 10%;--secondary:222.2 47.4% 11.2%;--secondary-foreground:210 40% 98%;--destructive:0 63% 31%;--destructive-foreground:210 40% 98%;--ring:216 34% 17%;--radius:0.5rem}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:bg-\[\#0078d4\]:hover{--tw-bg-opacity:1;background-color:rgb(0 120 212/var(--tw-bg-opacity))}.hover\:bg-\[\#0288D1\]:hover{--tw-bg-opacity:1;background-color:rgb(2 136 209/var(--tw-bg-opacity))}.hover\:bg-\[\#4285f4\]:hover{--tw-bg-opacity:1;background-color:rgb(66 133 244/var(--tw-bg-opacity))}.hover\:bg-\[\#4A154B\]:hover{--tw-bg-opacity:1;background-color:rgb(74 21 75/var(--tw-bg-opacity))}.hover\:bg-\[\#5865F2\]:hover{--tw-bg-opacity:1;background-color:rgb(88 101 242/var(--tw-bg-opacity))}.hover\:bg-\[\#ff7a59\]:hover{--tw-bg-opacity:1;background-color:rgb(255 122 89/var(--tw-bg-opacity))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}.hover\:bg-opacity-85:hover{--tw-bg-opacity:0.85}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width:640px){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
package/package.json CHANGED
@@ -1,36 +1,42 @@
1
1
  {
2
2
  "name": "@niledatabase/react",
3
- "version": "3.0.0-alpha.9",
3
+ "version": "3.0.0",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index.js",
6
- "module": "./dist/react.esm.js",
6
+ "module": "./dist/index.mjs",
7
+ "types": "./dist/index.d.ts",
7
8
  "exports": {
8
9
  ".": {
9
10
  "require": "./dist/index.js",
10
- "import": "./dist/react.esm.js"
11
- }
11
+ "import": "./dist/index.mjs"
12
+ },
13
+ "./styles.css": "./dist/styles.css"
12
14
  },
15
+ "style": "./dist/styles.css",
13
16
  "files": [
14
17
  "dist"
15
18
  ],
16
19
  "engines": {
17
- "node": ">=18.0"
20
+ "node": ">=20.0"
18
21
  },
19
22
  "scripts": {
20
- "start": "dts watch",
21
- "build": "dts build --tsconfig tsconfig.build.json && yarn build:move-types",
22
- "build:move-types": "cp dist/index.d.ts dist/react.esm.d.ts",
23
- "test": "yarn jest",
23
+ "analyze": "size-limit --why",
24
+ "build:storybook": "yarn build:tailwind && storybook build",
25
+ "build:tailwind": "npx tailwindcss -i ./.storybook/globals.css -o ./.storybook/output.css",
26
+ "build": "npx tailwindcss -i ./.storybook/globals.css -o ./dist/styles.css --minify && tsup src/index.ts",
27
+ "dev:local": "tsup src/index.ts --watch",
28
+ "dev:tailwind": "npx tailwindcss -i ./.storybook/globals.css -o ./.storybook/output.css --watch",
29
+ "dev": "storybook dev",
24
30
  "lint": "eslint src",
25
31
  "size": "size-limit",
26
- "analyze": "size-limit --why",
27
- "storybook": "storybook dev -p 6006",
28
- "build-storybook": "storybook build"
32
+ "storybook": "yarn build:tailwind && CACHE_DIR=$PWD/.yarn/cache storybook dev -p 6006",
33
+ "test": "yarn jest"
29
34
  },
30
35
  "peerDependencies": {
31
- "@tanstack/react-query": "^4.23.0",
32
- "react": "^18.0.0",
33
- "react-dom": "^18.0.0"
36
+ "@tanstack/react-query": "^5.23.0",
37
+ "next-auth": "^4.24.7",
38
+ "react": "^19.0.0",
39
+ "react-dom": "^19.0.0"
34
40
  },
35
41
  "prettier": {
36
42
  "printWidth": 80,
@@ -62,16 +68,19 @@
62
68
  "@babel/preset-env": "^7.23.3",
63
69
  "@babel/preset-react": "^7.23.3",
64
70
  "@babel/preset-typescript": "^7.23.3",
71
+ "@chromatic-com/storybook": "^1.9.0",
65
72
  "@rollup/plugin-babel": "^6.0.4",
66
73
  "@size-limit/preset-small-lib": "^8.2.6",
67
74
  "@storybook/addon-essentials": "^8.0.0",
68
75
  "@storybook/addon-interactions": "^8.0.0",
69
76
  "@storybook/addon-links": "^8.0.0",
70
77
  "@storybook/addon-onboarding": "8.0.4",
78
+ "@storybook/addon-styling-webpack": "^1.0.0",
71
79
  "@storybook/addon-webpack5-compiler-babel": "^3.0.3",
80
+ "@storybook/addon-webpack5-compiler-swc": "^1.0.5",
72
81
  "@storybook/blocks": "^8.0.0",
73
82
  "@storybook/react": "^8.0.0",
74
- "@storybook/react-webpack5": "^8.0.0",
83
+ "@storybook/react-webpack5": "^8.3.4",
75
84
  "@storybook/test": "^8.0.0",
76
85
  "@storybook/theming": "^8.0.4",
77
86
  "@svgr/rollup": "^8.1.0",
@@ -79,11 +88,14 @@
79
88
  "@testing-library/jest-dom": "^5.17.0",
80
89
  "@testing-library/react": "^14.1.2",
81
90
  "@types/jest": "^29.5.9",
82
- "@types/react": "18.2.38",
83
- "@types/react-dom": "18.2.16",
91
+ "@types/react": "^19.0.0",
92
+ "@types/react-dom": "^19.0.0",
84
93
  "@typescript-eslint/parser": "^6.12.0",
94
+ "autoprefixer": "^10.4.20",
85
95
  "babel-jest": "29.7.0",
86
96
  "babel-loader": "^9.1.3",
97
+ "class-variance-authority": "^0.7.0",
98
+ "clsx": "^2.1.1",
87
99
  "dts-cli": "^2.0.3",
88
100
  "eslint": "^8.54.0",
89
101
  "eslint-config-prettier": "^9.0.0",
@@ -93,28 +105,36 @@
93
105
  "husky": "^8.0.3",
94
106
  "jest": "^29.7.0",
95
107
  "jest-environment-jsdom": "^29.7.0",
108
+ "postcss": "^8.4.47",
96
109
  "prop-types": "^15.8.1",
97
110
  "rollup-plugin-terser": "^7.0.2",
98
111
  "size-limit": "^8.2.6",
99
112
  "storybook": "^8.0.0",
113
+ "tailwind": "^4.0.0",
114
+ "tailwind-merge": "^2.5.2",
115
+ "tailwindcss": "^3.4.13",
116
+ "tailwindcss-animate": "^1.0.7",
100
117
  "ts-jest": "^29.1.1",
101
118
  "tslib": "^2.6.2",
102
- "typescript": "^5.3.2"
119
+ "tsup": "^8.3.0",
120
+ "typescript": "^5.3.2",
121
+ "zod": "^3.23.8"
103
122
  },
104
123
  "dependencies": {
105
- "@emotion/react": "^11.11.1",
106
- "@emotion/styled": "^11.11.0",
107
- "@mui/icons-material": "^5.14.18",
108
- "@mui/joy": "5.0.0-beta.15",
109
- "@mui/material": "5.14.18",
110
- "@mui/x-data-grid": "^7.0.0",
111
- "@niledatabase/browser": "^3.0.0-alpha.9",
112
- "@tanstack/react-query": "^4.36.1",
124
+ "@hookform/resolvers": "^3.9.0",
125
+ "@niledatabase/browser": "^3.0.0",
126
+ "@radix-ui/react-dialog": "^1.1.6",
127
+ "@radix-ui/react-dropdown-menu": "^2.1.6",
128
+ "@radix-ui/react-label": "^2.1.0",
129
+ "@radix-ui/react-slot": "^1.1.0",
130
+ "@radix-ui/react-tooltip": "^1.1.8",
131
+ "@tanstack/react-query": "^5.23.0",
132
+ "lucide-react": "^0.447.0",
113
133
  "next-auth": "^4.24.7",
114
- "react": "^18.2.0",
115
- "react-dom": "^18.2.0",
116
- "react-hook-form": "^7.48.2",
117
- "react-is": "^18.2.0"
134
+ "react": "^19.0.0",
135
+ "react-dom": "^19.0.0",
136
+ "react-hook-form": "^7.53.0",
137
+ "react-is": "^19.0.0"
118
138
  },
119
- "gitHead": "4e0e98d1edefe5d36992e1bb41e058dee954078c"
139
+ "gitHead": "d4f3db8bccdd064e69658b22d98bafa61b39c8e4"
120
140
  }
@@ -1,10 +0,0 @@
1
- import React from 'react';
2
- /**
3
- * A component for a Google login button, according to their design language.
4
- * This works when an identity provider is configured in the admin dashboard.
5
- * @param props href: a string to override the URL provided by the context
6
- * @returns a JSX.Element to render
7
- */
8
- export default function GoogleSSOButton(props: {
9
- callbackUrl?: string;
10
- }): React.JSX.Element;
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import GoogleLoginButton from './GoogleLoginButton';
3
- declare const meta: {
4
- title: string;
5
- component: typeof GoogleLoginButton;
6
- tags: string[];
7
- };
8
- export default meta;
9
- export declare function Basic(): React.JSX.Element;
10
- export declare function AlphaVersionWithOutProvider(): React.JSX.Element;
11
- export declare function AlphaVersionWithProvider(): React.JSX.Element;
@@ -1 +0,0 @@
1
- export { default } from './GoogleLoginButton';
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- import { Props } from './types';
3
- export default function SignInForm(props: Props): React.JSX.Element;
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import { Meta } from '@storybook/react';
3
- declare const meta: Meta;
4
- export default meta;
5
- export declare function Basic(): React.JSX.Element;
@@ -1 +0,0 @@
1
- export { default } from './SignInForm';
@@ -1,16 +0,0 @@
1
- import { Attribute } from '../lib/SimpleForm/types';
2
- export type AllowedAny = any;
3
- export type LoginInfo = {
4
- email: string;
5
- password: string;
6
- };
7
- type LoginSuccess = (response: AllowedAny, formValues: LoginInfo, ...args: AllowedAny) => void;
8
- export interface Props {
9
- beforeMutate?: (data: AllowedAny) => AllowedAny;
10
- onSuccess?: LoginSuccess;
11
- onError?: (error: Error, data: AllowedAny) => void;
12
- attributes?: Attribute[];
13
- disableSSO?: boolean;
14
- callbackUrl?: string;
15
- }
16
- export {};
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import { Meta } from '@storybook/react';
3
- declare const meta: Meta;
4
- export default meta;
5
- export declare function Basic(): React.JSX.Element;
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- import { Props } from './types';
3
- export default function SignUpForm(props: Props): React.JSX.Element;
@@ -1 +0,0 @@
1
- export { default } from './SignUpForm';
@@ -1,13 +0,0 @@
1
- import { CreateBasicUserRequest, User } from '@niledatabase/browser';
2
- import { Attribute } from '../lib/SimpleForm/types';
3
- export type SignUpInfo = CreateBasicUserRequest;
4
- type SignInSuccess = (response: void | User, formValues: SignUpInfo) => void;
5
- export type AllowedAny = any;
6
- export interface Props {
7
- onSuccess: SignInSuccess;
8
- onError?: (e: Error, info: SignUpInfo) => void;
9
- beforeMutate?: (data: AllowedAny) => AllowedAny;
10
- attributes?: Attribute[];
11
- buttonText?: string;
12
- }
13
- export {};
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- type Props = {
3
- allowCreation: boolean;
4
- buttonText: string;
5
- onUserCreateSuccess?: (user: any) => void;
6
- };
7
- export default function CreateUser(props: Props): React.JSX.Element | null;
8
- export {};
@@ -1,17 +0,0 @@
1
- import React from 'react';
2
- import { SxProps } from '@mui/system/styleFunctionSx/styleFunctionSx';
3
- import { Theme } from '@mui/system/createTheme';
4
- import { User } from '@niledatabase/browser';
5
- type ColumnNames = string;
6
- type Props = {
7
- data: void | User[];
8
- allowCreation?: boolean;
9
- buttonText?: string;
10
- onUserCreateSuccess?: (user: any) => void;
11
- slots?: {
12
- dataGrid?: SxProps<Theme>;
13
- };
14
- include?: ColumnNames[];
15
- };
16
- export default function UserList(props: Props): React.JSX.Element;
17
- export {};
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import { Meta } from '@storybook/react';
3
- declare const meta: Meta;
4
- export default meta;
5
- export declare function Basic(): React.JSX.Element;
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- export type UserFormProps = {
3
- open: boolean;
4
- setOpen: (open: boolean) => void;
5
- refetch?: (user: any) => void;
6
- };
7
- export default function AddUser(props: UserFormProps): React.JSX.Element;
@@ -1 +0,0 @@
1
- export { default } from './UserList';
@@ -1,4 +0,0 @@
1
- import { GridColDef, GridRowsProp } from '@mui/x-data-grid';
2
- import { User } from '@niledatabase/browser';
3
- export declare const internalRowId = "_nile_data_grid_identifier";
4
- export default function useDataParser(data: void | User[], include: string[]): [GridColDef[], GridRowsProp];
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- import Browser from '@niledatabase/browser';
3
- import { NileProviderProps, NileReactConfig } from './types';
4
- export declare const BaseQueryProvider: ({ children, }: {
5
- children: JSX.Element;
6
- }) => JSX.Element;
7
- export declare const NileProvider: (props: NileProviderProps) => React.JSX.Element;
8
- export declare const useNileConfig: () => NileReactConfig;
9
- export declare const useApi: () => Browser;
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import { Theme } from '@mui/joy/styles';
3
- export default function Themer({ theme, children, slotProps, }: {
4
- theme?: Theme;
5
- children: JSX.Element;
6
- slotProps?: Record<string, string>;
7
- }): React.JSX.Element;
@@ -1,22 +0,0 @@
1
- import Browser from '@niledatabase/browser';
2
- import { Theme } from '@mui/joy/styles';
3
- export interface NileReactConfig {
4
- tenantId?: string;
5
- apiUrl?: string;
6
- appUrl?: string;
7
- }
8
- export type NileContext = NileReactConfig & {
9
- api: Browser;
10
- theme?: Theme;
11
- };
12
- export type NileProviderProps = NileReactConfig & {
13
- children: JSX.Element | JSX.Element[];
14
- theme?: Theme;
15
- slotProps?: {
16
- provider?: Record<string, string>;
17
- };
18
- QueryProvider?: (props: {
19
- children: JSX.Element;
20
- }) => JSX.Element;
21
- api?: Browser;
22
- };
@@ -1,22 +0,0 @@
1
- import { GridColDef, GridRowsProp } from '@mui/x-data-grid';
2
- export declare const internalRowId = "_nile_data_grid_identifier";
3
- declare enum Commands {
4
- insert = "INSERT",
5
- update = "UPDATE",
6
- delete = "DELETE",
7
- create = "CREATE",
8
- drop = "DROP",
9
- alter = "ALTER"
10
- }
11
- type Any = any;
12
- type ResultSet = null | Record<string, never> | {
13
- command: Commands;
14
- rowCount: number;
15
- oid: number;
16
- rows: Any[];
17
- fields: Any[];
18
- RowCtor: null;
19
- rowAsArray: boolean;
20
- };
21
- export default function useResults(resultSet: null | ResultSet): [GridColDef[], GridRowsProp];
22
- export {};
@@ -1 +0,0 @@
1
- export default function useTextSizer(): CanvasRenderingContext2D | undefined;
@@ -1,10 +0,0 @@
1
- import * as React from 'react';
2
- import { Attribute, DisplayProps, Options } from '../types';
3
- type Props = {
4
- attribute: Attribute;
5
- display: DisplayProps;
6
- options: Options;
7
- helperText: string;
8
- };
9
- export default function CheckGroup(props: Props): React.JSX.Element;
10
- export {};
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import { Attribute } from './types';
3
- export declare const getAttributeDefault: (attribute: Attribute) => string | number | boolean | string[] | number[];
4
- export default function SimpleForm(props: {
5
- buttonText: string;
6
- cancelButton?: React.ReactNode;
7
- attributes: Attribute[];
8
- mutation: any;
9
- loading?: boolean;
10
- successMessage?: JSX.Element;
11
- }): React.JSX.Element;
@@ -1,37 +0,0 @@
1
- export declare enum AttributeType {
2
- Text = "text",
3
- Email = "email",
4
- Password = "password",
5
- Select = "select",
6
- Number = "number",
7
- Float = "float",
8
- Checkbox = "checkbox",
9
- Switch = "switch"
10
- }
11
- type SimplePrimitive = number | string | boolean;
12
- export type Options = {
13
- label: string;
14
- value?: SimplePrimitive;
15
- }[];
16
- export type Attribute = {
17
- name: string;
18
- type?: AttributeType;
19
- defaultValue?: SimplePrimitive;
20
- options?: Options;
21
- allowMultiple?: boolean;
22
- label?: string;
23
- required?: boolean;
24
- placeholder?: string;
25
- helpText?: string;
26
- disabled?: boolean;
27
- };
28
- export type DisplayProps = {
29
- key: string;
30
- id: string;
31
- label: string;
32
- placeholder: string;
33
- error?: boolean;
34
- color?: 'danger';
35
- disabled?: boolean;
36
- };
37
- export {};