@brainfish-ai/components 0.18.4-alpha.6 → 0.18.4
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.
- package/dist/accordion.d.ts +12 -0
- package/dist/alert-dialog.d.ts +46 -0
- package/dist/alert.d.ts +18 -0
- package/dist/badge.d.ts +14 -0
- package/dist/button-group.d.ts +21 -0
- package/dist/button.d.ts +16 -0
- package/dist/calendar.d.ts +12 -0
- package/dist/card.d.ts +15 -0
- package/dist/chart-area-linear.d.ts +41 -0
- package/dist/chart-radial-stacked.d.ts +39 -0
- package/dist/chat-search.d.ts +426 -0
- package/dist/collapsible.d.ts +10 -0
- package/dist/colors.d.ts +161 -0
- package/dist/combobox.d.ts +23 -0
- package/dist/command.d.ts +90 -0
- package/dist/components/ui/accordion.d.ts +2 -0
- package/dist/components/ui/alert-dialog.d.ts +2 -0
- package/dist/components/ui/alert.d.ts +2 -0
- package/dist/components/ui/badge.d.ts +2 -0
- package/dist/components/ui/button-group.d.ts +2 -0
- package/dist/components/ui/button.d.ts +2 -0
- package/dist/components/ui/calendar.d.ts +2 -0
- package/dist/components/ui/card.d.ts +2 -0
- package/dist/components/ui/collapsible.d.ts +2 -0
- package/dist/components/ui/command.d.ts +2 -0
- package/dist/components/ui/dialog.d.ts +2 -0
- package/dist/components/ui/div-button.d.ts +2 -0
- package/dist/components/ui/dropdown-menu.d.ts +2 -0
- package/dist/components/ui/icon.d.ts +2 -0
- package/dist/components/ui/input.d.ts +2 -0
- package/dist/components/ui/item.d.ts +2 -0
- package/dist/components/ui/label.d.ts +2 -0
- package/dist/components/ui/popover.d.ts +2 -0
- package/dist/components/ui/progress.d.ts +2 -0
- package/dist/components/ui/scroll-area.d.ts +2 -0
- package/dist/components/ui/select.d.ts +2 -0
- package/dist/components/ui/separator.d.ts +2 -0
- package/dist/components/ui/sheet.d.ts +2 -0
- package/dist/components/ui/spinner.d.ts +2 -0
- package/dist/components/ui/switch.d.ts +2 -0
- package/dist/components/ui/table.d.ts +2 -0
- package/dist/components/ui/textarea.d.ts +2 -0
- package/dist/components/ui/tooltip.d.ts +2 -0
- package/dist/confirm-dialog.d.ts +35 -0
- package/dist/convos.d.ts +179 -0
- package/dist/data-table.d.ts +23 -0
- package/dist/date-picker.d.ts +12 -0
- package/dist/dialog.d.ts +30 -0
- package/dist/div-button.d.ts +16 -0
- package/dist/dropdown-menu.d.ts +43 -0
- package/dist/esm/ChatSearch.css +1 -0
- package/dist/esm/chunks/ChatSearch.BJtS7ZMs.js +6482 -0
- package/dist/esm/chunks/ChatSearch.BJtS7ZMs.js.map +1 -0
- package/dist/esm/chunks/FormattedMessage.ieoe4jPf.js +39760 -0
- package/dist/esm/chunks/FormattedMessage.ieoe4jPf.js.map +1 -0
- package/dist/esm/chunks/_commonjsHelpers.BFTU3MAI.js +8 -0
- package/dist/esm/chunks/_commonjsHelpers.BFTU3MAI.js.map +1 -0
- package/dist/esm/chunks/chart.DGCX9VIn.js +219 -0
- package/dist/esm/chunks/chart.DGCX9VIn.js.map +1 -0
- package/dist/esm/chunks/combobox.CkN-wAHB.js +74 -0
- package/dist/esm/chunks/combobox.CkN-wAHB.js.map +1 -0
- package/dist/esm/chunks/dark.Cl9Z44CU.js +17 -0
- package/dist/esm/chunks/dark.Cl9Z44CU.js.map +1 -0
- package/dist/esm/chunks/data-table.DbcAYxMY.js +102 -0
- package/dist/esm/chunks/data-table.DbcAYxMY.js.map +1 -0
- package/dist/esm/chunks/date-picker.sQXSlqNZ.js +26 -0
- package/dist/esm/chunks/date-picker.sQXSlqNZ.js.map +1 -0
- package/dist/esm/chunks/extends.mO86zOh3.js +12 -0
- package/dist/esm/chunks/extends.mO86zOh3.js.map +1 -0
- package/dist/esm/chunks/feedback.D139-1Wr.js +214 -0
- package/dist/esm/chunks/feedback.D139-1Wr.js.map +1 -0
- package/dist/esm/chunks/file-upload-status.Vw0Zxmir.js +141 -0
- package/dist/esm/chunks/file-upload-status.Vw0Zxmir.js.map +1 -0
- package/dist/esm/chunks/filters.Be4KPvMA.js +565 -0
- package/dist/esm/chunks/filters.Be4KPvMA.js.map +1 -0
- package/dist/esm/chunks/formatNumber.Bm2k8QrT.js +10 -0
- package/dist/esm/chunks/formatNumber.Bm2k8QrT.js.map +1 -0
- package/dist/esm/chunks/generating-star.CozjECmM.js +1490 -0
- package/dist/esm/chunks/generating-star.CozjECmM.js.map +1 -0
- package/dist/esm/chunks/index.BqibIWDw.js +137 -0
- package/dist/esm/chunks/index.BqibIWDw.js.map +1 -0
- package/dist/esm/chunks/logo.BXk28Fqo.js +181 -0
- package/dist/esm/chunks/logo.BXk28Fqo.js.map +1 -0
- package/dist/esm/chunks/primary.CtiRZbqq.js +18 -0
- package/dist/esm/chunks/primary.CtiRZbqq.js.map +1 -0
- package/dist/esm/chunks/simpleSelect.B1rktKkt.js +23 -0
- package/dist/esm/chunks/simpleSelect.B1rktKkt.js.map +1 -0
- package/dist/esm/chunks/trend-value.COSukPwk.js +51 -0
- package/dist/esm/chunks/trend-value.COSukPwk.js.map +1 -0
- package/dist/esm/chunks/two-level-combobox.DsWPDcI6.js +132 -0
- package/dist/esm/chunks/two-level-combobox.DsWPDcI6.js.map +1 -0
- package/dist/esm/chunks/utils.Cwtlq8dh.js +45 -0
- package/dist/esm/chunks/utils.Cwtlq8dh.js.map +1 -0
- package/dist/esm/colors.js +170 -0
- package/dist/esm/colors.js.map +1 -0
- package/dist/esm/components/chart-area-linear.js +87 -0
- package/dist/esm/components/chart-area-linear.js.map +1 -0
- package/dist/esm/components/chart-radial-stacked.js +49 -0
- package/dist/esm/components/chart-radial-stacked.js.map +1 -0
- package/dist/esm/components/chat-search.js +2 -0
- package/dist/esm/components/chat-search.js.map +1 -0
- package/dist/esm/components/combobox.js +2 -0
- package/dist/esm/components/combobox.js.map +1 -0
- package/dist/esm/components/confirm-dialog.js +48 -0
- package/dist/esm/components/confirm-dialog.js.map +1 -0
- package/dist/esm/components/convos.js +602 -0
- package/dist/esm/components/convos.js.map +1 -0
- package/dist/esm/components/data-table.js +2 -0
- package/dist/esm/components/data-table.js.map +1 -0
- package/dist/esm/components/date-picker.js +2 -0
- package/dist/esm/components/date-picker.js.map +1 -0
- package/dist/esm/components/feedback.js +2 -0
- package/dist/esm/components/feedback.js.map +1 -0
- package/dist/esm/components/file-upload.js +2 -0
- package/dist/esm/components/file-upload.js.map +1 -0
- package/dist/esm/components/filter.js +2 -0
- package/dist/esm/components/filter.js.map +1 -0
- package/dist/esm/components/generating-star.js +2 -0
- package/dist/esm/components/generating-star.js.map +1 -0
- package/dist/esm/components/logo.js +2 -0
- package/dist/esm/components/logo.js.map +1 -0
- package/dist/esm/components/markdown.js +2 -0
- package/dist/esm/components/markdown.js.map +1 -0
- package/dist/esm/components/metric-card.js +28 -0
- package/dist/esm/components/metric-card.js.map +1 -0
- package/dist/esm/components/select.js +2 -0
- package/dist/esm/components/select.js.map +1 -0
- package/dist/esm/components/trend-value.js +2 -0
- package/dist/esm/components/trend-value.js.map +1 -0
- package/dist/esm/components/two-level-combobox.js +2 -0
- package/dist/esm/components/two-level-combobox.js.map +1 -0
- package/dist/esm/components/ui/accordion.js +47 -0
- package/dist/esm/components/ui/accordion.js.map +1 -0
- package/dist/esm/components/ui/alert-dialog.js +147 -0
- package/dist/esm/components/ui/alert-dialog.js.map +1 -0
- package/dist/esm/components/ui/alert.js +121 -0
- package/dist/esm/components/ui/alert.js.map +1 -0
- package/dist/esm/components/ui/badge.js +27 -0
- package/dist/esm/components/ui/badge.js.map +1 -0
- package/dist/esm/components/ui/button-group.js +74 -0
- package/dist/esm/components/ui/button-group.js.map +1 -0
- package/dist/esm/components/ui/button.js +52 -0
- package/dist/esm/components/ui/button.js.map +1 -0
- package/dist/esm/components/ui/calendar.js +26 -0
- package/dist/esm/components/ui/calendar.js.map +1 -0
- package/dist/esm/components/ui/card.js +56 -0
- package/dist/esm/components/ui/card.js.map +1 -0
- package/dist/esm/components/ui/collapsible.js +34 -0
- package/dist/esm/components/ui/collapsible.js.map +1 -0
- package/dist/esm/components/ui/command.js +103 -0
- package/dist/esm/components/ui/command.js.map +1 -0
- package/dist/esm/components/ui/dialog.js +88 -0
- package/dist/esm/components/ui/dialog.js.map +1 -0
- package/dist/esm/components/ui/div-button.js +61 -0
- package/dist/esm/components/ui/div-button.js.map +1 -0
- package/dist/esm/components/ui/dropdown-menu.js +132 -0
- package/dist/esm/components/ui/dropdown-menu.js.map +1 -0
- package/dist/esm/components/ui/icon.js +16 -0
- package/dist/esm/components/ui/icon.js.map +1 -0
- package/dist/esm/components/ui/input.js +29 -0
- package/dist/esm/components/ui/input.js.map +1 -0
- package/dist/esm/components/ui/item.js +179 -0
- package/dist/esm/components/ui/item.js.map +1 -0
- package/dist/esm/components/ui/label.js +20 -0
- package/dist/esm/components/ui/label.js.map +1 -0
- package/dist/esm/components/ui/popover.js +24 -0
- package/dist/esm/components/ui/popover.js.map +1 -0
- package/dist/esm/components/ui/progress.js +23 -0
- package/dist/esm/components/ui/progress.js.map +1 -0
- package/dist/esm/components/ui/scroll-area.js +34 -0
- package/dist/esm/components/ui/scroll-area.js.map +1 -0
- package/dist/esm/components/ui/select.js +81 -0
- package/dist/esm/components/ui/select.js.map +1 -0
- package/dist/esm/components/ui/separator.js +24 -0
- package/dist/esm/components/ui/separator.js.map +1 -0
- package/dist/esm/components/ui/sheet.js +99 -0
- package/dist/esm/components/ui/sheet.js.map +1 -0
- package/dist/esm/components/ui/spinner.js +18 -0
- package/dist/esm/components/ui/spinner.js.map +1 -0
- package/dist/esm/components/ui/switch.js +27 -0
- package/dist/esm/components/ui/switch.js.map +1 -0
- package/dist/esm/components/ui/table.js +83 -0
- package/dist/esm/components/ui/table.js.map +1 -0
- package/dist/esm/components/ui/textarea.js +34 -0
- package/dist/esm/components/ui/textarea.js.map +1 -0
- package/dist/esm/components/ui/tooltip.js +34 -0
- package/dist/esm/components/ui/tooltip.js.map +1 -0
- package/dist/esm/convos.css +1 -0
- package/dist/esm/date-picker.css +1 -0
- package/dist/esm/global.css +1 -0
- package/dist/esm/index.js +150 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/tailwind.preset.js +1492 -0
- package/dist/esm/tailwind.preset.js.map +1 -0
- package/dist/feedback.d.ts +21 -0
- package/dist/file-upload.d.ts +45 -0
- package/dist/filter.d.ts +82 -0
- package/dist/generating-star.d.ts +15 -0
- package/dist/icon.d.ts +26 -0
- package/dist/index.d.ts +1378 -0
- package/dist/input.d.ts +11 -0
- package/dist/item.d.ts +39 -0
- package/dist/label.d.ts +8 -0
- package/dist/logo.d.ts +14 -0
- package/dist/markdown.d.ts +55 -0
- package/dist/metric-card.d.ts +21 -0
- package/dist/popover.d.ts +12 -0
- package/dist/progress.d.ts +8 -0
- package/dist/scroll-area.d.ts +8 -0
- package/dist/select.d.ts +20 -0
- package/dist/separator.d.ts +6 -0
- package/dist/sheet.d.ts +39 -0
- package/dist/spinner.d.ts +5 -0
- package/dist/stats.html +4949 -0
- package/dist/switch.d.ts +6 -0
- package/dist/table.d.ts +19 -0
- package/dist/tailwind.preset.d.ts +1 -0
- package/dist/textarea.d.ts +9 -0
- package/dist/tooltip.d.ts +18 -0
- package/dist/trend-value.d.ts +19 -0
- package/dist/two-level-combobox.d.ts +24 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@700&family=Inter:wght@400;700&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(147 197 253 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(147 197 253 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--bfc-font-family),system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}ul{list-style-type:disc}ol{list-style-type:decimal}*,:before,:after{--tw-ring-color: color-mix(in srgb, var(--bfc-primary) 85%, transparent)}*:focus-visible{--tw-ring-offset-width: 0px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);outline:2px solid transparent;outline-offset:2px}:root{--bfc-white: #fff;--bfc-v2-color-mono-100: #fafafa;--bfc-v2-color-mono-200: #f5f5f5;--bfc-v2-color-mono-300: #e5e5e5;--bfc-v2-color-mono-400: #d4d4d4;--bfc-v2-color-mono-500: #a3a3a3;--bfc-v2-color-mono-600: #737373;--bfc-v2-color-mono-700: #525252;--bfc-v2-color-mono-800: #404040;--bfc-v2-color-mono-900: #262626;--bfc-v2-color-mono-1000: #171717;--bfc-v2-color-red-100: #ffeceb;--bfc-v2-color-red-200: #ffd5d2;--bfc-v2-color-red-300: #fd9891;--bfc-v2-color-red-400: #f87168;--bfc-v2-color-red-500: #f15b50;--bfc-v2-color-red-600: #e2483d;--bfc-v2-color-red-700: #c9372c;--bfc-v2-color-red-800: #ae2e24;--bfc-v2-color-red-900: #5d1f1a;--bfc-v2-color-red-1000: #42221f;--bfc-v2-color-orange-100: #fff3eb;--bfc-v2-color-orange-200: #fedec8;--bfc-v2-color-orange-300: #fec195;--bfc-v2-color-orange-400: #fea362;--bfc-v2-color-orange-500: #f38a3f;--bfc-v2-color-orange-600: #e56910;--bfc-v2-color-orange-700: #c25100;--bfc-v2-color-orange-800: #a54800;--bfc-v2-color-orange-900: #702e00;--bfc-v2-color-orange-1000: #38291e;--bfc-v2-color-yellow-100: #fef7c8;--bfc-v2-color-yellow-200: #ffdf84;--bfc-v2-color-yellow-300: #fed153;--bfc-v2-color-yellow-400: #fbbf25;--bfc-v2-color-yellow-500: #e5ad1d;--bfc-v2-color-yellow-600: #c59109;--bfc-v2-color-yellow-700: #977007;--bfc-v2-color-yellow-800: #7f5f01;--bfc-v2-color-yellow-900: #533f04;--bfc-v2-color-yellow-1000: #332e1b;--bfc-v2-color-lime-100: #e9fec8;--bfc-v2-color-lime-200: #d6f589;--bfc-v2-color-lime-300: #b3ee2b;--bfc-v2-color-lime-400: #a3e635;--bfc-v2-color-lime-500: #91cf02;--bfc-v2-color-lime-600: #83b300;--bfc-v2-color-lime-700: #647f01;--bfc-v2-color-lime-800: #546c00;--bfc-v2-color-lime-900: #3f5304;--bfc-v2-color-lime-1000: #2b331b;--bfc-v2-color-green-100: #dcfff1;--bfc-v2-color-green-200: #baf3db;--bfc-v2-color-green-300: #7ee2b8;--bfc-v2-color-green-400: #4bce97;--bfc-v2-color-green-500: #2abb7f;--bfc-v2-color-green-600: #22a06b;--bfc-v2-color-green-700: #1f845a;--bfc-v2-color-green-800: #216e4e;--bfc-v2-color-green-900: #164b35;--bfc-v2-color-green-1000: #1c3329;--bfc-v2-color-blue-100: #e9f2fe;--bfc-v2-color-blue-200: #cfe1fd;--bfc-v2-color-blue-300: #8fb8f6;--bfc-v2-color-blue-400: #669df1;--bfc-v2-color-blue-500: #4688ec;--bfc-v2-color-blue-600: #357de8;--bfc-v2-color-blue-700: #1868db;--bfc-v2-color-blue-800: #1558bc;--bfc-v2-color-blue-900: #123263;--bfc-v2-color-blue-1000: #1c2b42;--bfc-v2-color-teal-100: #e7f9ff;--bfc-v2-color-teal-200: #c6edfb;--bfc-v2-color-teal-300: #9dd9ee;--bfc-v2-color-teal-400: #6cc3e0;--bfc-v2-color-teal-500: #42b2d7;--bfc-v2-color-teal-600: #2898bd;--bfc-v2-color-teal-700: #227d9b;--bfc-v2-color-teal-800: #206a83;--bfc-v2-color-teal-900: #164555;--bfc-v2-color-teal-1000: #1e3137;--bfc-v2-color-purple-100: #f8eefe;--bfc-v2-color-purple-200: #dfd8fd;--bfc-v2-color-purple-300: #b8acf6;--bfc-v2-color-purple-400: #9f8fef;--bfc-v2-color-purple-500: #8f7ee7;--bfc-v2-color-purple-600: #8270db;--bfc-v2-color-purple-700: #6e5dc6;--bfc-v2-color-purple-800: #5e4db2;--bfc-v2-color-purple-900: #352c63;--bfc-v2-color-purple-1000: #2b273f;--bfc-v2-color-magenta-100: #ffecf8;--bfc-v2-color-magenta-200: #fdd0ec;--bfc-v2-color-magenta-300: #f797d2;--bfc-v2-color-magenta-400: #e774bb;--bfc-v2-color-magenta-500: #da62ac;--bfc-v2-color-magenta-600: #cd519d;--bfc-v2-color-magenta-700: #ae4787;--bfc-v2-color-magenta-800: #943d73;--bfc-v2-color-magenta-900: #50253f;--bfc-v2-color-magenta-1000: #3d2232;--bfc-font-family: "Inter", "Satoshi", sans-serif;--font-fraunces: "Fraunces", serif;--font-inter: "Inter", sans-serif;--bfc-v2-font-family: "Inter", sans-serif;--bfc-heading-xxl-font-family: "Fraunces", serif;--bfc-background: var(--bfc-v2-color-mono-100);--bfc-foreground: var(--bfc-v2-color-mono-1000);--bfc-link: var(--bfc-v2-color-green-700);--bfc-card: var(--bfc-surface);--bfc-card-foreground: var(--bfc-v2-color-mono-900);--bfc-popover: var(--bfc-v2-color-mono-100);--bfc-primary: #a3e635;--bfc-primary-foreground: #262626;--bfc-secondary: var(--bfc-v2-color-mono-200);--bfc-secondary-foreground: var(--bfc-v2-color-mono-900);--bfc-muted: var(--bfc-v2-color-mono-200);--bfc-muted-foreground: var(--bfc-v2-color-mono-600);--bfc-accent: var(--bfc-v2-color-mono-300);--bfc-accent-foreground: var(--bfc-v2-color-mono-900);--bfc-border: var(--bfc-v2-color-mono-1000);--bfc-input: var(--bfc-v2-color-mono-300);--bfc-ring: var(--bfc-v2-color-mono-1000);--bfc-radius: .5rem;--bfc-feedback-positive: var(--bfc-v2-color-green-500);--bfc-feedback-negative: var(--bfc-v2-color-red-600);--bfc-surface: var(--bfc-white);--bfc-surface-border: var(--bfc-v2-color-mono-300);--bfc-white: #ffffff;--bcf-shimmer-outer: var(--bfc-v2-color-mono-200);--bcf-shimmer-inner: var(--bfc-v2-color-mono-300);--bfc-text-default: var(--bfc-v2-color-mono-900);--bfc-text-subtle: var(--bfc-v2-color-mono-700);--bfc-text-subtlest: var(--bfc-v2-color-mono-600);--bfc-success-bg: var(--bfc-v2-color-green-100);--bfc-success-text: var(--bfc-v2-color-green-700);--bfc-success-border: var(--bfc-v2-color-green-300);--bfc-destructive-bg: var(--bfc-v2-color-red-100);--bfc-destructive-text: var(--bfc-v2-color-red-600);--bfc-destructive-border: var(--bfc-v2-color-red-300);--bfc-warning-bg: var(--bfc-v2-color-yellow-100);--bfc-warning-text: var(--bfc-v2-color-yellow-800);--bfc-warning-border: var(--bfc-v2-color-yellow-300)}.dark{--bfc-white: #000;--bfc-v2-color-mono-100: #171717;--bfc-v2-color-mono-200: #262626;--bfc-v2-color-mono-300: #404040;--bfc-v2-color-mono-400: #525252;--bfc-v2-color-mono-500: #737373;--bfc-v2-color-mono-600: #a3a3a3;--bfc-v2-color-mono-700: #d4d4d4;--bfc-v2-color-mono-800: #e5e5e5;--bfc-v2-color-mono-900: #f5f5f5;--bfc-v2-color-mono-1000: #fafafa;--bfc-v2-color-red-100: #42221f;--bfc-v2-color-red-200: #5d1f1a;--bfc-v2-color-red-300: #ae2e24;--bfc-v2-color-red-400: #c9372c;--bfc-v2-color-red-500: #e2483d;--bfc-v2-color-red-600: #f15b50;--bfc-v2-color-red-700: #f87168;--bfc-v2-color-red-800: #fd9891;--bfc-v2-color-red-900: #ffd5d2;--bfc-v2-color-red-1000: #ffeceb;--bfc-v2-color-orange-100: #38291e;--bfc-v2-color-orange-200: #702e00;--bfc-v2-color-orange-300: #a54800;--bfc-v2-color-orange-400: #c25100;--bfc-v2-color-orange-500: #e56910;--bfc-v2-color-orange-600: #f38a3f;--bfc-v2-color-orange-700: #fea362;--bfc-v2-color-orange-800: #fec195;--bfc-v2-color-orange-900: #fedec8;--bfc-v2-color-orange-1000: #fff3eb;--bfc-v2-color-yellow-100: #332e1b;--bfc-v2-color-yellow-200: #533f04;--bfc-v2-color-yellow-300: #7f5f01;--bfc-v2-color-yellow-400: #946f00;--bfc-v2-color-yellow-500: #b38600;--bfc-v2-color-yellow-600: #cf9f02;--bfc-v2-color-yellow-700: #ddb30e;--bfc-v2-color-yellow-800: #eed12b;--bfc-v2-color-yellow-900: #f5e989;--bfc-v2-color-yellow-1000: #fef7c8;--bfc-v2-color-lime-100: #2b331b;--bfc-v2-color-lime-200: #3f5304;--bfc-v2-color-lime-300: #546c00;--bfc-v2-color-lime-400: #647f01;--bfc-v2-color-lime-500: #83b300;--bfc-v2-color-lime-600: #91cf02;--bfc-v2-color-lime-700: #a3e635;--bfc-v2-color-lime-800: #b3ee2b;--bfc-v2-color-lime-900: #d6f589;--bfc-v2-color-lime-1000: #e9fec8;--bfc-v2-color-green-100: #1c3329;--bfc-v2-color-green-200: #164b35;--bfc-v2-color-green-300: #216e4e;--bfc-v2-color-green-400: #1f845a;--bfc-v2-color-green-500: #22a06b;--bfc-v2-color-green-600: #2abb7f;--bfc-v2-color-green-700: #4bce97;--bfc-v2-color-green-800: #7ee2b8;--bfc-v2-color-green-900: #baf3db;--bfc-v2-color-green-1000: #dcfff1;--bfc-v2-color-blue-100: #1c2b42;--bfc-v2-color-blue-200: #123263;--bfc-v2-color-blue-300: #1558bc;--bfc-v2-color-blue-400: #1868db;--bfc-v2-color-blue-500: #357de8;--bfc-v2-color-blue-600: #4688ec;--bfc-v2-color-blue-700: #669df1;--bfc-v2-color-blue-800: #8fb8f6;--bfc-v2-color-blue-900: #cfe1fd;--bfc-v2-color-blue-1000: #e9f2fe;--bfc-v2-color-teal-100: #1e3137;--bfc-v2-color-teal-200: #164555;--bfc-v2-color-teal-300: #206a83;--bfc-v2-color-teal-400: #227d9b;--bfc-v2-color-teal-500: #2898bd;--bfc-v2-color-teal-600: #42b2d7;--bfc-v2-color-teal-700: #6cc3e0;--bfc-v2-color-teal-800: #9dd9ee;--bfc-v2-color-teal-900: #c6edfb;--bfc-v2-color-teal-1000: #e7f9ff;--bfc-v2-color-purple-100: #2b273f;--bfc-v2-color-purple-200: #352c63;--bfc-v2-color-purple-300: #5e4db2;--bfc-v2-color-purple-400: #6e5dc6;--bfc-v2-color-purple-500: #8270db;--bfc-v2-color-purple-600: #8f7ee7;--bfc-v2-color-purple-700: #9f8fef;--bfc-v2-color-purple-800: #b8acf6;--bfc-v2-color-purple-900: #dfd8fd;--bfc-v2-color-purple-1000: #f8eefe;--bfc-v2-color-magenta-100: #3d2232;--bfc-v2-color-magenta-200: #50253f;--bfc-v2-color-magenta-300: #943d73;--bfc-v2-color-magenta-400: #ae4787;--bfc-v2-color-magenta-500: #cd519d;--bfc-v2-color-magenta-600: #da62ac;--bfc-v2-color-magenta-700: #e774bb;--bfc-v2-color-magenta-800: #f797d2;--bfc-v2-color-magenta-900: #fdd0ec;--bfc-v2-color-magenta-1000: #ffecf8}.\!container{width:100%!important;margin-right:auto!important;margin-left:auto!important;padding-right:2rem!important;padding-left:2rem!important}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.\!container{max-width:1400px!important}.container{max-width:1400px}}.link{color:var(--bfc-link);text-decoration-line:underline;text-decoration-color:var(--bfc-link);text-decoration-thickness:2px;text-underline-offset:2px;opacity:.9;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.link:hover{text-decoration-thickness:3px;opacity:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-left-4{left:-1rem}.-left-\[6px\]{left:-6px}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-0\.5{bottom:.125rem}.bottom-12{bottom:3rem}.bottom-2{bottom:.5rem}.bottom-20{bottom:5rem}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\.5{left:.375rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-4{left:1rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-4{top:1rem}.top-\[50\%\]{top:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[1001\]{z-index:1001}.z-\[1\]{z-index:1}.z-\[9999\]{z-index:9999}.\!m-0{margin:0!important}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.\!mb-1{margin-bottom:.25rem!important}.\!mt-0{margin-top:0!important}.-mt-1{margin-top:-.25rem}.-mt-px{margin-top:-1px}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-\[2\/1\]{aspect-ratio:2/1}.aspect-video{aspect-ratio:16 / 9}.\!size-2{width:.5rem!important;height:.5rem!important}.size-10{width:2.5rem;height:2.5rem}.size-12{width:3rem;height:3rem}.size-20{width:5rem;height:5rem}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.\!h-5{height:1.25rem!important}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-44{height:11rem}.h-5{height:1.25rem}.h-52{height:13rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[1px\]{height:1px}.h-\[26px\]{height:26px}.h-\[calc\(100vh-4rem\)\]{height:calc(100vh - 4rem)}.h-\[calc\(100vh-56px\)\]{height:calc(100vh - 56px)}.h-\[calc\(100vh-8rem\)\]{height:calc(100vh - 8rem)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[100px\]{max-height:100px}.max-h-\[300px\]{max-height:300px}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:0px}.min-h-4{min-height:1rem}.min-h-9{min-height:2.25rem}.min-h-\[100px\]{min-height:100px}.min-h-\[44px\]{min-height:44px}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.\!w-5{width:1.25rem!important}.w-0{width:0px}.w-1{width:.25rem}.w-11{width:2.75rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-5\/6{width:83.333333%}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[1px\]{width:1px}.w-\[768px\]{width:768px}.w-\[800px\]{width:800px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-5{min-width:1.25rem}.min-w-60{min-width:15rem}.min-w-80{min-width:20rem}.min-w-\[200px\]{min-width:200px}.min-w-\[20px\]{min-width:20px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-32{max-width:8rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-52{max-width:13rem}.max-w-56{max-width:14rem}.max-w-\[100vw\]{max-width:100vw}.max-w-\[300px\]{max-width:300px}.max-w-\[400px\]{max-width:400px}.max-w-\[95vw\]{max-width:95vw}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-screen-lg{max-width:1024px}.max-w-screen-md{max-width:768px}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.basis-0{flex-basis:0px}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-center{transform-origin:center}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0\.5{--tw-translate-y: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-125{--tw-scale-x: 1.25;--tw-scale-y: 1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-outside{list-style-position:outside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-\[1fr_2fr\]{grid-template-columns:1fr 2fr}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.\!justify-start{justify-content:flex-start!important}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-stretch{justify-content:stretch}.justify-items-start{justify-items:start}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-\[2px\]{gap:2px}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-dark-300>:not([hidden])~:not([hidden]){border-color:var(--bfc-v2-color-mono-300, #E5E5E5)}.divide-dark-500>:not([hidden])~:not([hidden]){border-color:var(--bfc-v2-color-mono-500, #A3A3A3)}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[--color-border\]{border-color:var(--color-border)}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-blue{border-color:var(--bfc-v2-color-blue-700, #1868db)}.border-blue-200{border-color:var(--bfc-v2-color-blue-200, #cfe1fd)}.border-blue-300{border-color:var(--bfc-v2-color-blue-300, #8fb8f6)}.border-border{border-color:var(--bfc-border)}.border-dark{border-color:var(--bfc-v2-color-mono-900, #262626)}.border-dark-200{border-color:var(--bfc-v2-color-mono-200, #F5F5F5)}.border-dark-300{border-color:var(--bfc-v2-color-mono-300, #E5E5E5)}.border-dark-400{border-color:var(--bfc-v2-color-mono-400, #D4D4D4)}.border-destructive{border-color:var(--bfc-destructive-border)}.border-foreground{border-color:var(--bfc-foreground)}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-green{border-color:var(--bfc-v2-color-green-700, #1f845a)}.border-green-200{border-color:var(--bfc-v2-color-green-200, #baf3db)}.border-input{border-color:var(--bfc-input)}.border-primary{border-color:var(--bfc-primary)}.border-red{border-color:var(--bfc-v2-color-red-700, #c9372c)}.border-red-600{border-color:var(--bfc-v2-color-red-600, #e2483d)}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-success{border-color:var(--bfc-success-border)}.border-transparent{border-color:transparent}.border-warning{border-color:var(--bfc-warning-border)}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-yellow{border-color:var(--bfc-v2-color-yellow-700, #946f00)}.\!border-t-foreground{border-top-color:var(--bfc-foreground)!important}.border-b-dark-300{border-bottom-color:var(--bfc-v2-color-mono-300, #E5E5E5)}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.\!bg-transparent{background-color:transparent!important}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-background{background-color:var(--bfc-background)}.bg-black\/50{background-color:#00000080}.bg-black\/80{background-color:#000c}.bg-blue-100{background-color:var(--bfc-v2-color-blue-100, #e9f2fe)}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{background-color:var(--bfc-v2-color-blue-500, #4688ec)}.bg-border{background-color:var(--bfc-border)}.bg-card{background-color:var(--bfc-card)}.bg-dark{background-color:var(--bfc-v2-color-mono-900, #262626)}.bg-dark-100{background-color:var(--bfc-v2-color-mono-100, #FAFAFA)}.bg-dark-200{background-color:var(--bfc-v2-color-mono-200, #F5F5F5)}.bg-dark-300{background-color:var(--bfc-v2-color-mono-300, #E5E5E5)}.bg-dark-400{background-color:var(--bfc-v2-color-mono-400, #D4D4D4)}.bg-dark-700{background-color:var(--bfc-v2-color-mono-700, #525252)}.bg-destructive{background-color:var(--bfc-destructive-bg)}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-foreground{background-color:var(--bfc-foreground)}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-green-100{background-color:var(--bfc-v2-color-green-100, #dcfff1)}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-600{background-color:var(--bfc-v2-color-green-600, #22a06b)}.bg-input{background-color:var(--bfc-input)}.bg-muted{background-color:var(--bfc-muted)}.bg-popover{background-color:var(--bfc-popover)}.bg-primary{background-color:var(--bfc-primary)}.bg-red-100{background-color:var(--bfc-v2-color-red-100, #ffeceb)}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{background-color:var(--bfc-v2-color-red-500, #f15b50)}.bg-red-600{background-color:var(--bfc-v2-color-red-600, #e2483d)}.bg-secondary{background-color:var(--bfc-secondary)}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-stone-300{--tw-bg-opacity: 1;background-color:rgb(214 211 209 / var(--tw-bg-opacity, 1))}.bg-success{background-color:var(--bfc-success-bg)}.bg-surface{background-color:var(--bfc-white)}.bg-transparent{background-color:transparent}.bg-warning{background-color:var(--bfc-warning-bg)}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/30{background-color:#ffffff4d}.bg-yellow-100{background-color:var(--bfc-v2-color-yellow-100, #fef7c8)}.bg-yellow-400{background-color:var(--bfc-v2-color-yellow-400, #fbbf25)}.bg-zinc-800\/80{background-color:#27272acc}.\!fill-dark-900{fill:var(--bfc-v2-color-mono-900, #262626)!important}.fill-current{fill:currentColor}.fill-foreground{fill:var(--bfc-foreground)}.stroke-card{stroke:var(--bfc-card)}.stroke-2{stroke-width:2}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.p-\[6px\]{padding:6px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[6px\]{padding-left:6px;padding-right:6px}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-inter{font-family:var(--font-inter),sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:var(--bfc-font-family),system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[15px\]{font-size:15px}.text-\[2rem\]{font-size:2rem}.text-\[64px\]{font-size:64px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-10{line-height:2.5rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-\[72px\]{line-height:72px}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-background{color:var(--bfc-background)}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue{color:var(--bfc-v2-color-blue-700, #1868db)}.text-blue-800{color:var(--bfc-v2-color-blue-800, #1558bc)}.text-card-foreground{color:var(--bfc-card-foreground)}.text-current{color:currentColor}.text-dark{color:var(--bfc-v2-color-mono-900, #262626)}.text-dark-100{color:var(--bfc-v2-color-mono-100, #FAFAFA)}.text-dark-500{color:var(--bfc-v2-color-mono-500, #A3A3A3)}.text-dark-600{color:var(--bfc-v2-color-mono-600, #737373)}.text-dark-700{color:var(--bfc-v2-color-mono-700, #525252)}.text-dark-900{color:var(--bfc-v2-color-mono-900, #262626)}.text-default{color:var(--bfc-text-default)}.text-destructive{color:var(--bfc-destructive-text)}.text-feedback-positive{color:var(--bfc-feedback-positive)}.text-foreground{color:var(--bfc-foreground)}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-green-400{color:var(--bfc-v2-color-green-400, #4bce97)}.text-green-500{color:var(--bfc-v2-color-green-500, #2abb7f)}.text-green-600{color:var(--bfc-v2-color-green-600, #22a06b)}.text-green-800{color:var(--bfc-v2-color-green-800, #216e4e)}.text-link{color:var(--bfc-link)}.text-muted-foreground{color:var(--bfc-muted-foreground)}.text-popover-foreground{color:var(--bfc-foreground)}.text-primary,.text-primary-foreground{color:var(--bfc-primary-foreground)}.text-red-400{color:var(--bfc-v2-color-red-400, #f87168)}.text-red-500{color:var(--bfc-v2-color-red-500, #f15b50)}.text-red-600{color:var(--bfc-v2-color-red-600, #e2483d)}.text-rose-500{--tw-text-opacity: 1;color:rgb(244 63 94 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:var(--bfc-secondary-foreground)}.text-subtle{color:var(--bfc-text-subtle)}.text-success{color:var(--bfc-success-text)}.text-warning{color:var(--bfc-warning-text)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-zinc-400{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.text-zinc-800{--tw-text-opacity: 1;color:rgb(39 39 42 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[2px_2px_0_0_\#0A0A0D\]{--tw-shadow: 2px 2px 0 0 #0A0A0D;--tw-shadow-colored: 2px 2px 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[4px_4px_0_0_\#171717\]{--tw-shadow: 4px 4px 0 0 #171717;--tw-shadow-colored: 4px 4px 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 2px 4px 12px 0 rgba(0,0,0,.14);--tw-shadow-colored: 2px 4px 12px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-dark-300{--tw-shadow-color: var(--bfc-v2-color-mono-300, #E5E5E5);--tw-shadow: var(--tw-shadow-colored)}.\!outline-none{outline:2px solid transparent!important;outline-offset:2px!important}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.\!ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)!important}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-primary{--tw-ring-color: var(--bfc-primary)}.ring-offset-background{--tw-ring-offset-color: var(--bfc-background)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.\!transition-shadow{transition-property:box-shadow!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-100{animation-duration:.1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.\@container{container-type:inline-size}.heading-sm{font-family:var(--bfc-v2-font-family);font-size:1rem;font-style:normal;font-weight:700;line-height:1.25rem}.heading-xs{font-family:var(--bfc-v2-font-family);font-size:.875rem;font-style:normal;font-weight:700;line-height:1.25rem}.heading-xxxs{font-family:var(--bfc-v2-font-family);font-size:.625rem;font-style:normal;font-weight:700;line-height:.875rem}.custom-dashed-border{position:relative;border:none}.custom-dashed-border:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,var(--bfc-border),var(--bfc-border) 8px,transparent 8px,transparent 16px),repeating-linear-gradient(90deg,var(--bfc-border),var(--bfc-border) 8px,transparent 8px,transparent 16px),repeating-linear-gradient(180deg,var(--bfc-border),var(--bfc-border) 8px,transparent 8px,transparent 16px),repeating-linear-gradient(270deg,var(--bfc-border),var(--bfc-border) 8px,transparent 8px,transparent 16px);background-position:0 0,0 0,100% 0,0 100%;background-size:1px 100%,100% 1px,1px 100%,100% 1px;background-repeat:no-repeat;pointer-events:none;border-radius:inherit;z-index:0}.custom-dashed-border-b{position:relative;border:none}.custom-dashed-border-b:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 8px,transparent 8px,transparent 16px),repeating-linear-gradient(90deg,transparent,transparent 8px,transparent 8px,transparent 16px),repeating-linear-gradient(180deg,transparent,transparent 8px,transparent 8px,transparent 16px),repeating-linear-gradient(270deg,var(--bfc-border),var(--bfc-border) 8px,transparent 8px,transparent 16px);background-position:0 0,0 0,100% 0,0 100%;background-size:1px 100%,100% 1px,1px 100%,100% 1px;background-repeat:no-repeat;pointer-events:none;border-radius:inherit;z-index:0}.custom-dashed-border-t-dark-300{position:relative;border:none}.custom-dashed-border-t-dark-300:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 8px,transparent 8px,transparent 16px),repeating-linear-gradient(90deg,var(--bfc-v2-color-mono-300, #E5E5E5),var(--bfc-v2-color-mono-300, #E5E5E5) 8px,transparent 8px,transparent 16px),repeating-linear-gradient(180deg,transparent,transparent 8px,transparent 8px,transparent 16px),repeating-linear-gradient(270deg,transparent,transparent 8px,transparent 8px,transparent 16px);background-position:0 0,0 0,100% 0,0 100%;background-size:1px 100%,100% 1px,1px 100%,100% 1px;background-repeat:no-repeat;pointer-events:none;border-radius:inherit;z-index:0}.shimmer{animation:shimmer 3s infinite linear;background:linear-gradient(90deg,var(--bcf-shimmer-outer) 0%,var(--bcf-shimmer-inner) 20%,var(--bcf-shimmer-outer) 40%);background-size:200% 100%}.modern-spinner{position:relative;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem}.modern-spinner:before,.modern-spinner:after{content:"";position:absolute;border-radius:9999px}.modern-spinner:before{inset:0;border-width:1.5px}.modern-spinner:after{inset:0;border-width:1.5px;border-color:var(--bfc-primary);border-top-color:transparent;animation:spin 1s linear infinite}.animate-spin{animation:rotate 2s linear infinite;transform-box:fill-box;transform-origin:center;transform:none}.custom-dashed-border{--dashed-border-bg: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='8' ry='8' stroke='%23${dark[900].replace('#', '')}' stroke-width='2' stroke-dasharray='5%2c 10' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e")}.animate-original-pulse{animation:original-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.sparkle{&.gradient{background:conic-gradient(from 90deg,#e87af9,#fbbf25 51.9231deg,#fb923d,#f4405e 183.462deg,#8c5df6 244.038deg,#3c82f6 299.423deg,#e87af9 360deg)}height:100%;width:100%;opacity:1}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{transform:scale(1.1)}}@keyframes original-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:var(--bfc-foreground)}.placeholder\:text-gray-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.placeholder\:text-gray-400::placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.placeholder\:text-muted-foreground::-moz-placeholder{color:var(--bfc-muted-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--bfc-muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-bottom-\[10px\]:after{content:var(--tw-content);bottom:-10px}.after\:left-\[35px\]:after{content:var(--tw-content);left:35px}.after\:top-\[38px\]:after{content:var(--tw-content);top:38px}.after\:w-\[1px\]:after{content:var(--tw-content);width:1px}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--bfc-foreground)}.first\:pl-4:first-child{padding-left:1rem}.last\:\!mb-8:last-child{margin-bottom:2rem!important}.last\:mb-0:last-child{margin-bottom:0}.last\:border-b-0:last-child{border-bottom-width:0px}.last\:pr-4:last-child{padding-right:1rem}.last-of-type\:after\:hidden:last-of-type:after{content:var(--tw-content);display:none}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-dark-300:hover{border-color:var(--bfc-v2-color-mono-300, #E5E5E5)}.hover\:bg-accent:hover{background-color:var(--bfc-accent)}.hover\:bg-black\/10:hover{background-color:#0000001a}.hover\:bg-black\/70:hover{background-color:#000000b3}.hover\:bg-blue-600:hover{background-color:var(--bfc-v2-color-blue-600, #357de8)}.hover\:bg-dark-300:hover{background-color:var(--bfc-v2-color-mono-300, #E5E5E5)}.hover\:bg-dark-800:hover{background-color:var(--bfc-v2-color-mono-800, #404040)}.hover\:bg-green-200:hover{background-color:var(--bfc-v2-color-green-200, #baf3db)}.hover\:bg-muted:hover{background-color:var(--bfc-muted)}.hover\:bg-red-200:hover{background-color:var(--bfc-v2-color-red-200, #ffd5d2)}.hover\:bg-red-600:hover{background-color:var(--bfc-v2-color-red-600, #e2483d)}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-zinc-700\/50:hover{background-color:#3f3f4680}.hover\:bg-opacity-80:hover{--tw-bg-opacity: .8}.hover\:text-accent-foreground:hover{color:var(--bfc-accent-foreground)}.hover\:text-dark-800:hover{color:var(--bfc-v2-color-mono-800, #404040)}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:text-zinc-100:hover{--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-none:hover{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:bg-accent:focus{background-color:var(--bfc-accent)}.focus\:text-accent-foreground:focus{color:var(--bfc-accent-foreground)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: color-mix(in srgb, var(--bfc-primary) 85%, transparent)}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:border-ring:focus-visible{border-color:color-mix(in srgb,var(--bfc-primary) 85%,transparent)}.focus-visible\:bg-dark-800:focus-visible{background-color:var(--bfc-v2-color-mono-800, #404040)}.focus-visible\:\!outline-none:focus-visible{outline:2px solid transparent!important;outline-offset:2px!important}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: color-mix(in srgb, var(--bfc-primary) 85%, transparent)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: var(--bfc-background)}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:shadow-\[inset_2px_2px_0_0_\#262626\]:active{--tw-shadow: inset 2px 2px 0 0 #262626;--tw-shadow-colored: inset 2px 2px 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:bg-dark-300{background-color:var(--bfc-v2-color-mono-300, #E5E5E5)}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.group:hover .group-hover\:duration-300{transition-duration:.3s}.group:hover .group-hover\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.group:hover .group-hover\:duration-300{animation-duration:.3s}.group:hover .group-hover\:ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.group:hover .group-hover\:custom-dashed-border-hover:before{background-image:none;border:1px solid var(--bfc-border)}.group:hover .group-hover\:custom-dashed-border-hover{box-shadow:4px 4px 0 0 var(--bfc-border)}.group:focus .group-focus\:custom-dashed-border-hover:before{background-image:none;border:1px solid var(--bfc-border)}.group:focus .group-focus\:custom-dashed-border-hover{box-shadow:4px 4px 0 0 var(--bfc-border)}.group:hover[data-state=open] .group-hover\:group-\[\&\[data-state\=open\]\]\:bg-dark-200{background-color:var(--bfc-v2-color-mono-200, #F5F5F5)}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]){gap:.5rem}.group\/item:has([data-slot=item-description]) .group-has-\[\[data-slot\=item-description\]\]\/item\:translate-y-0\.5{--tw-translate-y: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/item:has([data-slot=item-description]) .group-has-\[\[data-slot\=item-description\]\]\/item\:self-start{align-self:flex-start}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical]{height:auto}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-\[1\.1rem\][data-state=checked]{--tw-translate-x: 1.1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--bfc-accent)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--bfc-primary)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--bfc-accent)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--bfc-muted)}.data-\[state\=unchecked\]\:bg-dark-500[data-state=unchecked]{background-color:var(--bfc-v2-color-mono-500, #A3A3A3)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--bfc-input)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--bfc-accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--bfc-muted-foreground)}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}@container (min-width: 24rem){.\@sm\:block{display:block}}@container (min-width: 48rem){.\@3xl\:mb-4{margin-bottom:1rem}.\@3xl\:hidden{display:none}.\@3xl\:h-auto{height:auto}.\@3xl\:justify-center{justify-content:center}.\@3xl\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.\@3xl\:bg-transparent{background-color:transparent}.\@3xl\:p-0{padding:0}.\@3xl\:px-0{padding-left:0;padding-right:0}.\@3xl\:text-5xl{font-size:3rem;line-height:1}.\@3xl\:leading-normal{line-height:1.5}.\@3xl\:text-foreground{color:var(--bfc-foreground)}}.dark\:border-white:is(.dark *){--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-primary:is(.dark *){background-color:var(--bfc-primary)}.dark\:text-primary:is(.dark *){color:var(--bfc-primary-foreground)}.dark\:text-primary-foreground:is(.dark *){color:var(--bfc-primary-foreground)}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:shadow-\[2px_2px_0_0_\#FFF\]:is(.dark *){--tw-shadow: 2px 2px 0 0 #FFF;--tw-shadow-colored: 2px 2px 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:shadow-\[4px_4px_0_0_\#fff\]:is(.dark *){--tw-shadow: 4px 4px 0 0 #fff;--tw-shadow-colored: 4px 4px 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:hover\:shadow-none:hover:is(.dark *){--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:active\:shadow-\[inset_2px_2px_0_0_\#FFF\]:active:is(.dark *){--tw-shadow: inset 2px 2px 0 0 #FFF;--tw-shadow-colored: inset 2px 2px 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media (min-width: 640px){.sm\:mt-0{margin-top:0}.sm\:size-5{width:1.25rem;height:1.25rem}.sm\:w-auto{width:auto}.sm\:max-w-\[425px\]{max-width:425px}.sm\:max-w-\[90vw\]{max-width:90vw}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:.5rem}.sm\:rounded-md{border-radius:.375rem}.sm\:p-8{padding:2rem}.sm\:text-left{text-align:left}}@media (min-width: 768px){.md\:static{position:static}.md\:relative{position:relative}.md\:mt-4{margin-top:1rem}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-auto{height:auto}.md\:gap-4{gap:1rem}.md\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.md\:bg-dark-100{background-color:var(--bfc-v2-color-mono-100, #FAFAFA)}.md\:bg-transparent{background-color:transparent}.md\:p-0{padding:0}.md\:p-4{padding:1rem}.md\:text-left{text-align:left}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 1024px){.lg\:block{display:block}}.\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content]{flex:none}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>*:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>*:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>*:not(:first-child){border-left-width:0px}.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>*:not(:first-child){border-top-width:0px}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>*:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>*:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.\[\&\>\*\]\:focus-visible\:relative:focus-visible>*{position:relative}.\[\&\>\*\]\:focus-visible\:z-10:focus-visible>*{z-index:10}.\[\&\>\[data-radix-scroll-area-viewport\]\>div\:first-child\]\:\!block>[data-radix-scroll-area-viewport]>div:first-child{display:block!important}.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md>[data-slot=select-trigger]:last-of-type:has(select[aria-hidden=true]:last-child){border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:-moz-fit-content;width:fit-content}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>a\:hover\]\:text-primary>a:hover{color:var(--bfc-primary-foreground)}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>h3\]\:my-0>h3{margin-top:0;margin-bottom:0}.\[\&\>input\]\:flex-1>input{flex:1 1 0%}.\[\&\>svg\]\:size-5>svg{width:1.25rem;height:1.25rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:flex-shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-blue>svg{color:var(--bfc-v2-color-blue-700, #1868db)}.\[\&\>svg\]\:text-green>svg{color:var(--bfc-v2-color-green-700, #1f845a)}.\[\&\>svg\]\:text-muted-foreground>svg{color:var(--bfc-muted-foreground)}.\[\&\>svg\]\:text-red>svg{color:var(--bfc-v2-color-red-700, #c9372c)}.\[\&\>svg\]\:text-yellow>svg{color:var(--bfc-v2-color-yellow-700, #946f00)}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-state\=\"open\"\]\]\:border-dark-300[data-state=open]{border-color:var(--bfc-v2-color-mono-300, #E5E5E5)}.\[\&\[data-state\=\"open\"\]\]\:bg-surface[data-state=open]{background-color:var(--bfc-white)}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\]\:px-6[data-state=open]{padding-left:1.5rem;padding-right:1.5rem}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:var(--bfc-muted-foreground)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:var(--bfc-border)}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:var(--bfc-border)}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:var(--bfc-muted)}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:var(--bfc-border)}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--bfc-muted-foreground)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_\[data-slot\=\'alert-description\'\]\>p\]\:my-0 [data-slot=alert-description]>p{margin-top:0;margin-bottom:0}.\[\&_\[data-slot\=\'alert-description\'\]\]\:space-y-4 [data-slot=alert-description]>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.\[\&_a\:hover\]\:no-underline a:hover{text-decoration-line:none}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_img\]\:size-full img{width:100%;height:100%}.\[\&_img\]\:object-cover img{-o-object-fit:cover;object-fit:cover}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:size-5 svg{width:1.25rem;height:1.25rem}.\[\&_svg\]\:size-6 svg{width:1.5rem;height:1.5rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import './global.css';/* empty css */
|
|
2
|
+
export { BrainfishColors } from './colors.js';
|
|
3
|
+
export { C as ChatSearch, a as ChatSearchProvider, u as useChatSearch, b as useIsChatSearchDirty } from './chunks/ChatSearch.BJtS7ZMs.js';
|
|
4
|
+
export { C as CodeBlock, F as FormattedMessage, M as MemoizedReactMarkdown, a as MermaidDiagram, Z as ZoomableImage, c as addPopupWidgetUtm, b as addUtmParameters } from './chunks/FormattedMessage.ieoe4jPf.js';
|
|
5
|
+
import { Button } from './components/ui/button.js';
|
|
6
|
+
export { buttonVariants } from './components/ui/button.js';
|
|
7
|
+
export { Collapsible, CollapsibleContent, CollapsibleTrigger } from './components/ui/collapsible.js';
|
|
8
|
+
export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from './components/ui/dropdown-menu.js';
|
|
9
|
+
export { Switch } from './components/ui/switch.js';
|
|
10
|
+
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './components/ui/tooltip.js';
|
|
11
|
+
import { Textarea } from './components/ui/textarea.js';
|
|
12
|
+
export { ScrollArea, ScrollBar } from './components/ui/scroll-area.js';
|
|
13
|
+
export { Label } from './components/ui/label.js';
|
|
14
|
+
export { Input } from './components/ui/input.js';
|
|
15
|
+
export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from './components/ui/popover.js';
|
|
16
|
+
export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from './components/ui/command.js';
|
|
17
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './components/ui/dialog.js';
|
|
18
|
+
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './components/ui/card.js';
|
|
19
|
+
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from './components/ui/table.js';
|
|
20
|
+
export { Badge, badgeVariants } from './components/ui/badge.js';
|
|
21
|
+
export { Progress } from './components/ui/progress.js';
|
|
22
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './components/ui/accordion.js';
|
|
23
|
+
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger } from './components/ui/alert-dialog.js';
|
|
24
|
+
export { Alert, AlertAction, AlertContent, AlertDescription, AlertTitle } from './components/ui/alert.js';
|
|
25
|
+
export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants } from './components/ui/button-group.js';
|
|
26
|
+
export { Calendar } from './components/ui/calendar.js';
|
|
27
|
+
export { DivButton, divButtonVariants } from './components/ui/div-button.js';
|
|
28
|
+
export { Icon, MemoizedIcon } from './components/ui/icon.js';
|
|
29
|
+
export { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle } from './components/ui/item.js';
|
|
30
|
+
export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue } from './components/ui/select.js';
|
|
31
|
+
export { Separator } from './components/ui/separator.js';
|
|
32
|
+
export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger } from './components/ui/sheet.js';
|
|
33
|
+
export { Spinner } from './components/ui/spinner.js';
|
|
34
|
+
export { S as SimpleSelect } from './chunks/simpleSelect.B1rktKkt.js';
|
|
35
|
+
export { D as DatePicker } from './chunks/date-picker.sQXSlqNZ.js';
|
|
36
|
+
export { C as Combobox } from './chunks/combobox.CkN-wAHB.js';
|
|
37
|
+
export { T as TwoLevelCombobox } from './chunks/two-level-combobox.DsWPDcI6.js';
|
|
38
|
+
export { F as Filter, a as Filters, O as Operator } from './chunks/filters.Be4KPvMA.js';
|
|
39
|
+
export { F as FileUpload, a as FileUploadStatus, f as formatFileSize } from './chunks/file-upload-status.Vw0Zxmir.js';
|
|
40
|
+
export { D as DataTable } from './chunks/data-table.DbcAYxMY.js';
|
|
41
|
+
export { L as Logo } from './chunks/logo.BXk28Fqo.js';
|
|
42
|
+
export { T as Trend, a as TrendValue } from './chunks/trend-value.COSukPwk.js';
|
|
43
|
+
import * as React from 'react';
|
|
44
|
+
import { Plus } from '@phosphor-icons/react';
|
|
45
|
+
import { c as cn } from './chunks/utils.Cwtlq8dh.js';
|
|
46
|
+
|
|
47
|
+
function InputWithTags({
|
|
48
|
+
title,
|
|
49
|
+
placeholder,
|
|
50
|
+
tags,
|
|
51
|
+
value: controlledValue,
|
|
52
|
+
defaultValue,
|
|
53
|
+
onChange,
|
|
54
|
+
onTagClick,
|
|
55
|
+
singleValue = false,
|
|
56
|
+
className,
|
|
57
|
+
inputClassName,
|
|
58
|
+
tagsClassName,
|
|
59
|
+
disabled,
|
|
60
|
+
name,
|
|
61
|
+
id,
|
|
62
|
+
required,
|
|
63
|
+
maxLength,
|
|
64
|
+
minLength,
|
|
65
|
+
rows
|
|
66
|
+
}) {
|
|
67
|
+
const findTagsInValue = React.useCallback(
|
|
68
|
+
(val) => {
|
|
69
|
+
if (!val) return /* @__PURE__ */ new Set();
|
|
70
|
+
const trimmedVal = val.trim();
|
|
71
|
+
const foundTags = /* @__PURE__ */ new Set();
|
|
72
|
+
for (const tag of tags) {
|
|
73
|
+
const tagValue = tag.value.trim();
|
|
74
|
+
if (singleValue) {
|
|
75
|
+
if (trimmedVal === tagValue) {
|
|
76
|
+
foundTags.add(tag.value);
|
|
77
|
+
}
|
|
78
|
+
} else {
|
|
79
|
+
if (trimmedVal === tagValue || trimmedVal.startsWith(tagValue + " ") || trimmedVal.includes(" " + tagValue + " ") || trimmedVal.endsWith(" " + tagValue)) {
|
|
80
|
+
foundTags.add(tag.value);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return foundTags;
|
|
85
|
+
},
|
|
86
|
+
[tags, singleValue]
|
|
87
|
+
);
|
|
88
|
+
const initialValue = controlledValue !== void 0 ? controlledValue : defaultValue || "";
|
|
89
|
+
const [internalValue, setInternalValue] = React.useState(defaultValue || "");
|
|
90
|
+
const [clickedTags, setClickedTags] = React.useState(() => findTagsInValue(initialValue));
|
|
91
|
+
const value = controlledValue !== void 0 ? controlledValue : internalValue;
|
|
92
|
+
React.useEffect(() => {
|
|
93
|
+
const currentValue = controlledValue !== void 0 ? controlledValue : internalValue;
|
|
94
|
+
setClickedTags(findTagsInValue(currentValue));
|
|
95
|
+
}, [controlledValue, internalValue, tags, singleValue, findTagsInValue]);
|
|
96
|
+
const availableTags = tags.filter((tag) => !clickedTags.has(tag.value));
|
|
97
|
+
const handleInputChange = (e) => {
|
|
98
|
+
const newValue = e.target.value;
|
|
99
|
+
if (controlledValue === void 0) {
|
|
100
|
+
setInternalValue(newValue);
|
|
101
|
+
setClickedTags(findTagsInValue(newValue));
|
|
102
|
+
}
|
|
103
|
+
onChange?.(newValue);
|
|
104
|
+
};
|
|
105
|
+
const handleTagClick = (tag) => {
|
|
106
|
+
const newValue = singleValue ? tag.value : value ? `${value} ${tag.value}` : tag.value;
|
|
107
|
+
if (controlledValue === void 0) {
|
|
108
|
+
setInternalValue(newValue);
|
|
109
|
+
if (singleValue) {
|
|
110
|
+
setClickedTags(/* @__PURE__ */ new Set([tag.value]));
|
|
111
|
+
} else {
|
|
112
|
+
setClickedTags(findTagsInValue(newValue));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
onChange?.(newValue);
|
|
116
|
+
onTagClick?.(tag);
|
|
117
|
+
};
|
|
118
|
+
return /* @__PURE__ */ React.createElement("div", { className: cn("w-full flex flex-col gap-3", className) }, title && /* @__PURE__ */ React.createElement("label", { htmlFor: id, className: "text-sm font-semibold" }, title), /* @__PURE__ */ React.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ React.createElement(
|
|
119
|
+
Textarea,
|
|
120
|
+
{
|
|
121
|
+
id,
|
|
122
|
+
name,
|
|
123
|
+
placeholder,
|
|
124
|
+
value,
|
|
125
|
+
onChange: handleInputChange,
|
|
126
|
+
disabled,
|
|
127
|
+
required,
|
|
128
|
+
maxLength,
|
|
129
|
+
minLength,
|
|
130
|
+
rows,
|
|
131
|
+
className: inputClassName
|
|
132
|
+
}
|
|
133
|
+
)), availableTags.length > 0 && /* @__PURE__ */ React.createElement("div", { className: cn("flex flex-wrap gap-2", tagsClassName) }, availableTags.map((tag, index) => /* @__PURE__ */ React.createElement(
|
|
134
|
+
Button,
|
|
135
|
+
{
|
|
136
|
+
key: `${tag.value}-${index}`,
|
|
137
|
+
type: "button",
|
|
138
|
+
variant: "outline",
|
|
139
|
+
size: "sm",
|
|
140
|
+
onClick: () => handleTagClick(tag),
|
|
141
|
+
disabled,
|
|
142
|
+
className: "rounded-full"
|
|
143
|
+
},
|
|
144
|
+
/* @__PURE__ */ React.createElement(Plus, { size: 16, className: "text-muted-foreground" }),
|
|
145
|
+
/* @__PURE__ */ React.createElement("span", null, tag.label)
|
|
146
|
+
))));
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export { Button, InputWithTags, Textarea };
|
|
150
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/components/input-with-tags/input-with-tags.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Plus } from '@phosphor-icons/react';\n\nimport { cn } from '@/lib/utils';\nimport { Textarea } from '@/components/ui/textarea';\nimport { Button } from '@/components/ui/button';\n\nexport interface Tag {\n label: string;\n value: string;\n}\n\nexport interface InputWithTagsProps {\n title: string;\n placeholder?: string;\n tags: Tag[];\n value?: string;\n defaultValue?: string;\n onChange?: (value: string) => void;\n onTagClick?: (tag: Tag) => void;\n singleValue?: boolean; // If true, clicking a tag replaces the value instead of appending\n className?: string;\n inputClassName?: string;\n tagsClassName?: string;\n disabled?: boolean;\n // Standard textarea props\n name?: string;\n id?: string;\n required?: boolean;\n maxLength?: number;\n minLength?: number;\n rows?: number;\n}\n\nexport function InputWithTags({\n title,\n placeholder,\n tags,\n value: controlledValue,\n defaultValue,\n onChange,\n onTagClick,\n singleValue = false,\n className,\n inputClassName,\n tagsClassName,\n disabled,\n name,\n id,\n required,\n maxLength,\n minLength,\n rows,\n}: InputWithTagsProps) {\n // Helper to find tags present in value (tags are appended as: `${value} ${tag.value}`)\n const findTagsInValue = React.useCallback(\n (val: string): Set<string> => {\n if (!val) return new Set();\n const trimmedVal = val.trim();\n const foundTags = new Set<string>();\n\n for (const tag of tags) {\n const tagValue = tag.value.trim();\n if (singleValue) {\n if (trimmedVal === tagValue) {\n foundTags.add(tag.value);\n }\n } else {\n // Check if tag appears as complete segment (tags are appended as: `${value} ${tag.value}`)\n // Need to check: exact match, at start, in middle, or at end\n if (\n trimmedVal === tagValue ||\n trimmedVal.startsWith(tagValue + ' ') ||\n trimmedVal.includes(' ' + tagValue + ' ') ||\n trimmedVal.endsWith(' ' + tagValue)\n ) {\n foundTags.add(tag.value);\n }\n }\n }\n\n return foundTags;\n },\n [tags, singleValue],\n );\n\n // Initialize clickedTags based on initial value\n const initialValue = controlledValue !== undefined ? controlledValue : defaultValue || '';\n const [internalValue, setInternalValue] = React.useState(defaultValue || '');\n const [clickedTags, setClickedTags] = React.useState<Set<string>>(() => findTagsInValue(initialValue));\n\n // Use controlled value if provided, otherwise use internal state\n const value = controlledValue !== undefined ? controlledValue : internalValue;\n\n // Update clickedTags when value or tags change\n React.useEffect(() => {\n const currentValue = controlledValue !== undefined ? controlledValue : internalValue;\n setClickedTags(findTagsInValue(currentValue));\n }, [controlledValue, internalValue, tags, singleValue, findTagsInValue]);\n\n // Filter out clicked tags\n const availableTags = tags.filter((tag) => !clickedTags.has(tag.value));\n\n const handleInputChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n const newValue = e.target.value;\n if (controlledValue === undefined) {\n setInternalValue(newValue);\n // Sync clickedTags with the new value in uncontrolled mode\n setClickedTags(findTagsInValue(newValue));\n }\n onChange?.(newValue);\n };\n\n const handleTagClick = (tag: Tag) => {\n const newValue = singleValue ? tag.value : value ? `${value} ${tag.value}` : tag.value;\n if (controlledValue === undefined) {\n // In uncontrolled mode, update state and sync clickedTags immediately\n setInternalValue(newValue);\n // Sync clickedTags with the new value\n if (singleValue) {\n setClickedTags(new Set([tag.value]));\n } else {\n setClickedTags(findTagsInValue(newValue));\n }\n }\n // In controlled mode, only call onChange - let useEffect sync clickedTags when controlledValue updates\n onChange?.(newValue);\n onTagClick?.(tag);\n };\n\n return (\n <div className={cn('w-full flex flex-col gap-3', className)}>\n {title && (\n <label htmlFor={id} className=\"text-sm font-semibold\">\n {title}\n </label>\n )}\n <div className=\"relative w-full\">\n <Textarea\n id={id}\n name={name}\n placeholder={placeholder}\n value={value}\n onChange={handleInputChange}\n disabled={disabled}\n required={required}\n maxLength={maxLength}\n minLength={minLength}\n rows={rows}\n className={inputClassName}\n />\n </div>\n {availableTags.length > 0 && (\n <div className={cn('flex flex-wrap gap-2', tagsClassName)}>\n {availableTags.map((tag, index) => (\n <Button\n key={`${tag.value}-${index}`}\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n onClick={() => handleTagClick(tag)}\n disabled={disabled}\n className=\"rounded-full\"\n >\n <Plus size={16} className=\"text-muted-foreground\" />\n <span>{tag.label}</span>\n </Button>\n ))}\n </div>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCO,SAAS,aAAA,CAAc;AAAA,EAC5B,KAAA;AAAA,EACA,WAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA,EAAO,eAAA;AAAA,EACP,YAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA,GAAc,KAAA;AAAA,EACd,SAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,EAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAAuB;AAErB,EAAA,MAAM,kBAAkB,KAAA,CAAM,WAAA;AAAA,IAC5B,CAAC,GAAA,KAA6B;AAC5B,MAAA,IAAI,CAAC,GAAA,EAAK,uBAAO,IAAI,GAAA,EAAI;AACzB,MAAA,MAAM,UAAA,GAAa,IAAI,IAAA,EAAK;AAC5B,MAAA,MAAM,SAAA,uBAAgB,GAAA,EAAY;AAElC,MAAA,KAAA,MAAW,OAAO,IAAA,EAAM;AACtB,QAAA,MAAM,QAAA,GAAW,GAAA,CAAI,KAAA,CAAM,IAAA,EAAK;AAChC,QAAA,IAAI,WAAA,EAAa;AACf,UAAA,IAAI,eAAe,QAAA,EAAU;AAC3B,YAAA,SAAA,CAAU,GAAA,CAAI,IAAI,KAAK,CAAA;AAAA,UACzB;AAAA,QACF,CAAA,MAAO;AAGL,UAAA,IACE,eAAe,QAAA,IACf,UAAA,CAAW,UAAA,CAAW,QAAA,GAAW,GAAG,CAAA,IACpC,UAAA,CAAW,QAAA,CAAS,GAAA,GAAM,WAAW,GAAG,CAAA,IACxC,WAAW,QAAA,CAAS,GAAA,GAAM,QAAQ,CAAA,EAClC;AACA,YAAA,SAAA,CAAU,GAAA,CAAI,IAAI,KAAK,CAAA;AAAA,UACzB;AAAA,QACF;AAAA,MACF;AAEA,MAAA,OAAO,SAAA;AAAA,IACT,CAAA;AAAA,IACA,CAAC,MAAM,WAAW;AAAA,GACpB;AAGA,EAAA,MAAM,YAAA,GAAe,eAAA,KAAoB,MAAA,GAAY,eAAA,GAAkB,YAAA,IAAgB,EAAA;AACvF,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,IAAI,KAAA,CAAM,QAAA,CAAS,gBAAgB,EAAE,CAAA;AAC3E,EAAA,MAAM,CAAC,aAAa,cAAc,CAAA,GAAI,MAAM,QAAA,CAAsB,MAAM,eAAA,CAAgB,YAAY,CAAC,CAAA;AAGrG,EAAA,MAAM,KAAA,GAAQ,eAAA,KAAoB,MAAA,GAAY,eAAA,GAAkB,aAAA;AAGhE,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,MAAM,YAAA,GAAe,eAAA,KAAoB,MAAA,GAAY,eAAA,GAAkB,aAAA;AACvE,IAAA,cAAA,CAAe,eAAA,CAAgB,YAAY,CAAC,CAAA;AAAA,EAC9C,GAAG,CAAC,eAAA,EAAiB,eAAe,IAAA,EAAM,WAAA,EAAa,eAAe,CAAC,CAAA;AAGvE,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,MAAA,CAAO,CAAC,GAAA,KAAQ,CAAC,WAAA,CAAY,GAAA,CAAI,GAAA,CAAI,KAAK,CAAC,CAAA;AAEtE,EAAA,MAAM,iBAAA,GAAoB,CAAC,CAAA,KAA8C;AACvE,IAAA,MAAM,QAAA,GAAW,EAAE,MAAA,CAAO,KAAA;AAC1B,IAAA,IAAI,oBAAoB,MAAA,EAAW;AACjC,MAAA,gBAAA,CAAiB,QAAQ,CAAA;AAEzB,MAAA,cAAA,CAAe,eAAA,CAAgB,QAAQ,CAAC,CAAA;AAAA,IAC1C;AACA,IAAA,QAAA,GAAW,QAAQ,CAAA;AAAA,EACrB,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,CAAC,GAAA,KAAa;AACnC,IAAA,MAAM,QAAA,GAAW,WAAA,GAAc,GAAA,CAAI,KAAA,GAAQ,KAAA,GAAQ,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,GAAA,CAAI,KAAK,CAAA,CAAA,GAAK,GAAA,CAAI,KAAA;AACjF,IAAA,IAAI,oBAAoB,MAAA,EAAW;AAEjC,MAAA,gBAAA,CAAiB,QAAQ,CAAA;AAEzB,MAAA,IAAI,WAAA,EAAa;AACf,QAAA,cAAA,qBAAmB,GAAA,CAAI,CAAC,GAAA,CAAI,KAAK,CAAC,CAAC,CAAA;AAAA,MACrC,CAAA,MAAO;AACL,QAAA,cAAA,CAAe,eAAA,CAAgB,QAAQ,CAAC,CAAA;AAAA,MAC1C;AAAA,IACF;AAEA,IAAA,QAAA,GAAW,QAAQ,CAAA;AACnB,IAAA,UAAA,GAAa,GAAG,CAAA;AAAA,EAClB,CAAA;AAEA,EAAA,2CACG,KAAA,EAAA,EAAI,SAAA,EAAW,GAAG,4BAAA,EAA8B,SAAS,KACvD,KAAA,oBACC,KAAA,CAAA,aAAA,CAAC,WAAM,OAAA,EAAS,EAAA,EAAI,WAAU,uBAAA,EAAA,EAC3B,KACH,mBAEF,KAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,WAAU,iBAAA,EAAA,kBACb,KAAA,CAAA,aAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,EAAA;AAAA,MACA,IAAA;AAAA,MACA,WAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA,EAAU,iBAAA;AAAA,MACV,QAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,IAAA;AAAA,MACA,SAAA,EAAW;AAAA;AAAA,GAEf,CAAA,EACC,aAAA,CAAc,MAAA,GAAS,CAAA,wCACrB,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,sBAAA,EAAwB,aAAa,CAAA,EAAA,EACrD,aAAA,CAAc,GAAA,CAAI,CAAC,KAAK,KAAA,qBACvB,KAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,CAAA,EAAG,GAAA,CAAI,KAAK,IAAI,KAAK,CAAA,CAAA;AAAA,MAC1B,IAAA,EAAK,QAAA;AAAA,MACL,OAAA,EAAQ,SAAA;AAAA,MACR,IAAA,EAAK,IAAA;AAAA,MACL,OAAA,EAAS,MAAM,cAAA,CAAe,GAAG,CAAA;AAAA,MACjC,QAAA;AAAA,MACA,SAAA,EAAU;AAAA,KAAA;AAAA,oBAEV,KAAA,CAAA,aAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAM,EAAA,EAAI,WAAU,uBAAA,EAAwB,CAAA;AAAA,oBAClD,KAAA,CAAA,aAAA,CAAC,MAAA,EAAA,IAAA,EAAM,GAAA,CAAI,KAAM;AAAA,GAEpB,CACH,CAEJ,CAAA;AAEJ;;;;"}
|