dgz-ui-shared 1.2.16 → 1.2.18

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 (43) hide show
  1. package/dist/chunks/Actions-25X7c3Kg.es.js +34 -0
  2. package/dist/chunks/Actions-25X7c3Kg.es.js.map +1 -0
  3. package/dist/chunks/Actions-DQPuVKCk.cjs.js +2 -0
  4. package/dist/chunks/Actions-DQPuVKCk.cjs.js.map +1 -0
  5. package/dist/chunks/ExportData-C1Lrr1gH.cjs.js +2 -0
  6. package/dist/chunks/ExportData-C1Lrr1gH.cjs.js.map +1 -0
  7. package/dist/chunks/ExportData-Cuy6BvoM.es.js +36 -0
  8. package/dist/chunks/ExportData-Cuy6BvoM.es.js.map +1 -0
  9. package/dist/chunks/Search-BDXQ3bSp.cjs.js +2 -0
  10. package/dist/chunks/Search-BDXQ3bSp.cjs.js.map +1 -0
  11. package/dist/chunks/Search-I3lwE0J6.es.js +148 -0
  12. package/dist/chunks/Search-I3lwE0J6.es.js.map +1 -0
  13. package/dist/components/actions/index.cjs.js +1 -1
  14. package/dist/components/actions/index.es.js +1 -1
  15. package/dist/components/datatable/index.cjs.js +1 -1
  16. package/dist/components/datatable/index.cjs.js.map +1 -1
  17. package/dist/components/datatable/index.es.js +50 -50
  18. package/dist/components/datatable/index.es.js.map +1 -1
  19. package/dist/components/export/index.cjs.js +1 -1
  20. package/dist/components/export/index.es.js +1 -1
  21. package/dist/components/filters/index.cjs.js +1 -1
  22. package/dist/components/filters/index.es.js +1 -1
  23. package/dist/components/theme/index.cjs.js +1 -1
  24. package/dist/components/theme/index.cjs.js.map +1 -1
  25. package/dist/components/theme/index.es.js +1 -1
  26. package/dist/components/theme/index.es.js.map +1 -1
  27. package/dist/styles.css +1 -1
  28. package/dist/types/components/actions/Actions.d.ts.map +1 -1
  29. package/dist/types/components/export/ExportData.d.ts.map +1 -1
  30. package/dist/types/components/filters/FilterWrapper.d.ts.map +1 -1
  31. package/package.json +2 -2
  32. package/dist/chunks/Actions-Bi_vjY5M.es.js +0 -30
  33. package/dist/chunks/Actions-Bi_vjY5M.es.js.map +0 -1
  34. package/dist/chunks/Actions-CXOiCjx0.cjs.js +0 -2
  35. package/dist/chunks/Actions-CXOiCjx0.cjs.js.map +0 -1
  36. package/dist/chunks/ExportData-CHPKm-ZY.es.js +0 -32
  37. package/dist/chunks/ExportData-CHPKm-ZY.es.js.map +0 -1
  38. package/dist/chunks/ExportData-CrB0H1Ts.cjs.js +0 -2
  39. package/dist/chunks/ExportData-CrB0H1Ts.cjs.js.map +0 -1
  40. package/dist/chunks/Search-CjVcBFAN.es.js +0 -149
  41. package/dist/chunks/Search-CjVcBFAN.es.js.map +0 -1
  42. package/dist/chunks/Search-hHeGlXqd.cjs.js +0 -2
  43. package/dist/chunks/Search-hHeGlXqd.cjs.js.map +0 -1
package/dist/styles.css CHANGED
@@ -1 +1 @@
1
- /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-gray-200:oklch(92.8% .006 264.531);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-semibold:600;--radius-xs:.125rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--primary:var(--color-neutral-950);--secondary:var(--color-neutral-alpha-13);--background:var(--color-neutral-0);--background-secondary:var(--color-neutral-50);--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:#30303033;--input:0 0% 89.8%;--ring:0 0% 3.9%;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%;--radius-xs:.125rem;--color-neutral-alpha-0:rgb(from var(--color-neutral-alpha-base)r g b/.01%);--color-neutral-alpha-1:rgb(from var(--color-neutral-alpha-base)r g b/3%);--color-neutral-alpha-2:rgb(from var(--color-neutral-alpha-base)r g b/5%);--color-neutral-alpha-3:rgb(from var(--color-neutral-alpha-base)r g b/7%);--color-neutral-alpha-4:rgb(from var(--color-neutral-alpha-base)r g b/10%);--color-neutral-alpha-5:rgb(from var(--color-neutral-alpha-base)r g b/16%);--color-neutral-alpha-6:rgb(from var(--color-neutral-alpha-base)r g b/20%);--color-neutral-alpha-7:rgb(from var(--color-neutral-alpha-base)r g b/24%);--color-neutral-alpha-8:rgb(from var(--color-neutral-alpha-base)r g b/28%);--color-neutral-alpha-9:rgb(from var(--color-neutral-alpha-base)r g b/32%);--color-neutral-alpha-10:rgb(from var(--color-neutral-alpha-base)r g b/40%);--color-neutral-alpha-11:rgb(from var(--color-neutral-alpha-base)r g b/48%);--color-neutral-alpha-12:rgb(from var(--color-neutral-alpha-base)r g b/56%);--color-neutral-alpha-13:rgb(from var(--color-neutral-alpha-base)r g b/64%);--color-neutral-alpha-14:rgb(from var(--color-neutral-alpha-base)r g b/72%);--color-neutral-alpha-15:rgb(from var(--color-neutral-alpha-base)r g b/80%);--color-neutral-alpha-16:rgb(from var(--color-neutral-alpha-base)r g b/88%);--color-neutral-inverted-0:rgb(from var(--color-neutral-base)r g b/.01%);--color-neutral-inverted-1:rgb(from var(--color-neutral-base)r g b/3%);--color-neutral-inverted-2:rgb(from var(--color-neutral-base)r g b/5%);--color-neutral-inverted-3:rgb(from var(--color-neutral-base)r g b/7%);--color-neutral-inverted-4:rgb(from var(--color-neutral-base)r g b/10%);--color-neutral-inverted-5:rgb(from var(--color-neutral-base)r g b/16%);--color-neutral-inverted-6:rgb(from var(--color-neutral-base)r g b/20%);--color-neutral-inverted-7:rgb(from var(--color-neutral-base)r g b/24%);--color-neutral-inverted-8:rgb(from var(--color-neutral-base)r g b/28%);--color-neutral-inverted-9:rgb(from var(--color-neutral-base)r g b/32%);--color-neutral-inverted-10:rgb(from var(--color-neutral-base)r g b/40%);--color-neutral-inverted-11:rgb(from var(--color-neutral-base)r g b/48%);--color-neutral-inverted-12:rgb(from var(--color-neutral-base)r g b/56%);--color-neutral-inverted-13:rgb(from var(--color-neutral-base)r g b/64%);--color-neutral-inverted-14:rgb(from var(--color-neutral-base)r g b/72%);--color-neutral-inverted-15:rgb(from var(--color-neutral-base)r g b/80%);--color-neutral-inverted-16:rgb(from var(--color-neutral-base)r g b/88%);--color-item-primary:var(--color-neutral-950);--color-item-secondary:var(--color-neutral-alpha-13);--color-item-tertiary:var(--color-neutral-alpha-10);--color-item-quaternary:var(--color-neutral-alpha-7);--color-item-primary-primary:var(--color-blue-600);--color-item-primary-primary-hover:var(--color-blue-700);--color-item-primary-primary-active:var(--color-blue-600);--color-item-primary-primary-focus:var(--color-blue-200);--color-item-primary-secondary:var(--color-neutral-0);--color-item-primary-secondary-hover:var(--color-neutral-50);--color-item-primary-secondary-active:var(--color-neutral-100);--color-item-primary-tertiary:var(--color-neutral-alpha-1);--color-item-primary-tertiary-hover:var(--color-neutral-alpha-2);--color-item-primary-tertiary-active:var(--color-neutral-alpha-3);--color-item-primary-ghost:var(--color-neutral-alpha-0);--color-item-primary-ghost-hover:var(--color-neutral-alpha-2);--color-item-primary-ghost-active:var(--color-neutral-alpha-3);--color-item-primary-destructive:var(--color-red-600);--color-item-primary-destructive-hover:var(--color-red-700);--color-item-primary-destructive-active:var(--color-red-600);--color-item-primary-destructive-focus:var(--color-red-200);--color-item-inverted:var(--color-neutral-0);--color-item-inverted-secondary:var(--color-neutral-inverted-13);--color-item-inverted-tertiary:var(--color-neutral-inverted-10);--color-item-inverted-quaternary:var(--color-neutral-inverted-7);--color-item-fixed:#090a0c;--color-item-fixed-secondary:#16191da3;--color-item-fixed-tertiary:#16191d66;--color-item-fixed-quaternary:#16191d3d;--color-item-fixed-inverted:var(--color-neutral-0);--color-item-fixed-inverted-secondary:var(--color-neutral-inverted-13);--color-item-fixed-inverted-tertiary:var(--color-neutral-inverted-10);--color-item-fixed-inverted-quaternary:var(--color-neutral-inverted-7);--color-surface-base-primary:var(--color-neutral-0);--color-surface-base-secondary:var(--color-neutral-50);--color-surface-base-tertiary:var(--color-neutral-100);--color-surface-component-primary:var(--color-neutral-0);--color-surface-component-secondary:var(--color-neutral-0);--color-surface-component-tertiary:var(--color-neutral-0);--color-surface-base-inverted:var(--color-neutral-950);--color-surface-overlay:#343434;--color-surface-muted:var(--color-neutral-0);--color-surface-muted-hover:var(--color-neutral-50);--color-surface-muted-pressed:var(--color-neutral-100);--color-shadows-inner-0:rgba(var(--color-neutral-base),0);--color-shadows-inner-1:#16191d;--color-shadows-inner-2:#16191d;--color-shadows-drop-1:#16191d;--color-shadows-drop-2:#16191d;--color-shadows-drop-3:#16191d;--color-shadows-drop-4:#16191d;--color-shadows-highlight-1:var(--color-blue-200);--color-shadows-highlight-2:var(--color-blue-500);--color-shadows-danger-1:var(--color-red-200);--color-shadows-danger-2:#ee3a3a;--color-shadows-card-border:#16191d;--color-shadows-card-border-2:#16191d;--color-border-base:var(--border);--color-border-alpha-strong:var(--color-neutral-alpha-6);--color-border-alpha-light:var(--color-neutral-alpha-3);--color-border-alpha-subtle:var(--color-neutral-alpha-4);--color-border-light:var(--color-neutral-200)}.dark{--background:var(--color-neutral-0);--background-secondary:var(--color-neutral-alpha-base);--foreground:0 0% 98%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:#fff3;--input:0 0% 14.9%;--ring:0 0% 83.1%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%;--sidebar:var(--background);--sidebar-foreground:#f4f4f5;--sidebar-primary:#1d4ed8;--sidebar-primary-foreground:#fff;--sidebar-accent:#27272a;--sidebar-accent-foreground:#f4f4f5;--sidebar-border:#27272a;--sidebar-ring:#3b82f6;--color-item-secondary:var(--color-neutral-inverted-13);--color-item-primary-tertiary:var(--color-neutral-inverted-2);--color-item-primary-tertiary-hover:var(--color-neutral-inverted-3);--color-item-primary-tertiary-active:var(--color-neutral-inverted-4);--color-surface-base-secondary:var(--color-neutral-inverted-2);--color-surface-base-tertiary:var(--color-neutral-200);--color-surface-component-primary:var(--color-neutral-100);--color-surface-component-secondary:var(--color-neutral-200);--color-surface-component-tertiary:#383838;--color-surface-base-inverted:var(--color-neutral-base);--color-surface-overlay:var(--color-neutral-inverted-3);--color-surface-muted:var(--color-neutral-100);--color-surface-muted-hover:var(--color-neutral-200);--color-surface-muted-pressed:#383838;--color-border-strong:var(--color-neutral-inverted-6);--color-shadow-inner-0:rgb(from var(--color-neutral-base)r g b/12%);--color-shadow-inner-1:rgb(from var(--color-neutral-base)r g b/8%);--color-shadow-inner-2:rgb(from var(--color-neutral-base)r g b/12%);--color-shadow-drop-1:#0000001f;--color-shadow-drop-2:#0003;--color-shadow-drop-3:#00000047;--color-shadow-drop-4:#0000005c;--color-shadow-card-border:rgb(from var(--color-neutral-base)r g b/12%);--color-shadow-card-border-2:rgb(from var(--color-neutral-base)r g b/0%);--color-border-alpha-strong:var(--color-neutral-inverted-6);--color-border-alpha-light:var(--color-neutral-inverted-4);--color-border-alpha-subtle:var(--color-neutral-inverted-5)}:root{--sidebar:var(--background-secondary);--sidebar-foreground:var(--primary);--sidebar-primary:#18181b;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f4f4f5;--sidebar-accent-foreground:#18181b;--sidebar-border:#e5e7eb;--sidebar-ring:#3b82f6}*{border-color:var(--color-border-alpha-light)}body{background-color:var(--background);font-family:var(--font-family-base);color:var(--color-item-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2\.5{top:calc(var(--spacing)*2.5)}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-8{right:calc(var(--spacing)*8)}.-bottom-5{bottom:calc(var(--spacing)*-5)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-auto{bottom:auto}.left-2{left:calc(var(--spacing)*2)}.z-1{z-index:1}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.m-0\!{margin:calc(var(--spacing)*0)!important}.mx-auto{margin-inline:auto}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mr-1{margin-right:calc(var(--spacing)*1)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-full{width:100%;height:100%}.h-8{height:calc(var(--spacing)*8)}.h-8\.5{height:calc(var(--spacing)*8.5)}.h-16{height:calc(var(--spacing)*16)}.h-\[1\.2rem\]{height:1.2rem}.h-full{height:100%}.max-h-\[calc\(100vh-2rem\)\]{max-height:calc(100vh - 2rem)}.max-h-full{max-height:100%}.min-h-10{min-height:calc(var(--spacing)*10)}.w-9{width:calc(var(--spacing)*9)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-17{width:calc(var(--spacing)*17)}.w-\[1\.2rem\]{width:1.2rem}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-78{max-width:calc(var(--spacing)*78)}.max-w-\[95\%\]{max-width:95%}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-16{min-width:calc(var(--spacing)*16)}.min-w-20{min-width:calc(var(--spacing)*20)}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-0{rotate:none}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*0)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*0)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-border-alpha-light{border-color:var(--color-border-alpha-light)}.border-item-primary{border-color:var(--color-item-primary-primary)}.border-transparent{border-color:#0000}.bg-bg,.bg-bg\/70{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-bg\/70{background-color:color-mix(in oklab,var(--background)70%,transparent)}}.bg-gray-200{background-color:var(--color-gray-200)}.bg-transparent\!{background-color:#0000!important}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-3{padding-inline:calc(var(--spacing)*3)}.py-1{padding-block:calc(var(--spacing)*1)}.text-center{text-align:center}.text-start{text-align:start}.text-body-sm-medium{font-size:.875rem;line-height:var(--tw-leading,1.25rem);font-weight:var(--tw-font-weight,500)}.text-body-xs-medium{font-size:.75rem;line-height:var(--tw-leading,1.125rem);font-weight:var(--tw-font-weight,500)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-foreground{color:var(--foreground)}.text-item-primary{color:var(--color-item-primary-primary)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-red-600{color:var(--color-red-600)}.text-secondary{color:var(--color-item-secondary)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.accent-foreground{accent-color:var(--foreground)}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.hover\:border-item-primary:hover{border-color:var(--color-item-primary-primary)}.hover\:opacity-80:hover{opacity:.8}}@media(min-width:64rem){.lg\:\!inline,.lg\:inline\!{display:inline!important}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media(min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:96rem){.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.dark\:scale-0:is(.dark *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:scale-100:is(.dark *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:-rotate-90:is(.dark *){rotate:-90deg}.dark\:rotate-0:is(.dark *){rotate:none}.\[\&_button\]\:-top-1 button{top:calc(var(--spacing)*-1)}.\[\&\>tr\:nth-child\(even\)\]\:bg-bg-secondary>tr:nth-child(2n){background-color:var(--background-secondary)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--color-neutral-base:#fff;--color-neutral-0:var(--color-neutral-base);--color-neutral-50:#f9f9f9;--color-neutral-100:#f6f6f6;--color-neutral-200:#efefef;--color-neutral-300:#d8d8d8;--color-neutral-400:#a5a5a5;--color-neutral-500:#757575;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#252525;--color-neutral-900:#202020;--color-neutral-950:#171717;--color-neutral-alpha-base:#303030;--color-blue-50:#f0f7ff;--color-blue-100:#e5f2ff;--color-blue-200:#cce5ff;--color-blue-300:#9cf;--color-blue-400:#66b2ff;--color-blue-500:#1487fa;--color-blue-600:#1380ed;--color-blue-700:#1a79d8;--color-blue-800:#1d67b0;--color-blue-900:#1f558a;--color-blue-950:#173654;--color-green-50:#e8fcef;--color-green-100:#dcfce7;--color-green-200:#bbf7d0;--color-green-300:#81eea8;--color-green-400:#41dd7a;--color-green-500:#22c55d;--color-green-600:#17a34a;--color-green-700:#1a8f44;--color-green-800:#176936;--color-green-900:#14532d;--color-green-950:#052e16;--color-lime-50:#f3fddd;--color-lime-100:#ecfbcb;--color-lime-200:#d6f995;--color-lime-300:#bff164;--color-lime-400:#a3e635;--color-lime-500:#84cc15;--color-lime-600:#6bad0d;--color-lime-700:#581;--color-lime-800:#426713;--color-lime-900:#365313;--color-lime-950:#1b2d06;--color-cyan-50:#ecfeff;--color-cyan-100:#cefafe;--color-cyan-200:#a5f3fc;--color-cyan-300:#67e8f9;--color-cyan-400:#24d3ee;--color-cyan-500:#00c3e4;--color-cyan-600:#02abd3;--color-cyan-700:#0586a9;--color-cyan-800:#0d6783;--color-cyan-900:#164e63;--color-cyan-950:#093344;--color-orange-50:#fff7d6;--color-orange-100:#fef0b9;--color-orange-200:#fde277;--color-orange-300:#fbd44c;--color-orange-400:#fbbf24;--color-orange-500:#f59e0c;--color-orange-600:#d97708;--color-orange-700:#b4540a;--color-orange-800:#92400d;--color-orange-900:#78350f;--color-orange-950:#451b03;--color-red-50:#fef6f6;--color-red-100:#fee7e6;--color-red-200:#fed7d7;--color-red-300:#fdb9b9;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-600:#dc2625;--color-red-700:#c81e1d;--color-red-800:#a01c1c;--color-red-900:#7f1c1d;--color-red-950:#450a0a;--color-purple-50:#f5f3ff;--color-purple-100:#ede9fe;--color-purple-200:#ddd6fe;--color-purple-300:#c3b6fd;--color-purple-400:#a88bfa;--color-purple-500:#8b5cf6;--color-purple-600:#7c3aed;--color-purple-700:#6d28d9;--color-purple-800:#5b21b6;--color-purple-900:#4c1d95;--color-purple-950:#2e1065;--color-indigo-50:#eef2ff;--color-indigo-100:#ede9fe;--color-indigo-200:#ddd6fe;--color-indigo-300:#a5b4fc;--color-indigo-400:#818cf8;--color-indigo-500:#6366f1;--color-indigo-600:#4f46e5;--color-indigo-700:#4338ca;--color-indigo-800:#3730a3;--color-indigo-900:#312e81;--color-indigo-950:#1e1b4b}.dark{--color-neutral-0:#131313;--color-neutral-50:#161616;--color-neutral-100:#202020;--color-neutral-200:#252525;--color-neutral-300:#404040;--color-neutral-400:#525252;--color-neutral-500:#757575;--color-neutral-600:#a3a3a3;--color-neutral-700:#e5e5e5;--color-neutral-800:#f5f5f5;--color-neutral-900:#f8f8f8;--color-neutral-950:#fff;--color-neutral-alpha-base:#202020;--color-blue-50:#11273c;--color-blue-100:#1d4f81;--color-blue-200:#1b61a6;--color-blue-300:#1b76d0;--color-blue-400:#1282f3;--color-blue-500:#0078f0;--color-blue-600:#5cadff;--color-blue-700:#8fc7ff;--color-blue-800:#c2e0ff;--color-blue-900:#dbedff;--color-blue-950:#e5f2ff;--color-green-50:#042512;--color-green-100:#124a28;--color-green-200:#176936;--color-green-300:#1a8f44;--color-green-400:#17a34a;--color-green-500:#20bb58;--color-green-600:#41dd7a;--color-green-700:#78eda2;--color-green-800:#adf5c6;--color-green-900:#d5fbe2;--color-green-950:#e4fcec;--color-lime-50:#1e3107;--color-lime-100:#333;--color-lime-200:#436813;--color-lime-300:#558910;--color-lime-400:#66a60d;--color-lime-500:#81c714;--color-lime-600:#9ce425;--color-lime-700:#b9f057;--color-lime-800:#d4f890;--color-lime-900:#e7fabd;--color-lime-950:#f2fdd8;--color-cyan-50:#072936;--color-cyan-100:#134558;--color-cyan-200:#0c5b74;--color-cyan-300:#047e9f;--color-cyan-400:#02a4ca;--color-cyan-500:#00bbdb;--color-cyan-600:#1cd1ed;--color-cyan-700:#5de7f9;--color-cyan-800:#9cf2fc;--color-cyan-900:#c8f9fe;--color-cyan-950:#e5feff;--color-orange-50:#3b1703;--color-orange-100:#6d300e;--color-orange-200:#883c0c;--color-orange-300:#a94f09;--color-orange-400:#cf7108;--color-orange-500:#eb970a;--color-orange-600:#fbba14;--color-orange-700:#fbcf37;--color-orange-800:#fde37d;--color-orange-900:#fef0b9;--color-orange-950:#fff6d1;--color-red-50:#430909;--color-red-100:#751a1b;--color-red-200:#8f1919;--color-red-300:#bb1c1b;--color-red-400:#dc2423;--color-red-500:#ee3a3a;--color-red-600:#f75959;--color-red-700:#fc7373;--color-red-800:#fec8c8;--color-red-900:#fee2e1;--color-red-950:#fef1f1;--color-purple-50:#2a0f5c;--color-purple-100:#481b8d;--color-purple-200:#561fad;--color-purple-300:#6825d0;--color-purple-400:#7936ed;--color-purple-500:#8756f6;--color-purple-600:#a385fa;--color-purple-700:#beb0fd;--color-purple-800:#dad2fe;--color-purple-900:#e7e2fe;--color-purple-950:#f2f0ff;--color-indigo-50:#1e1b4b;--color-indigo-100:#312e81;--color-indigo-200:#3730a3;--color-indigo-300:#4338ca;--color-indigo-400:#4f46e5;--color-indigo-500:#6366f1;--color-indigo-600:#818cf8;--color-indigo-700:#a5b4fc;--color-indigo-800:#ddd6fe;--color-indigo-900:#ede9fe;--color-indigo-950:#eef2ff}.Toastify__toast-container.Toastify__toast-container--bottom-left{display:none}@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))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
1
+ /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-gray-200:oklch(92.8% .006 264.531);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-semibold:600;--radius-xs:.125rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--primary:var(--color-neutral-950);--secondary:var(--color-neutral-alpha-13);--background:var(--color-neutral-0);--background-secondary:var(--color-neutral-50);--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:#30303033;--input:0 0% 89.8%;--ring:0 0% 3.9%;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%;--radius-xs:.125rem;--color-neutral-alpha-0:rgb(from var(--color-neutral-alpha-base)r g b/.01%);--color-neutral-alpha-1:rgb(from var(--color-neutral-alpha-base)r g b/3%);--color-neutral-alpha-2:rgb(from var(--color-neutral-alpha-base)r g b/5%);--color-neutral-alpha-3:rgb(from var(--color-neutral-alpha-base)r g b/7%);--color-neutral-alpha-4:rgb(from var(--color-neutral-alpha-base)r g b/10%);--color-neutral-alpha-5:rgb(from var(--color-neutral-alpha-base)r g b/16%);--color-neutral-alpha-6:rgb(from var(--color-neutral-alpha-base)r g b/20%);--color-neutral-alpha-7:rgb(from var(--color-neutral-alpha-base)r g b/24%);--color-neutral-alpha-8:rgb(from var(--color-neutral-alpha-base)r g b/28%);--color-neutral-alpha-9:rgb(from var(--color-neutral-alpha-base)r g b/32%);--color-neutral-alpha-10:rgb(from var(--color-neutral-alpha-base)r g b/40%);--color-neutral-alpha-11:rgb(from var(--color-neutral-alpha-base)r g b/48%);--color-neutral-alpha-12:rgb(from var(--color-neutral-alpha-base)r g b/56%);--color-neutral-alpha-13:rgb(from var(--color-neutral-alpha-base)r g b/64%);--color-neutral-alpha-14:rgb(from var(--color-neutral-alpha-base)r g b/72%);--color-neutral-alpha-15:rgb(from var(--color-neutral-alpha-base)r g b/80%);--color-neutral-alpha-16:rgb(from var(--color-neutral-alpha-base)r g b/88%);--color-neutral-inverted-0:rgb(from var(--color-neutral-base)r g b/.01%);--color-neutral-inverted-1:rgb(from var(--color-neutral-base)r g b/3%);--color-neutral-inverted-2:rgb(from var(--color-neutral-base)r g b/5%);--color-neutral-inverted-3:rgb(from var(--color-neutral-base)r g b/7%);--color-neutral-inverted-4:rgb(from var(--color-neutral-base)r g b/10%);--color-neutral-inverted-5:rgb(from var(--color-neutral-base)r g b/16%);--color-neutral-inverted-6:rgb(from var(--color-neutral-base)r g b/20%);--color-neutral-inverted-7:rgb(from var(--color-neutral-base)r g b/24%);--color-neutral-inverted-8:rgb(from var(--color-neutral-base)r g b/28%);--color-neutral-inverted-9:rgb(from var(--color-neutral-base)r g b/32%);--color-neutral-inverted-10:rgb(from var(--color-neutral-base)r g b/40%);--color-neutral-inverted-11:rgb(from var(--color-neutral-base)r g b/48%);--color-neutral-inverted-12:rgb(from var(--color-neutral-base)r g b/56%);--color-neutral-inverted-13:rgb(from var(--color-neutral-base)r g b/64%);--color-neutral-inverted-14:rgb(from var(--color-neutral-base)r g b/72%);--color-neutral-inverted-15:rgb(from var(--color-neutral-base)r g b/80%);--color-neutral-inverted-16:rgb(from var(--color-neutral-base)r g b/88%);--color-item-primary:var(--color-neutral-950);--color-item-secondary:var(--color-neutral-alpha-13);--color-item-tertiary:var(--color-neutral-alpha-10);--color-item-quaternary:var(--color-neutral-alpha-7);--color-item-primary-primary:var(--color-blue-600);--color-item-primary-primary-hover:var(--color-blue-700);--color-item-primary-primary-active:var(--color-blue-600);--color-item-primary-primary-focus:var(--color-blue-200);--color-item-primary-secondary:var(--color-neutral-0);--color-item-primary-secondary-hover:var(--color-neutral-50);--color-item-primary-secondary-active:var(--color-neutral-100);--color-item-primary-tertiary:var(--color-neutral-alpha-1);--color-item-primary-tertiary-hover:var(--color-neutral-alpha-2);--color-item-primary-tertiary-active:var(--color-neutral-alpha-3);--color-item-primary-ghost:var(--color-neutral-alpha-0);--color-item-primary-ghost-hover:var(--color-neutral-alpha-2);--color-item-primary-ghost-active:var(--color-neutral-alpha-3);--color-item-primary-destructive:var(--color-red-600);--color-item-primary-destructive-hover:var(--color-red-700);--color-item-primary-destructive-active:var(--color-red-600);--color-item-primary-destructive-focus:var(--color-red-200);--color-item-inverted:var(--color-neutral-0);--color-item-inverted-secondary:var(--color-neutral-inverted-13);--color-item-inverted-tertiary:var(--color-neutral-inverted-10);--color-item-inverted-quaternary:var(--color-neutral-inverted-7);--color-item-fixed:#090a0c;--color-item-fixed-secondary:#16191da3;--color-item-fixed-tertiary:#16191d66;--color-item-fixed-quaternary:#16191d3d;--color-item-fixed-inverted:var(--color-neutral-0);--color-item-fixed-inverted-secondary:var(--color-neutral-inverted-13);--color-item-fixed-inverted-tertiary:var(--color-neutral-inverted-10);--color-item-fixed-inverted-quaternary:var(--color-neutral-inverted-7);--color-surface-base-primary:var(--color-neutral-0);--color-surface-base-secondary:var(--color-neutral-50);--color-surface-base-tertiary:var(--color-neutral-100);--color-surface-component-primary:var(--color-neutral-0);--color-surface-component-secondary:var(--color-neutral-0);--color-surface-component-tertiary:var(--color-neutral-0);--color-surface-base-inverted:var(--color-neutral-950);--color-surface-overlay:#343434;--color-surface-muted:var(--color-neutral-0);--color-surface-muted-hover:var(--color-neutral-50);--color-surface-muted-pressed:var(--color-neutral-100);--color-shadows-inner-0:rgba(var(--color-neutral-base),0);--color-shadows-inner-1:#16191d;--color-shadows-inner-2:#16191d;--color-shadows-drop-1:#16191d;--color-shadows-drop-2:#16191d;--color-shadows-drop-3:#16191d;--color-shadows-drop-4:#16191d;--color-shadows-highlight-1:var(--color-blue-200);--color-shadows-highlight-2:var(--color-blue-500);--color-shadows-danger-1:var(--color-red-200);--color-shadows-danger-2:#ee3a3a;--color-shadows-card-border:#16191d;--color-shadows-card-border-2:#16191d;--color-border-base:var(--border);--color-border-alpha-strong:var(--color-neutral-alpha-6);--color-border-alpha-light:var(--color-neutral-alpha-3);--color-border-alpha-subtle:var(--color-neutral-alpha-4);--color-border-light:var(--color-neutral-200)}.dark{--background:var(--color-neutral-0);--background-secondary:var(--color-neutral-alpha-base);--foreground:0 0% 98%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:#fff3;--input:0 0% 14.9%;--ring:0 0% 83.1%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%;--sidebar:var(--background);--sidebar-foreground:#f4f4f5;--sidebar-primary:#1d4ed8;--sidebar-primary-foreground:#fff;--sidebar-accent:#27272a;--sidebar-accent-foreground:#f4f4f5;--sidebar-border:#27272a;--sidebar-ring:#3b82f6;--color-item-secondary:var(--color-neutral-inverted-13);--color-item-primary-tertiary:var(--color-neutral-inverted-2);--color-item-primary-tertiary-hover:var(--color-neutral-inverted-3);--color-item-primary-tertiary-active:var(--color-neutral-inverted-4);--color-surface-base-secondary:var(--color-neutral-inverted-2);--color-surface-base-tertiary:var(--color-neutral-200);--color-surface-component-primary:var(--color-neutral-100);--color-surface-component-secondary:var(--color-neutral-200);--color-surface-component-tertiary:#383838;--color-surface-base-inverted:var(--color-neutral-base);--color-surface-overlay:var(--color-neutral-inverted-3);--color-surface-muted:var(--color-neutral-100);--color-surface-muted-hover:var(--color-neutral-200);--color-surface-muted-pressed:#383838;--color-border-strong:var(--color-neutral-inverted-6);--color-shadow-inner-0:rgb(from var(--color-neutral-base)r g b/12%);--color-shadow-inner-1:rgb(from var(--color-neutral-base)r g b/8%);--color-shadow-inner-2:rgb(from var(--color-neutral-base)r g b/12%);--color-shadow-drop-1:#0000001f;--color-shadow-drop-2:#0003;--color-shadow-drop-3:#00000047;--color-shadow-drop-4:#0000005c;--color-shadow-card-border:rgb(from var(--color-neutral-base)r g b/12%);--color-shadow-card-border-2:rgb(from var(--color-neutral-base)r g b/0%);--color-border-alpha-strong:var(--color-neutral-inverted-6);--color-border-alpha-light:var(--color-neutral-inverted-4);--color-border-alpha-subtle:var(--color-neutral-inverted-5)}:root{--sidebar:var(--background-secondary);--sidebar-foreground:var(--primary);--sidebar-primary:#18181b;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f4f4f5;--sidebar-accent-foreground:#18181b;--sidebar-border:#e5e7eb;--sidebar-ring:#3b82f6}*{border-color:var(--color-border-alpha-light)}body{background-color:var(--background);font-family:var(--font-family-base);color:var(--color-item-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2\.5{top:calc(var(--spacing)*2.5)}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-8{right:calc(var(--spacing)*8)}.-bottom-5{bottom:calc(var(--spacing)*-5)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-auto{bottom:auto}.left-2{left:calc(var(--spacing)*2)}.z-1{z-index:1}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.m-0\!{margin:calc(var(--spacing)*0)!important}.mx-auto{margin-inline:auto}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mr-1{margin-right:calc(var(--spacing)*1)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-full{width:100%;height:100%}.h-8{height:calc(var(--spacing)*8)}.h-8\.5{height:calc(var(--spacing)*8.5)}.h-16{height:calc(var(--spacing)*16)}.h-\[1\.2rem\]{height:1.2rem}.h-full{height:100%}.max-h-\[calc\(100vh-2rem\)\]{max-height:calc(100vh - 2rem)}.max-h-full{max-height:100%}.min-h-10{min-height:calc(var(--spacing)*10)}.w-9{width:calc(var(--spacing)*9)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-17{width:calc(var(--spacing)*17)}.w-\[1\.2rem\]{width:1.2rem}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-78{max-width:calc(var(--spacing)*78)}.max-w-\[95\%\]{max-width:95%}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-16{min-width:calc(var(--spacing)*16)}.min-w-20{min-width:calc(var(--spacing)*20)}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-0{rotate:none}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*0)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*0)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-border-alpha-light{border-color:var(--color-border-alpha-light)}.border-item-primary{border-color:var(--color-item-primary-primary)}.border-transparent{border-color:#0000}.bg-bg,.bg-bg\/70{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-bg\/70{background-color:color-mix(in oklab,var(--background)70%,transparent)}}.bg-gray-200{background-color:var(--color-gray-200)}.bg-transparent\!{background-color:#0000!important}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-3{padding-inline:calc(var(--spacing)*3)}.py-1{padding-block:calc(var(--spacing)*1)}.text-center{text-align:center}.text-start{text-align:start}.text-body-sm-medium{font-size:.875rem;line-height:var(--tw-leading,1.25rem);font-weight:var(--tw-font-weight,500)}.text-body-xs-medium{font-size:.75rem;line-height:var(--tw-leading,1.125rem);font-weight:var(--tw-font-weight,500)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-foreground{color:var(--foreground)}.text-item-primary{color:var(--color-item-primary-primary)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-red-600{color:var(--color-red-600)}.text-secondary{color:var(--color-item-secondary)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.accent-foreground{accent-color:var(--foreground)}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.hover\:border-item-primary:hover{border-color:var(--color-item-primary-primary)}.hover\:opacity-80:hover{opacity:.8}}@media(min-width:64rem){.lg\:inline\!{display:inline!important}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media(min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:96rem){.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.dark\:scale-0:is(.dark *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:scale-100:is(.dark *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:-rotate-90:is(.dark *){rotate:-90deg}.dark\:rotate-0:is(.dark *){rotate:none}.\[\&_button\]\:-top-1 button{top:calc(var(--spacing)*-1)}.\[\&\>tr\:nth-child\(even\)\]\:bg-bg-secondary>tr:nth-child(2n){background-color:var(--background-secondary)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--color-neutral-base:#fff;--color-neutral-0:var(--color-neutral-base);--color-neutral-50:#f9f9f9;--color-neutral-100:#f6f6f6;--color-neutral-200:#efefef;--color-neutral-300:#d8d8d8;--color-neutral-400:#a5a5a5;--color-neutral-500:#757575;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#252525;--color-neutral-900:#202020;--color-neutral-950:#171717;--color-neutral-alpha-base:#303030;--color-blue-50:#f0f7ff;--color-blue-100:#e5f2ff;--color-blue-200:#cce5ff;--color-blue-300:#9cf;--color-blue-400:#66b2ff;--color-blue-500:#1487fa;--color-blue-600:#1380ed;--color-blue-700:#1a79d8;--color-blue-800:#1d67b0;--color-blue-900:#1f558a;--color-blue-950:#173654;--color-green-50:#e8fcef;--color-green-100:#dcfce7;--color-green-200:#bbf7d0;--color-green-300:#81eea8;--color-green-400:#41dd7a;--color-green-500:#22c55d;--color-green-600:#17a34a;--color-green-700:#1a8f44;--color-green-800:#176936;--color-green-900:#14532d;--color-green-950:#052e16;--color-lime-50:#f3fddd;--color-lime-100:#ecfbcb;--color-lime-200:#d6f995;--color-lime-300:#bff164;--color-lime-400:#a3e635;--color-lime-500:#84cc15;--color-lime-600:#6bad0d;--color-lime-700:#581;--color-lime-800:#426713;--color-lime-900:#365313;--color-lime-950:#1b2d06;--color-cyan-50:#ecfeff;--color-cyan-100:#cefafe;--color-cyan-200:#a5f3fc;--color-cyan-300:#67e8f9;--color-cyan-400:#24d3ee;--color-cyan-500:#00c3e4;--color-cyan-600:#02abd3;--color-cyan-700:#0586a9;--color-cyan-800:#0d6783;--color-cyan-900:#164e63;--color-cyan-950:#093344;--color-orange-50:#fff7d6;--color-orange-100:#fef0b9;--color-orange-200:#fde277;--color-orange-300:#fbd44c;--color-orange-400:#fbbf24;--color-orange-500:#f59e0c;--color-orange-600:#d97708;--color-orange-700:#b4540a;--color-orange-800:#92400d;--color-orange-900:#78350f;--color-orange-950:#451b03;--color-red-50:#fef6f6;--color-red-100:#fee7e6;--color-red-200:#fed7d7;--color-red-300:#fdb9b9;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-600:#dc2625;--color-red-700:#c81e1d;--color-red-800:#a01c1c;--color-red-900:#7f1c1d;--color-red-950:#450a0a;--color-purple-50:#f5f3ff;--color-purple-100:#ede9fe;--color-purple-200:#ddd6fe;--color-purple-300:#c3b6fd;--color-purple-400:#a88bfa;--color-purple-500:#8b5cf6;--color-purple-600:#7c3aed;--color-purple-700:#6d28d9;--color-purple-800:#5b21b6;--color-purple-900:#4c1d95;--color-purple-950:#2e1065;--color-indigo-50:#eef2ff;--color-indigo-100:#ede9fe;--color-indigo-200:#ddd6fe;--color-indigo-300:#a5b4fc;--color-indigo-400:#818cf8;--color-indigo-500:#6366f1;--color-indigo-600:#4f46e5;--color-indigo-700:#4338ca;--color-indigo-800:#3730a3;--color-indigo-900:#312e81;--color-indigo-950:#1e1b4b}.dark{--color-neutral-0:#131313;--color-neutral-50:#161616;--color-neutral-100:#202020;--color-neutral-200:#252525;--color-neutral-300:#404040;--color-neutral-400:#525252;--color-neutral-500:#757575;--color-neutral-600:#a3a3a3;--color-neutral-700:#e5e5e5;--color-neutral-800:#f5f5f5;--color-neutral-900:#f8f8f8;--color-neutral-950:#fff;--color-neutral-alpha-base:#202020;--color-blue-50:#11273c;--color-blue-100:#1d4f81;--color-blue-200:#1b61a6;--color-blue-300:#1b76d0;--color-blue-400:#1282f3;--color-blue-500:#0078f0;--color-blue-600:#5cadff;--color-blue-700:#8fc7ff;--color-blue-800:#c2e0ff;--color-blue-900:#dbedff;--color-blue-950:#e5f2ff;--color-green-50:#042512;--color-green-100:#124a28;--color-green-200:#176936;--color-green-300:#1a8f44;--color-green-400:#17a34a;--color-green-500:#20bb58;--color-green-600:#41dd7a;--color-green-700:#78eda2;--color-green-800:#adf5c6;--color-green-900:#d5fbe2;--color-green-950:#e4fcec;--color-lime-50:#1e3107;--color-lime-100:#333;--color-lime-200:#436813;--color-lime-300:#558910;--color-lime-400:#66a60d;--color-lime-500:#81c714;--color-lime-600:#9ce425;--color-lime-700:#b9f057;--color-lime-800:#d4f890;--color-lime-900:#e7fabd;--color-lime-950:#f2fdd8;--color-cyan-50:#072936;--color-cyan-100:#134558;--color-cyan-200:#0c5b74;--color-cyan-300:#047e9f;--color-cyan-400:#02a4ca;--color-cyan-500:#00bbdb;--color-cyan-600:#1cd1ed;--color-cyan-700:#5de7f9;--color-cyan-800:#9cf2fc;--color-cyan-900:#c8f9fe;--color-cyan-950:#e5feff;--color-orange-50:#3b1703;--color-orange-100:#6d300e;--color-orange-200:#883c0c;--color-orange-300:#a94f09;--color-orange-400:#cf7108;--color-orange-500:#eb970a;--color-orange-600:#fbba14;--color-orange-700:#fbcf37;--color-orange-800:#fde37d;--color-orange-900:#fef0b9;--color-orange-950:#fff6d1;--color-red-50:#430909;--color-red-100:#751a1b;--color-red-200:#8f1919;--color-red-300:#bb1c1b;--color-red-400:#dc2423;--color-red-500:#ee3a3a;--color-red-600:#f75959;--color-red-700:#fc7373;--color-red-800:#fec8c8;--color-red-900:#fee2e1;--color-red-950:#fef1f1;--color-purple-50:#2a0f5c;--color-purple-100:#481b8d;--color-purple-200:#561fad;--color-purple-300:#6825d0;--color-purple-400:#7936ed;--color-purple-500:#8756f6;--color-purple-600:#a385fa;--color-purple-700:#beb0fd;--color-purple-800:#dad2fe;--color-purple-900:#e7e2fe;--color-purple-950:#f2f0ff;--color-indigo-50:#1e1b4b;--color-indigo-100:#312e81;--color-indigo-200:#3730a3;--color-indigo-300:#4338ca;--color-indigo-400:#4f46e5;--color-indigo-500:#6366f1;--color-indigo-600:#818cf8;--color-indigo-700:#a5b4fc;--color-indigo-800:#ddd6fe;--color-indigo-900:#ede9fe;--color-indigo-950:#eef2ff}.Toastify__toast-container.Toastify__toast-container--bottom-left{display:none}@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))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
@@ -1 +1 @@
1
- {"version":3,"file":"Actions.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/Actions.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,sBAAsB,EAK5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,KAAK,EAAE,SAAS,CAAC;IACjB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,sBAAsB;IAC1D,6DAA6D;IAC7D,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,oCAAoC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,iDAKrB,YAAY,4CAyBd,CAAC"}
1
+ {"version":3,"file":"Actions.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/Actions.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,sBAAsB,EAK5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,KAAK,EAAE,SAAS,CAAC;IACjB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,sBAAsB;IAC1D,6DAA6D;IAC7D,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,oCAAoC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,iDAKrB,YAAY,4CA2Bd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExportData.d.ts","sourceRoot":"","sources":["../../../../src/components/export/ExportData.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,sBAAsB,EAK5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,KAAK,EAAE,SAAS,CAAC;IACjB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D,gDAAgD;IAChD,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,GAAI,0DAMxB,eAAe,4CAyBjB,CAAC"}
1
+ {"version":3,"file":"ExportData.d.ts","sourceRoot":"","sources":["../../../../src/components/export/ExportData.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,sBAAsB,EAK5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,KAAK,EAAE,SAAS,CAAC;IACjB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D,gDAAgD;IAChD,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,GAAI,0DAMxB,eAAe,4CA2BjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/filters/FilterWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAEL,KAAK,qBAAqB,EAG3B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAQ,KAAK,SAAS,EAAoC,MAAM,OAAO,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAInD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,qBAAqB;IACzD,6CAA6C;IAC7C,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACtD,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,mCAAmC;IACnC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,iCAAiC;IACjC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,iCAAiC;IACjC,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,0DA4HxB,CAAC"}
1
+ {"version":3,"file":"FilterWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/filters/FilterWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAEL,KAAK,qBAAqB,EAG3B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAQ,KAAK,SAAS,EAAoC,MAAM,OAAO,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAKnD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,qBAAqB;IACzD,6CAA6C;IAC7C,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACtD,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,mCAAmC;IACnC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,iCAAiC;IACjC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,iCAAiC;IACjC,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,0DA4HxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dgz-ui-shared",
3
- "version": "1.2.16",
3
+ "version": "1.2.18",
4
4
  "description": "Custom ui library using React.js, Shadcn/ui, TailwindCSS, Typescript, dgz-ui library",
5
5
  "keywords": [
6
6
  "dgz-ui",
@@ -177,7 +177,7 @@
177
177
  "dependencies": {
178
178
  "@hookform/resolvers": "^5.0.1",
179
179
  "dayjs": "^1.11.19",
180
- "dgz-ui": "^1.4.8",
180
+ "dgz-ui": "^1.4.11",
181
181
  "file-saver": "^2.0.5",
182
182
  "lodash": "^4.17.21",
183
183
  "lucide-react": "^0.563.0",
@@ -1,30 +0,0 @@
1
- import { jsxs as e, jsx as n } from "react/jsx-runtime";
2
- import { W as t, f as a } from "./index-E1NtSoNr.es.js";
3
- import { Button as m } from "dgz-ui/button";
4
- import { DropdownMenu as c, DropdownMenuTrigger as p, DropdownMenuContent as u, DropdownMenuItem as h } from "dgz-ui/dropdown";
5
- const C = ({
6
- actions: o,
7
- triggerProps: i,
8
- contentProps: l,
9
- title: s
10
- }) => /* @__PURE__ */ e(c, { children: [
11
- /* @__PURE__ */ n(p, { asChild: !0, ...i, children: /* @__PURE__ */ e(
12
- m,
13
- {
14
- variant: "secondary",
15
- size: "sm",
16
- className: "ml-auto rounded-lg px-3",
17
- children: [
18
- /* @__PURE__ */ n(t, {}),
19
- " ",
20
- /* @__PURE__ */ n("span", { className: "hidden lg:!inline", children: s || "Actions" }),
21
- /* @__PURE__ */ n(a, {})
22
- ]
23
- }
24
- ) }),
25
- /* @__PURE__ */ n(u, { align: "end", ...l, children: o.map((r, d) => /* @__PURE__ */ n(h, { onClick: () => r.onClick(), children: r.label }, d)) })
26
- ] });
27
- export {
28
- C as A
29
- };
30
- //# sourceMappingURL=Actions-Bi_vjY5M.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Actions-Bi_vjY5M.es.js","sources":["../../src/components/actions/Actions.tsx"],"sourcesContent":["import { RiArrowDownSLine, RiPlayList2Line } from '@remixicon/react';\nimport { Button } from 'dgz-ui/button';\nimport {\n type DropdownContainerProps,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from 'dgz-ui/dropdown';\nimport type { ReactNode } from 'react';\n\n/**\n * Interface representing a single action item.\n */\nexport interface ActionInterface {\n /** The content to display for the action item. */\n label: ReactNode;\n /** Callback function to execute when the action is clicked. */\n onClick: () => void;\n}\n\n/**\n * Props for the Actions component.\n */\nexport interface ActionsProps extends DropdownContainerProps {\n /** Array of action items to be displayed in the dropdown. */\n actions: ActionInterface[];\n /** Title for the actions button. */\n title?: ReactNode;\n}\n\n/**\n * Actions renders a dropdown menu with a list of action items.\n *\n * @param props.actions - Array of actions with label and onClick handler.\n * @returns React element rendering the actions dropdown.\n */\nexport const Actions = ({\n actions,\n triggerProps,\n contentProps,\n title,\n}: ActionsProps) => {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild {...triggerProps}>\n <Button\n variant=\"secondary\"\n size={'sm'}\n className={'ml-auto rounded-lg px-3'}\n >\n <RiPlayList2Line />{' '}\n <span className={'hidden lg:!inline'}>{title || 'Actions'}</span>\n <RiArrowDownSLine />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" {...contentProps}>\n {actions.map((action, index) => {\n return (\n <DropdownMenuItem key={index} onClick={() => action.onClick()}>\n {action.label}\n </DropdownMenuItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n"],"names":["Actions","actions","triggerProps","contentProps","title","DropdownMenu","jsx","DropdownMenuTrigger","jsxs","Button","RiPlayList2Line","RiArrowDownSLine","DropdownMenuContent","action","index","DropdownMenuItem"],"mappings":";;;;AAqCO,MAAMA,IAAU,CAAC;AAAA,EACtB,SAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAC;AACF,wBAEKC,GAAA,EACC,UAAA;AAAA,EAAA,gBAAAC,EAACC,GAAA,EAAoB,SAAO,IAAE,GAAGL,GAC/B,UAAA,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,MAEX,UAAA;AAAA,QAAA,gBAAAH,EAACI,GAAA,EAAgB;AAAA,QAAG;AAAA,QACpB,gBAAAJ,EAAC,QAAA,EAAK,WAAW,qBAAsB,eAAS,WAAU;AAAA,0BACzDK,GAAA,CAAA,CAAiB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEtB;AAAA,EACA,gBAAAL,EAACM,GAAA,EAAoB,OAAM,OAAO,GAAGT,GAClC,UAAAF,EAAQ,IAAI,CAACY,GAAQC,MAElB,gBAAAR,EAACS,KAA6B,SAAS,MAAMF,EAAO,QAAA,GACjD,UAAAA,EAAO,MAAA,GADaC,CAEvB,CAEH,EAAA,CACH;AAAA,GACF;"}
@@ -1,2 +0,0 @@
1
- "use strict";const n=require("react/jsx-runtime"),s=require("./index-ClQFzqcq.cjs.js"),l=require("dgz-ui/button"),e=require("dgz-ui/dropdown"),u=({actions:i,triggerProps:o,contentProps:t,title:d})=>n.jsxs(e.DropdownMenu,{children:[n.jsx(e.DropdownMenuTrigger,{asChild:!0,...o,children:n.jsxs(l.Button,{variant:"secondary",size:"sm",className:"ml-auto rounded-lg px-3",children:[n.jsx(s.Wg,{})," ",n.jsx("span",{className:"hidden lg:!inline",children:d||"Actions"}),n.jsx(s.f1,{})]})}),n.jsx(e.DropdownMenuContent,{align:"end",...t,children:i.map((r,c)=>n.jsx(e.DropdownMenuItem,{onClick:()=>r.onClick(),children:r.label},c))})]});exports.Actions=u;
2
- //# sourceMappingURL=Actions-CXOiCjx0.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Actions-CXOiCjx0.cjs.js","sources":["../../src/components/actions/Actions.tsx"],"sourcesContent":["import { RiArrowDownSLine, RiPlayList2Line } from '@remixicon/react';\nimport { Button } from 'dgz-ui/button';\nimport {\n type DropdownContainerProps,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from 'dgz-ui/dropdown';\nimport type { ReactNode } from 'react';\n\n/**\n * Interface representing a single action item.\n */\nexport interface ActionInterface {\n /** The content to display for the action item. */\n label: ReactNode;\n /** Callback function to execute when the action is clicked. */\n onClick: () => void;\n}\n\n/**\n * Props for the Actions component.\n */\nexport interface ActionsProps extends DropdownContainerProps {\n /** Array of action items to be displayed in the dropdown. */\n actions: ActionInterface[];\n /** Title for the actions button. */\n title?: ReactNode;\n}\n\n/**\n * Actions renders a dropdown menu with a list of action items.\n *\n * @param props.actions - Array of actions with label and onClick handler.\n * @returns React element rendering the actions dropdown.\n */\nexport const Actions = ({\n actions,\n triggerProps,\n contentProps,\n title,\n}: ActionsProps) => {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild {...triggerProps}>\n <Button\n variant=\"secondary\"\n size={'sm'}\n className={'ml-auto rounded-lg px-3'}\n >\n <RiPlayList2Line />{' '}\n <span className={'hidden lg:!inline'}>{title || 'Actions'}</span>\n <RiArrowDownSLine />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" {...contentProps}>\n {actions.map((action, index) => {\n return (\n <DropdownMenuItem key={index} onClick={() => action.onClick()}>\n {action.label}\n </DropdownMenuItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n"],"names":["Actions","actions","triggerProps","contentProps","title","DropdownMenu","jsx","DropdownMenuTrigger","jsxs","Button","RiPlayList2Line","RiArrowDownSLine","DropdownMenuContent","action","index","DropdownMenuItem"],"mappings":"+IAqCaA,EAAU,CAAC,CACtB,QAAAC,EACA,aAAAC,EACA,aAAAC,EACA,MAAAC,CACF,WAEKC,eAAA,CACC,SAAA,CAAAC,EAAAA,IAACC,EAAAA,oBAAA,CAAoB,QAAO,GAAE,GAAGL,EAC/B,SAAAM,EAAAA,KAACC,EAAAA,OAAA,CACC,QAAQ,YACR,KAAM,KACN,UAAW,0BAEX,SAAA,CAAAH,EAAAA,IAACI,EAAAA,GAAA,EAAgB,EAAG,IACpBJ,EAAAA,IAAC,OAAA,CAAK,UAAW,oBAAsB,YAAS,UAAU,QACzDK,EAAAA,GAAA,CAAA,CAAiB,CAAA,CAAA,CAAA,EAEtB,EACAL,EAAAA,IAACM,EAAAA,oBAAA,CAAoB,MAAM,MAAO,GAAGT,EAClC,SAAAF,EAAQ,IAAI,CAACY,EAAQC,IAElBR,MAACS,EAAAA,kBAA6B,QAAS,IAAMF,EAAO,QAAA,EACjD,SAAAA,EAAO,KAAA,EADaC,CAEvB,CAEH,CAAA,CACH,CAAA,EACF"}
@@ -1,32 +0,0 @@
1
- import { jsxs as e, jsx as r } from "react/jsx-runtime";
2
- import { Z as d, f as m } from "./index-E1NtSoNr.es.js";
3
- import { Button as p } from "dgz-ui/button";
4
- import { DropdownMenu as c, DropdownMenuTrigger as u, DropdownMenuContent as f, DropdownMenuItem as h } from "dgz-ui/dropdown";
5
- import { S as x } from "./Spin-DtW_edOq.es.js";
6
- const E = ({
7
- options: o,
8
- loading: i = !1,
9
- triggerProps: a,
10
- contentProps: l,
11
- title: t
12
- }) => /* @__PURE__ */ e(c, { children: [
13
- /* @__PURE__ */ r(u, { asChild: !0, ...a, children: /* @__PURE__ */ e(
14
- p,
15
- {
16
- variant: "secondary",
17
- size: "sm",
18
- className: "ml-auto rounded-lg px-3",
19
- children: [
20
- i ? /* @__PURE__ */ r(x, {}) : /* @__PURE__ */ r(d, {}),
21
- " ",
22
- /* @__PURE__ */ r("span", { className: "hidden lg:!inline", children: t || "Export" }),
23
- /* @__PURE__ */ r(m, {})
24
- ]
25
- }
26
- ) }),
27
- /* @__PURE__ */ r(f, { align: "end", ...l, children: o.map((n, s) => /* @__PURE__ */ r(h, { onClick: () => n.onClick(), children: n.label }, s)) })
28
- ] });
29
- export {
30
- E
31
- };
32
- //# sourceMappingURL=ExportData-CHPKm-ZY.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExportData-CHPKm-ZY.es.js","sources":["../../src/components/export/ExportData.tsx"],"sourcesContent":["import { RiArrowDownSLine, RiFileChartLine } from '@remixicon/react';\nimport { Button } from 'dgz-ui/button';\nimport {\n type DropdownContainerProps,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from 'dgz-ui/dropdown';\nimport type { ReactNode } from 'react';\nimport { Spin } from '../loader';\n\n/**\n * Describes a single export option in the ExportData dropdown.\n *\n * - Use `label` to render the visible option content (text or any React node).\n * - Provide `onClick` to trigger the export logic (CSV/XLS/PDF, etc.).\n */\nexport interface ExportDataInterface {\n /** Visible content for the dropdown item (text, icon, etc.). */\n label: ReactNode;\n /** Callback executed when the export option is selected. */\n onClick: () => void;\n}\n\n/**\n * Props for the `ExportData` component.\n *\n * - `options` — A list of export actions displayed in the dropdown.\n * - `loading` — When `true`, shows a small spinner in the button to indicate an export is in progress.\n */\nexport interface ExportDataProps extends DropdownContainerProps {\n /** Export actions displayed in the dropdown. */\n options: ExportDataInterface[];\n /** If `true`, renders a spinner icon in the button. */\n loading?: boolean;\n /** Title for the export button. */\n title?: ReactNode;\n}\n\n/**\n * ExportData renders a compact dropdown button for exporting data in various formats.\n *\n * Behavior\n * - Shows a button with an export icon and localized \"Export\" label.\n * - Clicking opens a dropdown with the provided `options` list.\n * - Each option calls its `onClick` handler when selected.\n *\n * Accessibility\n * - Uses the shared Dropdown primitives and Button which provide keyboard and ARIA support.\n *\n * Internationalization\n * - The button label is translated via `react-i18next` using the `Export` key.\n */\nexport const ExportData = ({\n options,\n loading = false,\n triggerProps,\n contentProps,\n title,\n}: ExportDataProps) => {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild {...triggerProps}>\n <Button\n variant=\"secondary\"\n size={'sm'}\n className={'ml-auto rounded-lg px-3'}\n >\n {loading ? <Spin /> : <RiFileChartLine />}{' '}\n <span className={'hidden lg:!inline'}>{title || 'Export'}</span>\n <RiArrowDownSLine />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" {...contentProps}>\n {options.map((option, index) => {\n return (\n <DropdownMenuItem key={index} onClick={() => option.onClick()}>\n {option.label}\n </DropdownMenuItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n"],"names":["ExportData","options","loading","triggerProps","contentProps","title","DropdownMenu","jsx","DropdownMenuTrigger","jsxs","Button","Spin","RiFileChartLine","RiArrowDownSLine","DropdownMenuContent","option","index","DropdownMenuItem"],"mappings":";;;;;AAsDO,MAAMA,IAAa,CAAC;AAAA,EACzB,SAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAC;AACF,wBAEKC,GAAA,EACC,UAAA;AAAA,EAAA,gBAAAC,EAACC,GAAA,EAAoB,SAAO,IAAE,GAAGL,GAC/B,UAAA,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,MAEV,UAAA;AAAA,QAAAR,IAAU,gBAAAK,EAACI,GAAA,CAAA,CAAK,IAAK,gBAAAJ,EAACK,GAAA,EAAgB;AAAA,QAAI;AAAA,QAC3C,gBAAAL,EAAC,QAAA,EAAK,WAAW,qBAAsB,eAAS,UAAS;AAAA,0BACxDM,GAAA,CAAA,CAAiB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEtB;AAAA,EACA,gBAAAN,EAACO,GAAA,EAAoB,OAAM,OAAO,GAAGV,GAClC,UAAAH,EAAQ,IAAI,CAACc,GAAQC,MAElB,gBAAAT,EAACU,KAA6B,SAAS,MAAMF,EAAO,QAAA,GACjD,UAAAA,EAAO,MAAA,GADaC,CAEvB,CAEH,EAAA,CACH;AAAA,GACF;"}
@@ -1,2 +0,0 @@
1
- "use strict";const n=require("react/jsx-runtime"),s=require("./index-ClQFzqcq.cjs.js"),c=require("dgz-ui/button"),e=require("dgz-ui/dropdown"),u=require("./Spin-DUK1prd9.cjs.js"),x=({options:i,loading:o=!1,triggerProps:t,contentProps:d,title:l})=>n.jsxs(e.DropdownMenu,{children:[n.jsx(e.DropdownMenuTrigger,{asChild:!0,...t,children:n.jsxs(c.Button,{variant:"secondary",size:"sm",className:"ml-auto rounded-lg px-3",children:[o?n.jsx(u.Spin,{}):n.jsx(s.ZC,{})," ",n.jsx("span",{className:"hidden lg:!inline",children:l||"Export"}),n.jsx(s.f1,{})]})}),n.jsx(e.DropdownMenuContent,{align:"end",...d,children:i.map((r,a)=>n.jsx(e.DropdownMenuItem,{onClick:()=>r.onClick(),children:r.label},a))})]});exports.ExportData=x;
2
- //# sourceMappingURL=ExportData-CrB0H1Ts.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExportData-CrB0H1Ts.cjs.js","sources":["../../src/components/export/ExportData.tsx"],"sourcesContent":["import { RiArrowDownSLine, RiFileChartLine } from '@remixicon/react';\nimport { Button } from 'dgz-ui/button';\nimport {\n type DropdownContainerProps,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from 'dgz-ui/dropdown';\nimport type { ReactNode } from 'react';\nimport { Spin } from '../loader';\n\n/**\n * Describes a single export option in the ExportData dropdown.\n *\n * - Use `label` to render the visible option content (text or any React node).\n * - Provide `onClick` to trigger the export logic (CSV/XLS/PDF, etc.).\n */\nexport interface ExportDataInterface {\n /** Visible content for the dropdown item (text, icon, etc.). */\n label: ReactNode;\n /** Callback executed when the export option is selected. */\n onClick: () => void;\n}\n\n/**\n * Props for the `ExportData` component.\n *\n * - `options` — A list of export actions displayed in the dropdown.\n * - `loading` — When `true`, shows a small spinner in the button to indicate an export is in progress.\n */\nexport interface ExportDataProps extends DropdownContainerProps {\n /** Export actions displayed in the dropdown. */\n options: ExportDataInterface[];\n /** If `true`, renders a spinner icon in the button. */\n loading?: boolean;\n /** Title for the export button. */\n title?: ReactNode;\n}\n\n/**\n * ExportData renders a compact dropdown button for exporting data in various formats.\n *\n * Behavior\n * - Shows a button with an export icon and localized \"Export\" label.\n * - Clicking opens a dropdown with the provided `options` list.\n * - Each option calls its `onClick` handler when selected.\n *\n * Accessibility\n * - Uses the shared Dropdown primitives and Button which provide keyboard and ARIA support.\n *\n * Internationalization\n * - The button label is translated via `react-i18next` using the `Export` key.\n */\nexport const ExportData = ({\n options,\n loading = false,\n triggerProps,\n contentProps,\n title,\n}: ExportDataProps) => {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild {...triggerProps}>\n <Button\n variant=\"secondary\"\n size={'sm'}\n className={'ml-auto rounded-lg px-3'}\n >\n {loading ? <Spin /> : <RiFileChartLine />}{' '}\n <span className={'hidden lg:!inline'}>{title || 'Export'}</span>\n <RiArrowDownSLine />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" {...contentProps}>\n {options.map((option, index) => {\n return (\n <DropdownMenuItem key={index} onClick={() => option.onClick()}>\n {option.label}\n </DropdownMenuItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n"],"names":["ExportData","options","loading","triggerProps","contentProps","title","DropdownMenu","jsx","DropdownMenuTrigger","jsxs","Button","Spin","RiFileChartLine","RiArrowDownSLine","DropdownMenuContent","option","index","DropdownMenuItem"],"mappings":"mLAsDaA,EAAa,CAAC,CACzB,QAAAC,EACA,QAAAC,EAAU,GACV,aAAAC,EACA,aAAAC,EACA,MAAAC,CACF,WAEKC,eAAA,CACC,SAAA,CAAAC,EAAAA,IAACC,EAAAA,oBAAA,CAAoB,QAAO,GAAE,GAAGL,EAC/B,SAAAM,EAAAA,KAACC,EAAAA,OAAA,CACC,QAAQ,YACR,KAAM,KACN,UAAW,0BAEV,SAAA,CAAAR,EAAUK,EAAAA,IAACI,OAAA,CAAA,CAAK,EAAKJ,EAAAA,IAACK,EAAAA,GAAA,EAAgB,EAAI,IAC3CL,EAAAA,IAAC,OAAA,CAAK,UAAW,oBAAsB,YAAS,SAAS,QACxDM,EAAAA,GAAA,CAAA,CAAiB,CAAA,CAAA,CAAA,EAEtB,EACAN,EAAAA,IAACO,EAAAA,oBAAA,CAAoB,MAAM,MAAO,GAAGV,EAClC,SAAAH,EAAQ,IAAI,CAACc,EAAQC,IAElBT,MAACU,EAAAA,kBAA6B,QAAS,IAAMF,EAAO,QAAA,EACjD,SAAAA,EAAO,KAAA,EADaC,CAEvB,CAEH,CAAA,CACH,CAAA,EACF"}
@@ -1,149 +0,0 @@
1
- import { jsxs as l, jsx as s } from "react/jsx-runtime";
2
- import { Button as c } from "dgz-ui/button";
3
- import { Form as R, Input as A } from "dgz-ui/form";
4
- import { Popover as B, PopoverTrigger as O, PopoverContent as C } from "dgz-ui/popover";
5
- import { l as S } from "./lodash-CRDOWzbs.es.js";
6
- import { ListFilterPlusIcon as L, ListFilterIcon as W, ChevronDown as U } from "lucide-react";
7
- import { memo as $, useState as u, useEffect as g, useCallback as x } from "react";
8
- import { u as q } from "./useFilter-C_K_3fQu.es.js";
9
- import { M as G } from "./MyInput-Wb0DSWo_.es.js";
10
- import { M as H } from "./MySelect-D8ML7nhM.es.js";
11
- import { p as J } from "./index-E1NtSoNr.es.js";
12
- import { cn as Q } from "dgz-ui/utils";
13
- import { useTranslation as V } from "react-i18next";
14
- import { K as E } from "./Keyboard-CJVAJWdO.es.js";
15
- const me = $(function({
16
- filters: a,
17
- params: r,
18
- onFilter: t,
19
- onChange: n,
20
- onCancel: f,
21
- triggerProps: i,
22
- contentProps: m,
23
- title: o,
24
- resetText: k,
25
- applyText: I,
26
- ...M
27
- }) {
28
- const [P, z] = u(!1), [T, p] = u(!1), { form: y } = q({ params: r }), { watch: j, handleSubmit: w, control: v, reset: b } = y;
29
- g(() => {
30
- let e = !1;
31
- a.map((K) => {
32
- const d = S.get(r, `${K.name}`);
33
- (Array.isArray(d) ? d.length > 0 : d) && (e = !0), z(e);
34
- });
35
- }, [a, r]);
36
- const N = j();
37
- g(() => {
38
- n == null || n(N);
39
- }, [N, n]);
40
- const D = x(
41
- (e = {}) => {
42
- t == null || t(e), p(!1);
43
- },
44
- [t]
45
- ), F = x(() => {
46
- b(), t && r && t({
47
- ...r,
48
- ...Object.fromEntries(
49
- a.map((e) => [e.name, void 0])
50
- )
51
- }), p(!1);
52
- }, [t, b, r, a]);
53
- return /* @__PURE__ */ l(B, { open: T, onOpenChange: p, children: [
54
- /* @__PURE__ */ s(O, { ...i, children: /* @__PURE__ */ s(
55
- c,
56
- {
57
- asChild: !0,
58
- size: "sm",
59
- variant: "secondary",
60
- className: "ml-auto px-3",
61
- ...M,
62
- children: /* @__PURE__ */ l("div", { className: "flex items-center", children: [
63
- P ? /* @__PURE__ */ s(L, { className: "size-5" }) : /* @__PURE__ */ s(W, { className: "size-5" }),
64
- " ",
65
- /* @__PURE__ */ s("span", { className: "hidden lg:inline!", children: o || "Filter" }),
66
- /* @__PURE__ */ s(U, {})
67
- ] })
68
- }
69
- ) }),
70
- /* @__PURE__ */ s(C, { side: "bottom", align: "end", ...m, children: /* @__PURE__ */ s(R, { ...y, children: /* @__PURE__ */ l("form", { onSubmit: w(D), className: "space-y-4", children: [
71
- /* @__PURE__ */ s("div", { className: "h-full shrink space-y-6 p-1", children: a.map(
72
- (e) => e.options ? /* @__PURE__ */ s(
73
- H,
74
- {
75
- control: v,
76
- name: e.name,
77
- isSearchable: !!e.isSearchable,
78
- placeholder: e.placeholder,
79
- isMulti: e.isMulti,
80
- options: e.options,
81
- label: e.label
82
- },
83
- e.name
84
- ) : /* @__PURE__ */ s(
85
- G,
86
- {
87
- control: v,
88
- placeholder: e.placeholder,
89
- name: e.name,
90
- label: e.label
91
- },
92
- e.name
93
- )
94
- ) }),
95
- /* @__PURE__ */ l("div", { className: "flex shrink-0 justify-end gap-2", children: [
96
- /* @__PURE__ */ s(
97
- c,
98
- {
99
- variant: "destructive",
100
- type: "reset",
101
- size: "sm",
102
- onClick: F,
103
- children: k || "Reset"
104
- }
105
- ),
106
- /* @__PURE__ */ s(c, { type: "submit", size: "sm", children: I || "Apply" })
107
- ] })
108
- ] }) }) })
109
- ] });
110
- }), pe = ({
111
- placeholder: h,
112
- onSearchChange: a,
113
- className: r,
114
- inputProps: t,
115
- ...n
116
- }) => {
117
- const { t: f } = V(), [i, m] = u("");
118
- return /* @__PURE__ */ l("div", { ...n, className: Q("relative w-full", r), children: [
119
- /* @__PURE__ */ s(
120
- A,
121
- {
122
- ...t,
123
- placeholder: h || f("Type text and press Enter"),
124
- onInput: (o) => m(S.get(o, "target.value", "")),
125
- onKeyUp: (o) => {
126
- o.key === E.ENTER && (a(i || void 0), o.stopPropagation(), o.preventDefault());
127
- },
128
- onKeyDown: (o) => {
129
- o.key === E.ENTER && (o.stopPropagation(), o.preventDefault());
130
- }
131
- }
132
- ),
133
- /* @__PURE__ */ s(
134
- c,
135
- {
136
- type: "button",
137
- variant: "ghost",
138
- className: "text-foreground absolute top-0 right-0 cursor-pointer rounded-md bg-transparent!",
139
- onClick: () => a(i),
140
- children: /* @__PURE__ */ s(J, {})
141
- }
142
- )
143
- ] });
144
- };
145
- export {
146
- me as F,
147
- pe as S
148
- };
149
- //# sourceMappingURL=Search-CjVcBFAN.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Search-CjVcBFAN.es.js","sources":["../../src/components/filters/FilterWrapper.tsx","../../src/components/filters/Search.tsx"],"sourcesContent":["import { Button, type ButtonProps } from 'dgz-ui/button';\nimport { Form, type Option } from 'dgz-ui/form';\nimport {\n Popover,\n type PopoverContainerProps,\n PopoverContent,\n PopoverTrigger,\n} from 'dgz-ui/popover';\nimport { get } from 'lodash';\nimport { ChevronDown, ListFilterIcon, ListFilterPlusIcon } from 'lucide-react';\nimport { memo, type ReactNode, useCallback, useEffect, useState } from 'react';\nimport type { FieldValues } from 'react-hook-form';\nimport { useFilter } from '../../hooks';\nimport { MyInput, MySelect } from '../form';\n\n/**\n * Interface representing a filter configuration.\n */\nexport interface FilterInterface {\n /** Label for the filter field. */\n label?: ReactNode;\n /** Placeholder text for the input/select. */\n placeholder?: string;\n /** Default value for the filter. */\n value?: string | string[];\n /** Name of the filter field (used as key). */\n name: string;\n /** Whether the filter supports multiple values (for select inputs). */\n isMulti?: boolean;\n /** Whether the filter supports searchable inputs (for select inputs). */\n isSearchable?: boolean;\n /** Options for select inputs. */\n options?: Option[];\n}\n\n/**\n * Props for the FilterWrapper component.\n */\nexport interface FilterWrapperProps\n extends Omit<ButtonProps, 'title'>, PopoverContainerProps {\n /** Array of filter definitions to render. */\n filters: FilterInterface[];\n /** Current active parameters/filters. */\n params?: Record<string, unknown>;\n /** Callback fired when filters are applied. */\n onFilter?: (filters: Record<string, unknown>) => void;\n /** Callback fired when the filter popover is closed/cancelled. */\n onCancel?: () => void;\n /** Callback fired when filter form values change. */\n onChange?: (filters: FieldValues) => void;\n /** Title for the filter button. */\n title?: ReactNode;\n /** Text for the reset button. */\n resetText?: ReactNode;\n /** Text for the apply button. */\n applyText?: ReactNode;\n}\n\n/**\n * FilterWrapper shows a popover with a dynamic list of field filters and emits selected filter values.\n *\n * @param props.filters - Array of filter definitions to render.\n * @param props.params - Current params used to detect active filters.\n * @param props.onFilter - Callback fired when user applies filters.\n * @param props.onCancel - Callback fired on cancel.\n * @param props.onChange - Callback fired whenever filter form values change.\n */\nexport const FilterWrapper = memo(function FilterWrapper({\n filters,\n params,\n onFilter,\n onChange,\n onCancel,\n triggerProps,\n contentProps,\n title,\n resetText,\n applyText,\n ...btnProps\n}: FilterWrapperProps) {\n const [isFiltered, setIsFiltered] = useState(false);\n const [open, setOpen] = useState(false);\n const { form } = useFilter({ params });\n\n const { watch, handleSubmit, control, reset } = form;\n\n useEffect(() => {\n let hasFilter = false;\n filters.map((filter) => {\n const value = get(params, `${filter.name}`);\n if (Array.isArray(value) ? value.length > 0 : Boolean(value)) {\n hasFilter = true;\n }\n\n setIsFiltered(hasFilter);\n });\n }, [filters, params]);\n\n const values = watch();\n\n useEffect(() => {\n onChange?.(values);\n }, [values, onChange]);\n\n const handleFilter = useCallback(\n (data = {}) => {\n onFilter?.(data);\n setOpen(false);\n },\n [onFilter]\n );\n\n const handleReset = useCallback(() => {\n reset();\n if (onFilter && params) {\n onFilter({\n ...params,\n ...Object.fromEntries(\n filters.map((filter) => [filter.name, undefined])\n ),\n });\n }\n setOpen(false);\n }, [onFilter, reset, params, filters]);\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger {...triggerProps}>\n <Button\n asChild\n size={'sm'}\n variant=\"secondary\"\n className={'ml-auto px-3'}\n {...btnProps}\n >\n <div className={'flex items-center'}>\n {isFiltered ? (\n <ListFilterPlusIcon className={'size-5'} />\n ) : (\n <ListFilterIcon className={'size-5'} />\n )}{' '}\n <span className={'hidden lg:inline!'}>{title || 'Filter'}</span>\n <ChevronDown />\n </div>\n </Button>\n </PopoverTrigger>\n <PopoverContent side={'bottom'} align={'end'} {...contentProps}>\n <Form {...form}>\n <form onSubmit={handleSubmit(handleFilter)} className={'space-y-4'}>\n <div className={'h-full shrink space-y-6 p-1'}>\n {filters.map((filter) =>\n filter.options ? (\n <MySelect\n key={filter.name}\n control={control}\n name={filter.name}\n isSearchable={Boolean(filter.isSearchable)}\n placeholder={filter.placeholder}\n isMulti={filter.isMulti}\n options={filter.options}\n label={filter.label}\n />\n ) : (\n <MyInput\n key={filter.name}\n control={control}\n placeholder={filter.placeholder}\n name={filter.name}\n label={filter.label}\n />\n )\n )}\n </div>\n <div className={'flex shrink-0 justify-end gap-2'}>\n <Button\n variant={'destructive'}\n type=\"reset\"\n size={'sm'}\n onClick={handleReset}\n >\n {resetText || 'Reset'}\n </Button>\n <Button type=\"submit\" size={'sm'}>\n {applyText || 'Apply'}\n </Button>\n </div>\n </form>\n </Form>\n </PopoverContent>\n </Popover>\n );\n});\n","import { RiSearchLine } from '@remixicon/react';\nimport { Button } from 'dgz-ui/button';\nimport type { CardProps } from 'dgz-ui/card';\nimport { Input, type InputProps } from 'dgz-ui/form';\nimport { cn } from 'dgz-ui/utils';\nimport { get } from 'lodash';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Keyboard } from '../../enums';\n\n/**\n * Props for the Search component.\n */\nexport type SearchProps = Omit<CardProps, 'title'> & {\n /** Custom placeholder text for the input. */\n placeholder?: string;\n /** Callback fired when the search is triggered. */\n onSearchChange: (search?: string) => void;\n inputProps?: InputProps;\n};\n\n/**\n * Search input with a submit button that triggers a search action.\n *\n * This component renders a search input field and a search button. The search\n * is triggered when the user presses Enter or clicks the button. The search\n * value is then passed to the `onSearchChange` callback.\n *\n * @param {SearchProps} props - The props for the component.\n * @param {string} [props.placeholder] - Optional placeholder text for the input field.\n * @param {Function} props.onSearchChange - Callback function that is called when a search is performed.\n * @param {string} [props.className] - Optional class name for the component.\n * @param {InputProps} [props.inputProps] - Optional props to pass to the underlying Input component.\n */\nexport const Search = ({\n placeholder,\n onSearchChange,\n className,\n inputProps,\n ...props\n}: SearchProps) => {\n const { t } = useTranslation();\n const [search, setSearch] = useState('');\n\n return (\n <div {...props} className={cn('relative w-full', className)}>\n <Input\n {...inputProps}\n placeholder={placeholder || t('Type text and press Enter')}\n onInput={(evt) => setSearch(get(evt, 'target.value', ''))}\n onKeyUp={(evt) => {\n if (evt.key === Keyboard.ENTER) {\n onSearchChange(search || undefined);\n evt.stopPropagation();\n evt.preventDefault();\n }\n }}\n onKeyDown={(event) => {\n if (event.key === Keyboard.ENTER) {\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n />\n <Button\n type={'button'}\n variant={'ghost'}\n className={\n 'text-foreground absolute top-0 right-0 cursor-pointer rounded-md bg-transparent!'\n }\n onClick={() => onSearchChange(search)}\n >\n <RiSearchLine />\n </Button>\n </div>\n );\n};\n"],"names":["FilterWrapper","memo","filters","params","onFilter","onChange","onCancel","triggerProps","contentProps","title","resetText","applyText","btnProps","isFiltered","setIsFiltered","useState","open","setOpen","form","useFilter","watch","handleSubmit","control","reset","useEffect","hasFilter","filter","value","get","values","handleFilter","useCallback","data","handleReset","jsxs","Popover","jsx","PopoverTrigger","Button","ListFilterPlusIcon","ListFilterIcon","ChevronDown","PopoverContent","Form","MySelect","MyInput","Search","placeholder","onSearchChange","className","inputProps","props","t","useTranslation","search","setSearch","cn","Input","evt","Keyboard","event","RiSearchLine"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";const e=require("react/jsx-runtime"),i=require("dgz-ui/button"),N=require("dgz-ui/form"),h=require("dgz-ui/popover"),S=require("./lodash-BjH0kD7j.cjs.js"),m=require("lucide-react"),o=require("react"),T=require("./useFilter-CsOF1_hM.cjs.js"),w=require("./MyInput-C9PNyYby.cjs.js"),D=require("./MySelect-Ovb1pK5c.cjs.js"),A=require("./index-ClQFzqcq.cjs.js"),C=require("dgz-ui/utils"),O=require("react-i18next"),f=require("./Keyboard-kyPAAQWP.cjs.js"),W=o.memo(function({filters:r,params:a,onFilter:n,onChange:c,onCancel:j,triggerProps:l,contentProps:u,title:t,resetText:g,applyText:E,...k}){const[I,B]=o.useState(!1),[M,d]=o.useState(!1),{form:y}=T.useFilter({params:a}),{watch:P,handleSubmit:R,control:b,reset:v}=y;o.useEffect(()=>{let s=!1;r.map(K=>{const p=S.lodashExports.get(a,`${K.name}`);(Array.isArray(p)?p.length>0:p)&&(s=!0),B(s)})},[r,a]);const q=P();o.useEffect(()=>{c==null||c(q)},[q,c]);const z=o.useCallback((s={})=>{n==null||n(s),d(!1)},[n]),F=o.useCallback(()=>{v(),n&&a&&n({...a,...Object.fromEntries(r.map(s=>[s.name,void 0]))}),d(!1)},[n,v,a,r]);return e.jsxs(h.Popover,{open:M,onOpenChange:d,children:[e.jsx(h.PopoverTrigger,{...l,children:e.jsx(i.Button,{asChild:!0,size:"sm",variant:"secondary",className:"ml-auto px-3",...k,children:e.jsxs("div",{className:"flex items-center",children:[I?e.jsx(m.ListFilterPlusIcon,{className:"size-5"}):e.jsx(m.ListFilterIcon,{className:"size-5"})," ",e.jsx("span",{className:"hidden lg:inline!",children:t||"Filter"}),e.jsx(m.ChevronDown,{})]})})}),e.jsx(h.PopoverContent,{side:"bottom",align:"end",...u,children:e.jsx(N.Form,{...y,children:e.jsxs("form",{onSubmit:R(z),className:"space-y-4",children:[e.jsx("div",{className:"h-full shrink space-y-6 p-1",children:r.map(s=>s.options?e.jsx(D.MySelect,{control:b,name:s.name,isSearchable:!!s.isSearchable,placeholder:s.placeholder,isMulti:s.isMulti,options:s.options,label:s.label},s.name):e.jsx(w.MyInput,{control:b,placeholder:s.placeholder,name:s.name,label:s.label},s.name))}),e.jsxs("div",{className:"flex shrink-0 justify-end gap-2",children:[e.jsx(i.Button,{variant:"destructive",type:"reset",size:"sm",onClick:F,children:g||"Reset"}),e.jsx(i.Button,{type:"submit",size:"sm",children:E||"Apply"})]})]})})})]})}),$=({placeholder:x,onSearchChange:r,className:a,inputProps:n,...c})=>{const{t:j}=O.useTranslation(),[l,u]=o.useState("");return e.jsxs("div",{...c,className:C.cn("relative w-full",a),children:[e.jsx(N.Input,{...n,placeholder:x||j("Type text and press Enter"),onInput:t=>u(S.lodashExports.get(t,"target.value","")),onKeyUp:t=>{t.key===f.Keyboard.ENTER&&(r(l||void 0),t.stopPropagation(),t.preventDefault())},onKeyDown:t=>{t.key===f.Keyboard.ENTER&&(t.stopPropagation(),t.preventDefault())}}),e.jsx(i.Button,{type:"button",variant:"ghost",className:"text-foreground absolute top-0 right-0 cursor-pointer rounded-md bg-transparent!",onClick:()=>r(l),children:e.jsx(A.pv,{})})]})};exports.FilterWrapper=W;exports.Search=$;
2
- //# sourceMappingURL=Search-hHeGlXqd.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Search-hHeGlXqd.cjs.js","sources":["../../src/components/filters/FilterWrapper.tsx","../../src/components/filters/Search.tsx"],"sourcesContent":["import { Button, type ButtonProps } from 'dgz-ui/button';\nimport { Form, type Option } from 'dgz-ui/form';\nimport {\n Popover,\n type PopoverContainerProps,\n PopoverContent,\n PopoverTrigger,\n} from 'dgz-ui/popover';\nimport { get } from 'lodash';\nimport { ChevronDown, ListFilterIcon, ListFilterPlusIcon } from 'lucide-react';\nimport { memo, type ReactNode, useCallback, useEffect, useState } from 'react';\nimport type { FieldValues } from 'react-hook-form';\nimport { useFilter } from '../../hooks';\nimport { MyInput, MySelect } from '../form';\n\n/**\n * Interface representing a filter configuration.\n */\nexport interface FilterInterface {\n /** Label for the filter field. */\n label?: ReactNode;\n /** Placeholder text for the input/select. */\n placeholder?: string;\n /** Default value for the filter. */\n value?: string | string[];\n /** Name of the filter field (used as key). */\n name: string;\n /** Whether the filter supports multiple values (for select inputs). */\n isMulti?: boolean;\n /** Whether the filter supports searchable inputs (for select inputs). */\n isSearchable?: boolean;\n /** Options for select inputs. */\n options?: Option[];\n}\n\n/**\n * Props for the FilterWrapper component.\n */\nexport interface FilterWrapperProps\n extends Omit<ButtonProps, 'title'>, PopoverContainerProps {\n /** Array of filter definitions to render. */\n filters: FilterInterface[];\n /** Current active parameters/filters. */\n params?: Record<string, unknown>;\n /** Callback fired when filters are applied. */\n onFilter?: (filters: Record<string, unknown>) => void;\n /** Callback fired when the filter popover is closed/cancelled. */\n onCancel?: () => void;\n /** Callback fired when filter form values change. */\n onChange?: (filters: FieldValues) => void;\n /** Title for the filter button. */\n title?: ReactNode;\n /** Text for the reset button. */\n resetText?: ReactNode;\n /** Text for the apply button. */\n applyText?: ReactNode;\n}\n\n/**\n * FilterWrapper shows a popover with a dynamic list of field filters and emits selected filter values.\n *\n * @param props.filters - Array of filter definitions to render.\n * @param props.params - Current params used to detect active filters.\n * @param props.onFilter - Callback fired when user applies filters.\n * @param props.onCancel - Callback fired on cancel.\n * @param props.onChange - Callback fired whenever filter form values change.\n */\nexport const FilterWrapper = memo(function FilterWrapper({\n filters,\n params,\n onFilter,\n onChange,\n onCancel,\n triggerProps,\n contentProps,\n title,\n resetText,\n applyText,\n ...btnProps\n}: FilterWrapperProps) {\n const [isFiltered, setIsFiltered] = useState(false);\n const [open, setOpen] = useState(false);\n const { form } = useFilter({ params });\n\n const { watch, handleSubmit, control, reset } = form;\n\n useEffect(() => {\n let hasFilter = false;\n filters.map((filter) => {\n const value = get(params, `${filter.name}`);\n if (Array.isArray(value) ? value.length > 0 : Boolean(value)) {\n hasFilter = true;\n }\n\n setIsFiltered(hasFilter);\n });\n }, [filters, params]);\n\n const values = watch();\n\n useEffect(() => {\n onChange?.(values);\n }, [values, onChange]);\n\n const handleFilter = useCallback(\n (data = {}) => {\n onFilter?.(data);\n setOpen(false);\n },\n [onFilter]\n );\n\n const handleReset = useCallback(() => {\n reset();\n if (onFilter && params) {\n onFilter({\n ...params,\n ...Object.fromEntries(\n filters.map((filter) => [filter.name, undefined])\n ),\n });\n }\n setOpen(false);\n }, [onFilter, reset, params, filters]);\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger {...triggerProps}>\n <Button\n asChild\n size={'sm'}\n variant=\"secondary\"\n className={'ml-auto px-3'}\n {...btnProps}\n >\n <div className={'flex items-center'}>\n {isFiltered ? (\n <ListFilterPlusIcon className={'size-5'} />\n ) : (\n <ListFilterIcon className={'size-5'} />\n )}{' '}\n <span className={'hidden lg:inline!'}>{title || 'Filter'}</span>\n <ChevronDown />\n </div>\n </Button>\n </PopoverTrigger>\n <PopoverContent side={'bottom'} align={'end'} {...contentProps}>\n <Form {...form}>\n <form onSubmit={handleSubmit(handleFilter)} className={'space-y-4'}>\n <div className={'h-full shrink space-y-6 p-1'}>\n {filters.map((filter) =>\n filter.options ? (\n <MySelect\n key={filter.name}\n control={control}\n name={filter.name}\n isSearchable={Boolean(filter.isSearchable)}\n placeholder={filter.placeholder}\n isMulti={filter.isMulti}\n options={filter.options}\n label={filter.label}\n />\n ) : (\n <MyInput\n key={filter.name}\n control={control}\n placeholder={filter.placeholder}\n name={filter.name}\n label={filter.label}\n />\n )\n )}\n </div>\n <div className={'flex shrink-0 justify-end gap-2'}>\n <Button\n variant={'destructive'}\n type=\"reset\"\n size={'sm'}\n onClick={handleReset}\n >\n {resetText || 'Reset'}\n </Button>\n <Button type=\"submit\" size={'sm'}>\n {applyText || 'Apply'}\n </Button>\n </div>\n </form>\n </Form>\n </PopoverContent>\n </Popover>\n );\n});\n","import { RiSearchLine } from '@remixicon/react';\nimport { Button } from 'dgz-ui/button';\nimport type { CardProps } from 'dgz-ui/card';\nimport { Input, type InputProps } from 'dgz-ui/form';\nimport { cn } from 'dgz-ui/utils';\nimport { get } from 'lodash';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Keyboard } from '../../enums';\n\n/**\n * Props for the Search component.\n */\nexport type SearchProps = Omit<CardProps, 'title'> & {\n /** Custom placeholder text for the input. */\n placeholder?: string;\n /** Callback fired when the search is triggered. */\n onSearchChange: (search?: string) => void;\n inputProps?: InputProps;\n};\n\n/**\n * Search input with a submit button that triggers a search action.\n *\n * This component renders a search input field and a search button. The search\n * is triggered when the user presses Enter or clicks the button. The search\n * value is then passed to the `onSearchChange` callback.\n *\n * @param {SearchProps} props - The props for the component.\n * @param {string} [props.placeholder] - Optional placeholder text for the input field.\n * @param {Function} props.onSearchChange - Callback function that is called when a search is performed.\n * @param {string} [props.className] - Optional class name for the component.\n * @param {InputProps} [props.inputProps] - Optional props to pass to the underlying Input component.\n */\nexport const Search = ({\n placeholder,\n onSearchChange,\n className,\n inputProps,\n ...props\n}: SearchProps) => {\n const { t } = useTranslation();\n const [search, setSearch] = useState('');\n\n return (\n <div {...props} className={cn('relative w-full', className)}>\n <Input\n {...inputProps}\n placeholder={placeholder || t('Type text and press Enter')}\n onInput={(evt) => setSearch(get(evt, 'target.value', ''))}\n onKeyUp={(evt) => {\n if (evt.key === Keyboard.ENTER) {\n onSearchChange(search || undefined);\n evt.stopPropagation();\n evt.preventDefault();\n }\n }}\n onKeyDown={(event) => {\n if (event.key === Keyboard.ENTER) {\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n />\n <Button\n type={'button'}\n variant={'ghost'}\n className={\n 'text-foreground absolute top-0 right-0 cursor-pointer rounded-md bg-transparent!'\n }\n onClick={() => onSearchChange(search)}\n >\n <RiSearchLine />\n </Button>\n </div>\n );\n};\n"],"names":["FilterWrapper","memo","filters","params","onFilter","onChange","onCancel","triggerProps","contentProps","title","resetText","applyText","btnProps","isFiltered","setIsFiltered","useState","open","setOpen","form","useFilter","watch","handleSubmit","control","reset","useEffect","hasFilter","filter","value","get","values","handleFilter","useCallback","data","handleReset","jsxs","Popover","jsx","PopoverTrigger","Button","ListFilterPlusIcon","ListFilterIcon","ChevronDown","PopoverContent","Form","MySelect","MyInput","Search","placeholder","onSearchChange","className","inputProps","props","t","useTranslation","search","setSearch","cn","Input","evt","Keyboard","event","RiSearchLine"],"mappings":"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"}