@dyrected/admin 2.0.1 → 2.4.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 (168) hide show
  1. package/dist/App.d.ts +1 -0
  2. package/dist/admin.css +2 -0
  3. package/dist/components/auth/auth-gate.d.ts +13 -0
  4. package/dist/components/error-boundary.d.ts +16 -0
  5. package/dist/components/forms/field-renderer.d.ts +22 -0
  6. package/dist/components/forms/fields/block-builder.d.ts +9 -0
  7. package/dist/components/forms/fields/date-picker.d.ts +8 -0
  8. package/dist/components/forms/fields/json-editor.d.ts +8 -0
  9. package/dist/components/forms/fields/media-picker.d.ts +12 -0
  10. package/dist/components/forms/fields/multi-select.d.ts +19 -0
  11. package/dist/components/forms/fields/radio-field.d.ts +8 -0
  12. package/dist/components/forms/fields/relationship-picker.d.ts +10 -0
  13. package/dist/components/forms/fields/rich-text-editor.d.ts +9 -0
  14. package/dist/components/forms/fields/select-field.d.ts +8 -0
  15. package/dist/components/forms/fields/switch-field.d.ts +6 -0
  16. package/dist/components/forms/fields/text-area-field.d.ts +8 -0
  17. package/dist/components/forms/fields/text-field.d.ts +8 -0
  18. package/dist/components/forms/form-engine.d.ts +14 -0
  19. package/dist/components/forms/form-field-renderer.d.ts +20 -0
  20. package/dist/components/forms/utils.d.ts +11 -0
  21. package/dist/components/layout/admin-shell.d.ts +5 -0
  22. package/dist/components/layout/branding-provider.d.ts +4 -0
  23. package/dist/components/live-preview/LivePreviewPane.d.ts +7 -0
  24. package/dist/components/media/focal-point-picker.d.ts +12 -0
  25. package/dist/components/media/media-card.d.ts +8 -0
  26. package/dist/components/media/media-grid.d.ts +8 -0
  27. package/dist/components/media/media-library-dialog.d.ts +11 -0
  28. package/dist/components/ui/aspect-ratio.d.ts +3 -0
  29. package/dist/components/ui/badge.d.ts +9 -0
  30. package/dist/components/ui/button.d.ts +11 -0
  31. package/dist/components/ui/calendar.d.ts +8 -0
  32. package/dist/components/ui/card.d.ts +8 -0
  33. package/dist/components/ui/checkbox.d.ts +4 -0
  34. package/dist/components/ui/command.d.ts +80 -0
  35. package/dist/components/ui/data-table.d.ts +14 -0
  36. package/dist/components/ui/dialog.d.ts +19 -0
  37. package/dist/components/ui/dropdown-menu.d.ts +27 -0
  38. package/dist/components/ui/form.d.ts +23 -0
  39. package/dist/components/ui/input.d.ts +3 -0
  40. package/dist/components/ui/label.d.ts +5 -0
  41. package/dist/components/ui/page-header.d.ts +10 -0
  42. package/dist/components/ui/pagination.d.ts +11 -0
  43. package/dist/components/ui/popover.d.ts +6 -0
  44. package/dist/components/ui/progress.d.ts +4 -0
  45. package/dist/components/ui/radio-group.d.ts +5 -0
  46. package/dist/components/ui/render-cell.d.ts +8 -0
  47. package/dist/components/ui/scroll-area.d.ts +5 -0
  48. package/dist/components/ui/select.d.ts +13 -0
  49. package/dist/components/ui/separator.d.ts +4 -0
  50. package/dist/components/ui/sheet.d.ts +25 -0
  51. package/dist/components/ui/sidebar.d.ts +65 -0
  52. package/dist/components/ui/skeleton.d.ts +2 -0
  53. package/dist/components/ui/sonner.d.ts +4 -0
  54. package/dist/components/ui/switch.d.ts +4 -0
  55. package/dist/components/ui/table.d.ts +10 -0
  56. package/dist/components/ui/tabs.d.ts +7 -0
  57. package/dist/components/ui/textarea.d.ts +3 -0
  58. package/dist/components/ui/toggle.d.ts +12 -0
  59. package/dist/components/ui/tooltip.d.ts +7 -0
  60. package/dist/hooks/use-mobile.d.ts +1 -0
  61. package/dist/hooks/use-preferences.d.ts +6 -0
  62. package/dist/index.d.ts +38 -0
  63. package/dist/index.mjs +69091 -0
  64. package/dist/lib/utils.d.ts +3 -0
  65. package/dist/main.d.ts +0 -0
  66. package/dist/pages/auth/first-user-page.d.ts +4 -0
  67. package/dist/pages/auth/login-page.d.ts +4 -0
  68. package/dist/pages/collections/edit-page.d.ts +1 -0
  69. package/dist/pages/collections/list-page.d.ts +5 -0
  70. package/dist/pages/dashboard/dashboard.d.ts +1 -0
  71. package/dist/pages/globals/editor-page.d.ts +1 -0
  72. package/dist/pages/media/media-page.d.ts +4 -0
  73. package/dist/pages/setup/setup-prompt.d.ts +6 -0
  74. package/dist/providers/dyrected-provider.d.ts +29 -0
  75. package/dist/providers/query-provider.d.ts +3 -0
  76. package/package.json +7 -4
  77. package/CHANGELOG.md +0 -124
  78. package/components.json +0 -17
  79. package/eslint.config.js +0 -22
  80. package/index.html +0 -13
  81. package/postcss.config.js +0 -6
  82. package/src/App.css +0 -184
  83. package/src/App.tsx +0 -25
  84. package/src/assets/dyrected.svg +0 -155
  85. package/src/assets/hero.png +0 -0
  86. package/src/assets/react.svg +0 -1
  87. package/src/assets/vite.svg +0 -1
  88. package/src/components/auth/auth-gate.tsx +0 -64
  89. package/src/components/error-boundary.tsx +0 -45
  90. package/src/components/forms/field-renderer.tsx +0 -111
  91. package/src/components/forms/fields/block-builder.tsx +0 -213
  92. package/src/components/forms/fields/date-picker.tsx +0 -60
  93. package/src/components/forms/fields/json-editor.tsx +0 -62
  94. package/src/components/forms/fields/media-picker.tsx +0 -286
  95. package/src/components/forms/fields/multi-select.tsx +0 -145
  96. package/src/components/forms/fields/radio-field.tsx +0 -51
  97. package/src/components/forms/fields/relationship-picker.tsx +0 -143
  98. package/src/components/forms/fields/rich-text-editor.tsx +0 -224
  99. package/src/components/forms/fields/select-field.tsx +0 -35
  100. package/src/components/forms/fields/switch-field.tsx +0 -16
  101. package/src/components/forms/fields/text-area-field.tsx +0 -15
  102. package/src/components/forms/fields/text-field.tsx +0 -24
  103. package/src/components/forms/form-engine.tsx +0 -87
  104. package/src/components/forms/form-field-renderer.tsx +0 -269
  105. package/src/components/forms/utils.ts +0 -97
  106. package/src/components/layout/admin-shell.tsx +0 -479
  107. package/src/components/layout/branding-provider.tsx +0 -112
  108. package/src/components/live-preview/LivePreviewPane.tsx +0 -128
  109. package/src/components/media/focal-point-picker.tsx +0 -66
  110. package/src/components/media/media-card.tsx +0 -44
  111. package/src/components/media/media-grid.tsx +0 -32
  112. package/src/components/media/media-library-dialog.tsx +0 -465
  113. package/src/components/ui/aspect-ratio.tsx +0 -7
  114. package/src/components/ui/badge.tsx +0 -36
  115. package/src/components/ui/button.tsx +0 -56
  116. package/src/components/ui/calendar.tsx +0 -214
  117. package/src/components/ui/card.tsx +0 -79
  118. package/src/components/ui/checkbox.tsx +0 -28
  119. package/src/components/ui/command.tsx +0 -151
  120. package/src/components/ui/data-table.tsx +0 -219
  121. package/src/components/ui/dialog.tsx +0 -122
  122. package/src/components/ui/dropdown-menu.tsx +0 -200
  123. package/src/components/ui/form.tsx +0 -178
  124. package/src/components/ui/input.tsx +0 -24
  125. package/src/components/ui/label.tsx +0 -24
  126. package/src/components/ui/page-header.tsx +0 -30
  127. package/src/components/ui/pagination.tsx +0 -57
  128. package/src/components/ui/popover.tsx +0 -29
  129. package/src/components/ui/progress.tsx +0 -26
  130. package/src/components/ui/radio-group.tsx +0 -42
  131. package/src/components/ui/render-cell.tsx +0 -110
  132. package/src/components/ui/scroll-area.tsx +0 -46
  133. package/src/components/ui/select.tsx +0 -160
  134. package/src/components/ui/separator.tsx +0 -29
  135. package/src/components/ui/sheet.tsx +0 -140
  136. package/src/components/ui/sidebar.tsx +0 -771
  137. package/src/components/ui/skeleton.tsx +0 -15
  138. package/src/components/ui/sonner.tsx +0 -27
  139. package/src/components/ui/switch.tsx +0 -27
  140. package/src/components/ui/table.tsx +0 -117
  141. package/src/components/ui/tabs.tsx +0 -53
  142. package/src/components/ui/textarea.tsx +0 -22
  143. package/src/components/ui/toggle.tsx +0 -43
  144. package/src/components/ui/tooltip.tsx +0 -28
  145. package/src/hooks/use-mobile.tsx +0 -19
  146. package/src/hooks/use-preferences.ts +0 -56
  147. package/src/index.css +0 -111
  148. package/src/index.tsx +0 -198
  149. package/src/lib/utils.ts +0 -32
  150. package/src/main.tsx +0 -10
  151. package/src/pages/auth/first-user-page.tsx +0 -115
  152. package/src/pages/auth/login-page.tsx +0 -91
  153. package/src/pages/collections/edit-page.tsx +0 -280
  154. package/src/pages/collections/list-page.tsx +0 -343
  155. package/src/pages/dashboard/dashboard.tsx +0 -150
  156. package/src/pages/globals/editor-page.tsx +0 -122
  157. package/src/pages/media/media-page.tsx +0 -564
  158. package/src/pages/setup/setup-prompt.tsx +0 -181
  159. package/src/providers/dyrected-provider.tsx +0 -122
  160. package/src/providers/query-provider.tsx +0 -19
  161. package/src/types/jexl.d.ts +0 -11
  162. package/tailwind.config.ts +0 -102
  163. package/tsconfig.app.json +0 -28
  164. package/tsconfig.json +0 -12
  165. package/tsconfig.node.json +0 -25
  166. package/vite.config.ts +0 -40
  167. /package/{public → dist}/favicon.svg +0 -0
  168. /package/{public → dist}/icons.svg +0 -0
package/dist/App.d.ts ADDED
@@ -0,0 +1 @@
1
+ export default function App(): import("react/jsx-runtime").JSX.Element;
package/dist/admin.css ADDED
@@ -0,0 +1,2 @@
1
+ @import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap";*,:before,:after,::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:#3b82f680;--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: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-sans), ui-sans-serif, system-ui, sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}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-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--font-sans:"DM Sans", ui-sans-serif, system-ui, sans-serif;--font-serif:"Instrument Serif", ui-serif, Georgia, serif;--background:60 17% 97%;--foreground:60 3% 6%;--card:60 10% 95%;--card-foreground:60 3% 6%;--popover:60 17% 97%;--popover-foreground:60 3% 6%;--primary:38 92% 50%;--primary-foreground:60 3% 6%;--secondary:60 10% 95%;--secondary-foreground:60 3% 6%;--muted:60 10% 95%;--muted-foreground:60 4% 40%;--accent:60 10% 95%;--accent-foreground:60 3% 6%;--destructive:0 84% 60%;--destructive-foreground:60 17% 97%;--border:60 7% 89%;--input:60 7% 89%;--ring:38 92% 50% / .15;--radius:.5rem;--sidebar-background:60 17% 97%;--sidebar-foreground:60 3% 6%;--sidebar-primary:38 92% 50%;--sidebar-primary-foreground:60 3% 6%;--sidebar-accent:60 10% 95%;--sidebar-accent-foreground:38 92% 50%;--sidebar-border:60 7% 89%;--sidebar-ring:38 92% 50%}.dy-admin-ui{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-sans), ui-sans-serif, system-ui, sans-serif}.dy-admin-ui h1,.dy-admin-ui h2,.dy-admin-ui h3,.dy-admin-ui h4,.dy-admin-ui h5,.dy-admin-ui h6{font-family:var(--font-serif), ui-serif, Georgia, serif}.dy-admin-ui input,.dy-admin-ui select,.dy-admin-ui textarea{border-color:hsl(var(--border) / .6);background-color:#0000;transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dy-admin-ui input:focus,.dy-admin-ui select:focus,.dy-admin-ui textarea:focus{outline-offset:2px;outline:2px solid #0000}.dy-admin-ui input:focus-visible,.dy-admin-ui select:focus-visible,.dy-admin-ui textarea:focus-visible{outline-offset:2px;--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(0px + 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);--tw-ring-offset-width:0px;outline:2px solid #0000}.dy-admin-ui input:focus,.dy-admin-ui select:focus,.dy-admin-ui textarea:focus{border-color:hsl(var(--primary) / .5)}.dy-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dy-pointer-events-none{pointer-events:none}.dy-invisible{visibility:hidden}.dy-fixed{position:fixed}.dy-absolute{position:absolute}.dy-relative{position:relative}.dy-inset-0{inset:0}.dy-inset-x-0{left:0;right:0}.dy-inset-y-0{top:0;bottom:0}.dy-bottom-0{bottom:0}.dy-bottom-3{bottom:.75rem}.dy-bottom-8{bottom:2rem}.dy-left-0{left:0}.dy-left-2{left:.5rem}.dy-left-3{left:.75rem}.dy-left-3\.5{left:.875rem}.dy-left-4{left:1rem}.dy-left-\[50\%\]{left:50%}.dy-right-0{right:0}.dy-right-1{right:.25rem}.dy-right-2{right:.5rem}.dy-right-2\.5{right:.625rem}.dy-right-3{right:.75rem}.dy-right-4{right:1rem}.dy-right-8{right:2rem}.dy-top-0{top:0}.dy-top-1\.5{top:.375rem}.dy-top-1\/2{top:50%}.dy-top-2{top:.5rem}.dy-top-2\.5{top:.625rem}.dy-top-3\.5{top:.875rem}.dy-top-4{top:1rem}.dy-top-\[50\%\]{top:50%}.dy-z-0{z-index:0}.dy-z-10{z-index:10}.dy-z-20{z-index:20}.dy-z-30{z-index:30}.dy-z-40{z-index:40}.dy-z-50{z-index:50}.dy-z-\[100\]{z-index:100}.dy-m-0{margin:0}.dy--mx-1{margin-left:-.25rem;margin-right:-.25rem}.dy--mx-2{margin-left:-.5rem;margin-right:-.5rem}.dy--mx-4{margin-left:-1rem;margin-right:-1rem}.dy-mx-1{margin-left:.25rem;margin-right:.25rem}.dy-mx-2{margin-left:.5rem;margin-right:.5rem}.dy-mx-3{margin-left:.75rem;margin-right:.75rem}.dy-mx-3\.5{margin-left:.875rem;margin-right:.875rem}.dy-mx-auto{margin-left:auto;margin-right:auto}.dy-my-1{margin-top:.25rem;margin-bottom:.25rem}.dy-my-2{margin-top:.5rem;margin-bottom:.5rem}.dy--ml-4{margin-left:-1rem}.dy--mt-4{margin-top:-1rem}.dy--mt-6{margin-top:-1.5rem}.dy-mb-0\.5{margin-bottom:.125rem}.dy-mb-1{margin-bottom:.25rem}.dy-mb-1\.5{margin-bottom:.375rem}.dy-mb-2{margin-bottom:.5rem}.dy-mb-4{margin-bottom:1rem}.dy-mb-6{margin-bottom:1.5rem}.dy-mb-8{margin-bottom:2rem}.dy-ml-1{margin-left:.25rem}.dy-ml-1\.5{margin-left:.375rem}.dy-ml-2{margin-left:.5rem}.dy-ml-4{margin-left:1rem}.dy-ml-auto{margin-left:auto}.dy-mr-1{margin-right:.25rem}.dy-mr-1\.5{margin-right:.375rem}.dy-mr-2{margin-right:.5rem}.dy-mr-3{margin-right:.75rem}.dy-mr-4{margin-right:1rem}.dy-mt-0\.5{margin-top:.125rem}.dy-mt-1{margin-top:.25rem}.dy-mt-2{margin-top:.5rem}.dy-mt-4{margin-top:1rem}.dy-mt-8{margin-top:2rem}.dy-mt-auto{margin-top:auto}.dy-block{display:block}.dy-flex{display:flex}.dy-inline-flex{display:inline-flex}.dy-grid{display:grid}.dy-hidden{display:none}.dy-aspect-square{aspect-ratio:1}.dy-size-4{width:1rem;height:1rem}.dy-size-\[--cell-size\]{width:var(--cell-size);height:var(--cell-size)}.dy-h-1\.5{height:.375rem}.dy-h-10{height:2.5rem}.dy-h-11{height:2.75rem}.dy-h-12{height:3rem}.dy-h-14{height:3.5rem}.dy-h-16{height:4rem}.dy-h-2{height:.5rem}.dy-h-2\.5{height:.625rem}.dy-h-20{height:5rem}.dy-h-24{height:6rem}.dy-h-3{height:.75rem}.dy-h-3\.5{height:.875rem}.dy-h-4{height:1rem}.dy-h-5{height:1.25rem}.dy-h-6{height:1.5rem}.dy-h-60{height:15rem}.dy-h-64{height:16rem}.dy-h-7{height:1.75rem}.dy-h-8{height:2rem}.dy-h-80{height:20rem}.dy-h-9{height:2.25rem}.dy-h-\[--cell-size\]{height:var(--cell-size)}.dy-h-\[15px\]{height:15px}.dy-h-\[17px\]{height:17px}.dy-h-\[1px\]{height:1px}.dy-h-\[300px\]{height:300px}.dy-h-\[400px\]{height:400px}.dy-h-\[650px\]{height:650px}.dy-h-\[calc\(100vh-0px\)\]{height:100vh}.dy-h-\[calc\(100vh-320px\)\]{height:calc(100vh - 320px)}.dy-h-auto{height:auto}.dy-h-full{height:100%}.dy-h-px{height:1px}.dy-h-screen{height:100vh}.dy-h-svh{height:100svh}.dy-max-h-0{max-height:0}.dy-max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.dy-max-h-\[1000px\]{max-height:1000px}.dy-max-h-\[240px\]{max-height:240px}.dy-max-h-\[300px\]{max-height:300px}.dy-max-h-\[400px\]{max-height:400px}.dy-max-h-full{max-height:100%}.dy-min-h-0{min-height:0}.dy-min-h-10{min-height:2.5rem}.dy-min-h-\[150px\]{min-height:150px}.dy-min-h-\[400px\]{min-height:400px}.dy-min-h-\[600px\]{min-height:600px}.dy-min-h-\[80px\]{min-height:80px}.dy-min-h-full{min-height:100%}.dy-min-h-screen{min-height:100vh}.dy-min-h-svh{min-height:100svh}.dy-w-0{width:0}.dy-w-1\.5{width:.375rem}.dy-w-10{width:2.5rem}.dy-w-11{width:2.75rem}.dy-w-12{width:3rem}.dy-w-14{width:3.5rem}.dy-w-16{width:4rem}.dy-w-2{width:.5rem}.dy-w-2\.5{width:.625rem}.dy-w-20{width:5rem}.dy-w-24{width:6rem}.dy-w-3{width:.75rem}.dy-w-3\.5{width:.875rem}.dy-w-3\/4{width:75%}.dy-w-4{width:1rem}.dy-w-5{width:1.25rem}.dy-w-6{width:1.5rem}.dy-w-7{width:1.75rem}.dy-w-72{width:18rem}.dy-w-8{width:2rem}.dy-w-80{width:20rem}.dy-w-9{width:2.25rem}.dy-w-\[--cell-size\]{width:var(--cell-size)}.dy-w-\[--sidebar-width\]{width:var(--sidebar-width)}.dy-w-\[15px\]{width:15px}.dy-w-\[17px\]{width:17px}.dy-w-\[1px\]{width:1px}.dy-w-\[220px\]{width:220px}.dy-w-\[400px\]{width:400px}.dy-w-\[56px\]{width:56px}.dy-w-auto{width:auto}.dy-w-fit{width:fit-content}.dy-w-full{width:100%}.dy-w-px{width:1px}.dy-min-w-0{min-width:0}.dy-min-w-10{min-width:2.5rem}.dy-min-w-11{min-width:2.75rem}.dy-min-w-5{min-width:1.25rem}.dy-min-w-9{min-width:2.25rem}.dy-min-w-\[--cell-size\]{min-width:var(--cell-size)}.dy-min-w-\[120px\]{min-width:120px}.dy-min-w-\[8rem\]{min-width:8rem}.dy-max-w-2xl{max-width:42rem}.dy-max-w-4xl{max-width:56rem}.dy-max-w-5xl{max-width:64rem}.dy-max-w-\[150px\]{max-width:150px}.dy-max-w-full{max-width:100%}.dy-max-w-lg{max-width:32rem}.dy-max-w-md{max-width:28rem}.dy-max-w-sm{max-width:24rem}.dy-max-w-xs{max-width:20rem}.dy-flex-1{flex:1}.dy-flex-shrink-0,.dy-shrink-0{flex-shrink:0}.dy-caption-bottom{caption-side:bottom}.dy-origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.dy-origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.dy-origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.dy-origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.dy--translate-x-1\/2{--tw-translate-x:-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))}.dy--translate-x-full{--tw-translate-x:-100%;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))}.dy--translate-x-px{--tw-translate-x:-1px;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))}.dy--translate-y-1\/2{--tw-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))}.dy-translate-x-0{--tw-translate-x:0px;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))}.dy-translate-x-\[-50\%\]{--tw-translate-x:-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))}.dy-translate-x-px{--tw-translate-x:1px;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))}.dy-translate-y-2{--tw-translate-y:.5rem;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))}.dy-translate-y-\[-50\%\]{--tw-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))}.dy-rotate-3{--tw-rotate:3deg;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))}.dy-scale-75{--tw-scale-x:.75;--tw-scale-y:.75;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))}.dy-scale-\[0\.98\]{--tw-scale-x:.98;--tw-scale-y:.98;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))}.dy-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 dy-bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.dy-animate-bounce{animation:1s infinite dy-bounce}@keyframes dy-pulse{50%{opacity:.5}}.dy-animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite dy-pulse}@keyframes dy-spin{to{transform:rotate(360deg)}}.dy-animate-spin{animation:1s linear infinite dy-spin}.dy-cursor-crosshair{cursor:crosshair}.dy-cursor-default{cursor:default}.dy-cursor-grab{cursor:grab}.dy-cursor-pointer{cursor:pointer}.dy-touch-none{touch-action:none}.dy-select-none{-webkit-user-select:none;user-select:none}.dy-select-all{-webkit-user-select:all;user-select:all}.dy-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.dy-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.dy-grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.dy-flex-row{flex-direction:row}.dy-flex-col{flex-direction:column}.dy-flex-col-reverse{flex-direction:column-reverse}.dy-flex-wrap{flex-wrap:wrap}.dy-place-content-center{place-content:center}.dy-items-start{align-items:flex-start}.dy-items-end{align-items:flex-end}.dy-items-center{align-items:center}.dy-justify-start{justify-content:flex-start}.dy-justify-end{justify-content:flex-end}.dy-justify-center{justify-content:center}.dy-justify-between{justify-content:space-between}.dy-gap-0{gap:0}.dy-gap-1{gap:.25rem}.dy-gap-1\.5{gap:.375rem}.dy-gap-2{gap:.5rem}.dy-gap-2\.5{gap:.625rem}.dy-gap-3{gap:.75rem}.dy-gap-4{gap:1rem}.dy-gap-6{gap:1.5rem}.dy-gap-8{gap:2rem}.dy-gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.dy-gap-y-4{row-gap:1rem}.dy-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 * calc(1 - var(--tw-space-x-reverse)))}.dy-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.dy-space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.dy-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.dy-space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.dy-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.dy-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.dy-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.dy-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.dy-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.dy-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.dy-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.dy-overflow-auto{overflow:auto}.dy-overflow-hidden{overflow:hidden}.dy-overflow-y-auto{overflow-y:auto}.dy-overflow-x-hidden{overflow-x:hidden}.dy-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dy-whitespace-nowrap{white-space:nowrap}.dy-whitespace-pre-wrap{white-space:pre-wrap}.dy-text-nowrap{text-wrap:nowrap}.dy-rounded{border-radius:.25rem}.dy-rounded-2xl{border-radius:1rem}.dy-rounded-3xl{border-radius:1.5rem}.dy-rounded-\[2\.5rem\]{border-radius:2.5rem}.dy-rounded-\[inherit\]{border-radius:inherit}.dy-rounded-full{border-radius:9999px}.dy-rounded-lg{border-radius:var(--radius)}.dy-rounded-md{border-radius:calc(var(--radius) - 2px)}.dy-rounded-none{border-radius:0}.dy-rounded-sm{border-radius:calc(var(--radius) - 4px)}.dy-rounded-xl{border-radius:.75rem}.dy-rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.dy-rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.dy-rounded-t-md{border-top-left-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.dy-border{border-width:1px}.dy-border-2{border-width:2px}.dy-border-4{border-width:4px}.dy-border-b{border-bottom-width:1px}.dy-border-b-2{border-bottom-width:2px}.dy-border-l{border-left-width:1px}.dy-border-l-0{border-left-width:0}.dy-border-r{border-right-width:1px}.dy-border-t{border-top-width:1px}.dy-border-dashed{border-style:dashed}.dy-border-none{border-style:none}.dy-border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.dy-border-blue-100{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}.dy-border-border{border-color:hsl(var(--border))}.dy-border-border\/10{border-color:hsl(var(--border) / .1)}.dy-border-border\/30{border-color:hsl(var(--border) / .3)}.dy-border-border\/40{border-color:hsl(var(--border) / .4)}.dy-border-border\/50{border-color:hsl(var(--border) / .5)}.dy-border-border\/60{border-color:hsl(var(--border) / .6)}.dy-border-card{border-color:hsl(var(--card))}.dy-border-current{border-color:currentColor}.dy-border-destructive{border-color:hsl(var(--destructive))}.dy-border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.dy-border-input{border-color:hsl(var(--input))}.dy-border-muted{border-color:hsl(var(--muted))}.dy-border-muted\/20{border-color:hsl(var(--muted) / .2)}.dy-border-muted\/30{border-color:hsl(var(--muted) / .3)}.dy-border-primary{border-color:hsl(var(--primary))}.dy-border-primary\/10{border-color:hsl(var(--primary) / .1)}.dy-border-primary\/20{border-color:hsl(var(--primary) / .2)}.dy-border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.dy-border-sidebar-border{border-color:hsl(var(--sidebar-border))}.dy-border-transparent{border-color:#0000}.dy-border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.dy-border-white\/10{border-color:#ffffff1a}.dy-border-white\/20{border-color:#fff3}.dy-border-white\/30{border-color:#ffffff4d}.dy-border-l-transparent{border-left-color:#0000}.dy-border-t-primary{border-top-color:hsl(var(--primary))}.dy-border-t-transparent{border-top-color:#0000}.dy-border-t-white{--tw-border-opacity:1;border-top-color:rgb(255 255 255/var(--tw-border-opacity,1))}.dy-bg-accent{background-color:hsl(var(--accent))}.dy-bg-accent\/50{background-color:hsl(var(--accent) / .5)}.dy-bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.dy-bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.dy-bg-background{background-color:hsl(var(--background))}.dy-bg-background\/50{background-color:hsl(var(--background) / .5)}.dy-bg-black\/20{background-color:#0003}.dy-bg-black\/30{background-color:#0000004d}.dy-bg-black\/40{background-color:#0006}.dy-bg-black\/60{background-color:#0009}.dy-bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.dy-bg-blue-50\/50{background-color:#eff6ff80}.dy-bg-border{background-color:hsl(var(--border))}.dy-bg-border\/40{background-color:hsl(var(--border) / .4)}.dy-bg-border\/50{background-color:hsl(var(--border) / .5)}.dy-bg-card{background-color:hsl(var(--card))}.dy-bg-destructive{background-color:hsl(var(--destructive))}.dy-bg-destructive-foreground{background-color:hsl(var(--destructive-foreground))}.dy-bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.dy-bg-destructive\/5{background-color:hsl(var(--destructive) / .05)}.dy-bg-destructive\/90{background-color:hsl(var(--destructive) / .9)}.dy-bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.dy-bg-muted{background-color:hsl(var(--muted))}.dy-bg-muted\/10{background-color:hsl(var(--muted) / .1)}.dy-bg-muted\/20{background-color:hsl(var(--muted) / .2)}.dy-bg-muted\/30{background-color:hsl(var(--muted) / .3)}.dy-bg-muted\/40{background-color:hsl(var(--muted) / .4)}.dy-bg-muted\/5{background-color:hsl(var(--muted) / .05)}.dy-bg-muted\/50{background-color:hsl(var(--muted) / .5)}.dy-bg-muted\/60{background-color:hsl(var(--muted) / .6)}.dy-bg-popover{background-color:hsl(var(--popover))}.dy-bg-primary{background-color:hsl(var(--primary))}.dy-bg-primary\/10{background-color:hsl(var(--primary) / .1)}.dy-bg-primary\/5{background-color:hsl(var(--primary) / .05)}.dy-bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.dy-bg-red-50\/50{background-color:#fef2f280}.dy-bg-secondary{background-color:hsl(var(--secondary))}.dy-bg-secondary\/10{background-color:hsl(var(--secondary) / .1)}.dy-bg-secondary\/5{background-color:hsl(var(--secondary) / .05)}.dy-bg-sidebar{background-color:hsl(var(--sidebar-background))}.dy-bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.dy-bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.dy-bg-transparent{background-color:#0000}.dy-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.dy-bg-white\/20{background-color:#fff3}.dy-bg-white\/40{background-color:#fff6}.dy-bg-white\/50{background-color:#ffffff80}.dy-bg-white\/90{background-color:#ffffffe6}.dy-bg-\[radial-gradient\(circle_at_center\,var\(--primary\)_0\%\,transparent_100\%\)\]{background-image:radial-gradient(circle at center,var(--primary) 0%,transparent 100%)}.dy-bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.dy-bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.dy-from-black\/60{--tw-gradient-from:#0009 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.dy-from-black\/80{--tw-gradient-from:#000c var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.dy-from-primary{--tw-gradient-from:hsl(var(--primary)) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.dy-via-black\/40{--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #0006 var(--tw-gradient-via-position), var(--tw-gradient-to)}.dy-to-primary\/80{--tw-gradient-to:hsl(var(--primary) / .8) var(--tw-gradient-to-position)}.dy-to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.dy-fill-current{fill:currentColor}.dy-object-contain{-o-object-fit:contain;object-fit:contain}.dy-object-cover{-o-object-fit:cover;object-fit:cover}.dy-p-0{padding:0}.dy-p-1{padding:.25rem}.dy-p-1\.5{padding:.375rem}.dy-p-12{padding:3rem}.dy-p-2{padding:.5rem}.dy-p-2\.5{padding:.625rem}.dy-p-3{padding:.75rem}.dy-p-4{padding:1rem}.dy-p-6{padding:1.5rem}.dy-p-8{padding:2rem}.dy-p-\[1px\]{padding:1px}.dy-px-1{padding-left:.25rem;padding-right:.25rem}.dy-px-1\.5{padding-left:.375rem;padding-right:.375rem}.dy-px-10{padding-left:2.5rem;padding-right:2.5rem}.dy-px-2{padding-left:.5rem;padding-right:.5rem}.dy-px-2\.5{padding-left:.625rem;padding-right:.625rem}.dy-px-3{padding-left:.75rem;padding-right:.75rem}.dy-px-4{padding-left:1rem;padding-right:1rem}.dy-px-5{padding-left:1.25rem;padding-right:1.25rem}.dy-px-6{padding-left:1.5rem;padding-right:1.5rem}.dy-px-8{padding-left:2rem;padding-right:2rem}.dy-px-\[--cell-size\]{padding-left:var(--cell-size);padding-right:var(--cell-size)}.dy-py-0{padding-top:0;padding-bottom:0}.dy-py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.dy-py-1{padding-top:.25rem;padding-bottom:.25rem}.dy-py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.dy-py-12{padding-top:3rem;padding-bottom:3rem}.dy-py-2{padding-top:.5rem;padding-bottom:.5rem}.dy-py-3{padding-top:.75rem;padding-bottom:.75rem}.dy-py-4{padding-top:1rem;padding-bottom:1rem}.dy-py-6{padding-top:1.5rem;padding-bottom:1.5rem}.dy-py-8{padding-top:2rem;padding-bottom:2rem}.dy-pb-2{padding-bottom:.5rem}.dy-pb-20{padding-bottom:5rem}.dy-pb-3{padding-bottom:.75rem}.dy-pb-4{padding-bottom:1rem}.dy-pb-6{padding-bottom:1.5rem}.dy-pb-8{padding-bottom:2rem}.dy-pl-0{padding-left:0}.dy-pl-10{padding-left:2.5rem}.dy-pl-11{padding-left:2.75rem}.dy-pl-12{padding-left:3rem}.dy-pl-2{padding-left:.5rem}.dy-pl-8{padding-left:2rem}.dy-pr-1{padding-right:.25rem}.dy-pr-10{padding-right:2.5rem}.dy-pr-2{padding-right:.5rem}.dy-pr-24{padding-right:6rem}.dy-pr-4{padding-right:1rem}.dy-pt-0{padding-top:0}.dy-pt-2{padding-top:.5rem}.dy-pt-4{padding-top:1rem}.dy-pt-6{padding-top:1.5rem}.dy-pt-8{padding-top:2rem}.dy-text-left{text-align:left}.dy-text-center{text-align:center}.dy-text-right{text-align:right}.dy-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.dy-font-serif{font-family:var(--font-serif), ui-serif, Georgia, serif}.dy-text-2xl{font-size:1.5rem;line-height:2rem}.dy-text-3xl{font-size:1.875rem;line-height:2.25rem}.dy-text-\[0\.8rem\]{font-size:.8rem}.dy-text-\[10px\]{font-size:10px}.dy-text-\[11px\]{font-size:11px}.dy-text-\[13px\]{font-size:13px}.dy-text-\[8px\]{font-size:8px}.dy-text-\[9px\]{font-size:9px}.dy-text-base{font-size:1rem;line-height:1.5rem}.dy-text-lg{font-size:1.125rem;line-height:1.75rem}.dy-text-sm{font-size:.875rem;line-height:1.25rem}.dy-text-xl{font-size:1.25rem;line-height:1.75rem}.dy-text-xs{font-size:.75rem;line-height:1rem}.dy-font-black{font-weight:900}.dy-font-bold{font-weight:700}.dy-font-medium{font-weight:500}.dy-font-normal{font-weight:400}.dy-font-semibold{font-weight:600}.dy-uppercase{text-transform:uppercase}.dy-capitalize{text-transform:capitalize}.dy-italic{font-style:italic}.dy-tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.dy-leading-none{line-height:1}.dy-leading-relaxed{line-height:1.625}.dy-leading-tight{line-height:1.25}.dy-tracking-tight{letter-spacing:-.025em}.dy-tracking-wider{letter-spacing:.05em}.dy-tracking-widest{letter-spacing:.1em}.dy-text-accent-foreground{color:hsl(var(--accent-foreground))}.dy-text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.dy-text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.dy-text-background{color:hsl(var(--background))}.dy-text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.dy-text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.dy-text-blue-700\/70{color:#1d4ed8b3}.dy-text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.dy-text-card-foreground{color:hsl(var(--card-foreground))}.dy-text-current{color:currentColor}.dy-text-destructive{color:hsl(var(--destructive))}.dy-text-destructive-foreground{color:hsl(var(--destructive-foreground))}.dy-text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.dy-text-foreground{color:hsl(var(--foreground))}.dy-text-foreground\/70{color:hsl(var(--foreground) / .7)}.dy-text-foreground\/80{color:hsl(var(--foreground) / .8)}.dy-text-foreground\/90{color:hsl(var(--foreground) / .9)}.dy-text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.dy-text-muted-foreground{color:hsl(var(--muted-foreground))}.dy-text-muted-foreground\/20{color:hsl(var(--muted-foreground) / .2)}.dy-text-muted-foreground\/30{color:hsl(var(--muted-foreground) / .3)}.dy-text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.dy-text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.dy-text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.dy-text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.dy-text-muted-foreground\/80{color:hsl(var(--muted-foreground) / .8)}.dy-text-popover-foreground{color:hsl(var(--popover-foreground))}.dy-text-primary{color:hsl(var(--primary))}.dy-text-primary-foreground{color:hsl(var(--primary-foreground))}.dy-text-primary\/40{color:hsl(var(--primary) / .4)}.dy-text-primary\/60{color:hsl(var(--primary) / .6)}.dy-text-primary\/70{color:hsl(var(--primary) / .7)}.dy-text-purple-500\/70{color:#a855f7b3}.dy-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.dy-text-red-700\/70{color:#b91c1cb3}.dy-text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.dy-text-secondary-foreground{color:hsl(var(--secondary-foreground))}.dy-text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.dy-text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.dy-text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dy-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dy-text-white\/60{color:#fff9}.dy-underline-offset-4{text-underline-offset:4px}.dy-opacity-0{opacity:0}.dy-opacity-100{opacity:1}.dy-opacity-20{opacity:.2}.dy-opacity-50{opacity:.5}.dy-opacity-60{opacity:.6}.dy-opacity-70{opacity:.7}.dy-opacity-80{opacity:.8}.dy-opacity-\[0\.03\]{opacity:.03}.dy-shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.dy-shadow-\[0_8px_30px_rgb\(0\,0\,0\,0\.3\)\]{--tw-shadow:0 8px 30px #0000004d;--tw-shadow-colored:0 8px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.dy-shadow-inner{--tw-shadow:inset 0 2px 4px 0 #0000000d;--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.dy-shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.dy-shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.dy-shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.dy-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.dy-shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.dy-shadow-primary\/20{--tw-shadow-color:hsl(var(--primary) / .2);--tw-shadow:var(--tw-shadow-colored)}.dy-shadow-primary\/5{--tw-shadow-color:hsl(var(--primary) / .05);--tw-shadow:var(--tw-shadow-colored)}.dy-outline-none{outline-offset:2px;outline:2px solid #0000}.dy-ring-0{--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(0px + 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)}.dy-ring-1{--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,0 0 #0000)}.dy-ring-2{--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)}.dy-ring-4{--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(4px + 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)}.dy-ring-inset{--tw-ring-inset:inset}.dy-ring-border\/50{--tw-ring-color:hsl(var(--border) / .5)}.dy-ring-primary{--tw-ring-color:hsl(var(--primary))}.dy-ring-primary\/10{--tw-ring-color:hsl(var(--primary) / .1)}.dy-ring-primary\/20{--tw-ring-color:hsl(var(--primary) / .2)}.dy-ring-sidebar-ring{--tw-ring-color:hsl(var(--sidebar-ring))}.dy-ring-offset-2{--tw-ring-offset-width:2px}.dy-ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.dy-backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-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)}.dy-backdrop-blur-md{--tw-backdrop-blur:blur(12px);-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)}.dy-backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-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)}.dy-transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dy-transition-\[left\,right\,width\]{transition-property:left,right,width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dy-transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dy-transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dy-transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dy-transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dy-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dy-transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dy-transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dy-delay-75{transition-delay:75ms}.dy-duration-150{transition-duration:.15s}.dy-duration-200{transition-duration:.2s}.dy-duration-300{transition-duration:.3s}.dy-duration-500{transition-duration:.5s}.dy-duration-700{transition-duration:.7s}.dy-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.dy-ease-linear{transition-timing-function:linear}.dy-ease-out{transition-timing-function:cubic-bezier(0,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))}}.dy-animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.dy-fade-in,.dy-fade-in-0{--tw-enter-opacity:0}.dy-zoom-in{--tw-enter-scale:0}.dy-zoom-in-95{--tw-enter-scale:.95}.dy-slide-in-from-bottom-2{--tw-enter-translate-y:.5rem}.dy-slide-in-from-bottom-4{--tw-enter-translate-y:1rem}.dy-slide-in-from-left-2{--tw-enter-translate-x:-.5rem}.dy-duration-150{animation-duration:.15s}.dy-duration-200{animation-duration:.2s}.dy-duration-300{animation-duration:.3s}.dy-duration-500{animation-duration:.5s}.dy-duration-700{animation-duration:.7s}.dy-delay-75{animation-delay:75ms}.dy-ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.dy-ease-linear{animation-timing-function:linear}.dy-ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.dy-admin-ui .left-accent{border-left-width:2px;border-color:hsl(var(--primary) / .1);background-color:#0000;margin-left:-2rem;margin-right:-2rem;padding:1rem;transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.2s}.dy-admin-ui .left-accent:hover{border-left-color:hsl(var(--primary));background-color:hsl(var(--primary) / .04)}.dy-admin-ui .left-accent .left-accent{margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.dy-admin-ui .left-accent .left-accent .left-accent{margin-left:0;margin-right:0;padding-left:1rem;padding-right:1rem}.dy-admin-ui .flat-container{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);background-color:#0000;border-style:none;padding:0}.\[--cell-size\:dy-2\.25rem\]{--cell-size:dy-2.25rem}.placeholder\:dy-text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.placeholder\:dy-text-muted-foreground\/60::placeholder{color:hsl(var(--muted-foreground) / .6)}.after\:dy-absolute:after{content:var(--tw-content);position:absolute}.after\:dy--inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:dy-inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:dy-left-1\/2:after{content:var(--tw-content);left:50%}.after\:dy-w-\[2px\]:after{content:var(--tw-content);width:2px}.first\:dy-pl-4:first-child{padding-left:1rem}.last\:dy-pr-4:last-child{padding-right:1rem}.even\:dy-bg-primary\/\[0\.03\]:nth-child(2n){background-color:hsl(var(--primary) / .03)}.hover\:dy-scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;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))}.hover\:dy-scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;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))}.hover\:dy-scale-\[1\.02\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;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))}.hover\:dy-border-border:hover{border-color:hsl(var(--border))}.hover\:dy-border-border\/80:hover{border-color:hsl(var(--border) / .8)}.hover\:dy-border-primary\/20:hover{border-color:hsl(var(--primary) / .2)}.hover\:dy-border-primary\/40:hover{border-color:hsl(var(--primary) / .4)}.hover\:dy-border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:dy-bg-accent:hover{background-color:hsl(var(--accent))}.hover\:dy-bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:dy-bg-background:hover{background-color:hsl(var(--background))}.hover\:dy-bg-destructive:hover{background-color:hsl(var(--destructive))}.hover\:dy-bg-destructive\/10:hover{background-color:hsl(var(--destructive) / .1)}.hover\:dy-bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:dy-bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:dy-bg-muted:hover{background-color:hsl(var(--muted))}.hover\:dy-bg-muted\/30:hover{background-color:hsl(var(--muted) / .3)}.hover\:dy-bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:dy-bg-primary\/10:hover{background-color:hsl(var(--primary) / .1)}.hover\:dy-bg-primary\/20:hover{background-color:hsl(var(--primary) / .2)}.hover\:dy-bg-primary\/5:hover{background-color:hsl(var(--primary) / .05)}.hover\:dy-bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:dy-bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:dy-bg-primary\/\[0\.02\]:hover{background-color:hsl(var(--primary) / .02)}.hover\:dy-bg-primary\/\[0\.06\]:hover{background-color:hsl(var(--primary) / .06)}.hover\:dy-bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:dy-bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:dy-bg-transparent:hover{background-color:#0000}.hover\:dy-bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:dy-bg-white\/80:hover{background-color:#fffc}.hover\:dy-text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:dy-text-destructive:hover{color:hsl(var(--destructive))}.hover\:dy-text-foreground:hover{color:hsl(var(--foreground))}.hover\:dy-text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:dy-text-primary:hover{color:hsl(var(--primary))}.hover\:dy-text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:dy-underline:hover{text-decoration-line:underline}.hover\:dy-opacity-100:hover{opacity:1}.hover\:dy-shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:dy-shadow-sm:hover{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:dy-shadow-xl:hover{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:after\:dy-bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:dy-bg-accent:focus{background-color:hsl(var(--accent))}.focus\:dy-bg-background:focus{background-color:hsl(var(--background))}.focus\:dy-bg-primary\/5:focus{background-color:hsl(var(--primary) / .05)}.focus\:dy-bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.focus\:dy-text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:dy-text-destructive:focus{color:hsl(var(--destructive))}.focus\:dy-text-primary:focus{color:hsl(var(--primary))}.focus\:dy-outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:dy-ring-0: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(0px + 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\:dy-ring-1: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(1px + 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\:dy-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\:dy-ring-primary\/20:focus{--tw-ring-color:hsl(var(--primary) / .2)}.focus\:dy-ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:dy-ring-offset-0:focus{--tw-ring-offset-width:0px}.focus\:dy-ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:dy-border-primary\/30:focus-visible{border-color:hsl(var(--primary) / .3)}.focus-visible\:dy-bg-white:focus-visible{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.focus-visible\:dy-shadow-md:focus-visible{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.focus-visible\:dy-outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:dy-ring-0: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(0px + 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\:dy-ring-1: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(1px + 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\:dy-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\:dy-ring-destructive:focus-visible{--tw-ring-color:hsl(var(--destructive))}.focus-visible\:dy-ring-primary\/20:focus-visible{--tw-ring-color:hsl(var(--primary) / .2)}.focus-visible\:dy-ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:dy-ring-sidebar-ring:focus-visible{--tw-ring-color:hsl(var(--sidebar-ring))}.focus-visible\:dy-ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.focus-visible\:dy-ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:dy-ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.active\:dy-scale-90:active{--tw-scale-x:.9;--tw-scale-y:.9;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))}.active\:dy-scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;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))}.active\:dy-scale-\[0\.98\]:active{--tw-scale-x:.98;--tw-scale-y:.98;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))}.active\:dy-bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:dy-text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:dy-pointer-events-none:disabled{pointer-events:none}.disabled\:dy-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:dy-opacity-50:disabled{opacity:.5}.has-\[\[data-variant\=inset\]\]\:dy-bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar-background))}.aria-disabled\:dy-pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:dy-opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:dy-text-muted-foreground\/40[aria-selected=true]{color:hsl(var(--muted-foreground) / .4)}.data-\[disabled\=true\]\:dy-pointer-events-none[data-disabled=true],.data-\[disabled\]\:dy-pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:dy-translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;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))}.data-\[side\=left\]\:dy--translate-x-1[data-side=left]{--tw-translate-x:-.25rem;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))}.data-\[side\=right\]\:dy-translate-x-1[data-side=right]{--tw-translate-x:.25rem;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))}.data-\[side\=top\]\:dy--translate-y-1[data-side=top]{--tw-translate-y:-.25rem;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))}.data-\[state\=checked\]\:dy-translate-x-5[data-state=checked]{--tw-translate-x:1.25rem;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))}.data-\[state\=unchecked\]\:dy-translate-x-0[data-state=unchecked]{--tw-translate-x:0px;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))}.data-\[range-middle\=true\]\:dy-rounded-none[data-range-middle=true]{border-radius:0}.data-\[selected-single\=true\]\:dy-rounded-full[data-selected-single=true]{border-radius:9999px}.data-\[range-end\=true\]\:dy-rounded-r-md[data-range-end=true]{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.data-\[range-start\=true\]\:dy-rounded-l-md[data-range-start=true]{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.data-\[state\=checked\]\:dy-border-primary[data-state=checked]{border-color:hsl(var(--primary))}.data-\[active\=true\]\:dy-bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[range-end\=true\]\:dy-bg-primary[data-range-end=true]{background-color:hsl(var(--primary))}.data-\[range-middle\=true\]\:dy-bg-accent[data-range-middle=true]{background-color:hsl(var(--accent))}.data-\[range-start\=true\]\:dy-bg-primary[data-range-start=true],.data-\[selected-single\=true\]\:dy-bg-primary[data-selected-single=true]{background-color:hsl(var(--primary))}.data-\[selected\=\'true\'\]\:dy-bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:dy-bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:dy-bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=checked\]\:dy-bg-primary\/5[data-state=checked]{background-color:hsl(var(--primary) / .05)}.data-\[state\=on\]\:dy-bg-accent[data-state=on],.data-\[state\=open\]\:dy-bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:dy-bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:dy-bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:dy-bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[active\=true\]\:dy-font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:dy-text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[placeholder\]\:dy-text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\[range-end\=true\]\:dy-text-primary-foreground[data-range-end=true]{color:hsl(var(--primary-foreground))}.data-\[range-middle\=true\]\:dy-text-accent-foreground[data-range-middle=true]{color:hsl(var(--accent-foreground))}.data-\[range-start\=true\]\:dy-text-primary-foreground[data-range-start=true],.data-\[selected-single\=true\]\:dy-text-primary-foreground[data-selected-single=true]{color:hsl(var(--primary-foreground))}.data-\[selected\=true\]\:dy-text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:dy-text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:dy-text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:dy-text-accent-foreground[data-state=on]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:dy-text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:dy-opacity-50[data-disabled=true],.data-\[disabled\]\:dy-opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:dy-opacity-100[data-state=open]{opacity:1}.data-\[selected-single\=true\]\:dy-shadow-lg[data-selected-single=true]{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[state\=active\]\:dy-shadow-sm[data-state=active]{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[state\=closed\]\:dy-duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:dy-duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:dy-animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=closed\]\:dy-animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:dy-fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:dy-fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:dy-zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:dy-zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:dy-slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:dy-slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:dy-slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:dy-slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=closed\]\:dy-slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:dy-slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:dy-slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:dy-slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:dy-slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:dy-slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:dy-slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:dy-slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:dy-slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:dy-slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:dy-slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:dy-slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=closed\]\:dy-duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:dy-duration-500[data-state=open]{animation-duration:.5s}.data-\[state\=open\]\:hover\:dy-bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=open\]\:hover\:dy-text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}@media (width>=640px){.sm\:dy-flex{display:flex}.sm\:dy-max-w-\[600px\]{max-width:600px}.sm\:dy-max-w-\[900px\]{max-width:900px}.sm\:dy-max-w-md{max-width:28rem}.sm\:dy-max-w-sm{max-width:24rem}.sm\:dy-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:dy-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:dy-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:dy-flex-row{flex-direction:row}.sm\:dy-justify-end{justify-content:flex-end}.sm\:dy-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 * calc(1 - var(--tw-space-x-reverse)))}.sm\:dy-rounded-xl{border-radius:.75rem}.sm\:dy-text-left{text-align:left}}@media (width>=768px){.md\:dy-block{display:block}.md\:dy-flex{display:flex}.md\:dy-hidden{display:none}.md\:dy-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:dy-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:dy-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:dy-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:dy-flex-row{flex-direction:row}.md\:dy-text-sm{font-size:.875rem;line-height:1.25rem}.md\:dy-opacity-0{opacity:0}.after\:md\:dy-hidden:after{content:var(--tw-content);display:none}}@media (width>=1024px){.lg\:dy--mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.lg\:dy--mt-10{margin-top:-2.5rem}.lg\:dy-block{display:block}.lg\:dy-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:dy-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:dy-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:dy-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:dy-px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:dy-px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:dy-py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:dy-text-5xl{font-size:3rem;line-height:1}}@media (width>=1280px){.xl\:dy-max-w-3xl{max-width:48rem}.xl\:dy-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width>=1536px){.\32 xl\:dy-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}.\[\&\>button\]\:dy-hidden>button{display:none}.\[\&\>span\:last-child\]\:dy-truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>span\]\:dy-line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:dy-size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:dy-size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:dy-shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:dy-text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\]\:dy-text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&\>tr\]\:last\:dy-border-b-0:last-child>tr{border-bottom-width:0}.\[\&_\[cmdk-group-heading\]\]\:dy-px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:dy-py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:dy-text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:dy-font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:dy-text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:dy-pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:dy-px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:dy-h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:dy-w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:dy-h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:dy-px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:dy-py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:dy-h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:dy-w-5 [cmdk-item] svg{width:1.25rem}.\[\&_svg\]\:dy-pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:dy-size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:dy-shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:dy-border-0 tr:last-child{border-width:0}.\[\&_tr\]\:dy-border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:dy--right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:dy-cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:dy-cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:dy--left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:dy-cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:dy-cursor-e-resize{cursor:e-resize}
2
+ /*$vite$:1*/
@@ -0,0 +1,13 @@
1
+ import { default as React } from 'react';
2
+ /**
3
+ * AuthGate protects the admin dashboard and handles the initial bootstrap flow.
4
+ *
5
+ * 1. Checks if any user collection has 'auth: true'.
6
+ * 2. If yes, checks if at least one user exists (initialized).
7
+ * 3. If not initialized, shows the 'First User' registration page.
8
+ * 4. If initialized but not logged in, shows the 'Login' page.
9
+ * 5. If logged in (or no auth required), renders the children.
10
+ */
11
+ export declare function AuthGate({ children }: {
12
+ children: React.ReactNode;
13
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { Component, ErrorInfo, ReactNode } from 'react';
2
+ interface Props {
3
+ children: ReactNode;
4
+ fallback?: ReactNode;
5
+ }
6
+ interface State {
7
+ hasError: boolean;
8
+ error: Error | null;
9
+ }
10
+ export declare class ErrorBoundary extends Component<Props, State> {
11
+ state: State;
12
+ static getDerivedStateFromError(error: Error): State;
13
+ componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
14
+ render(): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import('react').ReactPortal | import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>> | Iterable<ReactNode>> | import("react/jsx-runtime").JSX.Element;
15
+ }
16
+ export {};
@@ -0,0 +1,22 @@
1
+ import { Field as FieldSchema } from '@dyrected/sdk';
2
+ interface FieldRendererProps {
3
+ schema: FieldSchema;
4
+ field: any;
5
+ collection: string;
6
+ context?: {
7
+ user: any;
8
+ schemas?: any;
9
+ siblingData: any;
10
+ };
11
+ }
12
+ /**
13
+ * FieldRenderer (Field Registry/Dispatcher)
14
+ *
15
+ * This component is a pure dispatcher that maps a field schema type to its
16
+ * corresponding UI component (e.g., TextField, MediaPicker, SelectField).
17
+ *
18
+ * It receives standard props (field, schema, collection, context) and ensures
19
+ * they are passed down to the specialized field implementation.
20
+ */
21
+ export declare function FieldRenderer({ schema, field, collection, context }: FieldRendererProps): import("react/jsx-runtime").JSX.Element;
22
+ export {};
@@ -0,0 +1,9 @@
1
+ import { FieldSchema } from '../form-engine';
2
+ interface BlockBuilderProps {
3
+ schema: FieldSchema;
4
+ basePath: string;
5
+ control: any;
6
+ collection: string;
7
+ }
8
+ export declare function BlockBuilder({ schema, basePath, control, collection }: BlockBuilderProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,8 @@
1
+ interface DatePickerProps {
2
+ value?: string | Date;
3
+ onChange: (date?: string) => void;
4
+ label?: string;
5
+ disabled?: boolean;
6
+ }
7
+ export declare function DatePicker({ value, onChange, label, disabled }: DatePickerProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ interface JsonEditorProps {
2
+ value?: any;
3
+ onChange: (value: any) => void;
4
+ label?: string;
5
+ disabled?: boolean;
6
+ }
7
+ export declare function JsonEditor({ value, onChange, label, disabled }: JsonEditorProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,12 @@
1
+ interface MediaPickerProps {
2
+ collection: string;
3
+ value?: string | string[];
4
+ onChange: (value: string | string[]) => void;
5
+ label?: string;
6
+ variant?: "default" | "icon";
7
+ disabled?: boolean;
8
+ multiple?: boolean;
9
+ placeholder?: string;
10
+ }
11
+ export declare function MediaPicker({ collection, value, onChange, label, variant, disabled, multiple, placeholder }: MediaPickerProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,19 @@
1
+ interface Option {
2
+ label: string;
3
+ value: string;
4
+ }
5
+ interface MultiSelectProps {
6
+ options: Option[];
7
+ value?: string[];
8
+ onChange: (value: string[]) => void;
9
+ label?: string;
10
+ placeholder?: string;
11
+ disabled?: boolean;
12
+ }
13
+ /**
14
+ * MultiSelect Field component
15
+ *
16
+ * Provides a tag-based multi-selection UI using a searchable dropdown.
17
+ */
18
+ export declare function MultiSelect({ options, value, onChange, label, placeholder, disabled, }: MultiSelectProps): import("react/jsx-runtime").JSX.Element;
19
+ export {};
@@ -0,0 +1,8 @@
1
+ import { Field as FieldSchema } from '@dyrected/sdk';
2
+ interface RadioFieldProps {
3
+ schema: FieldSchema;
4
+ field: any;
5
+ disabled?: boolean;
6
+ }
7
+ export declare function RadioField({ schema, field, disabled }: RadioFieldProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,10 @@
1
+ interface RelationshipPickerProps {
2
+ value?: string | string[];
3
+ onChange: (value: string | string[]) => void;
4
+ label?: string;
5
+ relationTo: string;
6
+ multiple?: boolean;
7
+ disabled?: boolean;
8
+ }
9
+ export declare function RelationshipPicker({ value, onChange, label, relationTo, multiple, disabled }: RelationshipPickerProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,9 @@
1
+ interface RichTextEditorProps {
2
+ value: string;
3
+ onChange: (value: string) => void;
4
+ label?: string;
5
+ disabled?: boolean;
6
+ collection?: string;
7
+ }
8
+ export declare function RichTextEditor({ value, onChange, label, disabled, collection }: RichTextEditorProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,8 @@
1
+ import { Field as FieldSchema } from '@dyrected/sdk';
2
+ interface SelectFieldProps {
3
+ schema: FieldSchema;
4
+ field: any;
5
+ disabled?: boolean;
6
+ }
7
+ export declare function SelectField({ schema, field, disabled }: SelectFieldProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,6 @@
1
+ interface SwitchFieldProps {
2
+ field: any;
3
+ disabled?: boolean;
4
+ }
5
+ export declare function SwitchField({ field, disabled }: SwitchFieldProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,8 @@
1
+ import { Field as FieldSchema } from '@dyrected/sdk';
2
+ interface TextAreaFieldProps {
3
+ schema: FieldSchema;
4
+ field: any;
5
+ disabled?: boolean;
6
+ }
7
+ export declare function TextAreaField({ schema, field, disabled }: TextAreaFieldProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ import { Field as FieldSchema } from '@dyrected/sdk';
2
+ interface TextFieldProps {
3
+ schema: FieldSchema;
4
+ field: any;
5
+ disabled?: boolean;
6
+ }
7
+ export declare function TextField({ schema, field, disabled }: TextFieldProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,14 @@
1
+ import { Field as FieldSchema, Block as BlockSchema } from '@dyrected/sdk';
2
+ export type { FieldSchema, BlockSchema };
3
+ interface FormEngineProps {
4
+ collection: string;
5
+ fields: FieldSchema[];
6
+ defaultValues?: Record<string, any>;
7
+ onSubmit: (data: any) => void;
8
+ onChange?: (isDirty: boolean) => void;
9
+ isLoading?: boolean;
10
+ submitLabel?: string;
11
+ readOnly?: boolean;
12
+ onDataChange?: (data: any) => void;
13
+ }
14
+ export declare function FormEngine({ collection, fields, defaultValues, onSubmit, onChange, isLoading, submitLabel, readOnly, onDataChange }: FormEngineProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,20 @@
1
+ import { Field as FieldSchema } from '@dyrected/sdk';
2
+ interface FormFieldRendererProps {
3
+ schema: FieldSchema;
4
+ basePath: string;
5
+ control: any;
6
+ collection: string;
7
+ }
8
+ /**
9
+ * FormFieldRenderer (Field Orchestrator)
10
+ *
11
+ * This component handles the high-level logic for a single form field, including:
12
+ * - Field Lifecycle: Manages registration and state via react-hook-form Controller.
13
+ * - Conditional Visibility: Evaluates 'admin.condition' to show/hide fields dynamically.
14
+ * - Layout & Presentation: Renders labels, descriptions, and error states.
15
+ * - Validation: Displays Zod validation errors.
16
+ *
17
+ * It delegates the actual rendering of the input UI to the FieldRenderer.
18
+ */
19
+ export declare function FormFieldRenderer({ schema, basePath, control, collection }: FormFieldRendererProps): import("react/jsx-runtime").JSX.Element;
20
+ export {};
@@ -0,0 +1,11 @@
1
+ import { Field as FieldSchema } from '@dyrected/sdk';
2
+ import * as z from "zod";
3
+ export declare function normalizeOptions(options: string[] | {
4
+ label: string;
5
+ value: string;
6
+ }[] | undefined): {
7
+ label: string;
8
+ value: string;
9
+ }[];
10
+ export declare function buildSchemaShape(fields: FieldSchema[]): Record<string, z.ZodTypeAny>;
11
+ export declare function buildDefaultValues(fields: FieldSchema[], defaults: any): any;
@@ -0,0 +1,5 @@
1
+ import * as React from "react";
2
+ export declare function AdminShell({ children, isEmbedded, }: {
3
+ children: React.ReactNode;
4
+ isEmbedded?: boolean;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ export declare function BrandingProvider({ children }: {
3
+ children: React.ReactNode;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ interface LivePreviewPaneProps {
2
+ previewUrl: string;
3
+ data: any;
4
+ mode?: 'postMessage' | 'token';
5
+ }
6
+ export declare function LivePreviewPane({ previewUrl, data, mode }: LivePreviewPaneProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,12 @@
1
+ interface FocalPoint {
2
+ x: number;
3
+ y: number;
4
+ }
5
+ interface FocalPointPickerProps {
6
+ url: string;
7
+ value?: FocalPoint;
8
+ onChange: (value: FocalPoint) => void;
9
+ className?: string;
10
+ }
11
+ export declare function FocalPointPicker({ url, value, onChange, className }: FocalPointPickerProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,8 @@
1
+ interface MediaCardProps {
2
+ item: any;
3
+ baseUrl: string;
4
+ onDelete: (id: string) => void;
5
+ editPath: string;
6
+ }
7
+ export declare function MediaCard({ item, baseUrl, onDelete, editPath }: MediaCardProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ interface MediaGridProps {
2
+ items: any[];
3
+ baseUrl: string;
4
+ onDelete: (id: string) => void;
5
+ slug: string;
6
+ }
7
+ export declare function MediaGrid({ items, baseUrl, onDelete, slug }: MediaGridProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,11 @@
1
+ interface MediaLibraryDialogProps {
2
+ collection: string;
3
+ isOpen: boolean;
4
+ onOpenChange: (open: boolean) => void;
5
+ selectedValues: string[];
6
+ onSelect: (id: string) => void;
7
+ multiple?: boolean;
8
+ onConfirm?: (selectedIds: string[]) => void;
9
+ }
10
+ export declare function MediaLibraryDialog({ collection, isOpen, onOpenChange, selectedValues, onSelect, multiple, onConfirm }: MediaLibraryDialogProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,3 @@
1
+ import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
2
+ declare const AspectRatio: import('react').ForwardRefExoticComponent<AspectRatioPrimitive.AspectRatioProps & import('react').RefAttributes<HTMLDivElement>>;
3
+ export { AspectRatio };
@@ -0,0 +1,9 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from "react";
3
+ declare const badgeVariants: (props?: {
4
+ variant?: "default" | "destructive" | "outline" | "secondary";
5
+ } & import('class-variance-authority/types').ClassProp) => string;
6
+ export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
7
+ }
8
+ declare function Badge({ className, variant, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
9
+ export { Badge, badgeVariants };
@@ -0,0 +1,11 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from "react";
3
+ declare const buttonVariants: (props?: {
4
+ variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost";
5
+ size?: "icon" | "default" | "sm" | "lg";
6
+ } & import('class-variance-authority/types').ClassProp) => string;
7
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
8
+ asChild?: boolean;
9
+ }
10
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
11
+ export { Button, buttonVariants };
@@ -0,0 +1,8 @@
1
+ import { DayButton, DayPicker } from 'react-day-picker';
2
+ import { Button } from '../../components/ui/button';
3
+ import * as React from "react";
4
+ declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, components, ...props }: React.ComponentProps<typeof DayPicker> & {
5
+ buttonVariant?: React.ComponentProps<typeof Button>["variant"];
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ declare function CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>): import("react/jsx-runtime").JSX.Element;
8
+ export { Calendar, CalendarDayButton };
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
3
+ declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
4
+ declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
5
+ declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
6
+ declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
7
+ declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
8
+ export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
3
+ declare const Checkbox: React.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
4
+ export { Checkbox };
@@ -0,0 +1,80 @@
1
+ import { DialogProps } from '@radix-ui/react-dialog';
2
+ import * as React from "react";
3
+ declare const Command: React.ForwardRefExoticComponent<Omit<{
4
+ children?: React.ReactNode;
5
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
6
+ ref?: React.Ref<HTMLDivElement>;
7
+ } & {
8
+ asChild?: boolean;
9
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
10
+ label?: string;
11
+ shouldFilter?: boolean;
12
+ filter?: (value: string, search: string, keywords?: string[]) => number;
13
+ defaultValue?: string;
14
+ value?: string;
15
+ onValueChange?: (value: string) => void;
16
+ loop?: boolean;
17
+ disablePointerSelection?: boolean;
18
+ vimBindings?: boolean;
19
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
20
+ declare const CommandDialog: ({ children, ...props }: DialogProps) => import("react/jsx-runtime").JSX.Element;
21
+ declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & {
22
+ ref?: React.Ref<HTMLInputElement>;
23
+ } & {
24
+ asChild?: boolean;
25
+ }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "value" | "type" | "onChange"> & {
26
+ value?: string;
27
+ onValueChange?: (search: string) => void;
28
+ } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
29
+ declare const CommandList: React.ForwardRefExoticComponent<Omit<{
30
+ children?: React.ReactNode;
31
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
32
+ ref?: React.Ref<HTMLDivElement>;
33
+ } & {
34
+ asChild?: boolean;
35
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
36
+ label?: string;
37
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
38
+ declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
39
+ children?: React.ReactNode;
40
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
41
+ ref?: React.Ref<HTMLDivElement>;
42
+ } & {
43
+ asChild?: boolean;
44
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
45
+ declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
46
+ children?: React.ReactNode;
47
+ } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
48
+ ref?: React.Ref<HTMLDivElement>;
49
+ } & {
50
+ asChild?: boolean;
51
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>>, "value" | "heading"> & {
52
+ heading?: React.ReactNode;
53
+ value?: string;
54
+ forceMount?: boolean;
55
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
56
+ declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
57
+ ref?: React.Ref<HTMLDivElement>;
58
+ } & {
59
+ asChild?: boolean;
60
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
61
+ alwaysRender?: boolean;
62
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
63
+ declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
64
+ children?: React.ReactNode;
65
+ } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
66
+ ref?: React.Ref<HTMLDivElement>;
67
+ } & {
68
+ asChild?: boolean;
69
+ }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>>, "value" | "onSelect" | "disabled"> & {
70
+ disabled?: boolean;
71
+ onSelect?: (value: string) => void;
72
+ value?: string;
73
+ keywords?: string[];
74
+ forceMount?: boolean;
75
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
76
+ declare const CommandShortcut: {
77
+ ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
78
+ displayName: string;
79
+ };
80
+ export { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator, };
@@ -0,0 +1,14 @@
1
+ import { ColumnDef, VisibilityState } from '@tanstack/react-table';
2
+ import * as React from "react";
3
+ interface DataTableProps<TData, TValue> {
4
+ columns: ColumnDef<TData, TValue>[];
5
+ data: TData[];
6
+ searchKey?: string;
7
+ rowSelection?: any;
8
+ onRowSelectionChange?: any;
9
+ bulkActions?: (selectedIds: string[]) => React.ReactNode;
10
+ persistenceKey?: string;
11
+ initialColumnVisibility?: VisibilityState;
12
+ }
13
+ export declare function DataTable<TData, TValue>({ columns, data, searchKey, rowSelection: externalRowSelection, onRowSelectionChange, bulkActions, persistenceKey, initialColumnVisibility, }: DataTableProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
14
+ export {};