@instantdb/components 0.0.1

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 (128) hide show
  1. package/.env +2 -0
  2. package/.turbo/turbo-build.log +18 -0
  3. package/README.md +78 -0
  4. package/app/App.css +38 -0
  5. package/app/App.tsx +61 -0
  6. package/app/index.css +18 -0
  7. package/app/main.tsx +10 -0
  8. package/dist/components/StyleMe.d.ts +15 -0
  9. package/dist/components/StyleMe.d.ts.map +1 -0
  10. package/dist/components/error-boundary.d.ts +17 -0
  11. package/dist/components/error-boundary.d.ts.map +1 -0
  12. package/dist/components/explorer/edit-namespace-dialog.d.ts +14 -0
  13. package/dist/components/explorer/edit-namespace-dialog.d.ts.map +1 -0
  14. package/dist/components/explorer/edit-row-dialog.d.ts +10 -0
  15. package/dist/components/explorer/edit-row-dialog.d.ts.map +1 -0
  16. package/dist/components/explorer/expandable-deleted-attr.d.ts +15 -0
  17. package/dist/components/explorer/expandable-deleted-attr.d.ts.map +1 -0
  18. package/dist/components/explorer/explorer-layout.d.ts +8 -0
  19. package/dist/components/explorer/explorer-layout.d.ts.map +1 -0
  20. package/dist/components/explorer/index.d.ts +44 -0
  21. package/dist/components/explorer/index.d.ts.map +1 -0
  22. package/dist/components/explorer/inner-explorer.d.ts +16 -0
  23. package/dist/components/explorer/inner-explorer.d.ts.map +1 -0
  24. package/dist/components/explorer/new-namespace-dialog.d.ts +10 -0
  25. package/dist/components/explorer/new-namespace-dialog.d.ts.map +1 -0
  26. package/dist/components/explorer/query-inspector.d.ts +11 -0
  27. package/dist/components/explorer/query-inspector.d.ts.map +1 -0
  28. package/dist/components/explorer/recently-deleted.d.ts +36 -0
  29. package/dist/components/explorer/recently-deleted.d.ts.map +1 -0
  30. package/dist/components/explorer/search-input.d.ts +9 -0
  31. package/dist/components/explorer/search-input.d.ts.map +1 -0
  32. package/dist/components/explorer/table-components.d.ts +16 -0
  33. package/dist/components/explorer/table-components.d.ts.map +1 -0
  34. package/dist/components/explorer/view-settings.d.ts +10 -0
  35. package/dist/components/explorer/view-settings.d.ts.map +1 -0
  36. package/dist/components/rosePineDawnTheme.d.ts +13 -0
  37. package/dist/components/rosePineDawnTheme.d.ts.map +1 -0
  38. package/dist/components/select.d.ts +16 -0
  39. package/dist/components/select.d.ts.map +1 -0
  40. package/dist/components/toast.d.ts +4 -0
  41. package/dist/components/toast.d.ts.map +1 -0
  42. package/dist/components/ui.d.ts +336 -0
  43. package/dist/components/ui.d.ts.map +1 -0
  44. package/dist/config.d.ts +14 -0
  45. package/dist/config.d.ts.map +1 -0
  46. package/dist/hooks/explorer.d.ts +29 -0
  47. package/dist/hooks/explorer.d.ts.map +1 -0
  48. package/dist/hooks/useAttrNotes.d.ts +10 -0
  49. package/dist/hooks/useAttrNotes.d.ts.map +1 -0
  50. package/dist/hooks/useClickOutside.d.ts +3 -0
  51. package/dist/hooks/useClickOutside.d.ts.map +1 -0
  52. package/dist/hooks/useColumnVisibility.d.ts +12 -0
  53. package/dist/hooks/useColumnVisibility.d.ts.map +1 -0
  54. package/dist/hooks/useEditBlobConstraints.d.ts +32 -0
  55. package/dist/hooks/useEditBlobConstraints.d.ts.map +1 -0
  56. package/dist/hooks/useExplorerHistory.d.ts +1 -0
  57. package/dist/hooks/useExplorerHistory.d.ts.map +1 -0
  58. package/dist/hooks/useIsOverflow.d.ts +6 -0
  59. package/dist/hooks/useIsOverflow.d.ts.map +1 -0
  60. package/dist/hooks/useLocalStorage.d.ts +2 -0
  61. package/dist/hooks/useLocalStorage.d.ts.map +1 -0
  62. package/dist/hooks/useMonacoJSONSchema.d.ts +3 -0
  63. package/dist/hooks/useMonacoJSONSchema.d.ts.map +1 -0
  64. package/dist/hooks/useStableDB.d.ts +7 -0
  65. package/dist/hooks/useStableDB.d.ts.map +1 -0
  66. package/dist/index.cjs +15 -0
  67. package/dist/index.d.ts +7 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +9270 -0
  70. package/dist/schema.d.ts +5 -0
  71. package/dist/schema.d.ts.map +1 -0
  72. package/dist/style.css +1 -0
  73. package/dist/types.d.ts +241 -0
  74. package/dist/types.d.ts.map +1 -0
  75. package/dist/utils/format.d.ts +2 -0
  76. package/dist/utils/format.d.ts.map +1 -0
  77. package/dist/utils/indexingJobs.d.ts +24 -0
  78. package/dist/utils/indexingJobs.d.ts.map +1 -0
  79. package/dist/utils/parsePermsJSON.d.ts +11 -0
  80. package/dist/utils/parsePermsJSON.d.ts.map +1 -0
  81. package/dist/utils/renames.d.ts +3 -0
  82. package/dist/utils/renames.d.ts.map +1 -0
  83. package/dist/utils/tableWidthSize.d.ts +9 -0
  84. package/dist/utils/tableWidthSize.d.ts.map +1 -0
  85. package/index.html +13 -0
  86. package/package.json +109 -0
  87. package/src/components/StyleMe.tsx +97 -0
  88. package/src/components/error-boundary.tsx +76 -0
  89. package/src/components/explorer/edit-namespace-dialog.tsx +1886 -0
  90. package/src/components/explorer/edit-row-dialog.tsx +1151 -0
  91. package/src/components/explorer/expandable-deleted-attr.tsx +170 -0
  92. package/src/components/explorer/explorer-layout.tsx +156 -0
  93. package/src/components/explorer/index.tsx +217 -0
  94. package/src/components/explorer/inner-explorer.tsx +1341 -0
  95. package/src/components/explorer/new-namespace-dialog.tsx +54 -0
  96. package/src/components/explorer/query-inspector.tsx +394 -0
  97. package/src/components/explorer/recently-deleted.tsx +344 -0
  98. package/src/components/explorer/search-input.tsx +358 -0
  99. package/src/components/explorer/table-components.tsx +341 -0
  100. package/src/components/explorer/view-settings.tsx +75 -0
  101. package/src/components/rosePineDawnTheme.ts +45 -0
  102. package/src/components/select.tsx +198 -0
  103. package/src/components/toast.tsx +18 -0
  104. package/src/components/ui.tsx +1561 -0
  105. package/src/config.ts +61 -0
  106. package/src/hooks/explorer.tsx +125 -0
  107. package/src/hooks/useAttrNotes.ts +27 -0
  108. package/src/hooks/useClickOutside.ts +23 -0
  109. package/src/hooks/useColumnVisibility.ts +39 -0
  110. package/src/hooks/useEditBlobConstraints.ts +185 -0
  111. package/src/hooks/useExplorerHistory.ts +0 -0
  112. package/src/hooks/useIsOverflow.ts +24 -0
  113. package/src/hooks/useLocalStorage.ts +51 -0
  114. package/src/hooks/useMonacoJSONSchema.ts +41 -0
  115. package/src/hooks/useStableDB.ts +30 -0
  116. package/src/index.tsx +8 -0
  117. package/src/schema.ts +285 -0
  118. package/src/style.css +5 -0
  119. package/src/types.ts +359 -0
  120. package/src/utils/format.ts +13 -0
  121. package/src/utils/indexingJobs.ts +126 -0
  122. package/src/utils/parsePermsJSON.ts +35 -0
  123. package/src/utils/renames.ts +42 -0
  124. package/src/utils/tableWidthSize.ts +62 -0
  125. package/tailwind.config.cjs +42 -0
  126. package/tsconfig.json +22 -0
  127. package/vite-env.d.ts +1 -0
  128. package/vite.config.ts +49 -0
@@ -0,0 +1,5 @@
1
+ import { DBAttr, SchemaNamespace } from './types';
2
+ import { InstantAPIPlatformSchema } from '@instantdb/platform';
3
+ export declare function dbAttrsToExplorerSchema(rawAttrs: Record<string, DBAttr>): SchemaNamespace[];
4
+ export declare function attrsToSchema(attrs: DBAttr[]): InstantAPIPlatformSchema;
5
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,eAAe,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAY/D,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,eAAe,EAAE,CA0GnB;AAgGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAkEvE"}
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-amber-500:oklch(76.9% .188 70.08);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-slate-100:oklch(96.8% .007 247.896);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-xs:4px;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}[type=text],input:where(:not([type])),[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{appearance:none;--tw-shadow:0 0 #0000;background-color:#fff;border-width:1px;border-color:#6a7282;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}:is([type=text],input:where(:not([type])),[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select):focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:oklch(54.6% .245 262.881);--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(1px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#155dfc;outline:2px solid #0000}input::placeholder,textarea::placeholder{color:#6a7282;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-date-and-time-value{text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-month-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-day-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-hour-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-minute-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-second-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-millisecond-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{print-color-adjust:exact;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='oklch(55.1%25 0.027 264.364)' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}[multiple],[size]:where(select:not([size="1"])){background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;print-color-adjust:unset;padding-right:.75rem}[type=checkbox],[type=radio]{appearance:none;print-color-adjust:exact;vertical-align:middle;-webkit-user-select:none;user-select:none;color:#155dfc;--tw-shadow:0 0 #0000;background-color:#fff;background-origin:border-box;border-width:1px;border-color:#6a7282;flex-shrink:0;width:1rem;height:1rem;padding:0;display:inline-block}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:oklch(54.6% .245 262.881);--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);outline:2px solid #0000}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors:active){[type=checkbox]:checked{appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors:active){[type=radio]:checked{appearance:auto}}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{background-color:currentColor;border-color:#0000}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}@media (forced-colors:active){[type=checkbox]:indeterminate{appearance:auto}}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{background-color:currentColor;border-color:#0000}[type=file]{background:unset;border-color:inherit;font-size:unset;line-height:inherit;border-width:0;border-radius:0;padding:0}[type=file]:focus{outline:1px solid buttontext;outline:1px auto -webkit-focus-ring-color}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.top-\[18px\]{top:18px}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-\[50\%\]{left:50%}.z-0{z-index:0}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-100{z-index:100}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.mr-0\.5{margin-right:calc(var(--spacing)*.5)}.mr-4{margin-right:calc(var(--spacing)*4)}.mr-8{margin-right:calc(var(--spacing)*8)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.-ml-0\.5{margin-left:calc(var(--spacing)*-.5)}.ml-4{margin-left:calc(var(--spacing)*4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.h-\(--radix-select-trigger-height\){height:var(--radix-select-trigger-height)}.h-1{height:calc(var(--spacing)*1)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-12{height:calc(var(--spacing)*12)}.h-32{height:calc(var(--spacing)*32)}.h-64{height:calc(var(--spacing)*64)}.h-\[1\.15rem\]{height:1.15rem}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[25vh\]{max-height:25vh}.max-h-\[calc\(100\%-2rem\)\]{max-height:calc(100% - 2rem)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[30vh\]{min-height:30vh}.min-h-\[34px\]{min-height:34px}.min-h-full{min-height:100%}.w-\(--input-width\){width:var(--input-width)}.w-0\.5{width:calc(var(--spacing)*.5)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-12{width:calc(var(--spacing)*12)}.w-24{width:calc(var(--spacing)*24)}.w-48{width:calc(var(--spacing)*48)}.w-\[30px\]{width:30px}.w-\[62px\]{width:62px}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[67vw\]{max-width:67vw}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-fit{max-width:fit-content}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-\(--radix-select-trigger-width\){min-width:var(--radix-select-trigger-width)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-32{min-width:calc(var(--spacing)*32)}.min-w-48{min-width:calc(var(--spacing)*48)}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0\.5{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-rotate-45{rotate:-45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.resize{resize:both}.resize-none{resize:none}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-1{column-gap:calc(var(--spacing)*1)}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-visible{overflow:visible}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\[\#606AF4\]{border-color:#606af4}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-300\/80{border-color:#d1d5dccc}@supports (color:color-mix(in lab,red,red)){.border-gray-300\/80{border-color:color-mix(in oklab,var(--color-gray-300)80%,transparent)}}.border-gray-500{border-color:var(--color-gray-500)}.border-neutral-200{border-color:var(--color-neutral-200)}.border-neutral-300{border-color:var(--color-neutral-300)}.border-red-200{border-color:var(--color-red-200)}.border-red-500{border-color:var(--color-red-500)}.border-transparent{border-color:#0000}.border-r-gray-200{border-right-color:var(--color-gray-200)}.border-b-gray-200{border-bottom-color:var(--color-gray-200)}.border-l-red-500{border-left-color:var(--color-red-500)}.bg-\[\#606AF4\]{background-color:#606af4}.bg-\[\#616AF4\]{background-color:#616af4}.bg-\[\#4543e9\]{background-color:#4543e9}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-neutral-200{background-color:var(--color-neutral-200)}.bg-neutral-300{background-color:var(--color-neutral-300)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-600{background-color:var(--color-orange-600)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-200{background-color:var(--color-red-200)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-linear-to-l{--tw-gradient-position:to left}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-l{--tw-gradient-position:to left in oklab}}.bg-linear-to-l{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-none{background-image:none}.from-black\/10{--tw-gradient-from:#0000001a}@supports (color:color-mix(in lab,red,red)){.from-black\/10{--tw-gradient-from:color-mix(in oklab,var(--color-black)10%,transparent)}}.from-black\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-black\/20{--tw-gradient-from:#0003}@supports (color:color-mix(in lab,red,red)){.from-black\/20{--tw-gradient-from:color-mix(in oklab,var(--color-black)20%,transparent)}}.from-black\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-black\/0{--tw-gradient-via:#0000}@supports (color:color-mix(in lab,red,red)){.via-black\/0{--tw-gradient-via:color-mix(in oklab,var(--color-black)0%,transparent)}}.via-black\/0{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-black\/5{--tw-gradient-via:#0000000d}@supports (color:color-mix(in lab,red,red)){.via-black\/5{--tw-gradient-via:color-mix(in oklab,var(--color-black)5%,transparent)}}.via-black\/5{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.pt-1\.5{padding-top:calc(var(--spacing)*1.5)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-5{padding-right:calc(var(--spacing)*5)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-24{padding-left:calc(var(--spacing)*24)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-balance{text-wrap:balance}.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#606AF4\]{color:#606af4}.text-\[\#2563EB\]{color:#2563eb}.text-blue-800{color:var(--color-blue-800)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-700{color:var(--color-neutral-700)}.text-neutral-950{color:var(--color-neutral-950)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xs{--tw-shadow:0 1px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\[\#606AF4\]{--tw-ring-color:#606af4}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.blur{--tw-blur:blur(8px);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,)}.blur-sm{--tw-blur:blur(var(--blur-sm));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,)}.filter{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,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.content-\[hi\]{--tw-content:hi;content:var(--tw-content)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:text-amber-500:is(:where(.group):hover *){color:var(--color-amber-500)}.group-hover\:opacity-70:is(:where(.group):hover *){opacity:.7}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.file\:rounded-xs::file-selector-button{border-radius:var(--radius-xs)}.file\:border-none::file-selector-button{--tw-border-style:none;border-style:none}.file\:border-neutral-200::file-selector-button{border-color:var(--color-neutral-200)}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:p-2::file-selector-button{padding:calc(var(--spacing)*2)}.file\:pt-1::file-selector-button{padding-top:calc(var(--spacing)*1)}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:shadow-none::file-selector-button{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.placeholder\:text-gray-400::placeholder{color:var(--color-gray-400)}.placeholder\:text-neutral-500::placeholder{color:var(--color-neutral-500)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.empty\:invisible:empty{visibility:hidden}.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-blue-700:focus-within{--tw-ring-color:var(--color-blue-700)}@media (hover:hover){.hover\:cursor-col-resize:hover{cursor:col-resize}.hover\:cursor-grab:hover{cursor:grab}.hover\:border-red-300:hover{border-color:var(--color-red-300)}.hover\:bg-\[\#4543E9\]:hover,.hover\:bg-\[\#4543e9\]:hover{background-color:#4543e9}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-50\/30:hover{background-color:#f9fafb4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gray-50\/30:hover{background-color:color-mix(in oklab,var(--color-gray-50)30%,transparent)}}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-200\/30:hover{background-color:#e5e7eb4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gray-200\/30:hover{background-color:color-mix(in oklab,var(--color-gray-200)30%,transparent)}}.hover\:bg-gray-200\/50:hover{background-color:#e5e7eb80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gray-200\/50:hover{background-color:color-mix(in oklab,var(--color-gray-200)50%,transparent)}}.hover\:bg-neutral-100:hover{background-color:var(--color-neutral-100)}.hover\:bg-neutral-300:hover{background-color:var(--color-neutral-300)}.hover\:bg-orange-500:hover{background-color:var(--color-orange-500)}.hover\:text-black:hover{color:var(--color-black)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-slate-100:hover{color:var(--color-slate-100)}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-neutral-100:focus{background-color:var(--color-neutral-100)}.focus\:text-neutral-900:focus{color:var(--color-neutral-900)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[\#606AF4\]:focus{--tw-ring-color:#606af4}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-neutral-950:focus-visible{--tw-ring-color:var(--color-neutral-950)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.active\:cursor-grabbing:active{cursor:grabbing}@media (hover:hover){.hover\:enabled\:border-red-300:hover:enabled{border-color:var(--color-red-300)}.hover\:enabled\:bg-\[\#4543e9\]:hover:enabled{background-color:#4543e9}.hover\:enabled\:bg-gray-50\/30:hover:enabled{background-color:#f9fafb4d}@supports (color:color-mix(in lab,red,red)){.hover\:enabled\:bg-gray-50\/30:hover:enabled{background-color:color-mix(in oklab,var(--color-gray-50)30%,transparent)}}.hover\:enabled\:bg-gray-200\/30:hover:enabled{background-color:#e5e7eb4d}@supports (color:color-mix(in lab,red,red)){.hover\:enabled\:bg-gray-200\/30:hover:enabled{background-color:color-mix(in oklab,var(--color-gray-200)30%,transparent)}}.hover\:enabled\:bg-orange-500:hover:enabled{background-color:var(--color-orange-500)}.hover\:enabled\:text-gray-600:hover:enabled{color:var(--color-gray-600)}.hover\:enabled\:text-red-600:hover:enabled{color:var(--color-red-600)}.hover\:enabled\:text-slate-100:hover:enabled{color:var(--color-slate-100)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-gray-300:disabled{border-color:var(--color-gray-300)}.disabled\:border-red-50:disabled{border-color:var(--color-red-50)}.disabled\:bg-\[\#9197f3\]:disabled{background-color:#9197f3}.disabled\:bg-gray-200:disabled{background-color:var(--color-gray-200)}.disabled\:text-gray-400:disabled{color:var(--color-gray-400)}.disabled\:text-red-300:disabled{color:var(--color-red-300)}.disabled\:opacity-20:disabled{opacity:.2}.disabled\:opacity-50:disabled{opacity:.5}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-focus\:bg-blue-100[data-focus]{background-color:var(--color-blue-100)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x: calc(100% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:bg-neutral-800[data-state=checked]{background-color:var(--color-neutral-800)}.data-\[state\=checked\]\:bg-white[data-state=checked]{background-color:var(--color-white)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-neutral-300[data-state=unchecked]{background-color:var(--color-neutral-300)}@media (min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}}@media (min-width:48rem){.md\:static{position:static}.md\:flex{display:flex}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-start{justify-content:flex-start}.md\:gap-2{gap:calc(var(--spacing)*2)}.md\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.md\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}:where(.dark\:divide-neutral-700:where(.dark,.dark *)>:not(:last-child)){border-color:var(--color-neutral-700)}.dark\:border:where(.dark,.dark *){border-style:var(--tw-border-style);border-width:1px}.dark\:border-neutral-500:where(.dark,.dark *){border-color:var(--color-neutral-500)}.dark\:border-neutral-600:where(.dark,.dark *){border-color:var(--color-neutral-600)}.dark\:border-neutral-700:where(.dark,.dark *){border-color:var(--color-neutral-700)}.dark\:border-neutral-800:where(.dark,.dark *){border-color:var(--color-neutral-800)}.dark\:border-red-900\/60:where(.dark,.dark *){border-color:#82181a99}@supports (color:color-mix(in lab,red,red)){.dark\:border-red-900\/60:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-red-900)60%,transparent)}}.dark\:border-y-neutral-700:where(.dark,.dark *){border-block-color:var(--color-neutral-700)}.dark\:border-y-neutral-800:where(.dark,.dark *){border-block-color:var(--color-neutral-800)}.dark\:border-t-neutral-700:where(.dark,.dark *){border-top-color:var(--color-neutral-700)}.dark\:border-r-neutral-700:where(.dark,.dark *){border-right-color:var(--color-neutral-700)}.dark\:border-b-neutral-600:where(.dark,.dark *){border-bottom-color:var(--color-neutral-600)}.dark\:border-b-neutral-700:where(.dark,.dark *){border-bottom-color:var(--color-neutral-700)}.dark\:border-l-neutral-700:where(.dark,.dark *){border-left-color:var(--color-neutral-700)}.dark\:bg-\[\#606AF4\]:where(.dark,.dark *){background-color:#606af4}.dark\:bg-\[\#252525\]:where(.dark,.dark *){background-color:#252525}.dark\:bg-\[\#303030\]:where(.dark,.dark *){background-color:#303030}.dark\:bg-blue-700\/30:where(.dark,.dark *){background-color:#1447e64d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-700\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-blue-700)30%,transparent)}}.dark\:bg-neutral-200:where(.dark,.dark *){background-color:var(--color-neutral-200)}.dark\:bg-neutral-600\/20:where(.dark,.dark *){background-color:#52525233}@supports (color:color-mix(in lab,red,red)){.dark\:bg-neutral-600\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-neutral-600)20%,transparent)}}.dark\:bg-neutral-600\/40:where(.dark,.dark *){background-color:#52525266}@supports (color:color-mix(in lab,red,red)){.dark\:bg-neutral-600\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-neutral-600)40%,transparent)}}.dark\:bg-neutral-600\/50:where(.dark,.dark *){background-color:#52525280}@supports (color:color-mix(in lab,red,red)){.dark\:bg-neutral-600\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-neutral-600)50%,transparent)}}.dark\:bg-neutral-700:where(.dark,.dark *){background-color:var(--color-neutral-700)}.dark\:bg-neutral-700\/50:where(.dark,.dark *){background-color:#40404080}@supports (color:color-mix(in lab,red,red)){.dark\:bg-neutral-700\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-neutral-700)50%,transparent)}}.dark\:bg-neutral-800:where(.dark,.dark *){background-color:var(--color-neutral-800)}.dark\:bg-neutral-900:where(.dark,.dark *){background-color:var(--color-neutral-900)}.dark\:bg-neutral-900\/50:where(.dark,.dark *){background-color:#17171780}@supports (color:color-mix(in lab,red,red)){.dark\:bg-neutral-900\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-neutral-900)50%,transparent)}}.dark\:bg-orange-600:where(.dark,.dark *){background-color:var(--color-orange-600)}.dark\:bg-red-500\/10:where(.dark,.dark *){background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-500\/10:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.dark\:bg-red-900\/30:where(.dark,.dark *){background-color:#82181a4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-900\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-900)30%,transparent)}}.dark\:bg-transparent:where(.dark,.dark *){background-color:#0000}.dark\:text-blue-100:where(.dark,.dark *){color:var(--color-blue-100)}.dark\:text-neutral-50:where(.dark,.dark *){color:var(--color-neutral-50)}.dark\:text-neutral-200:where(.dark,.dark *){color:var(--color-neutral-200)}.dark\:text-neutral-300:where(.dark,.dark *){color:var(--color-neutral-300)}.dark\:text-neutral-400:where(.dark,.dark *){color:var(--color-neutral-400)}.dark\:text-neutral-500:where(.dark,.dark *){color:var(--color-neutral-500)}.dark\:text-neutral-600:where(.dark,.dark *){color:var(--color-neutral-600)}.dark\:text-red-400:where(.dark,.dark *){color:var(--color-red-400)}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\:ring-neutral-500:where(.dark,.dark *){--tw-ring-color:var(--color-neutral-500)}.dark\:ring-neutral-600:where(.dark,.dark *){--tw-ring-color:var(--color-neutral-600)}.dark\:ring-neutral-700:where(.dark,.dark *){--tw-ring-color:var(--color-neutral-700)}.dark\:file\:border-neutral-700:where(.dark,.dark *)::file-selector-button{border-color:var(--color-neutral-700)}.dark\:file\:text-white:where(.dark,.dark *)::file-selector-button{color:var(--color-white)}.dark\:placeholder\:text-neutral-400:where(.dark,.dark *)::placeholder{color:var(--color-neutral-400)}.dark\:placeholder\:text-neutral-500:where(.dark,.dark *)::placeholder{color:var(--color-neutral-500)}.dark\:checked\:border-\[\#2563EB\]:where(.dark,.dark *):checked{border-color:#2563eb}.dark\:checked\:bg-\[\#2563EB\]:where(.dark,.dark *):checked{background-color:#2563eb}.dark\:focus-within\:ring-blue-500:where(.dark,.dark *):focus-within{--tw-ring-color:var(--color-blue-500)}@media (hover:hover){.dark\:hover\:border-red-800:where(.dark,.dark *):hover{border-color:var(--color-red-800)}.dark\:hover\:bg-\[\#4543e9\]:where(.dark,.dark *):hover{background-color:#4543e9}.dark\:hover\:bg-neutral-700:where(.dark,.dark *):hover{background-color:var(--color-neutral-700)}.dark\:hover\:bg-neutral-700\/30:where(.dark,.dark *):hover{background-color:#4040404d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-neutral-700\/30:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-neutral-700)30%,transparent)}}.dark\:hover\:bg-neutral-700\/50:where(.dark,.dark *):hover{background-color:#40404080}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-neutral-700\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-neutral-700)50%,transparent)}}.dark\:hover\:bg-neutral-700\/80:where(.dark,.dark *):hover{background-color:#404040cc}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-neutral-700\/80:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-neutral-700)80%,transparent)}}.dark\:hover\:bg-neutral-800:where(.dark,.dark *):hover{background-color:var(--color-neutral-800)}.dark\:hover\:bg-orange-500:where(.dark,.dark *):hover{background-color:var(--color-orange-500)}.dark\:hover\:text-neutral-100:where(.dark,.dark *):hover{color:var(--color-neutral-100)}.dark\:hover\:text-neutral-300:where(.dark,.dark *):hover{color:var(--color-neutral-300)}.dark\:hover\:text-white:where(.dark,.dark *):hover{color:var(--color-white)}}.dark\:focus\:bg-neutral-700:where(.dark,.dark *):focus{background-color:var(--color-neutral-700)}.dark\:focus\:text-neutral-50:where(.dark,.dark *):focus{color:var(--color-neutral-50)}.dark\:focus-visible\:ring-neutral-400:where(.dark,.dark *):focus-visible{--tw-ring-color:var(--color-neutral-400)}@media (hover:hover){.dark\:hover\:enabled\:border-red-800:where(.dark,.dark *):hover:enabled{border-color:var(--color-red-800)}.dark\:hover\:enabled\:bg-\[\#4543e9\]:where(.dark,.dark *):hover:enabled{background-color:#4543e9}.dark\:hover\:enabled\:bg-neutral-700\/30:where(.dark,.dark *):hover:enabled{background-color:#4040404d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:enabled\:bg-neutral-700\/30:where(.dark,.dark *):hover:enabled{background-color:color-mix(in oklab,var(--color-neutral-700)30%,transparent)}}.dark\:hover\:enabled\:bg-orange-500:where(.dark,.dark *):hover:enabled{background-color:var(--color-orange-500)}.dark\:hover\:enabled\:text-neutral-100:where(.dark,.dark *):hover:enabled{color:var(--color-neutral-100)}.dark\:hover\:enabled\:text-neutral-300:where(.dark,.dark *):hover:enabled{color:var(--color-neutral-300)}.dark\:hover\:enabled\:text-red-500:where(.dark,.dark *):hover:enabled{color:var(--color-red-500)}}.dark\:disabled\:border-neutral-400:where(.dark,.dark *):disabled{border-color:var(--color-neutral-400)}.dark\:disabled\:border-red-950:where(.dark,.dark *):disabled{border-color:var(--color-red-950)}.dark\:disabled\:bg-\[\#9197f3\]:where(.dark,.dark *):disabled{background-color:#9197f3}.dark\:disabled\:text-neutral-600:where(.dark,.dark *):disabled{color:var(--color-neutral-600)}.dark\:disabled\:text-neutral-700:where(.dark,.dark *):disabled{color:var(--color-neutral-700)}.dark\:disabled\:text-red-800:where(.dark,.dark *):disabled{color:var(--color-red-800)}.dark\:disabled\:opacity-40:where(.dark,.dark *):disabled{opacity:.4}.dark\:disabled\:opacity-50:where(.dark,.dark *):disabled{opacity:.5}.dark\:data-focus\:bg-neutral-700:where(.dark,.dark *)[data-focus]{background-color:var(--color-neutral-700)}.dark\:data-\[state\=checked\]\:border-transparent:where(.dark,.dark *)[data-state=checked]{border-color:#0000}.dark\:data-\[state\=checked\]\:bg-neutral-600:where(.dark,.dark *)[data-state=checked]{background-color:var(--color-neutral-600)}.dark\:data-\[state\=checked\]\:bg-white:where(.dark,.dark *)[data-state=checked]{background-color:var(--color-white)}.dark\:data-\[state\=unchecked\]\:bg-neutral-200:where(.dark,.dark *)[data-state=unchecked]{background-color:var(--color-neutral-200)}.dark\:data-\[state\=unchecked\]\:bg-neutral-700:where(.dark,.dark *)[data-state=unchecked]{background-color:var(--color-neutral-700)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
@@ -0,0 +1,241 @@
1
+ import { InstantIssue } from '@instantdb/core';
2
+ export type RelationshipKinds = `many-many` | 'one-one' | 'one-many' | 'many-one';
3
+ export declare const relationshipConstraints: Record<RelationshipKinds, {
4
+ cardinality: 'one' | 'many';
5
+ 'unique?': boolean;
6
+ }>;
7
+ export declare const relationshipConstraintsInverse: Record<string, RelationshipKinds>;
8
+ export type InstantApp = {
9
+ id: string;
10
+ pro: boolean;
11
+ title: string;
12
+ created_at: string;
13
+ admin_token: string;
14
+ rules: object | null;
15
+ user_app_role: 'owner' | 'admin' | 'collaborator';
16
+ members: InstantMember[] | null;
17
+ invites: InstantAppInvite | null;
18
+ magic_code_email_template: {
19
+ id: string;
20
+ name: string;
21
+ email?: string;
22
+ body: string;
23
+ subject: string;
24
+ } | null;
25
+ org: {
26
+ id: string;
27
+ title: string;
28
+ } | null;
29
+ };
30
+ export type InstantMember = {
31
+ id: string;
32
+ email: string;
33
+ role: 'admin' | 'collaborator';
34
+ };
35
+ type InstantMemberInvite = {
36
+ id: string;
37
+ type: 'app' | 'org';
38
+ foreign_key: string;
39
+ title: string;
40
+ invitee_role: 'admin' | 'collaborator' | 'owner';
41
+ inviter_email: string;
42
+ };
43
+ export type InstantAppInvite = {
44
+ id: string;
45
+ email: string;
46
+ status: 'pending' | 'accepted' | 'revoked';
47
+ role: 'admin' | 'collaborator';
48
+ sent_at: string;
49
+ expired: boolean;
50
+ }[];
51
+ export type InstantIndexingJobInvalidTriple = {
52
+ entity_id: string;
53
+ value: any;
54
+ json_type: 'string' | 'number' | 'boolean' | 'null' | 'object' | 'array' | 'date';
55
+ };
56
+ export type InstantIndexingJob = {
57
+ id: string;
58
+ app_id: string;
59
+ attr_id: string;
60
+ job_type: 'remove-data-type' | 'check-data-type' | 'index' | 'remove-index' | 'unique' | 'remove-unique' | 'required' | 'remove-required' | string;
61
+ job_status: 'completed' | 'waiting' | 'processing' | 'errored' | string;
62
+ job_stage: string;
63
+ work_estimate: number | null | undefined;
64
+ work_completed: number | null | undefined;
65
+ error: 'invalid-triple-error' | 'invalid-attr-state-error' | 'triple-not-unique-error' | 'triple-too-large-error' | 'missing-required-error' | 'unexpected-error' | string | null | undefined;
66
+ error_data?: {
67
+ count: number;
68
+ 'entity-ids': number[];
69
+ };
70
+ checked_data_type: CheckedDataType | null | undefined;
71
+ created_at: string;
72
+ updated_at: string;
73
+ done_at: string;
74
+ invalid_unique_value: any;
75
+ invalid_triples_sample: InstantIndexingJobInvalidTriple[] | null | undefined;
76
+ };
77
+ export type OrgSummary = {
78
+ id: string;
79
+ title: string;
80
+ created_at: string;
81
+ role: 'owner' | 'admin' | 'collaborator' | 'app-member';
82
+ paid: boolean;
83
+ };
84
+ export type DashResponse = {
85
+ apps: InstantApp[];
86
+ invites?: InstantMemberInvite[];
87
+ user: {
88
+ email: string;
89
+ id: string;
90
+ };
91
+ orgs?: OrgSummary[];
92
+ };
93
+ export type AppError = {
94
+ body: {
95
+ message: string;
96
+ } | undefined;
97
+ };
98
+ export type AuthorizedOriginService = 'generic' | 'vercel' | 'netlify' | 'custom-scheme';
99
+ export type AuthorizedOrigin = {
100
+ id: string;
101
+ service: AuthorizedOriginService;
102
+ params: string[];
103
+ };
104
+ export type OAuthServiceProvider = {
105
+ id: string;
106
+ provider_name: string;
107
+ };
108
+ export type OAuthClient = {
109
+ id: string;
110
+ client_name: string;
111
+ client_id?: string;
112
+ provider_id: string;
113
+ authorization_endpoint?: string;
114
+ token_endpoint?: string;
115
+ discovery_endpoint?: string;
116
+ meta?: any;
117
+ };
118
+ export type AppsAuthResponse = {
119
+ authorized_redirect_origins: AuthorizedOrigin[] | null | undefined;
120
+ oauth_service_providers: OAuthServiceProvider[] | null | undefined;
121
+ oauth_clients: OAuthClient[] | null | undefined;
122
+ };
123
+ export type SubscriptionName = 'Free' | 'Pro';
124
+ export type AppsSubscriptionResponse = {
125
+ 'subscription-name': SubscriptionName;
126
+ 'total-app-bytes': number;
127
+ 'total-storage-bytes': number;
128
+ };
129
+ export type DBIdent = [string, string, string] | [string, string, string, boolean];
130
+ export type CheckedDataType = 'string' | 'number' | 'boolean' | 'date';
131
+ export interface DBAttr {
132
+ id: string;
133
+ 'forward-identity': DBIdent;
134
+ 'reverse-identity'?: DBIdent;
135
+ 'index?': boolean;
136
+ 'unique?': boolean;
137
+ 'required?'?: boolean;
138
+ 'primary?'?: boolean | undefined;
139
+ cardinality: 'one' | 'many';
140
+ 'value-type': 'ref' | 'blob';
141
+ 'inferred-types'?: Array<'string' | 'number' | 'boolean' | 'json'>;
142
+ catalog?: 'user' | 'system';
143
+ 'checked-data-type'?: CheckedDataType;
144
+ 'on-delete'?: 'cascade';
145
+ 'on-delete-reverse'?: 'cascade';
146
+ metadata?: any;
147
+ }
148
+ export interface SchemaNamespace {
149
+ id: string;
150
+ name: string;
151
+ attrs: SchemaAttr[];
152
+ }
153
+ export interface SchemaNamespaceMap {
154
+ id: string;
155
+ name: string;
156
+ attrs: Record<string, SchemaAttr>;
157
+ }
158
+ export interface SchemaAttr {
159
+ id: string;
160
+ isForward: boolean;
161
+ namespace: string;
162
+ name: string;
163
+ type: 'ref' | 'blob';
164
+ isIndex: boolean;
165
+ isUniq: boolean;
166
+ isRequired?: boolean;
167
+ isPrimary?: boolean | undefined;
168
+ cardinality: 'one' | 'many';
169
+ linkConfig: {
170
+ forward: {
171
+ id: string;
172
+ namespace: string;
173
+ attr: string;
174
+ nsMap: SchemaNamespaceMap;
175
+ };
176
+ reverse: {
177
+ id: string;
178
+ namespace: string;
179
+ attr: string;
180
+ nsMap: SchemaNamespaceMap;
181
+ } | undefined;
182
+ };
183
+ inferredTypes?: Array<'string' | 'number' | 'boolean' | 'json'>;
184
+ catalog?: 'user' | 'system';
185
+ checkedDataType?: CheckedDataType;
186
+ sortable: boolean;
187
+ onDelete?: 'cascade';
188
+ onDeleteReverse?: 'cascade';
189
+ }
190
+ export type OAuthAppClientSecret = {
191
+ id: string;
192
+ clientId: string;
193
+ firstFour: string;
194
+ createdAt: string;
195
+ };
196
+ export type OAuthAppClient = {
197
+ clientId: string;
198
+ oauthAppId: string;
199
+ clientName: string;
200
+ authorizedRedirectUrls: string[] | null;
201
+ clientSecrets: OAuthAppClientSecret[] | null;
202
+ createdAt: string;
203
+ updatedAt: string;
204
+ };
205
+ export type OAuthApp = {
206
+ id: string;
207
+ appId: string;
208
+ appName: string;
209
+ grantedScopes: string[];
210
+ isPublic: boolean;
211
+ supportEmail: string | null;
212
+ appHomePage: string | null;
213
+ appPrivacyPolicyLink: string | null;
214
+ appTosLink: string | null;
215
+ appLogo: string | null;
216
+ clients: OAuthAppClient[] | null;
217
+ createdAt: string;
218
+ updatedAt: string;
219
+ };
220
+ export type OAuthAppsResponse = {
221
+ apps: OAuthApp[];
222
+ };
223
+ export { type InstantIssue };
224
+ export type HasDefault<T> = {
225
+ user: T | undefined;
226
+ parsed: T;
227
+ };
228
+ export type WithOptional<O extends object> = Expand<{
229
+ [K in keyof O as O[K] extends HasDefault<any> ? never : K]: O[K];
230
+ } & {
231
+ [K in keyof O as O[K] extends HasDefault<any> ? K : never]?: O[K] extends HasDefault<infer B> ? B : never;
232
+ }>;
233
+ export type BuiltIn = Date | Function | Error | RegExp;
234
+ export type Primitive = string | number | boolean | symbol | null | undefined;
235
+ export type Expand<T> = T extends BuiltIn | Primitive ? T : T extends object ? T extends infer O ? {
236
+ [K in keyof O]: Expand<O[K]>;
237
+ } : never : T;
238
+ export type WithDefaults<O extends Object> = Expand<{
239
+ [K in keyof O]: O[K] extends HasDefault<infer B> ? B : O[K];
240
+ }>;
241
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function formatBytes(bytes: number): string;
2
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,UAYxC"}
@@ -0,0 +1,24 @@
1
+ import { CheckedDataType, InstantIndexingJob } from '../types';
2
+ export declare function createJob({ appId, attrId, jobType, checkedDataType, apiURI, }: {
3
+ appId: string;
4
+ attrId: string;
5
+ jobType: InstantIndexingJob['job_type'];
6
+ checkedDataType?: CheckedDataType | null | undefined;
7
+ apiURI: string;
8
+ }, token: string): Promise<InstantIndexingJob>;
9
+ export declare function jobFetchLoop(appId: string, jobId: string, token: string, apiURI: string): {
10
+ start: (cb: (data: InstantIndexingJob | null, error?: Error) => void) => Promise<InstantIndexingJob>;
11
+ stop: () => void;
12
+ };
13
+ export declare function useJobSubscription({ appId, jobId, token, apiURI, }: {
14
+ appId: string;
15
+ jobId: string;
16
+ token: string;
17
+ apiURI: string;
18
+ }): {
19
+ data: any;
20
+ error: any;
21
+ };
22
+ export declare function jobIsErrored(job: InstantIndexingJob): boolean;
23
+ export declare function jobIsCompleted(job: InstantIndexingJob): boolean;
24
+ //# sourceMappingURL=indexingJobs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexingJobs.d.ts","sourceRoot":"","sources":["../../src/utils/indexingJobs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEjE,wBAAsB,SAAS,CAC7B,EACE,KAAK,EACL,MAAM,EACN,OAAO,EACP,eAAe,EACf,MAAM,GACP,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACxC,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC;CAChB,EACD,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,CAAC,CAiB7B;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;gBA6CN,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,KAC3D,OAAO,CAAC,kBAAkB,CAAC;;EAOjC;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,KAAK,EACL,KAAK,EACL,MAAM,GACP,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;;;EAWA;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,kBAAkB,WAEnD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,kBAAkB,WAErD"}
@@ -0,0 +1,11 @@
1
+ export declare const parsePermsJSON: (text: string) => Result<string>;
2
+ export declare const doTry: <T>(fn: () => T) => Result<T>;
3
+ type Result<T> = {
4
+ status: 'ok';
5
+ value: T;
6
+ } | {
7
+ status: 'error';
8
+ error: Error;
9
+ };
10
+ export {};
11
+ //# sourceMappingURL=parsePermsJSON.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsePermsJSON.d.ts","sourceRoot":"","sources":["../../src/utils/parsePermsJSON.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,MAAM,CAAC,MAAM,CAa1D,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,IAAI,MAAM,CAAC,KAAG,MAAM,CAAC,CAAC,CAO9C,CAAC;AAEF,KAAK,MAAM,CAAC,CAAC,IACT;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAC1B;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;CACd,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { SchemaNamespace } from '../types';
2
+ export declare const createRenameNamespaceOps: (newName: string, namespace: SchemaNamespace, namespaces: SchemaNamespace[]) => any[];
3
+ //# sourceMappingURL=renames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renames.d.ts","sourceRoot":"","sources":["../../src/utils/renames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,EACf,WAAW,eAAe,EAC1B,YAAY,eAAe,EAAE,UAoC9B,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ *
3
+ * @param columnId
4
+ * @param max set a maximum width to return
5
+ * @returns minimum width to display all column cells
6
+ * @throws Error if element with class ${columnId} not found
7
+ */
8
+ export declare const getTableWidthSize: (columnId: string, max: number) => number;
9
+ //# sourceMappingURL=tableWidthSize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableWidthSize.d.ts","sourceRoot":"","sources":["../../src/utils/tableWidthSize.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,EAAE,KAAK,MAAM,KAAG,MAsDjE,CAAC"}
package/index.html ADDED
@@ -0,0 +1,13 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>test-component</title>
8
+ </head>
9
+ <body>
10
+ <div id="root"></div>
11
+ <script type="module" src="app/main.tsx"></script>
12
+ </body>
13
+ </html>
package/package.json ADDED
@@ -0,0 +1,109 @@
1
+ {
2
+ "name": "@instantdb/components",
3
+ "version": "0.0.1",
4
+ "type": "module",
5
+ "description": "Instant's UI components",
6
+ "homepage": "https://github.com/instantdb/instant/tree/main/client/packages/components",
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/instantdb/instant.git",
12
+ "directory": "client/packages/core"
13
+ },
14
+ "scripts": {
15
+ "test": "echo \"Error: no test specified\" && exit 1",
16
+ "build": "vite build",
17
+ "dev": "vite build --watch",
18
+ "dev:demo": "vite"
19
+ },
20
+ "exports": {
21
+ "./package.json": "./package.json",
22
+ "./style.css": "./dist/style.css",
23
+ ".": {
24
+ "import": {
25
+ "types": "./dist/index.d.ts",
26
+ "default": "./dist/index.js"
27
+ },
28
+ "require": {
29
+ "types": "./dist/index.d.ts",
30
+ "default": "./dist/index.cjs"
31
+ }
32
+ }
33
+ },
34
+ "keywords": [],
35
+ "author": "",
36
+ "license": "ISC",
37
+ "devDependencies": {
38
+ "@babel/core": "^7.17.9",
39
+ "@babel/preset-env": "^7.16.11",
40
+ "@babel/types": "^7.27.6",
41
+ "@prettier/sync": "^0.5.5",
42
+ "@tailwindcss/forms": "^0.5.2",
43
+ "@tailwindcss/vite": "^4.1.17",
44
+ "@types/lodash": "^4.14.182",
45
+ "@types/node": "^18.11.18",
46
+ "@types/react": "^18.3.1",
47
+ "@types/react-copy-to-clipboard": "^5.0.4",
48
+ "@types/react-dom": "^18.3.1",
49
+ "@types/uuid": "^10.0.0",
50
+ "@types/websocket": "^1.0.5",
51
+ "@vitejs/plugin-react": "^5.1.1",
52
+ "@vitejs/plugin-react-swc": "^4.2.2",
53
+ "fake-indexeddb": "^6.0.0",
54
+ "react": "^18.3.1",
55
+ "react-dom": "^18.3.1",
56
+ "swc": "link:@vitejs/plugin-react/swc",
57
+ "tailwindcss": "^4.1.17",
58
+ "tshy": "^3.0.2",
59
+ "typescript": "^5.9.3",
60
+ "unplugin-dts": "1.0.0-beta.6",
61
+ "vite": "^5.2.0",
62
+ "vitest": "^1.6.0"
63
+ },
64
+ "peerDependencies": {
65
+ "react": "^18.3.1",
66
+ "react-dom": "^18.3.1"
67
+ },
68
+ "dependencies": {
69
+ "@babel/parser": "^8.0.0-beta.0",
70
+ "@babel/types": "^8.0.0-beta.0",
71
+ "@dnd-kit/core": "^6.1.0",
72
+ "@dnd-kit/modifiers": "^7.0.0",
73
+ "@dnd-kit/sortable": "^8.0.0",
74
+ "@dnd-kit/utilities": "^3.2.2",
75
+ "@headlessui/react": "^2.2.0",
76
+ "@heroicons/react": "^2.1.5",
77
+ "@instantdb/admin": "workspace:*",
78
+ "@instantdb/core": "workspace:*",
79
+ "@instantdb/platform": "workspace:*",
80
+ "@instantdb/react": "workspace:*",
81
+ "@instantdb/version": "workspace:*",
82
+ "@monaco-editor/react": "^4.6.0",
83
+ "@radix-ui/react-collapsible": "^1.0.3",
84
+ "@radix-ui/react-dialog": "^1.1.15",
85
+ "@radix-ui/react-dropdown-menu": "^2.1.16",
86
+ "@radix-ui/react-select": "^2.2.6",
87
+ "@radix-ui/react-switch": "^1.2.6",
88
+ "@radix-ui/react-toggle-group": "^1.0.4",
89
+ "@radix-ui/react-tooltip": "^1.1.7",
90
+ "@tanstack/react-table": "^8.21.3",
91
+ "clsx": "^2.1.0",
92
+ "copy-to-clipboard": "^3.3.3",
93
+ "date-fns": "^2.28.0",
94
+ "export-to-csv": "^1.4.0",
95
+ "json5": "^2.2.3",
96
+ "lodash": "^4.17.21",
97
+ "lucide-react": "^0.544.0",
98
+ "markdown-table": "^3.0.4",
99
+ "motion": "^12.4.0",
100
+ "nuqs": "^2.6.0",
101
+ "prism-react-renderer": "^1.3.5",
102
+ "react-copy-to-clipboard": "^5.1.0",
103
+ "react-intersection-observer": "^9.8.2",
104
+ "sonner": "^2.0.7",
105
+ "swr": "^2.2.4",
106
+ "tailwind-merge": "^2.2.1",
107
+ "uuid": "^11.1.0"
108
+ }
109
+ }